Merge branch 'master' of /home/git/concurrency-benchmarks
[c11concurrency-benchmarks.git] / jsbench-2013.1 / twitter / safari / urem.js
diff --git a/jsbench-2013.1/twitter/safari/urem.js b/jsbench-2013.1/twitter/safari/urem.js
new file mode 100644 (file)
index 0000000..1841fca
--- /dev/null
@@ -0,0 +1,10030 @@
+/* Replayable replacements for global functions */
+
+/***************************************************************
+ * BEGIN STABLE.JS
+ **************************************************************/
+//! stable.js 0.1.3, https://github.com/Two-Screen/stable
+//! © 2012 Stéphan Kochen, Angry Bytes. MIT licensed.
+(function() {
+
+// A stable array sort, because `Array#sort()` is not guaranteed stable.
+// This is an implementation of merge sort, without recursion.
+
+var stable = function(arr, comp) {
+    if (typeof(comp) !== 'function') {
+        comp = function(a, b) {
+            a = String(a);
+            b = String(b);
+            if (a < b) return -1;
+            if (a > b) return 1;
+            return 0;
+        };
+    }
+
+    var len = arr.length;
+
+    if (len <= 1) return arr;
+
+    // Rather than dividing input, simply iterate chunks of 1, 2, 4, 8, etc.
+    // Chunks are the size of the left or right hand in merge sort.
+    // Stop when the left-hand covers all of the array.
+    var oarr = arr;
+    for (var chk = 1; chk < len; chk *= 2) {
+        arr = pass(arr, comp, chk);
+    }
+    for (var i = 0; i < len; i++) {
+        oarr[i] = arr[i];
+    }
+    return oarr;
+};
+
+// Run a single pass with the given chunk size. Returns a new array.
+var pass = function(arr, comp, chk) {
+    var len = arr.length;
+    // Output, and position.
+    var result = new Array(len);
+    var i = 0;
+    // Step size / double chunk size.
+    var dbl = chk * 2;
+    // Bounds of the left and right chunks.
+    var l, r, e;
+    // Iterators over the left and right chunk.
+    var li, ri;
+
+    // Iterate over pairs of chunks.
+    for (l = 0; l < len; l += dbl) {
+        r = l + chk;
+        e = r + chk;
+        if (r > len) r = len;
+        if (e > len) e = len;
+
+        // Iterate both chunks in parallel.
+        li = l;
+        ri = r;
+        while (true) {
+            // Compare the chunks.
+            if (li < r && ri < e) {
+                // This works for a regular `sort()` compatible comparator,
+                // but also for a simple comparator like: `a > b`
+                if (comp(arr[li], arr[ri]) <= 0) {
+                    result[i++] = arr[li++];
+                }
+                else {
+                    result[i++] = arr[ri++];
+                }
+            }
+            // Nothing to compare, just flush what's left.
+            else if (li < r) {
+                result[i++] = arr[li++];
+            }
+            else if (ri < e) {
+                result[i++] = arr[ri++];
+            }
+            // Both iterators are at the chunk ends.
+            else {
+                break;
+            }
+        }
+    }
+
+    return result;
+};
+
+var arrsort = function(comp) {
+    return stable(this, comp);
+};
+
+if (Object.defineProperty) {
+    Object.defineProperty(Array.prototype, "sort", {
+        configurable: true, writable: true, enumerable: false,
+        value: arrsort
+    });
+} else {
+    Array.prototype.sort = arrsort;
+}
+
+})();
+/***************************************************************
+ * END STABLE.JS
+ **************************************************************/
+
+/*
+ * In a generated replay, this file is partially common, boilerplate code
+ * included in every replay, and partially generated replay code. The following
+ * header applies to the boilerplate code. A comment indicating "Auto-generated
+ * below this comment" marks the separation between these two parts.
+ *
+ * Copyright (C) 2011, 2012 Purdue University
+ * Written by Gregor Richards
+ * All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain the above copyright notice,
+ *    this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+(function() {
+    // global eval alias
+    var geval = eval;
+
+    // detect if we're in a browser or not
+    var inbrowser = false;
+    var inharness = false;
+    var finished = false;
+    if (typeof window !== "undefined" && "document" in window) {
+        inbrowser = true;
+        if (window.parent && "JSBNG_handleResult" in window.parent) {
+            inharness = true;
+        }
+    } else if (typeof global !== "undefined") {
+        window = global;
+        window.top = window;
+    } else {
+        window = (function() { return this; })();
+        window.top = window;
+    }
+
+    if ("console" in window) {
+        window.JSBNG_Console = window.console;
+    }
+
+    var callpath = [];
+
+    // Workaround for bound functions as events
+    delete Function.prototype.bind;
+
+    // global state
+    var JSBNG_Replay = window.top.JSBNG_Replay = {
+        push: function(arr, fun) {
+            arr.push(fun);
+            return fun;
+        },
+
+        path: function(str) {
+            verifyPath(str);
+        },
+
+        forInKeys: function(of) {
+            var keys = [];
+            for (var k in of)
+                keys.push(k);
+            return keys.sort();
+        }
+    };
+
+    // the actual replay runner
+    function onload() {
+        try {
+            delete window.onload;
+        } catch (ex) {}
+
+        var jr = JSBNG_Replay$;
+        var cb = function() {
+            var end = new Date().getTime();
+            finished = true;
+
+            var msg = "Time: " + (end - st) + "ms";
+    
+            if (inharness) {
+                window.parent.JSBNG_handleResult({error:false, time:(end - st)});
+            } else if (inbrowser) {
+                var res = document.createElement("div");
+    
+                res.style.position = "fixed";
+                res.style.left = "1em";
+                res.style.top = "1em";
+                res.style.width = "35em";
+                res.style.height = "5em";
+                res.style.padding = "1em";
+                res.style.backgroundColor = "white";
+                res.style.color = "black";
+                res.appendChild(document.createTextNode(msg));
+    
+                document.body.appendChild(res);
+            } else if (typeof console !== "undefined") {
+                console.log(msg);
+            } else if (typeof print !== "undefined") {
+                // hopefully not the browser print() function :)
+                print(msg);
+            }
+        };
+
+        // force it to JIT
+        jr(false);
+
+        // then time it
+        var st = new Date().getTime();
+        while (jr !== null) {
+            jr = jr(true, cb);
+        }
+    }
+
+    // add a frame at replay time
+    function iframe(pageid) {
+        var iw;
+        if (inbrowser) {
+            // represent the iframe as an iframe (of course)
+            var iframe = document.createElement("iframe");
+            iframe.style.display = "none";
+            document.body.appendChild(iframe);
+            iw = iframe.contentWindow;
+            iw.document.write("<script type=\"text/javascript\">var JSBNG_Replay_geval = eval;</script>");
+            iw.document.close();
+        } else {
+            // no general way, just lie and do horrible things
+            var topwin = window;
+            (function() {
+                var window = {};
+                window.window = window;
+                window.top = topwin;
+                window.JSBNG_Replay_geval = function(str) {
+                    eval(str);
+                }
+                iw = window;
+            })();
+        }
+        return iw;
+    }
+
+    // called at the end of the replay stuff
+    function finalize() {
+        if (inbrowser) {
+            setTimeout(onload, 0);
+        } else {
+            onload();
+        }
+    }
+
+    // verify this recorded value and this replayed value are close enough
+    function verify(rep, rec) {
+        if (rec !== rep &&
+            (rep === rep || rec === rec) /* NaN test */) {
+            // FIXME?
+            if (typeof rec === "function" && typeof rep === "function") {
+                return true;
+            }
+            if (typeof rec !== "object" || rec === null ||
+                !(("__JSBNG_unknown_" + typeof(rep)) in rec)) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    // general message
+    var firstMessage = true;
+    function replayMessage(msg) {
+        if (inbrowser) {
+            if (firstMessage)
+                document.open();
+            firstMessage = false;
+            document.write(msg);
+        } else {
+            console.log(msg);
+        }
+    }
+
+    // complain when there's an error
+    function verificationError(msg) {
+        if (finished) return;
+        if (inharness) {
+            window.parent.JSBNG_handleResult({error:true, msg: msg});
+        } else replayMessage(msg);
+        throw new Error();
+    }
+
+    // to verify a set
+    function verifySet(objstr, obj, prop, gvalstr, gval) {
+        if (/^on/.test(prop)) {
+            // these aren't instrumented compatibly
+            return;
+        }
+
+        if (!verify(obj[prop], gval)) {
+            var bval = obj[prop];
+            var msg = "Verification failure! " + objstr + "." + prop + " is not " + gvalstr + ", it's " + bval + "!";
+            verificationError(msg);
+        }
+    }
+
+    // to verify a call or new
+    function verifyCall(iscall, func, cthis, cargs) {
+        var ok = true;
+        var callArgs = func.callArgs[func.inst];
+        iscall = iscall ? 1 : 0;
+        if (cargs.length !== callArgs.length - 1) {
+            ok = false;
+        } else {
+            if (iscall && !verify(cthis, callArgs[0])) ok = false;
+            for (var i = 0; i < cargs.length; i++) {
+                if (!verify(cargs[i], callArgs[i+1])) ok = false;
+            }
+        }
+        if (!ok) {
+            var msg = "Call verification failure!";
+            verificationError(msg);
+        }
+
+        return func.returns[func.inst++];
+    }
+
+    // to verify the callpath
+    function verifyPath(func) {
+        var real = callpath.shift();
+        if (real !== func) {
+            var msg = "Call path verification failure! Expected " + real + ", found " + func;
+            verificationError(msg);
+        }
+    }
+
+    // figure out how to define getters
+    var defineGetter;
+    if (Object.defineProperty) {
+        var odp = Object.defineProperty;
+        defineGetter = function(obj, prop, getter, setter) {
+            if (typeof setter === "undefined") setter = function(){};
+            odp(obj, prop, {"enumerable": true, "configurable": true, "get": getter, "set": setter});
+        };
+    } else if (Object.prototype.__defineGetter__) {
+        var opdg = Object.prototype.__defineGetter__;
+        var opds = Object.prototype.__defineSetter__;
+        defineGetter = function(obj, prop, getter, setter) {
+            if (typeof setter === "undefined") setter = function(){};
+            opdg.call(obj, prop, getter);
+            opds.call(obj, prop, setter);
+        };
+    } else {
+        defineGetter = function() {
+            verificationError("This replay requires getters for correct behavior, and your JS engine appears to be incapable of defining getters. Sorry!");
+        };
+    }
+
+    var defineRegetter = function(obj, prop, getter, setter) {
+        defineGetter(obj, prop, function() {
+            return getter.call(this, prop);
+        }, function(val) {
+            // once it's set by the client, it's claimed
+            setter.call(this, prop, val);
+            Object.defineProperty(obj, prop, {
+                "enumerable": true, "configurable": true, "writable": true,
+                "value": val
+            });
+        });
+    }
+
+    // for calling events
+    var fpc = Function.prototype.call;
+
+// resist the urge, don't put a })(); here!
+/******************************************************************************
+ * Auto-generated below this comment
+ *****************************************************************************/
+var ow989148965 = window;
+var f989148965_0;
+var o0;
+var o1;
+var f989148965_7;
+var f989148965_12;
+var o2;
+var o3;
+var f989148965_56;
+var f989148965_143;
+var f989148965_417;
+var o4;
+var f989148965_419;
+var f989148965_420;
+var f989148965_421;
+var o5;
+var f989148965_423;
+var f989148965_424;
+var o6;
+var o7;
+var o8;
+var f989148965_429;
+var o9;
+var o10;
+var o11;
+var f989148965_439;
+var f989148965_443;
+var f989148965_448;
+var f989148965_449;
+var f989148965_451;
+var f989148965_459;
+var fo989148965_460_length;
+var f989148965_463;
+var f989148965_465;
+var f989148965_468;
+var f989148965_472;
+var f989148965_473;
+var f989148965_474;
+var f989148965_475;
+var f989148965_477;
+var f989148965_487;
+var f989148965_490;
+var f989148965_492;
+var f989148965_493;
+var f989148965_494;
+var f989148965_496;
+var f989148965_508;
+var f989148965_525;
+var f989148965_696;
+var f989148965_697;
+JSBNG_Replay.s19277ddcd28db6dd01a1d67d562dfbbffa3c6a17_1 = [];
+JSBNG_Replay.s19277ddcd28db6dd01a1d67d562dfbbffa3c6a17_4 = [];
+// 1
+// record generated by JSBench  at 2013-07-10T19:04:57.531Z
+// 2
+// 3
+f989148965_0 = function() { return f989148965_0.returns[f989148965_0.inst++]; };
+f989148965_0.returns = [];
+f989148965_0.inst = 0;
+// 4
+ow989148965.JSBNG__Date = f989148965_0;
+// 5
+o0 = {};
+// 6
+ow989148965.JSBNG__document = o0;
+// 9
+o1 = {};
+// 10
+ow989148965.JSBNG__localStorage = o1;
+// 17
+f989148965_7 = function() { return f989148965_7.returns[f989148965_7.inst++]; };
+f989148965_7.returns = [];
+f989148965_7.inst = 0;
+// 18
+ow989148965.JSBNG__addEventListener = f989148965_7;
+// 19
+ow989148965.JSBNG__top = ow989148965;
+// 24
+ow989148965.JSBNG__scrollX = 0;
+// 25
+ow989148965.JSBNG__scrollY = 0;
+// 30
+f989148965_12 = function() { return f989148965_12.returns[f989148965_12.inst++]; };
+f989148965_12.returns = [];
+f989148965_12.inst = 0;
+// 31
+ow989148965.JSBNG__setTimeout = f989148965_12;
+// 42
+ow989148965.JSBNG__frames = ow989148965;
+// 45
+ow989148965.JSBNG__self = ow989148965;
+// 46
+o2 = {};
+// 47
+ow989148965.JSBNG__navigator = o2;
+// 62
+ow989148965.JSBNG__closed = false;
+// 65
+ow989148965.JSBNG__opener = null;
+// 66
+ow989148965.JSBNG__defaultStatus = "";
+// 67
+o3 = {};
+// 68
+ow989148965.JSBNG__location = o3;
+// 69
+ow989148965.JSBNG__innerWidth = 1024;
+// 70
+ow989148965.JSBNG__innerHeight = 702;
+// 71
+ow989148965.JSBNG__outerWidth = 1024;
+// 72
+ow989148965.JSBNG__outerHeight = 774;
+// 73
+ow989148965.JSBNG__screenX = 79;
+// 74
+ow989148965.JSBNG__screenY = 22;
+// 75
+ow989148965.JSBNG__pageXOffset = 0;
+// 76
+ow989148965.JSBNG__pageYOffset = 0;
+// 101
+ow989148965.JSBNG__frameElement = null;
+// 112
+ow989148965.JSBNG__screenLeft = 79;
+// 113
+ow989148965.JSBNG__clientInformation = o2;
+// 114
+ow989148965.JSBNG__defaultstatus = "";
+// 119
+ow989148965.JSBNG__devicePixelRatio = 1;
+// 122
+ow989148965.JSBNG__offscreenBuffering = true;
+// 123
+ow989148965.JSBNG__screenTop = 22;
+// 138
+f989148965_56 = function() { return f989148965_56.returns[f989148965_56.inst++]; };
+f989148965_56.returns = [];
+f989148965_56.inst = 0;
+// 139
+ow989148965.JSBNG__XMLHttpRequest = f989148965_56;
+// 142
+ow989148965.JSBNG__name = "";
+// 149
+ow989148965.JSBNG__status = "";
+// 314
+f989148965_143 = function() { return f989148965_143.returns[f989148965_143.inst++]; };
+f989148965_143.returns = [];
+f989148965_143.inst = 0;
+// 315
+ow989148965.JSBNG__Document = f989148965_143;
+// 588
+ow989148965.JSBNG__XMLDocument = f989148965_143;
+// 863
+ow989148965.JSBNG__onerror = null;
+// 864
+f989148965_417 = function() { return f989148965_417.returns[f989148965_417.inst++]; };
+f989148965_417.returns = [];
+f989148965_417.inst = 0;
+// 865
+ow989148965.Math.JSBNG__random = f989148965_417;
+// 866
+// 868
+o4 = {};
+// 869
+o0.documentElement = o4;
+// 871
+o4.className = "";
+// 873
+f989148965_419 = function() { return f989148965_419.returns[f989148965_419.inst++]; };
+f989148965_419.returns = [];
+f989148965_419.inst = 0;
+// 874
+o4.getAttribute = f989148965_419;
+// 875
+f989148965_419.returns.push("swift-loading");
+// 876
+// 878
+// 879
+// 880
+// 881
+// 882
+f989148965_12.returns.push(2);
+// 884
+f989148965_420 = function() { return f989148965_420.returns[f989148965_420.inst++]; };
+f989148965_420.returns = [];
+f989148965_420.inst = 0;
+// 885
+o0.JSBNG__addEventListener = f989148965_420;
+// 887
+f989148965_420.returns.push(undefined);
+// 889
+f989148965_420.returns.push(undefined);
+// 891
+// 892
+o0.nodeType = 9;
+// 893
+f989148965_421 = function() { return f989148965_421.returns[f989148965_421.inst++]; };
+f989148965_421.returns = [];
+f989148965_421.inst = 0;
+// 894
+o0.createElement = f989148965_421;
+// 895
+o5 = {};
+// 896
+f989148965_421.returns.push(o5);
+// 897
+f989148965_423 = function() { return f989148965_423.returns[f989148965_423.inst++]; };
+f989148965_423.returns = [];
+f989148965_423.inst = 0;
+// 898
+o5.setAttribute = f989148965_423;
+// 899
+f989148965_423.returns.push(undefined);
+// 900
+// 901
+f989148965_424 = function() { return f989148965_424.returns[f989148965_424.inst++]; };
+f989148965_424.returns = [];
+f989148965_424.inst = 0;
+// 902
+o5.getElementsByTagName = f989148965_424;
+// 903
+o6 = {};
+// 904
+f989148965_424.returns.push(o6);
+// 906
+o7 = {};
+// 907
+f989148965_424.returns.push(o7);
+// 908
+o8 = {};
+// 909
+o7["0"] = o8;
+// undefined
+o7 = null;
+// 910
+o6.length = 4;
+// undefined
+o6 = null;
+// 912
+o6 = {};
+// 913
+f989148965_421.returns.push(o6);
+// 914
+f989148965_429 = function() { return f989148965_429.returns[f989148965_429.inst++]; };
+f989148965_429.returns = [];
+f989148965_429.inst = 0;
+// 915
+o6.appendChild = f989148965_429;
+// 917
+o7 = {};
+// 918
+f989148965_421.returns.push(o7);
+// 919
+f989148965_429.returns.push(o7);
+// 921
+o9 = {};
+// 922
+f989148965_424.returns.push(o9);
+// 923
+o10 = {};
+// 924
+o9["0"] = o10;
+// undefined
+o9 = null;
+// 925
+o9 = {};
+// 926
+o8.style = o9;
+// 927
+// 928
+o11 = {};
+// 929
+o5.firstChild = o11;
+// 930
+o11.nodeType = 3;
+// undefined
+o11 = null;
+// 932
+o11 = {};
+// 933
+f989148965_424.returns.push(o11);
+// 934
+o11.length = 0;
+// undefined
+o11 = null;
+// 936
+o11 = {};
+// 937
+f989148965_424.returns.push(o11);
+// 938
+o11.length = 1;
+// undefined
+o11 = null;
+// 939
+o8.getAttribute = f989148965_419;
+// undefined
+o8 = null;
+// 940
+f989148965_419.returns.push("top: 1px; float: left; opacity: 0.5; ");
+// 942
+f989148965_419.returns.push("/a");
+// 944
+o9.opacity = "0.5";
+// 946
+o9.cssFloat = "left";
+// undefined
+o9 = null;
+// 947
+o10.value = "on";
+// 948
+o7.selected = true;
+// 949
+o5.className = "";
+// 951
+o8 = {};
+// 952
+f989148965_421.returns.push(o8);
+// 953
+o8.enctype = "application/x-www-form-urlencoded";
+// undefined
+o8 = null;
+// 955
+o8 = {};
+// 956
+f989148965_421.returns.push(o8);
+// 957
+f989148965_439 = function() { return f989148965_439.returns[f989148965_439.inst++]; };
+f989148965_439.returns = [];
+f989148965_439.inst = 0;
+// 958
+o8.cloneNode = f989148965_439;
+// undefined
+o8 = null;
+// 959
+o8 = {};
+// 960
+f989148965_439.returns.push(o8);
+// 961
+o8.outerHTML = "<nav></nav>";
+// undefined
+o8 = null;
+// 962
+o0.compatMode = "CSS1Compat";
+// 963
+// 964
+o10.cloneNode = f989148965_439;
+// undefined
+o10 = null;
+// 965
+o8 = {};
+// 966
+f989148965_439.returns.push(o8);
+// 967
+o8.checked = true;
+// undefined
+o8 = null;
+// 968
+// undefined
+o6 = null;
+// 969
+o7.disabled = false;
+// undefined
+o7 = null;
+// 970
+// 971
+o5.JSBNG__addEventListener = f989148965_420;
+// 973
+o6 = {};
+// 974
+f989148965_421.returns.push(o6);
+// 975
+// 976
+o6.setAttribute = f989148965_423;
+// 977
+f989148965_423.returns.push(undefined);
+// 979
+f989148965_423.returns.push(undefined);
+// 981
+f989148965_423.returns.push(undefined);
+// 982
+o5.appendChild = f989148965_429;
+// 983
+f989148965_429.returns.push(o6);
+// 984
+f989148965_443 = function() { return f989148965_443.returns[f989148965_443.inst++]; };
+f989148965_443.returns = [];
+f989148965_443.inst = 0;
+// 985
+o0.createDocumentFragment = f989148965_443;
+// 986
+o7 = {};
+// 987
+f989148965_443.returns.push(o7);
+// 988
+o7.appendChild = f989148965_429;
+// 989
+o5.lastChild = o6;
+// 990
+f989148965_429.returns.push(o6);
+// 991
+o7.cloneNode = f989148965_439;
+// 992
+o8 = {};
+// 993
+f989148965_439.returns.push(o8);
+// 994
+o8.cloneNode = f989148965_439;
+// undefined
+o8 = null;
+// 995
+o8 = {};
+// 996
+f989148965_439.returns.push(o8);
+// 997
+o9 = {};
+// 998
+o8.lastChild = o9;
+// undefined
+o8 = null;
+// 999
+o9.checked = true;
+// undefined
+o9 = null;
+// 1000
+o6.checked = true;
+// 1001
+f989148965_448 = function() { return f989148965_448.returns[f989148965_448.inst++]; };
+f989148965_448.returns = [];
+f989148965_448.inst = 0;
+// 1002
+o7.removeChild = f989148965_448;
+// undefined
+o7 = null;
+// 1003
+f989148965_448.returns.push(o6);
+// undefined
+o6 = null;
+// 1005
+f989148965_429.returns.push(o5);
+// 1006
+o5.JSBNG__attachEvent = void 0;
+// 1007
+o0.readyState = "interactive";
+// 1010
+f989148965_420.returns.push(undefined);
+// 1011
+f989148965_7.returns.push(undefined);
+// 1013
+f989148965_448.returns.push(o5);
+// undefined
+o5 = null;
+// 1014
+f989148965_417.returns.push(0.9546113463584334);
+// 1015
+f989148965_449 = function() { return f989148965_449.returns[f989148965_449.inst++]; };
+f989148965_449.returns = [];
+f989148965_449.inst = 0;
+// 1016
+o0.JSBNG__removeEventListener = f989148965_449;
+// 1017
+f989148965_417.returns.push(0.45179418730549514);
+// 1020
+o5 = {};
+// 1021
+f989148965_421.returns.push(o5);
+// 1022
+o5.appendChild = f989148965_429;
+// 1023
+f989148965_451 = function() { return f989148965_451.returns[f989148965_451.inst++]; };
+f989148965_451.returns = [];
+f989148965_451.inst = 0;
+// 1024
+o0.createComment = f989148965_451;
+// 1025
+o6 = {};
+// 1026
+f989148965_451.returns.push(o6);
+// 1027
+f989148965_429.returns.push(o6);
+// undefined
+o6 = null;
+// 1028
+o5.getElementsByTagName = f989148965_424;
+// undefined
+o5 = null;
+// 1029
+o5 = {};
+// 1030
+f989148965_424.returns.push(o5);
+// 1031
+o5.length = 0;
+// undefined
+o5 = null;
+// 1033
+o5 = {};
+// 1034
+f989148965_421.returns.push(o5);
+// 1035
+// 1036
+o6 = {};
+// 1037
+o5.firstChild = o6;
+// undefined
+o5 = null;
+// 1039
+o6.getAttribute = f989148965_419;
+// undefined
+o6 = null;
+// 1042
+f989148965_419.returns.push("#");
+// 1044
+o5 = {};
+// 1045
+f989148965_421.returns.push(o5);
+// 1046
+// 1047
+o6 = {};
+// 1048
+o5.lastChild = o6;
+// undefined
+o5 = null;
+// 1049
+o6.getAttribute = f989148965_419;
+// undefined
+o6 = null;
+// 1050
+f989148965_419.returns.push(null);
+// 1052
+o5 = {};
+// 1053
+f989148965_421.returns.push(o5);
+// 1054
+// 1055
+f989148965_459 = function() { return f989148965_459.returns[f989148965_459.inst++]; };
+f989148965_459.returns = [];
+f989148965_459.inst = 0;
+// 1056
+o5.getElementsByClassName = f989148965_459;
+// 1058
+o6 = {};
+// 1059
+f989148965_459.returns.push(o6);
+// undefined
+fo989148965_460_length = function() { return fo989148965_460_length.returns[fo989148965_460_length.inst++]; };
+fo989148965_460_length.returns = [];
+fo989148965_460_length.inst = 0;
+defineGetter(o6, "length", fo989148965_460_length, undefined);
+// undefined
+fo989148965_460_length.returns.push(1);
+// 1061
+o7 = {};
+// 1062
+o5.lastChild = o7;
+// undefined
+o5 = null;
+// 1063
+// undefined
+o7 = null;
+// 1065
+f989148965_459.returns.push(o6);
+// undefined
+o6 = null;
+// undefined
+fo989148965_460_length.returns.push(2);
+// 1068
+o5 = {};
+// 1069
+f989148965_421.returns.push(o5);
+// 1070
+// 1071
+// 1072
+f989148965_463 = function() { return f989148965_463.returns[f989148965_463.inst++]; };
+f989148965_463.returns = [];
+f989148965_463.inst = 0;
+// 1073
+o4.insertBefore = f989148965_463;
+// 1074
+o6 = {};
+// 1075
+o4.firstChild = o6;
+// 1076
+f989148965_463.returns.push(o5);
+// 1077
+f989148965_465 = function() { return f989148965_465.returns[f989148965_465.inst++]; };
+f989148965_465.returns = [];
+f989148965_465.inst = 0;
+// 1078
+o0.getElementsByName = f989148965_465;
+// 1080
+o7 = {};
+// 1081
+f989148965_465.returns.push(o7);
+// 1082
+o7.length = 2;
+// undefined
+o7 = null;
+// 1084
+o7 = {};
+// 1085
+f989148965_465.returns.push(o7);
+// 1086
+o7.length = 0;
+// undefined
+o7 = null;
+// 1087
+f989148965_468 = function() { return f989148965_468.returns[f989148965_468.inst++]; };
+f989148965_468.returns = [];
+f989148965_468.inst = 0;
+// 1088
+o0.getElementById = f989148965_468;
+// 1089
+f989148965_468.returns.push(null);
+// 1090
+o4.removeChild = f989148965_448;
+// 1091
+f989148965_448.returns.push(o5);
+// undefined
+o5 = null;
+// 1092
+o5 = {};
+// 1093
+o4.childNodes = o5;
+// 1094
+o5.length = 3;
+// 1095
+o5["0"] = o6;
+// 1096
+o7 = {};
+// 1097
+o5["1"] = o7;
+// undefined
+o7 = null;
+// 1098
+o7 = {};
+// 1099
+o5["2"] = o7;
+// undefined
+o5 = null;
+// 1100
+f989148965_472 = function() { return f989148965_472.returns[f989148965_472.inst++]; };
+f989148965_472.returns = [];
+f989148965_472.inst = 0;
+// 1101
+o4.contains = f989148965_472;
+// 1102
+f989148965_473 = function() { return f989148965_473.returns[f989148965_473.inst++]; };
+f989148965_473.returns = [];
+f989148965_473.inst = 0;
+// 1103
+o4.compareDocumentPosition = f989148965_473;
+// 1104
+f989148965_474 = function() { return f989148965_474.returns[f989148965_474.inst++]; };
+f989148965_474.returns = [];
+f989148965_474.inst = 0;
+// 1105
+o0.querySelectorAll = f989148965_474;
+// 1106
+o4.matchesSelector = void 0;
+// 1107
+o4.mozMatchesSelector = void 0;
+// 1108
+f989148965_475 = function() { return f989148965_475.returns[f989148965_475.inst++]; };
+f989148965_475.returns = [];
+f989148965_475.inst = 0;
+// 1109
+o4.webkitMatchesSelector = f989148965_475;
+// 1111
+o5 = {};
+// 1112
+f989148965_421.returns.push(o5);
+// 1113
+// 1114
+f989148965_477 = function() { return f989148965_477.returns[f989148965_477.inst++]; };
+f989148965_477.returns = [];
+f989148965_477.inst = 0;
+// 1115
+o5.querySelectorAll = f989148965_477;
+// undefined
+o5 = null;
+// 1116
+o5 = {};
+// 1117
+f989148965_477.returns.push(o5);
+// 1118
+o5.length = 1;
+// undefined
+o5 = null;
+// 1120
+o5 = {};
+// 1121
+f989148965_477.returns.push(o5);
+// 1122
+o5.length = 1;
+// undefined
+o5 = null;
+// 1124
+o5 = {};
+// 1125
+f989148965_421.returns.push(o5);
+// 1126
+// 1127
+o5.querySelectorAll = f989148965_477;
+// 1128
+o8 = {};
+// 1129
+f989148965_477.returns.push(o8);
+// 1130
+o8.length = 0;
+// undefined
+o8 = null;
+// 1131
+// undefined
+o5 = null;
+// 1133
+o5 = {};
+// 1134
+f989148965_477.returns.push(o5);
+// 1135
+o5.length = 1;
+// undefined
+o5 = null;
+// 1137
+o5 = {};
+// 1138
+f989148965_421.returns.push(o5);
+// undefined
+o5 = null;
+// 1139
+f989148965_475.returns.push(true);
+// 1141
+o5 = {};
+// 1142
+f989148965_443.returns.push(o5);
+// 1143
+o5.createElement = void 0;
+// 1144
+o5.appendChild = f989148965_429;
+// undefined
+o5 = null;
+// 1146
+o5 = {};
+// 1147
+f989148965_421.returns.push(o5);
+// 1148
+f989148965_429.returns.push(o5);
+// undefined
+o5 = null;
+// 1149
+o2.userAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/536.29.13 (KHTML, like Gecko) Version/6.0.4 Safari/536.29.13";
+// undefined
+o2 = null;
+// 1150
+o3.href = "https://twitter.com/search?q=%23javascript";
+// undefined
+o3 = null;
+// 1151
+o2 = {};
+// 1152
+f989148965_0.returns.push(o2);
+// 1153
+f989148965_487 = function() { return f989148965_487.returns[f989148965_487.inst++]; };
+f989148965_487.returns = [];
+f989148965_487.inst = 0;
+// 1154
+o2.getTime = f989148965_487;
+// undefined
+o2 = null;
+// 1155
+f989148965_487.returns.push(1373483112142);
+// 1156
+o2 = {};
+// 1157
+f989148965_56.returns.push(o2);
+// undefined
+o2 = null;
+// 1158
+o2 = {};
+// 1159
+f989148965_0.prototype = o2;
+// 1160
+f989148965_490 = function() { return f989148965_490.returns[f989148965_490.inst++]; };
+f989148965_490.returns = [];
+f989148965_490.inst = 0;
+// 1161
+o2.toISOString = f989148965_490;
+// 1162
+o3 = {};
+// 1163
+f989148965_0.returns.push(o3);
+// 1164
+o3.toISOString = f989148965_490;
+// undefined
+o3 = null;
+// 1165
+f989148965_490.returns.push("-000001-01-01T00:00:00.000Z");
+// 1166
+f989148965_492 = function() { return f989148965_492.returns[f989148965_492.inst++]; };
+f989148965_492.returns = [];
+f989148965_492.inst = 0;
+// 1167
+f989148965_0.now = f989148965_492;
+// 1169
+f989148965_493 = function() { return f989148965_493.returns[f989148965_493.inst++]; };
+f989148965_493.returns = [];
+f989148965_493.inst = 0;
+// 1170
+o2.toJSON = f989148965_493;
+// undefined
+o2 = null;
+// 1171
+f989148965_494 = function() { return f989148965_494.returns[f989148965_494.inst++]; };
+f989148965_494.returns = [];
+f989148965_494.inst = 0;
+// 1172
+f989148965_0.parse = f989148965_494;
+// 1174
+f989148965_494.returns.push(8640000000000000);
+// 1176
+o2 = {};
+// 1177
+f989148965_421.returns.push(o2);
+// undefined
+o2 = null;
+// 1178
+ow989148965.JSBNG__attachEvent = undefined;
+// 1179
+f989148965_496 = function() { return f989148965_496.returns[f989148965_496.inst++]; };
+f989148965_496.returns = [];
+f989148965_496.inst = 0;
+// 1180
+o0.getElementsByTagName = f989148965_496;
+// 1181
+o2 = {};
+// 1182
+f989148965_496.returns.push(o2);
+// 1184
+o3 = {};
+// 1185
+f989148965_421.returns.push(o3);
+// 1186
+o5 = {};
+// 1187
+o2["0"] = o5;
+// 1188
+o5.src = "http://jsbngssl.twitter.com/JSBENCH_NG_RECORD_OBJECTS.js";
+// 1189
+o8 = {};
+// 1190
+o2["1"] = o8;
+// 1191
+o8.src = "http://jsbngssl.twitter.com/JSBENCH_NG_RECORD.js";
+// undefined
+o8 = null;
+// 1192
+o8 = {};
+// 1193
+o2["2"] = o8;
+// 1194
+o8.src = "";
+// undefined
+o8 = null;
+// 1195
+o8 = {};
+// 1196
+o2["3"] = o8;
+// 1197
+o8.src = "";
+// undefined
+o8 = null;
+// 1198
+o8 = {};
+// 1199
+o2["4"] = o8;
+// 1200
+o8.src = "";
+// undefined
+o8 = null;
+// 1201
+o8 = {};
+// 1202
+o2["5"] = o8;
+// 1203
+o8.src = "";
+// undefined
+o8 = null;
+// 1204
+o8 = {};
+// 1205
+o2["6"] = o8;
+// 1206
+o8.src = "http://jsbngssl.abs.twimg.com/c/swift/en/init.fc6418142bd015a47a0c8c1f3f5b7acd225021e8.js";
+// undefined
+o8 = null;
+// 1207
+o2["7"] = void 0;
+// 1209
+o8 = {};
+// 1210
+f989148965_468.returns.push(o8);
+// 1211
+o8.parentNode = o7;
+// 1212
+o8.id = "swift-module-path";
+// 1213
+o8.type = "hidden";
+// 1214
+o8.nodeName = "INPUT";
+// 1215
+o8.value = "http://jsbngssl.abs.twimg.com/c/swift/en";
+// undefined
+o8 = null;
+// 1217
+o0.ownerDocument = null;
+// 1219
+o4.nodeName = "HTML";
+// 1223
+o8 = {};
+// 1224
+f989148965_474.returns.push(o8);
+// 1225
+o8["0"] = void 0;
+// undefined
+o8 = null;
+// 1230
+f989148965_508 = function() { return f989148965_508.returns[f989148965_508.inst++]; };
+f989148965_508.returns = [];
+f989148965_508.inst = 0;
+// 1231
+o0.getElementsByClassName = f989148965_508;
+// 1233
+o8 = {};
+// 1234
+f989148965_508.returns.push(o8);
+// 1235
+o8["0"] = void 0;
+// undefined
+o8 = null;
+// 1236
+o8 = {};
+// 1237
+f989148965_0.returns.push(o8);
+// 1238
+o8.getTime = f989148965_487;
+// undefined
+o8 = null;
+// 1239
+f989148965_487.returns.push(1373483112185);
+// 1240
+o8 = {};
+// 1241
+f989148965_0.returns.push(o8);
+// 1242
+o8.getTime = f989148965_487;
+// undefined
+o8 = null;
+// 1243
+f989148965_487.returns.push(1373483112185);
+// 1244
+o8 = {};
+// 1245
+f989148965_0.returns.push(o8);
+// 1246
+o8.getTime = f989148965_487;
+// undefined
+o8 = null;
+// 1247
+f989148965_487.returns.push(1373483112186);
+// 1248
+o8 = {};
+// 1249
+f989148965_0.returns.push(o8);
+// 1250
+o8.getTime = f989148965_487;
+// undefined
+o8 = null;
+// 1251
+f989148965_487.returns.push(1373483112186);
+// 1252
+o8 = {};
+// 1253
+f989148965_0.returns.push(o8);
+// 1254
+o8.getTime = f989148965_487;
+// undefined
+o8 = null;
+// 1255
+f989148965_487.returns.push(1373483112187);
+// 1256
+o8 = {};
+// 1257
+f989148965_0.returns.push(o8);
+// 1258
+o8.getTime = f989148965_487;
+// undefined
+o8 = null;
+// 1259
+f989148965_487.returns.push(1373483112187);
+// 1260
+o8 = {};
+// 1261
+f989148965_0.returns.push(o8);
+// 1262
+o8.getTime = f989148965_487;
+// undefined
+o8 = null;
+// 1263
+f989148965_487.returns.push(1373483112187);
+// 1264
+o8 = {};
+// 1265
+f989148965_0.returns.push(o8);
+// 1266
+o8.getTime = f989148965_487;
+// undefined
+o8 = null;
+// 1267
+f989148965_487.returns.push(1373483112187);
+// 1268
+o8 = {};
+// 1269
+f989148965_0.returns.push(o8);
+// 1270
+o8.getTime = f989148965_487;
+// undefined
+o8 = null;
+// 1271
+f989148965_487.returns.push(1373483112188);
+// 1272
+o8 = {};
+// 1273
+f989148965_0.returns.push(o8);
+// 1274
+o8.getTime = f989148965_487;
+// undefined
+o8 = null;
+// 1275
+f989148965_487.returns.push(1373483112189);
+// 1276
+o8 = {};
+// 1277
+f989148965_0.returns.push(o8);
+// 1278
+o8.getTime = f989148965_487;
+// undefined
+o8 = null;
+// 1279
+f989148965_487.returns.push(1373483112189);
+// 1280
+o8 = {};
+// 1281
+f989148965_0.returns.push(o8);
+// 1282
+o8.getTime = f989148965_487;
+// undefined
+o8 = null;
+// 1283
+f989148965_487.returns.push(1373483112190);
+// 1284
+o8 = {};
+// 1285
+f989148965_0.returns.push(o8);
+// 1286
+o8.getTime = f989148965_487;
+// undefined
+o8 = null;
+// 1287
+f989148965_487.returns.push(1373483112190);
+// 1288
+o8 = {};
+// 1289
+f989148965_0.returns.push(o8);
+// 1290
+o8.getTime = f989148965_487;
+// undefined
+o8 = null;
+// 1291
+f989148965_487.returns.push(1373483112191);
+// 1292
+o8 = {};
+// 1293
+f989148965_0.returns.push(o8);
+// 1294
+o8.getTime = f989148965_487;
+// undefined
+o8 = null;
+// 1295
+f989148965_487.returns.push(1373483112191);
+// 1296
+f989148965_525 = function() { return f989148965_525.returns[f989148965_525.inst++]; };
+f989148965_525.returns = [];
+f989148965_525.inst = 0;
+// 1297
+o1.getItem = f989148965_525;
+// 1298
+f989148965_525.returns.push(null);
+// 1300
+f989148965_525.returns.push(null);
+// 1301
+o8 = {};
+// 1302
+f989148965_0.returns.push(o8);
+// 1303
+o8.getTime = f989148965_487;
+// undefined
+o8 = null;
+// 1304
+f989148965_487.returns.push(1373483112192);
+// 1305
+o8 = {};
+// 1306
+f989148965_0.returns.push(o8);
+// 1307
+o8.getTime = f989148965_487;
+// undefined
+o8 = null;
+// 1308
+f989148965_487.returns.push(1373483112192);
+// 1309
+o8 = {};
+// 1310
+f989148965_0.returns.push(o8);
+// 1311
+o8.getTime = f989148965_487;
+// undefined
+o8 = null;
+// 1312
+f989148965_487.returns.push(1373483112193);
+// 1313
+o8 = {};
+// 1314
+f989148965_0.returns.push(o8);
+// 1315
+o8.getTime = f989148965_487;
+// undefined
+o8 = null;
+// 1316
+f989148965_487.returns.push(1373483112193);
+// 1317
+o8 = {};
+// 1318
+f989148965_0.returns.push(o8);
+// 1319
+o8.getTime = f989148965_487;
+// undefined
+o8 = null;
+// 1320
+f989148965_487.returns.push(1373483112193);
+// 1321
+o8 = {};
+// 1322
+f989148965_0.returns.push(o8);
+// 1323
+o8.getTime = f989148965_487;
+// undefined
+o8 = null;
+// 1324
+f989148965_487.returns.push(1373483112193);
+// 1330
+o8 = {};
+// 1331
+f989148965_496.returns.push(o8);
+// 1332
+o8["0"] = o4;
+// 1333
+o8["1"] = void 0;
+// undefined
+o8 = null;
+// 1334
+o4.nodeType = 1;
+// 1342
+o8 = {};
+// 1343
+f989148965_474.returns.push(o8);
+// 1344
+o9 = {};
+// 1345
+o8["0"] = o9;
+// 1346
+o8["1"] = void 0;
+// undefined
+o8 = null;
+// 1347
+o9.nodeType = 1;
+// 1348
+o9.type = "hidden";
+// 1349
+o9.nodeName = "INPUT";
+// 1350
+o9.value = "app/pages/search/search";
+// undefined
+o9 = null;
+// 1351
+o8 = {};
+// 1352
+f989148965_0.returns.push(o8);
+// 1353
+o8.getTime = f989148965_487;
+// undefined
+o8 = null;
+// 1354
+f989148965_487.returns.push(1373483112200);
+// 1355
+o8 = {};
+// 1356
+f989148965_0.returns.push(o8);
+// 1357
+o8.getTime = f989148965_487;
+// undefined
+o8 = null;
+// 1358
+f989148965_487.returns.push(1373483112215);
+// 1359
+o3.cloneNode = f989148965_439;
+// undefined
+o3 = null;
+// 1360
+o3 = {};
+// 1361
+f989148965_439.returns.push(o3);
+// 1362
+// 1363
+// 1364
+// 1365
+// 1366
+// 1367
+// 1368
+// 1370
+o5.parentNode = o6;
+// undefined
+o5 = null;
+// 1371
+o6.insertBefore = f989148965_463;
+// 1373
+f989148965_463.returns.push(o3);
+// 1374
+o5 = {};
+// 1376
+o5.target = o4;
+// 1378
+o4.tagName = "HTML";
+// 1381
+f989148965_419.returns.push(null);
+// 1382
+o5.metaKey = false;
+// 1383
+o5.clientX = 973;
+// 1384
+o5.shiftKey = false;
+// 1387
+o4.hostname = void 0;
+// undefined
+o4 = null;
+// 1389
+// 1390
+// 1391
+// 1392
+o4 = {};
+// 1394
+o4.target = o7;
+// 1396
+o7.tagName = "BODY";
+// 1398
+o7.getAttribute = f989148965_419;
+// 1399
+f989148965_419.returns.push(null);
+// 1400
+o4.metaKey = false;
+// 1401
+o4.clientX = void 0;
+// 1404
+o7.hostname = void 0;
+// 1406
+// 1407
+// 1408
+// 1409
+o8 = {};
+// 1411
+o8.target = o7;
+// 1416
+f989148965_419.returns.push(null);
+// 1417
+o8.metaKey = false;
+// 1418
+o8.clientX = void 0;
+// 1423
+// 1424
+// 1425
+// 1426
+o9 = {};
+// 1428
+o9.target = o7;
+// undefined
+o7 = null;
+// 1433
+f989148965_419.returns.push(null);
+// 1434
+o9.metaKey = false;
+// 1435
+o9.clientX = void 0;
+// 1440
+// 1441
+// 1442
+// 1444
+// 1445
+// 1446
+// 1447
+// 1449
+o7 = {};
+// 1450
+ow989148965.JSBNG__event = o7;
+// 1451
+o7.type = "load";
+// undefined
+o7 = null;
+// 1452
+// 1453
+o7 = {};
+// 1454
+f989148965_0.returns.push(o7);
+// 1455
+o7.getTime = f989148965_487;
+// undefined
+o7 = null;
+// 1456
+f989148965_487.returns.push(1373483124915);
+// 1457
+o7 = {};
+// 1458
+f989148965_0.returns.push(o7);
+// 1459
+o7.getTime = f989148965_487;
+// undefined
+o7 = null;
+// 1460
+f989148965_487.returns.push(1373483124915);
+// 1461
+o7 = {};
+// 1462
+f989148965_0.returns.push(o7);
+// 1463
+o7.getTime = f989148965_487;
+// undefined
+o7 = null;
+// 1464
+f989148965_487.returns.push(1373483124917);
+// 1465
+o7 = {};
+// 1466
+f989148965_0.returns.push(o7);
+// 1467
+o7.getTime = f989148965_487;
+// undefined
+o7 = null;
+// 1468
+f989148965_487.returns.push(1373483124917);
+// 1469
+o7 = {};
+// 1470
+f989148965_0.returns.push(o7);
+// 1471
+o7.getTime = f989148965_487;
+// undefined
+o7 = null;
+// 1472
+f989148965_487.returns.push(1373483124918);
+// 1473
+o7 = {};
+// 1474
+f989148965_0.returns.push(o7);
+// 1475
+o7.getTime = f989148965_487;
+// undefined
+o7 = null;
+// 1476
+f989148965_487.returns.push(1373483124928);
+// 1478
+o7 = {};
+// 1479
+f989148965_439.returns.push(o7);
+// 1480
+// 1481
+// 1482
+// 1483
+// 1484
+// 1485
+// 1486
+// 1488
+o3.parentNode = o6;
+// undefined
+o6 = null;
+// 1491
+f989148965_463.returns.push(o7);
+// undefined
+o7 = null;
+// 1492
+o6 = {};
+// 1493
+f989148965_0.returns.push(o6);
+// 1494
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1495
+f989148965_487.returns.push(1373483124930);
+// 1496
+o6 = {};
+// 1497
+f989148965_0.returns.push(o6);
+// 1498
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1499
+f989148965_487.returns.push(1373483124932);
+// 1500
+o6 = {};
+// 1501
+f989148965_0.returns.push(o6);
+// 1502
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1503
+f989148965_487.returns.push(1373483124933);
+// 1504
+o6 = {};
+// 1505
+f989148965_0.returns.push(o6);
+// 1506
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1507
+f989148965_487.returns.push(1373483124933);
+// 1508
+o6 = {};
+// 1509
+f989148965_0.returns.push(o6);
+// 1510
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1511
+f989148965_487.returns.push(1373483124934);
+// 1512
+o6 = {};
+// 1513
+f989148965_0.returns.push(o6);
+// 1514
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1515
+f989148965_487.returns.push(1373483124934);
+// 1516
+o6 = {};
+// 1517
+f989148965_0.returns.push(o6);
+// 1518
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1519
+f989148965_487.returns.push(1373483124935);
+// 1520
+o6 = {};
+// 1521
+f989148965_0.returns.push(o6);
+// 1522
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1523
+f989148965_487.returns.push(1373483124935);
+// 1524
+o6 = {};
+// 1525
+f989148965_0.returns.push(o6);
+// 1526
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1527
+f989148965_487.returns.push(1373483124935);
+// 1528
+o6 = {};
+// 1529
+f989148965_0.returns.push(o6);
+// 1530
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1531
+f989148965_487.returns.push(1373483124936);
+// 1532
+o6 = {};
+// 1533
+f989148965_0.returns.push(o6);
+// 1534
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1535
+f989148965_487.returns.push(1373483124936);
+// 1536
+o6 = {};
+// 1537
+f989148965_0.returns.push(o6);
+// 1538
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1539
+f989148965_487.returns.push(1373483124936);
+// 1540
+o6 = {};
+// 1541
+f989148965_0.returns.push(o6);
+// 1542
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1543
+f989148965_487.returns.push(1373483124936);
+// 1544
+o6 = {};
+// 1545
+f989148965_0.returns.push(o6);
+// 1546
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1547
+f989148965_487.returns.push(1373483124937);
+// 1548
+o6 = {};
+// 1549
+f989148965_0.returns.push(o6);
+// 1550
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1551
+f989148965_487.returns.push(1373483124937);
+// 1552
+o6 = {};
+// 1553
+f989148965_0.returns.push(o6);
+// 1554
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1555
+f989148965_487.returns.push(1373483124937);
+// 1556
+o6 = {};
+// 1557
+f989148965_0.returns.push(o6);
+// 1558
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1559
+f989148965_487.returns.push(1373483124941);
+// 1560
+o6 = {};
+// 1561
+f989148965_0.returns.push(o6);
+// 1562
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1563
+f989148965_487.returns.push(1373483124941);
+// 1564
+o6 = {};
+// 1565
+f989148965_0.returns.push(o6);
+// 1566
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1567
+f989148965_487.returns.push(1373483124942);
+// 1568
+o6 = {};
+// 1569
+f989148965_0.returns.push(o6);
+// 1570
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1571
+f989148965_487.returns.push(1373483124942);
+// 1572
+o6 = {};
+// 1573
+f989148965_0.returns.push(o6);
+// 1574
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1575
+f989148965_487.returns.push(1373483124943);
+// 1576
+o6 = {};
+// 1577
+f989148965_0.returns.push(o6);
+// 1578
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1579
+f989148965_487.returns.push(1373483124943);
+// 1580
+o6 = {};
+// 1581
+f989148965_0.returns.push(o6);
+// 1582
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1583
+f989148965_487.returns.push(1373483124943);
+// 1584
+o6 = {};
+// 1585
+f989148965_0.returns.push(o6);
+// 1586
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1587
+f989148965_487.returns.push(1373483124943);
+// 1588
+o6 = {};
+// 1589
+f989148965_0.returns.push(o6);
+// 1590
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1591
+f989148965_487.returns.push(1373483124943);
+// 1592
+o6 = {};
+// 1593
+f989148965_0.returns.push(o6);
+// 1594
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1595
+f989148965_487.returns.push(1373483124944);
+// 1596
+o6 = {};
+// 1597
+f989148965_0.returns.push(o6);
+// 1598
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1599
+f989148965_487.returns.push(1373483124944);
+// 1600
+o6 = {};
+// 1601
+f989148965_0.returns.push(o6);
+// 1602
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1603
+f989148965_487.returns.push(1373483124944);
+// 1604
+o6 = {};
+// 1605
+f989148965_0.returns.push(o6);
+// 1606
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1607
+f989148965_487.returns.push(1373483124944);
+// 1608
+o6 = {};
+// 1609
+f989148965_0.returns.push(o6);
+// 1610
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1611
+f989148965_487.returns.push(1373483124944);
+// 1612
+o6 = {};
+// 1613
+f989148965_0.returns.push(o6);
+// 1614
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1615
+f989148965_487.returns.push(1373483124945);
+// 1616
+o6 = {};
+// 1617
+f989148965_0.returns.push(o6);
+// 1618
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1619
+f989148965_487.returns.push(1373483124945);
+// 1620
+o6 = {};
+// 1621
+f989148965_0.returns.push(o6);
+// 1622
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1623
+f989148965_487.returns.push(1373483124945);
+// 1624
+o6 = {};
+// 1625
+f989148965_0.returns.push(o6);
+// 1626
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1627
+f989148965_487.returns.push(1373483124945);
+// 1628
+o6 = {};
+// 1629
+f989148965_0.returns.push(o6);
+// 1630
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1631
+f989148965_487.returns.push(1373483124946);
+// 1632
+o6 = {};
+// 1633
+f989148965_0.returns.push(o6);
+// 1634
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1635
+f989148965_487.returns.push(1373483124946);
+// 1636
+o6 = {};
+// 1637
+f989148965_0.returns.push(o6);
+// 1638
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1639
+f989148965_487.returns.push(1373483124946);
+// 1640
+o6 = {};
+// 1641
+f989148965_0.returns.push(o6);
+// 1642
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1643
+f989148965_487.returns.push(1373483124946);
+// 1644
+o6 = {};
+// 1645
+f989148965_0.returns.push(o6);
+// 1646
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1647
+f989148965_487.returns.push(1373483124946);
+// 1648
+o6 = {};
+// 1649
+f989148965_0.returns.push(o6);
+// 1650
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1651
+f989148965_487.returns.push(1373483124947);
+// 1652
+o6 = {};
+// 1653
+f989148965_0.returns.push(o6);
+// 1654
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1655
+f989148965_487.returns.push(1373483124947);
+// 1656
+o6 = {};
+// 1657
+f989148965_0.returns.push(o6);
+// 1658
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1659
+f989148965_487.returns.push(1373483124947);
+// 1660
+o6 = {};
+// 1661
+f989148965_0.returns.push(o6);
+// 1662
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1663
+f989148965_487.returns.push(1373483124947);
+// 1664
+o6 = {};
+// 1665
+f989148965_0.returns.push(o6);
+// 1666
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1667
+f989148965_487.returns.push(1373483124951);
+// 1668
+o6 = {};
+// 1669
+f989148965_0.returns.push(o6);
+// 1670
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1671
+f989148965_487.returns.push(1373483124951);
+// 1672
+o6 = {};
+// 1673
+f989148965_0.returns.push(o6);
+// 1674
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1675
+f989148965_487.returns.push(1373483124951);
+// 1676
+o6 = {};
+// 1677
+f989148965_0.returns.push(o6);
+// 1678
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1679
+f989148965_487.returns.push(1373483124952);
+// 1680
+o6 = {};
+// 1681
+f989148965_0.returns.push(o6);
+// 1682
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1683
+f989148965_487.returns.push(1373483124952);
+// 1684
+o6 = {};
+// 1685
+f989148965_0.returns.push(o6);
+// 1686
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1687
+f989148965_487.returns.push(1373483124952);
+// 1688
+o6 = {};
+// 1689
+f989148965_0.returns.push(o6);
+// 1690
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1691
+f989148965_487.returns.push(1373483124952);
+// 1692
+o6 = {};
+// 1693
+f989148965_0.returns.push(o6);
+// 1694
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1695
+f989148965_487.returns.push(1373483124952);
+// 1696
+o6 = {};
+// 1697
+f989148965_0.returns.push(o6);
+// 1698
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1699
+f989148965_487.returns.push(1373483124952);
+// 1700
+o6 = {};
+// 1701
+f989148965_0.returns.push(o6);
+// 1702
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1703
+f989148965_487.returns.push(1373483124952);
+// 1704
+o6 = {};
+// 1705
+f989148965_0.returns.push(o6);
+// 1706
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1707
+f989148965_487.returns.push(1373483124953);
+// 1708
+o6 = {};
+// 1709
+f989148965_0.returns.push(o6);
+// 1710
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1711
+f989148965_487.returns.push(1373483124953);
+// 1712
+o6 = {};
+// 1713
+f989148965_0.returns.push(o6);
+// 1714
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1715
+f989148965_487.returns.push(1373483124954);
+// 1716
+o6 = {};
+// 1717
+f989148965_0.returns.push(o6);
+// 1718
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1719
+f989148965_487.returns.push(1373483124954);
+// 1720
+o6 = {};
+// 1721
+f989148965_0.returns.push(o6);
+// 1722
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1723
+f989148965_487.returns.push(1373483124954);
+// 1724
+o6 = {};
+// 1725
+f989148965_0.returns.push(o6);
+// 1726
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1727
+f989148965_487.returns.push(1373483124957);
+// 1728
+o6 = {};
+// 1729
+f989148965_0.returns.push(o6);
+// 1730
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1731
+f989148965_487.returns.push(1373483124957);
+// 1732
+o6 = {};
+// 1733
+f989148965_0.returns.push(o6);
+// 1734
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1735
+f989148965_487.returns.push(1373483124957);
+// 1736
+o6 = {};
+// 1737
+f989148965_0.returns.push(o6);
+// 1738
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1739
+f989148965_487.returns.push(1373483124958);
+// 1740
+o6 = {};
+// 1741
+f989148965_0.returns.push(o6);
+// 1742
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1743
+f989148965_487.returns.push(1373483124958);
+// 1744
+o6 = {};
+// 1745
+f989148965_0.returns.push(o6);
+// 1746
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1747
+f989148965_487.returns.push(1373483124958);
+// 1748
+o6 = {};
+// 1749
+f989148965_0.returns.push(o6);
+// 1750
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1751
+f989148965_487.returns.push(1373483124959);
+// 1752
+o6 = {};
+// 1753
+f989148965_0.returns.push(o6);
+// 1754
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1755
+f989148965_487.returns.push(1373483124959);
+// 1756
+o6 = {};
+// 1757
+f989148965_0.returns.push(o6);
+// 1758
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1759
+f989148965_487.returns.push(1373483124959);
+// 1760
+o6 = {};
+// 1761
+f989148965_0.returns.push(o6);
+// 1762
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1763
+f989148965_487.returns.push(1373483124959);
+// 1764
+o6 = {};
+// 1765
+f989148965_0.returns.push(o6);
+// 1766
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1767
+f989148965_487.returns.push(1373483124959);
+// 1768
+o6 = {};
+// 1769
+f989148965_0.returns.push(o6);
+// 1770
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1771
+f989148965_487.returns.push(1373483124960);
+// 1772
+o6 = {};
+// 1773
+f989148965_0.returns.push(o6);
+// 1774
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1775
+f989148965_487.returns.push(1373483124966);
+// 1776
+o6 = {};
+// 1777
+f989148965_0.returns.push(o6);
+// 1778
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1779
+f989148965_487.returns.push(1373483124967);
+// 1780
+o6 = {};
+// 1781
+f989148965_0.returns.push(o6);
+// 1782
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1783
+f989148965_487.returns.push(1373483124967);
+// 1784
+o6 = {};
+// 1785
+f989148965_0.returns.push(o6);
+// 1786
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1787
+f989148965_487.returns.push(1373483124968);
+// 1788
+o6 = {};
+// 1789
+f989148965_0.returns.push(o6);
+// 1790
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1791
+f989148965_487.returns.push(1373483124968);
+// 1792
+o6 = {};
+// 1793
+f989148965_0.returns.push(o6);
+// 1794
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1795
+f989148965_487.returns.push(1373483124968);
+// 1796
+o6 = {};
+// 1797
+f989148965_0.returns.push(o6);
+// 1798
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1799
+f989148965_487.returns.push(1373483124969);
+// 1800
+o6 = {};
+// 1801
+f989148965_0.returns.push(o6);
+// 1802
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1803
+f989148965_487.returns.push(1373483124969);
+// 1804
+o6 = {};
+// 1805
+f989148965_0.returns.push(o6);
+// 1806
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1807
+f989148965_487.returns.push(1373483124969);
+// 1808
+o6 = {};
+// 1809
+f989148965_0.returns.push(o6);
+// 1810
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1811
+f989148965_487.returns.push(1373483124969);
+// 1812
+o6 = {};
+// 1813
+f989148965_0.returns.push(o6);
+// 1814
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1815
+f989148965_487.returns.push(1373483124970);
+// 1816
+o6 = {};
+// 1817
+f989148965_0.returns.push(o6);
+// 1818
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1819
+f989148965_487.returns.push(1373483124970);
+// 1820
+o6 = {};
+// 1821
+f989148965_0.returns.push(o6);
+// 1822
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1823
+f989148965_487.returns.push(1373483124971);
+// 1824
+o6 = {};
+// 1825
+f989148965_0.returns.push(o6);
+// 1826
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1827
+f989148965_487.returns.push(1373483124971);
+// 1828
+o6 = {};
+// 1829
+f989148965_0.returns.push(o6);
+// 1830
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1831
+f989148965_487.returns.push(1373483124971);
+// 1832
+o6 = {};
+// 1833
+f989148965_0.returns.push(o6);
+// 1834
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1835
+f989148965_487.returns.push(1373483124972);
+// 1836
+o6 = {};
+// 1837
+f989148965_0.returns.push(o6);
+// 1838
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1839
+f989148965_487.returns.push(1373483124973);
+// 1840
+o6 = {};
+// 1841
+f989148965_0.returns.push(o6);
+// 1842
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1843
+f989148965_487.returns.push(1373483124973);
+// 1844
+o6 = {};
+// 1845
+f989148965_0.returns.push(o6);
+// 1846
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1847
+f989148965_487.returns.push(1373483124973);
+// 1848
+o6 = {};
+// 1849
+f989148965_0.returns.push(o6);
+// 1850
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1851
+f989148965_487.returns.push(1373483124974);
+// 1852
+o6 = {};
+// 1853
+f989148965_0.returns.push(o6);
+// 1854
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1855
+f989148965_487.returns.push(1373483124974);
+// 1856
+o6 = {};
+// 1857
+f989148965_0.returns.push(o6);
+// 1858
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1859
+f989148965_487.returns.push(1373483124974);
+// 1860
+o6 = {};
+// 1861
+f989148965_0.returns.push(o6);
+// 1862
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1863
+f989148965_487.returns.push(1373483124975);
+// 1864
+o6 = {};
+// 1865
+f989148965_0.returns.push(o6);
+// 1866
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1867
+f989148965_487.returns.push(1373483124975);
+// 1868
+o6 = {};
+// 1869
+f989148965_0.returns.push(o6);
+// 1870
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1871
+f989148965_487.returns.push(1373483124975);
+// 1872
+o6 = {};
+// 1873
+f989148965_0.returns.push(o6);
+// 1874
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1875
+f989148965_487.returns.push(1373483124976);
+// 1876
+o6 = {};
+// 1877
+f989148965_0.returns.push(o6);
+// 1878
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1879
+f989148965_487.returns.push(1373483124977);
+// 1880
+o6 = {};
+// 1881
+f989148965_0.returns.push(o6);
+// 1882
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1883
+f989148965_487.returns.push(1373483124981);
+// 1884
+o6 = {};
+// 1885
+f989148965_0.returns.push(o6);
+// 1886
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1887
+f989148965_487.returns.push(1373483124981);
+// 1888
+o6 = {};
+// 1889
+f989148965_0.returns.push(o6);
+// 1890
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1891
+f989148965_487.returns.push(1373483124981);
+// 1892
+o6 = {};
+// 1893
+f989148965_0.returns.push(o6);
+// 1894
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1895
+f989148965_487.returns.push(1373483124981);
+// 1896
+o6 = {};
+// 1897
+f989148965_0.returns.push(o6);
+// 1898
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1899
+f989148965_487.returns.push(1373483124982);
+// 1900
+o6 = {};
+// 1901
+f989148965_0.returns.push(o6);
+// 1902
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1903
+f989148965_487.returns.push(1373483124982);
+// 1904
+o6 = {};
+// 1905
+f989148965_0.returns.push(o6);
+// 1906
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1907
+f989148965_487.returns.push(1373483124983);
+// 1908
+o6 = {};
+// 1909
+f989148965_0.returns.push(o6);
+// 1910
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1911
+f989148965_487.returns.push(1373483124993);
+// 1912
+o6 = {};
+// 1913
+f989148965_0.returns.push(o6);
+// 1914
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1915
+f989148965_487.returns.push(1373483124993);
+// 1916
+o6 = {};
+// 1917
+f989148965_0.returns.push(o6);
+// 1918
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1919
+f989148965_487.returns.push(1373483124993);
+// 1920
+o6 = {};
+// 1921
+f989148965_0.returns.push(o6);
+// 1922
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1923
+f989148965_487.returns.push(1373483124993);
+// 1924
+o6 = {};
+// 1925
+f989148965_0.returns.push(o6);
+// 1926
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1927
+f989148965_487.returns.push(1373483124994);
+// 1928
+o6 = {};
+// 1929
+f989148965_0.returns.push(o6);
+// 1930
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1931
+f989148965_487.returns.push(1373483124994);
+// 1932
+o6 = {};
+// 1933
+f989148965_0.returns.push(o6);
+// 1934
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1935
+f989148965_487.returns.push(1373483124995);
+// 1936
+o6 = {};
+// 1937
+f989148965_0.returns.push(o6);
+// 1938
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1939
+f989148965_487.returns.push(1373483124995);
+// 1940
+o6 = {};
+// 1941
+f989148965_0.returns.push(o6);
+// 1942
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1943
+f989148965_487.returns.push(1373483124995);
+// 1944
+o6 = {};
+// 1945
+f989148965_0.returns.push(o6);
+// 1946
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1947
+f989148965_487.returns.push(1373483124995);
+// 1948
+o6 = {};
+// 1949
+f989148965_0.returns.push(o6);
+// 1950
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1951
+f989148965_487.returns.push(1373483124996);
+// 1952
+o6 = {};
+// 1953
+f989148965_0.returns.push(o6);
+// 1954
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1955
+f989148965_487.returns.push(1373483124996);
+// 1956
+o6 = {};
+// 1957
+f989148965_0.returns.push(o6);
+// 1958
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1959
+f989148965_487.returns.push(1373483124997);
+// 1960
+o6 = {};
+// 1961
+f989148965_0.returns.push(o6);
+// 1962
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1963
+f989148965_487.returns.push(1373483124997);
+// 1964
+o6 = {};
+// 1965
+f989148965_0.returns.push(o6);
+// 1966
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1967
+f989148965_487.returns.push(1373483124997);
+// 1968
+o6 = {};
+// 1969
+f989148965_0.returns.push(o6);
+// 1970
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1971
+f989148965_487.returns.push(1373483124997);
+// 1972
+o6 = {};
+// 1973
+f989148965_0.returns.push(o6);
+// 1974
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1975
+f989148965_487.returns.push(1373483124998);
+// 1976
+o6 = {};
+// 1977
+f989148965_0.returns.push(o6);
+// 1978
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1979
+f989148965_487.returns.push(1373483124998);
+// 1980
+o6 = {};
+// 1981
+f989148965_0.returns.push(o6);
+// 1982
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1983
+f989148965_487.returns.push(1373483124998);
+// 1984
+o6 = {};
+// 1985
+f989148965_0.returns.push(o6);
+// 1986
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1987
+f989148965_487.returns.push(1373483124999);
+// 1988
+o6 = {};
+// 1989
+f989148965_0.returns.push(o6);
+// 1990
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1991
+f989148965_487.returns.push(1373483125005);
+// 1992
+o6 = {};
+// 1993
+f989148965_0.returns.push(o6);
+// 1994
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1995
+f989148965_487.returns.push(1373483125006);
+// 1996
+o6 = {};
+// 1997
+f989148965_0.returns.push(o6);
+// 1998
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 1999
+f989148965_487.returns.push(1373483125007);
+// 2000
+o6 = {};
+// 2001
+f989148965_0.returns.push(o6);
+// 2002
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 2003
+f989148965_487.returns.push(1373483125007);
+// 2004
+o6 = {};
+// 2005
+f989148965_0.returns.push(o6);
+// 2006
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 2007
+f989148965_487.returns.push(1373483125007);
+// 2008
+o6 = {};
+// 2009
+f989148965_0.returns.push(o6);
+// 2010
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 2011
+f989148965_487.returns.push(1373483125008);
+// 2012
+o6 = {};
+// 2013
+f989148965_0.returns.push(o6);
+// 2014
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 2015
+f989148965_487.returns.push(1373483125008);
+// 2016
+o6 = {};
+// 2017
+f989148965_0.returns.push(o6);
+// 2018
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 2019
+f989148965_487.returns.push(1373483125008);
+// 2020
+o6 = {};
+// 2021
+f989148965_0.returns.push(o6);
+// 2022
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 2023
+f989148965_487.returns.push(1373483125008);
+// 2024
+o6 = {};
+// 2025
+f989148965_0.returns.push(o6);
+// 2026
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 2027
+f989148965_487.returns.push(1373483125008);
+// 2028
+o6 = {};
+// 2029
+f989148965_0.returns.push(o6);
+// 2030
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 2031
+f989148965_487.returns.push(1373483125009);
+// 2032
+o6 = {};
+// 2033
+f989148965_0.returns.push(o6);
+// 2034
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 2035
+f989148965_487.returns.push(1373483125009);
+// 2036
+o6 = {};
+// 2037
+f989148965_0.returns.push(o6);
+// 2038
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 2039
+f989148965_487.returns.push(1373483125009);
+// 2040
+o6 = {};
+// 2041
+f989148965_0.returns.push(o6);
+// 2042
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 2043
+f989148965_487.returns.push(1373483125010);
+// 2044
+o6 = {};
+// 2045
+f989148965_0.returns.push(o6);
+// 2046
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 2047
+f989148965_487.returns.push(1373483125010);
+// 2048
+o6 = {};
+// 2049
+f989148965_0.returns.push(o6);
+// 2050
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 2051
+f989148965_487.returns.push(1373483125010);
+// 2052
+o6 = {};
+// 2053
+f989148965_0.returns.push(o6);
+// 2054
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 2055
+f989148965_487.returns.push(1373483125010);
+// 2056
+o6 = {};
+// 2057
+f989148965_0.returns.push(o6);
+// 2058
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 2059
+f989148965_487.returns.push(1373483125010);
+// 2060
+o6 = {};
+// 2061
+f989148965_0.returns.push(o6);
+// 2062
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 2063
+f989148965_487.returns.push(1373483125010);
+// 2064
+o6 = {};
+// 2065
+f989148965_0.returns.push(o6);
+// 2066
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 2067
+f989148965_487.returns.push(1373483125011);
+// 2068
+o6 = {};
+// 2069
+f989148965_0.returns.push(o6);
+// 2070
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 2071
+f989148965_487.returns.push(1373483125011);
+// 2072
+o6 = {};
+// 2073
+f989148965_0.returns.push(o6);
+// 2074
+o6.getTime = f989148965_487;
+// undefined
+o6 = null;
+// 2075
+f989148965_487.returns.push(1373483125011);
+// 2076
+f989148965_696 = function() { return f989148965_696.returns[f989148965_696.inst++]; };
+f989148965_696.returns = [];
+f989148965_696.inst = 0;
+// 2077
+o1.setItem = f989148965_696;
+// 2078
+f989148965_696.returns.push(undefined);
+// 2079
+f989148965_697 = function() { return f989148965_697.returns[f989148965_697.inst++]; };
+f989148965_697.returns = [];
+f989148965_697.inst = 0;
+// 2080
+o1.removeItem = f989148965_697;
+// undefined
+o1 = null;
+// 2081
+f989148965_697.returns.push(undefined);
+// 2082
+o1 = {};
+// 2083
+f989148965_0.returns.push(o1);
+// 2084
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2085
+f989148965_487.returns.push(1373483125012);
+// 2086
+o1 = {};
+// 2087
+f989148965_0.returns.push(o1);
+// 2088
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2089
+f989148965_487.returns.push(1373483125013);
+// 2090
+o1 = {};
+// 2091
+f989148965_0.returns.push(o1);
+// 2092
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2093
+f989148965_487.returns.push(1373483125013);
+// 2094
+o1 = {};
+// 2095
+f989148965_0.returns.push(o1);
+// 2096
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2097
+f989148965_487.returns.push(1373483125018);
+// 2098
+o1 = {};
+// 2099
+f989148965_0.returns.push(o1);
+// 2100
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2101
+f989148965_487.returns.push(1373483125018);
+// 2102
+o1 = {};
+// 2103
+f989148965_0.returns.push(o1);
+// 2104
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2105
+f989148965_487.returns.push(1373483125019);
+// 2106
+o1 = {};
+// 2107
+f989148965_0.returns.push(o1);
+// 2108
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2109
+f989148965_487.returns.push(1373483125019);
+// 2110
+o1 = {};
+// 2111
+f989148965_0.returns.push(o1);
+// 2112
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2113
+f989148965_487.returns.push(1373483125020);
+// 2114
+o1 = {};
+// 2115
+f989148965_0.returns.push(o1);
+// 2116
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2117
+f989148965_487.returns.push(1373483125020);
+// 2118
+o1 = {};
+// 2119
+f989148965_0.returns.push(o1);
+// 2120
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2121
+f989148965_487.returns.push(1373483125021);
+// 2122
+o1 = {};
+// 2123
+f989148965_0.returns.push(o1);
+// 2124
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2125
+f989148965_487.returns.push(1373483125021);
+// 2126
+o1 = {};
+// 2127
+f989148965_0.returns.push(o1);
+// 2128
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2129
+f989148965_487.returns.push(1373483125021);
+// 2130
+o1 = {};
+// 2131
+f989148965_0.returns.push(o1);
+// 2132
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2133
+f989148965_487.returns.push(1373483125021);
+// 2134
+o1 = {};
+// 2135
+f989148965_0.returns.push(o1);
+// 2136
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2137
+f989148965_487.returns.push(1373483125022);
+// 2138
+o1 = {};
+// 2139
+f989148965_0.returns.push(o1);
+// 2140
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2141
+f989148965_487.returns.push(1373483125022);
+// 2142
+o1 = {};
+// 2143
+f989148965_0.returns.push(o1);
+// 2144
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2145
+f989148965_487.returns.push(1373483125022);
+// 2146
+o1 = {};
+// 2147
+f989148965_0.returns.push(o1);
+// 2148
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2149
+f989148965_487.returns.push(1373483125023);
+// 2150
+o1 = {};
+// 2151
+f989148965_0.returns.push(o1);
+// 2152
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2153
+f989148965_487.returns.push(1373483125023);
+// 2154
+o1 = {};
+// 2155
+f989148965_0.returns.push(o1);
+// 2156
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2157
+f989148965_487.returns.push(1373483125023);
+// 2158
+o1 = {};
+// 2159
+f989148965_0.returns.push(o1);
+// 2160
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2161
+f989148965_487.returns.push(1373483125023);
+// 2162
+o1 = {};
+// 2163
+f989148965_0.returns.push(o1);
+// 2164
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2165
+f989148965_487.returns.push(1373483125024);
+// 2166
+o1 = {};
+// 2167
+f989148965_0.returns.push(o1);
+// 2168
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2169
+f989148965_487.returns.push(1373483125024);
+// 2170
+o1 = {};
+// 2171
+f989148965_0.returns.push(o1);
+// 2172
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2173
+f989148965_487.returns.push(1373483125024);
+// 2174
+o1 = {};
+// 2175
+f989148965_0.returns.push(o1);
+// 2176
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2177
+f989148965_487.returns.push(1373483125025);
+// 2178
+o1 = {};
+// 2179
+f989148965_0.returns.push(o1);
+// 2180
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2181
+f989148965_487.returns.push(1373483125025);
+// 2182
+o1 = {};
+// 2183
+f989148965_0.returns.push(o1);
+// 2184
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2185
+f989148965_487.returns.push(1373483125026);
+// 2186
+o1 = {};
+// 2187
+f989148965_0.returns.push(o1);
+// 2188
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2189
+f989148965_487.returns.push(1373483125026);
+// 2190
+o1 = {};
+// 2191
+f989148965_0.returns.push(o1);
+// 2192
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2193
+f989148965_487.returns.push(1373483125026);
+// 2194
+o1 = {};
+// 2195
+f989148965_0.returns.push(o1);
+// 2196
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2197
+f989148965_487.returns.push(1373483125026);
+// 2198
+o1 = {};
+// 2199
+f989148965_0.returns.push(o1);
+// 2200
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2201
+f989148965_487.returns.push(1373483125027);
+// 2202
+o1 = {};
+// 2203
+f989148965_0.returns.push(o1);
+// 2204
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2205
+f989148965_487.returns.push(1373483125034);
+// 2206
+o1 = {};
+// 2207
+f989148965_0.returns.push(o1);
+// 2208
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2209
+f989148965_487.returns.push(1373483125034);
+// 2210
+o1 = {};
+// 2211
+f989148965_0.returns.push(o1);
+// 2212
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2213
+f989148965_487.returns.push(1373483125035);
+// 2214
+o1 = {};
+// 2215
+f989148965_0.returns.push(o1);
+// 2216
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2217
+f989148965_487.returns.push(1373483125035);
+// 2218
+o1 = {};
+// 2219
+f989148965_0.returns.push(o1);
+// 2220
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2221
+f989148965_487.returns.push(1373483125035);
+// 2222
+o1 = {};
+// 2223
+f989148965_0.returns.push(o1);
+// 2224
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2225
+f989148965_487.returns.push(1373483125036);
+// 2226
+o1 = {};
+// 2227
+f989148965_0.returns.push(o1);
+// 2228
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2229
+f989148965_487.returns.push(1373483125036);
+// 2230
+o1 = {};
+// 2231
+f989148965_0.returns.push(o1);
+// 2232
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2233
+f989148965_487.returns.push(1373483125036);
+// 2234
+o1 = {};
+// 2235
+f989148965_0.returns.push(o1);
+// 2236
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2237
+f989148965_487.returns.push(1373483125037);
+// 2238
+o1 = {};
+// 2239
+f989148965_0.returns.push(o1);
+// 2240
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2241
+f989148965_487.returns.push(1373483125037);
+// 2242
+o1 = {};
+// 2243
+f989148965_0.returns.push(o1);
+// 2244
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2245
+f989148965_487.returns.push(1373483125037);
+// 2246
+o1 = {};
+// 2247
+f989148965_0.returns.push(o1);
+// 2248
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2249
+f989148965_487.returns.push(1373483125038);
+// 2250
+o1 = {};
+// 2251
+f989148965_0.returns.push(o1);
+// 2252
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2253
+f989148965_487.returns.push(1373483125038);
+// 2254
+o1 = {};
+// 2255
+f989148965_0.returns.push(o1);
+// 2256
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2257
+f989148965_487.returns.push(1373483125038);
+// 2258
+o1 = {};
+// 2259
+f989148965_0.returns.push(o1);
+// 2260
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2261
+f989148965_487.returns.push(1373483125038);
+// 2262
+o1 = {};
+// 2263
+f989148965_0.returns.push(o1);
+// 2264
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2265
+f989148965_487.returns.push(1373483125038);
+// 2266
+o1 = {};
+// 2267
+f989148965_0.returns.push(o1);
+// 2268
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2269
+f989148965_487.returns.push(1373483125039);
+// 2270
+o1 = {};
+// 2271
+f989148965_0.returns.push(o1);
+// 2272
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2273
+f989148965_487.returns.push(1373483125039);
+// 2274
+o1 = {};
+// 2275
+f989148965_0.returns.push(o1);
+// 2276
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2277
+f989148965_487.returns.push(1373483125039);
+// 2278
+o1 = {};
+// 2279
+f989148965_0.returns.push(o1);
+// 2280
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2281
+f989148965_487.returns.push(1373483125039);
+// 2282
+o1 = {};
+// 2283
+f989148965_0.returns.push(o1);
+// 2284
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2285
+f989148965_487.returns.push(1373483125039);
+// 2286
+o1 = {};
+// 2287
+f989148965_0.returns.push(o1);
+// 2288
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2289
+f989148965_487.returns.push(1373483125039);
+// 2290
+o1 = {};
+// 2291
+f989148965_0.returns.push(o1);
+// 2292
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2293
+f989148965_487.returns.push(1373483125040);
+// 2294
+o1 = {};
+// 2295
+f989148965_0.returns.push(o1);
+// 2296
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2297
+f989148965_487.returns.push(1373483125040);
+// 2298
+o1 = {};
+// 2299
+f989148965_0.returns.push(o1);
+// 2300
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2301
+f989148965_487.returns.push(1373483125040);
+// 2302
+o1 = {};
+// 2303
+f989148965_0.returns.push(o1);
+// 2304
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2305
+f989148965_487.returns.push(1373483125040);
+// 2306
+o1 = {};
+// 2307
+f989148965_0.returns.push(o1);
+// 2308
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2309
+f989148965_487.returns.push(1373483125042);
+// 2310
+o1 = {};
+// 2311
+f989148965_0.returns.push(o1);
+// 2312
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2313
+f989148965_487.returns.push(1373483125046);
+// 2314
+o1 = {};
+// 2315
+f989148965_0.returns.push(o1);
+// 2316
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2317
+f989148965_487.returns.push(1373483125046);
+// 2318
+o1 = {};
+// 2319
+f989148965_0.returns.push(o1);
+// 2320
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2321
+f989148965_487.returns.push(1373483125046);
+// 2322
+o1 = {};
+// 2323
+f989148965_0.returns.push(o1);
+// 2324
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2325
+f989148965_487.returns.push(1373483125047);
+// 2326
+o1 = {};
+// 2327
+f989148965_0.returns.push(o1);
+// 2328
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2329
+f989148965_487.returns.push(1373483125047);
+// 2330
+o1 = {};
+// 2331
+f989148965_0.returns.push(o1);
+// 2332
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2333
+f989148965_487.returns.push(1373483125047);
+// 2334
+o1 = {};
+// 2335
+f989148965_0.returns.push(o1);
+// 2336
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2337
+f989148965_487.returns.push(1373483125048);
+// 2338
+o1 = {};
+// 2339
+f989148965_0.returns.push(o1);
+// 2340
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2341
+f989148965_487.returns.push(1373483125048);
+// 2342
+o1 = {};
+// 2343
+f989148965_0.returns.push(o1);
+// 2344
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2345
+f989148965_487.returns.push(1373483125048);
+// 2346
+o1 = {};
+// 2347
+f989148965_0.returns.push(o1);
+// 2348
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2349
+f989148965_487.returns.push(1373483125048);
+// 2350
+o1 = {};
+// 2351
+f989148965_0.returns.push(o1);
+// 2352
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2353
+f989148965_487.returns.push(1373483125048);
+// 2354
+o1 = {};
+// 2355
+f989148965_0.returns.push(o1);
+// 2356
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2357
+f989148965_487.returns.push(1373483125048);
+// 2358
+o1 = {};
+// 2359
+f989148965_0.returns.push(o1);
+// 2360
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2361
+f989148965_487.returns.push(1373483125049);
+// 2362
+o1 = {};
+// 2363
+f989148965_0.returns.push(o1);
+// 2364
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2365
+f989148965_487.returns.push(1373483125049);
+// 2366
+o1 = {};
+// 2367
+f989148965_0.returns.push(o1);
+// 2368
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2369
+f989148965_487.returns.push(1373483125049);
+// 2370
+o1 = {};
+// 2371
+f989148965_0.returns.push(o1);
+// 2372
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2373
+f989148965_487.returns.push(1373483125049);
+// 2374
+o1 = {};
+// 2375
+f989148965_0.returns.push(o1);
+// 2376
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2377
+f989148965_487.returns.push(1373483125049);
+// 2378
+o1 = {};
+// 2379
+f989148965_0.returns.push(o1);
+// 2380
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2381
+f989148965_487.returns.push(1373483125050);
+// 2382
+o1 = {};
+// 2383
+f989148965_0.returns.push(o1);
+// 2384
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2385
+f989148965_487.returns.push(1373483125050);
+// 2386
+o1 = {};
+// 2387
+f989148965_0.returns.push(o1);
+// 2388
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2389
+f989148965_487.returns.push(1373483125050);
+// 2390
+o1 = {};
+// 2391
+f989148965_0.returns.push(o1);
+// 2392
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2393
+f989148965_487.returns.push(1373483125050);
+// 2394
+o1 = {};
+// 2395
+f989148965_0.returns.push(o1);
+// 2396
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2397
+f989148965_487.returns.push(1373483125050);
+// 2398
+o1 = {};
+// 2399
+f989148965_0.returns.push(o1);
+// 2400
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2401
+f989148965_487.returns.push(1373483125050);
+// 2402
+o1 = {};
+// 2403
+f989148965_0.returns.push(o1);
+// 2404
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2405
+f989148965_487.returns.push(1373483125051);
+// 2406
+o1 = {};
+// 2407
+f989148965_0.returns.push(o1);
+// 2408
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2409
+f989148965_487.returns.push(1373483125051);
+// 2410
+o1 = {};
+// 2411
+f989148965_0.returns.push(o1);
+// 2412
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2413
+f989148965_487.returns.push(1373483125051);
+// 2414
+o1 = {};
+// 2415
+f989148965_0.returns.push(o1);
+// 2416
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2417
+f989148965_487.returns.push(1373483125051);
+// 2418
+o1 = {};
+// 2419
+f989148965_0.returns.push(o1);
+// 2420
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2421
+f989148965_487.returns.push(1373483125056);
+// 2422
+o1 = {};
+// 2423
+f989148965_0.returns.push(o1);
+// 2424
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2425
+f989148965_487.returns.push(1373483125058);
+// 2426
+o1 = {};
+// 2427
+f989148965_0.returns.push(o1);
+// 2428
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2429
+f989148965_487.returns.push(1373483125058);
+// 2430
+o1 = {};
+// 2431
+f989148965_0.returns.push(o1);
+// 2432
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2433
+f989148965_487.returns.push(1373483125058);
+// 2434
+o1 = {};
+// 2435
+f989148965_0.returns.push(o1);
+// 2436
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2437
+f989148965_487.returns.push(1373483125061);
+// 2438
+o1 = {};
+// 2439
+f989148965_0.returns.push(o1);
+// 2440
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2441
+f989148965_487.returns.push(1373483125061);
+// 2442
+o1 = {};
+// 2443
+f989148965_0.returns.push(o1);
+// 2444
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2445
+f989148965_487.returns.push(1373483125062);
+// 2446
+o1 = {};
+// 2447
+f989148965_0.returns.push(o1);
+// 2448
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2449
+f989148965_487.returns.push(1373483125062);
+// 2450
+o1 = {};
+// 2451
+f989148965_0.returns.push(o1);
+// 2452
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2453
+f989148965_487.returns.push(1373483125063);
+// 2454
+o1 = {};
+// 2455
+f989148965_0.returns.push(o1);
+// 2456
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2457
+f989148965_487.returns.push(1373483125063);
+// 2458
+o1 = {};
+// 2459
+f989148965_0.returns.push(o1);
+// 2460
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2461
+f989148965_487.returns.push(1373483125063);
+// 2462
+o1 = {};
+// 2463
+f989148965_0.returns.push(o1);
+// 2464
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2465
+f989148965_487.returns.push(1373483125064);
+// 2466
+o1 = {};
+// 2467
+f989148965_0.returns.push(o1);
+// 2468
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2469
+f989148965_487.returns.push(1373483125064);
+// 2470
+o1 = {};
+// 2471
+f989148965_0.returns.push(o1);
+// 2472
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2473
+f989148965_487.returns.push(1373483125064);
+// 2474
+o1 = {};
+// 2475
+f989148965_0.returns.push(o1);
+// 2476
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2477
+f989148965_487.returns.push(1373483125065);
+// 2478
+o1 = {};
+// 2479
+f989148965_0.returns.push(o1);
+// 2480
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2481
+f989148965_487.returns.push(1373483125065);
+// 2482
+o1 = {};
+// 2483
+f989148965_0.returns.push(o1);
+// 2484
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2485
+f989148965_487.returns.push(1373483125065);
+// 2486
+o1 = {};
+// 2487
+f989148965_0.returns.push(o1);
+// 2488
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2489
+f989148965_487.returns.push(1373483125065);
+// 2490
+o1 = {};
+// 2491
+f989148965_0.returns.push(o1);
+// 2492
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2493
+f989148965_487.returns.push(1373483125065);
+// 2494
+o1 = {};
+// 2495
+f989148965_0.returns.push(o1);
+// 2496
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2497
+f989148965_487.returns.push(1373483125065);
+// 2498
+o1 = {};
+// 2499
+f989148965_0.returns.push(o1);
+// 2500
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2501
+f989148965_487.returns.push(1373483125066);
+// 2502
+o1 = {};
+// 2503
+f989148965_0.returns.push(o1);
+// 2504
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2505
+f989148965_487.returns.push(1373483125066);
+// 2506
+o1 = {};
+// 2507
+f989148965_0.returns.push(o1);
+// 2508
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2509
+f989148965_487.returns.push(1373483125066);
+// 2510
+o1 = {};
+// 2511
+f989148965_0.returns.push(o1);
+// 2512
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2513
+f989148965_487.returns.push(1373483125066);
+// 2514
+o1 = {};
+// 2515
+f989148965_0.returns.push(o1);
+// 2516
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2517
+f989148965_487.returns.push(1373483125066);
+// 2518
+o1 = {};
+// 2519
+f989148965_0.returns.push(o1);
+// 2520
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2521
+f989148965_487.returns.push(1373483125067);
+// 2522
+o1 = {};
+// 2523
+f989148965_0.returns.push(o1);
+// 2524
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2525
+f989148965_487.returns.push(1373483125067);
+// 2526
+o1 = {};
+// 2527
+f989148965_0.returns.push(o1);
+// 2528
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2529
+f989148965_487.returns.push(1373483125073);
+// 2530
+o1 = {};
+// 2531
+f989148965_0.returns.push(o1);
+// 2532
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2533
+f989148965_487.returns.push(1373483125073);
+// 2534
+o1 = {};
+// 2535
+f989148965_0.returns.push(o1);
+// 2536
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2537
+f989148965_487.returns.push(1373483125074);
+// 2538
+o1 = {};
+// 2539
+f989148965_0.returns.push(o1);
+// 2540
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2541
+f989148965_487.returns.push(1373483125074);
+// 2542
+o1 = {};
+// 2543
+f989148965_0.returns.push(o1);
+// 2544
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2545
+f989148965_487.returns.push(1373483125074);
+// 2546
+o1 = {};
+// 2547
+f989148965_0.returns.push(o1);
+// 2548
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2549
+f989148965_487.returns.push(1373483125074);
+// 2550
+o1 = {};
+// 2551
+f989148965_0.returns.push(o1);
+// 2552
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2553
+f989148965_487.returns.push(1373483125075);
+// 2554
+o1 = {};
+// 2555
+f989148965_0.returns.push(o1);
+// 2556
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2557
+f989148965_487.returns.push(1373483125075);
+// 2558
+o1 = {};
+// 2559
+f989148965_0.returns.push(o1);
+// 2560
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2561
+f989148965_487.returns.push(1373483125075);
+// 2562
+o1 = {};
+// 2563
+f989148965_0.returns.push(o1);
+// 2564
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2565
+f989148965_487.returns.push(1373483125076);
+// 2566
+o1 = {};
+// 2567
+f989148965_0.returns.push(o1);
+// 2568
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2569
+f989148965_487.returns.push(1373483125076);
+// 2570
+o1 = {};
+// 2571
+f989148965_0.returns.push(o1);
+// 2572
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2573
+f989148965_487.returns.push(1373483125076);
+// 2574
+o1 = {};
+// 2575
+f989148965_0.returns.push(o1);
+// 2576
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2577
+f989148965_487.returns.push(1373483125076);
+// 2578
+o1 = {};
+// 2579
+f989148965_0.returns.push(o1);
+// 2580
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2581
+f989148965_487.returns.push(1373483125077);
+// 2582
+o1 = {};
+// 2583
+f989148965_0.returns.push(o1);
+// 2584
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2585
+f989148965_487.returns.push(1373483125077);
+// 2586
+o1 = {};
+// 2587
+f989148965_0.returns.push(o1);
+// 2588
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2589
+f989148965_487.returns.push(1373483125077);
+// 2590
+o1 = {};
+// 2591
+f989148965_0.returns.push(o1);
+// 2592
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2593
+f989148965_487.returns.push(1373483125077);
+// 2594
+o1 = {};
+// 2595
+f989148965_0.returns.push(o1);
+// 2596
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2597
+f989148965_487.returns.push(1373483125077);
+// 2598
+o1 = {};
+// 2599
+f989148965_0.returns.push(o1);
+// 2600
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2601
+f989148965_487.returns.push(1373483125078);
+// 2602
+o1 = {};
+// 2603
+f989148965_0.returns.push(o1);
+// 2604
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2605
+f989148965_487.returns.push(1373483125078);
+// 2606
+o1 = {};
+// 2607
+f989148965_0.returns.push(o1);
+// 2608
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2609
+f989148965_487.returns.push(1373483125078);
+// 2610
+o1 = {};
+// 2611
+f989148965_0.returns.push(o1);
+// 2612
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2613
+f989148965_487.returns.push(1373483125078);
+// 2614
+o1 = {};
+// 2615
+f989148965_0.returns.push(o1);
+// 2616
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2617
+f989148965_487.returns.push(1373483125079);
+// 2618
+o1 = {};
+// 2619
+f989148965_0.returns.push(o1);
+// 2620
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2621
+f989148965_487.returns.push(1373483125079);
+// 2622
+o1 = {};
+// 2623
+f989148965_0.returns.push(o1);
+// 2624
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2625
+f989148965_487.returns.push(1373483125083);
+// 2626
+o1 = {};
+// 2627
+f989148965_0.returns.push(o1);
+// 2628
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2629
+f989148965_487.returns.push(1373483125084);
+// 2630
+o1 = {};
+// 2631
+f989148965_0.returns.push(o1);
+// 2632
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2633
+f989148965_487.returns.push(1373483125084);
+// 2634
+o1 = {};
+// 2635
+f989148965_0.returns.push(o1);
+// 2636
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2637
+f989148965_487.returns.push(1373483125092);
+// 2638
+o1 = {};
+// 2639
+f989148965_0.returns.push(o1);
+// 2640
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2641
+f989148965_487.returns.push(1373483125093);
+// 2642
+o1 = {};
+// 2643
+f989148965_0.returns.push(o1);
+// 2644
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2645
+f989148965_487.returns.push(1373483125093);
+// 2646
+o1 = {};
+// 2647
+f989148965_0.returns.push(o1);
+// 2648
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2649
+f989148965_487.returns.push(1373483125094);
+// 2650
+o1 = {};
+// 2651
+f989148965_0.returns.push(o1);
+// 2652
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2653
+f989148965_487.returns.push(1373483125094);
+// 2654
+o1 = {};
+// 2655
+f989148965_0.returns.push(o1);
+// 2656
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2657
+f989148965_487.returns.push(1373483125094);
+// 2658
+o1 = {};
+// 2659
+f989148965_0.returns.push(o1);
+// 2660
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2661
+f989148965_487.returns.push(1373483125095);
+// 2662
+o1 = {};
+// 2663
+f989148965_0.returns.push(o1);
+// 2664
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2665
+f989148965_487.returns.push(1373483125095);
+// 2666
+o1 = {};
+// 2667
+f989148965_0.returns.push(o1);
+// 2668
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2669
+f989148965_487.returns.push(1373483125095);
+// 2670
+o1 = {};
+// 2671
+f989148965_0.returns.push(o1);
+// 2672
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2673
+f989148965_487.returns.push(1373483125096);
+// 2674
+o1 = {};
+// 2675
+f989148965_0.returns.push(o1);
+// 2676
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2677
+f989148965_487.returns.push(1373483125096);
+// 2678
+o1 = {};
+// 2679
+f989148965_0.returns.push(o1);
+// 2680
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2681
+f989148965_487.returns.push(1373483125097);
+// 2682
+o1 = {};
+// 2683
+f989148965_0.returns.push(o1);
+// 2684
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2685
+f989148965_487.returns.push(1373483125097);
+// 2686
+o1 = {};
+// 2687
+f989148965_0.returns.push(o1);
+// 2688
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2689
+f989148965_487.returns.push(1373483125098);
+// 2690
+o1 = {};
+// 2691
+f989148965_0.returns.push(o1);
+// 2692
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2693
+f989148965_487.returns.push(1373483125099);
+// 2694
+o1 = {};
+// 2695
+f989148965_0.returns.push(o1);
+// 2696
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2697
+f989148965_487.returns.push(1373483125099);
+// 2698
+o1 = {};
+// 2699
+f989148965_0.returns.push(o1);
+// 2700
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2701
+f989148965_487.returns.push(1373483125099);
+// 2702
+o1 = {};
+// 2703
+f989148965_0.returns.push(o1);
+// 2704
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2705
+f989148965_487.returns.push(1373483125100);
+// 2706
+o1 = {};
+// 2707
+f989148965_0.returns.push(o1);
+// 2708
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2709
+f989148965_487.returns.push(1373483125100);
+// 2710
+o1 = {};
+// 2711
+f989148965_0.returns.push(o1);
+// 2712
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2713
+f989148965_487.returns.push(1373483125101);
+// 2714
+o1 = {};
+// 2715
+f989148965_0.returns.push(o1);
+// 2716
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2717
+f989148965_487.returns.push(1373483125101);
+// 2718
+o1 = {};
+// 2719
+f989148965_0.returns.push(o1);
+// 2720
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2721
+f989148965_487.returns.push(1373483125101);
+// 2722
+o1 = {};
+// 2723
+f989148965_0.returns.push(o1);
+// 2724
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2725
+f989148965_487.returns.push(1373483125102);
+// 2726
+o1 = {};
+// 2727
+f989148965_0.returns.push(o1);
+// 2728
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2729
+f989148965_487.returns.push(1373483125102);
+// 2730
+o1 = {};
+// 2731
+f989148965_0.returns.push(o1);
+// 2732
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2733
+f989148965_487.returns.push(1373483125102);
+// 2734
+o1 = {};
+// 2735
+f989148965_0.returns.push(o1);
+// 2736
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2737
+f989148965_487.returns.push(1373483125102);
+// 2738
+o1 = {};
+// 2739
+f989148965_0.returns.push(o1);
+// 2740
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2741
+f989148965_487.returns.push(1373483125102);
+// 2742
+o1 = {};
+// 2743
+f989148965_0.returns.push(o1);
+// 2744
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2745
+f989148965_487.returns.push(1373483125106);
+// 2746
+o1 = {};
+// 2747
+f989148965_0.returns.push(o1);
+// 2748
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2749
+f989148965_487.returns.push(1373483125106);
+// 2750
+o1 = {};
+// 2751
+f989148965_0.returns.push(o1);
+// 2752
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2753
+f989148965_487.returns.push(1373483125106);
+// 2754
+o1 = {};
+// 2755
+f989148965_0.returns.push(o1);
+// 2756
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2757
+f989148965_487.returns.push(1373483125107);
+// 2758
+o1 = {};
+// 2759
+f989148965_0.returns.push(o1);
+// 2760
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2761
+f989148965_487.returns.push(1373483125107);
+// 2762
+o1 = {};
+// 2763
+f989148965_0.returns.push(o1);
+// 2764
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2765
+f989148965_487.returns.push(1373483125107);
+// 2766
+o1 = {};
+// 2767
+f989148965_0.returns.push(o1);
+// 2768
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2769
+f989148965_487.returns.push(1373483125107);
+// 2770
+o1 = {};
+// 2771
+f989148965_0.returns.push(o1);
+// 2772
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2773
+f989148965_487.returns.push(1373483125107);
+// 2774
+o1 = {};
+// 2775
+f989148965_0.returns.push(o1);
+// 2776
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2777
+f989148965_487.returns.push(1373483125108);
+// 2778
+o1 = {};
+// 2779
+f989148965_0.returns.push(o1);
+// 2780
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2781
+f989148965_487.returns.push(1373483125108);
+// 2782
+o1 = {};
+// 2783
+f989148965_0.returns.push(o1);
+// 2784
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2785
+f989148965_487.returns.push(1373483125108);
+// 2786
+o1 = {};
+// 2787
+f989148965_0.returns.push(o1);
+// 2788
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2789
+f989148965_487.returns.push(1373483125108);
+// 2790
+o1 = {};
+// 2791
+f989148965_0.returns.push(o1);
+// 2792
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2793
+f989148965_487.returns.push(1373483125108);
+// 2794
+o1 = {};
+// 2795
+f989148965_0.returns.push(o1);
+// 2796
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2797
+f989148965_487.returns.push(1373483125108);
+// 2798
+o1 = {};
+// 2799
+f989148965_0.returns.push(o1);
+// 2800
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2801
+f989148965_487.returns.push(1373483125109);
+// 2802
+o1 = {};
+// 2803
+f989148965_0.returns.push(o1);
+// 2804
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2805
+f989148965_487.returns.push(1373483125109);
+// 2806
+o1 = {};
+// 2807
+f989148965_0.returns.push(o1);
+// 2808
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2809
+f989148965_487.returns.push(1373483125109);
+// 2810
+o1 = {};
+// 2811
+f989148965_0.returns.push(o1);
+// 2812
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2813
+f989148965_487.returns.push(1373483125121);
+// 2814
+o1 = {};
+// 2815
+f989148965_0.returns.push(o1);
+// 2816
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2817
+f989148965_487.returns.push(1373483125121);
+// 2818
+o1 = {};
+// 2819
+f989148965_0.returns.push(o1);
+// 2820
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2821
+f989148965_487.returns.push(1373483125121);
+// 2822
+o1 = {};
+// 2823
+f989148965_0.returns.push(o1);
+// 2824
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2825
+f989148965_487.returns.push(1373483125122);
+// 2826
+o1 = {};
+// 2827
+f989148965_0.returns.push(o1);
+// 2828
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2829
+f989148965_487.returns.push(1373483125124);
+// 2830
+o1 = {};
+// 2831
+f989148965_0.returns.push(o1);
+// 2832
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2833
+f989148965_487.returns.push(1373483125124);
+// 2834
+o1 = {};
+// 2835
+f989148965_0.returns.push(o1);
+// 2836
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2837
+f989148965_487.returns.push(1373483125124);
+// 2838
+o1 = {};
+// 2839
+f989148965_0.returns.push(o1);
+// 2840
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2841
+f989148965_487.returns.push(1373483125126);
+// 2842
+o1 = {};
+// 2843
+f989148965_0.returns.push(o1);
+// 2844
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2845
+f989148965_487.returns.push(1373483125126);
+// 2846
+o1 = {};
+// 2847
+f989148965_0.returns.push(o1);
+// 2848
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2849
+f989148965_487.returns.push(1373483125126);
+// 2850
+o1 = {};
+// 2851
+f989148965_0.returns.push(o1);
+// 2852
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2853
+f989148965_487.returns.push(1373483125132);
+// 2854
+o1 = {};
+// 2855
+f989148965_0.returns.push(o1);
+// 2856
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2857
+f989148965_487.returns.push(1373483125132);
+// 2858
+o1 = {};
+// 2859
+f989148965_0.returns.push(o1);
+// 2860
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2861
+f989148965_487.returns.push(1373483125133);
+// 2862
+o1 = {};
+// 2863
+f989148965_0.returns.push(o1);
+// 2864
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2865
+f989148965_487.returns.push(1373483125133);
+// 2866
+o1 = {};
+// 2867
+f989148965_0.returns.push(o1);
+// 2868
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2869
+f989148965_487.returns.push(1373483125133);
+// 2870
+o1 = {};
+// 2871
+f989148965_0.returns.push(o1);
+// 2872
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2873
+f989148965_487.returns.push(1373483125134);
+// 2874
+o1 = {};
+// 2875
+f989148965_0.returns.push(o1);
+// 2876
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2877
+f989148965_487.returns.push(1373483125134);
+// 2878
+o1 = {};
+// 2879
+f989148965_0.returns.push(o1);
+// 2880
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2881
+f989148965_487.returns.push(1373483125134);
+// 2882
+o1 = {};
+// 2883
+f989148965_0.returns.push(o1);
+// 2884
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2885
+f989148965_487.returns.push(1373483125136);
+// 2886
+o1 = {};
+// 2887
+f989148965_0.returns.push(o1);
+// 2888
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2889
+f989148965_487.returns.push(1373483125136);
+// 2890
+o1 = {};
+// 2891
+f989148965_0.returns.push(o1);
+// 2892
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2893
+f989148965_487.returns.push(1373483125136);
+// 2894
+o1 = {};
+// 2895
+f989148965_0.returns.push(o1);
+// 2896
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2897
+f989148965_487.returns.push(1373483125137);
+// 2898
+o1 = {};
+// 2899
+f989148965_0.returns.push(o1);
+// 2900
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2901
+f989148965_487.returns.push(1373483125137);
+// 2902
+o1 = {};
+// 2903
+f989148965_0.returns.push(o1);
+// 2904
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2905
+f989148965_487.returns.push(1373483125137);
+// 2906
+o1 = {};
+// 2907
+f989148965_0.returns.push(o1);
+// 2908
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2909
+f989148965_487.returns.push(1373483125138);
+// 2910
+o1 = {};
+// 2911
+f989148965_0.returns.push(o1);
+// 2912
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2913
+f989148965_487.returns.push(1373483125138);
+// 2914
+o1 = {};
+// 2915
+f989148965_0.returns.push(o1);
+// 2916
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2917
+f989148965_487.returns.push(1373483125139);
+// 2918
+o1 = {};
+// 2919
+f989148965_0.returns.push(o1);
+// 2920
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2921
+f989148965_487.returns.push(1373483125139);
+// 2922
+o1 = {};
+// 2923
+f989148965_0.returns.push(o1);
+// 2924
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2925
+f989148965_487.returns.push(1373483125139);
+// 2926
+o1 = {};
+// 2927
+f989148965_0.returns.push(o1);
+// 2928
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2929
+f989148965_487.returns.push(1373483125140);
+// 2930
+o1 = {};
+// 2931
+f989148965_0.returns.push(o1);
+// 2932
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2933
+f989148965_487.returns.push(1373483125141);
+// 2934
+o1 = {};
+// 2935
+f989148965_0.returns.push(o1);
+// 2936
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2937
+f989148965_487.returns.push(1373483125142);
+// 2938
+o1 = {};
+// 2939
+f989148965_0.returns.push(o1);
+// 2940
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2941
+f989148965_487.returns.push(1373483125142);
+// 2942
+o1 = {};
+// 2943
+f989148965_0.returns.push(o1);
+// 2944
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2945
+f989148965_487.returns.push(1373483125143);
+// 2946
+o1 = {};
+// 2947
+f989148965_0.returns.push(o1);
+// 2948
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2949
+f989148965_487.returns.push(1373483125143);
+// 2950
+o1 = {};
+// 2951
+f989148965_0.returns.push(o1);
+// 2952
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2953
+f989148965_487.returns.push(1373483125143);
+// 2954
+o1 = {};
+// 2955
+f989148965_0.returns.push(o1);
+// 2956
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2957
+f989148965_487.returns.push(1373483125144);
+// 2958
+o1 = {};
+// 2959
+f989148965_0.returns.push(o1);
+// 2960
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2961
+f989148965_487.returns.push(1373483125157);
+// 2962
+o1 = {};
+// 2963
+f989148965_0.returns.push(o1);
+// 2964
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2965
+f989148965_487.returns.push(1373483125157);
+// 2966
+o1 = {};
+// 2967
+f989148965_0.returns.push(o1);
+// 2968
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2969
+f989148965_487.returns.push(1373483125158);
+// 2970
+o1 = {};
+// 2971
+f989148965_0.returns.push(o1);
+// 2972
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2973
+f989148965_487.returns.push(1373483125158);
+// 2974
+o1 = {};
+// 2975
+f989148965_0.returns.push(o1);
+// 2976
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2977
+f989148965_487.returns.push(1373483125158);
+// 2978
+o1 = {};
+// 2979
+f989148965_0.returns.push(o1);
+// 2980
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2981
+f989148965_487.returns.push(1373483125160);
+// 2982
+o1 = {};
+// 2983
+f989148965_0.returns.push(o1);
+// 2984
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2985
+f989148965_487.returns.push(1373483125161);
+// 2986
+o1 = {};
+// 2987
+f989148965_0.returns.push(o1);
+// 2988
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2989
+f989148965_487.returns.push(1373483125161);
+// 2990
+o1 = {};
+// 2991
+f989148965_0.returns.push(o1);
+// 2992
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2993
+f989148965_487.returns.push(1373483125161);
+// 2994
+o1 = {};
+// 2995
+f989148965_0.returns.push(o1);
+// 2996
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 2997
+f989148965_487.returns.push(1373483125162);
+// 2998
+o1 = {};
+// 2999
+f989148965_0.returns.push(o1);
+// 3000
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3001
+f989148965_487.returns.push(1373483125162);
+// 3002
+o1 = {};
+// 3003
+f989148965_0.returns.push(o1);
+// 3004
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3005
+f989148965_487.returns.push(1373483125162);
+// 3006
+o1 = {};
+// 3007
+f989148965_0.returns.push(o1);
+// 3008
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3009
+f989148965_487.returns.push(1373483125163);
+// 3010
+o1 = {};
+// 3011
+f989148965_0.returns.push(o1);
+// 3012
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3013
+f989148965_487.returns.push(1373483125163);
+// 3014
+o1 = {};
+// 3015
+f989148965_0.returns.push(o1);
+// 3016
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3017
+f989148965_487.returns.push(1373483125163);
+// 3018
+o1 = {};
+// 3019
+f989148965_0.returns.push(o1);
+// 3020
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3021
+f989148965_487.returns.push(1373483125163);
+// 3022
+o1 = {};
+// 3023
+f989148965_0.returns.push(o1);
+// 3024
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3025
+f989148965_487.returns.push(1373483125163);
+// 3026
+o1 = {};
+// 3027
+f989148965_0.returns.push(o1);
+// 3028
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3029
+f989148965_487.returns.push(1373483125164);
+// 3030
+o1 = {};
+// 3031
+f989148965_0.returns.push(o1);
+// 3032
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3033
+f989148965_487.returns.push(1373483125164);
+// 3034
+o1 = {};
+// 3035
+f989148965_0.returns.push(o1);
+// 3036
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3037
+f989148965_487.returns.push(1373483125164);
+// 3038
+o1 = {};
+// 3039
+f989148965_0.returns.push(o1);
+// 3040
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3041
+f989148965_487.returns.push(1373483125164);
+// 3042
+o1 = {};
+// 3043
+f989148965_0.returns.push(o1);
+// 3044
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3045
+f989148965_487.returns.push(1373483125164);
+// 3046
+o1 = {};
+// 3047
+f989148965_0.returns.push(o1);
+// 3048
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3049
+f989148965_487.returns.push(1373483125164);
+// 3050
+o1 = {};
+// 3051
+f989148965_0.returns.push(o1);
+// 3052
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3053
+f989148965_487.returns.push(1373483125165);
+// 3054
+o1 = {};
+// 3055
+f989148965_0.returns.push(o1);
+// 3056
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3057
+f989148965_487.returns.push(1373483125165);
+// 3058
+o1 = {};
+// 3059
+f989148965_0.returns.push(o1);
+// 3060
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3061
+f989148965_487.returns.push(1373483125165);
+// 3062
+o1 = {};
+// 3063
+f989148965_0.returns.push(o1);
+// 3064
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3065
+f989148965_487.returns.push(1373483125165);
+// 3066
+o1 = {};
+// 3067
+f989148965_0.returns.push(o1);
+// 3068
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3069
+f989148965_487.returns.push(1373483125171);
+// 3070
+o1 = {};
+// 3071
+f989148965_0.returns.push(o1);
+// 3072
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3073
+f989148965_487.returns.push(1373483125171);
+// 3074
+o1 = {};
+// 3075
+f989148965_0.returns.push(o1);
+// 3076
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3077
+f989148965_487.returns.push(1373483125171);
+// 3078
+o1 = {};
+// 3079
+f989148965_0.returns.push(o1);
+// 3080
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3081
+f989148965_487.returns.push(1373483125172);
+// 3082
+o1 = {};
+// 3083
+f989148965_0.returns.push(o1);
+// 3084
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3085
+f989148965_487.returns.push(1373483125172);
+// 3086
+o1 = {};
+// 3087
+f989148965_0.returns.push(o1);
+// 3088
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3089
+f989148965_487.returns.push(1373483125172);
+// 3090
+o1 = {};
+// 3091
+f989148965_0.returns.push(o1);
+// 3092
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3093
+f989148965_487.returns.push(1373483125173);
+// 3094
+o1 = {};
+// 3095
+f989148965_0.returns.push(o1);
+// 3096
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3097
+f989148965_487.returns.push(1373483125173);
+// 3098
+o1 = {};
+// 3099
+f989148965_0.returns.push(o1);
+// 3100
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3101
+f989148965_487.returns.push(1373483125173);
+// 3102
+o1 = {};
+// 3103
+f989148965_0.returns.push(o1);
+// 3104
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3105
+f989148965_487.returns.push(1373483125173);
+// 3106
+o1 = {};
+// 3107
+f989148965_0.returns.push(o1);
+// 3108
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3109
+f989148965_487.returns.push(1373483125173);
+// 3110
+o1 = {};
+// 3111
+f989148965_0.returns.push(o1);
+// 3112
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3113
+f989148965_487.returns.push(1373483125174);
+// 3114
+o1 = {};
+// 3115
+f989148965_0.returns.push(o1);
+// 3116
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3117
+f989148965_487.returns.push(1373483125174);
+// 3118
+o1 = {};
+// 3119
+f989148965_0.returns.push(o1);
+// 3120
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3121
+f989148965_487.returns.push(1373483125174);
+// 3122
+o1 = {};
+// 3123
+f989148965_0.returns.push(o1);
+// 3124
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3125
+f989148965_487.returns.push(1373483125174);
+// 3126
+o1 = {};
+// 3127
+f989148965_0.returns.push(o1);
+// 3128
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3129
+f989148965_487.returns.push(1373483125175);
+// 3130
+o1 = {};
+// 3131
+f989148965_0.returns.push(o1);
+// 3132
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3133
+f989148965_487.returns.push(1373483125175);
+// 3134
+o1 = {};
+// 3135
+f989148965_0.returns.push(o1);
+// 3136
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3137
+f989148965_487.returns.push(1373483125176);
+// 3138
+o1 = {};
+// 3139
+f989148965_0.returns.push(o1);
+// 3140
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3141
+f989148965_487.returns.push(1373483125176);
+// 3142
+o1 = {};
+// 3143
+f989148965_0.returns.push(o1);
+// 3144
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3145
+f989148965_487.returns.push(1373483125176);
+// 3146
+o1 = {};
+// 3147
+f989148965_0.returns.push(o1);
+// 3148
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3149
+f989148965_487.returns.push(1373483125176);
+// 3150
+o1 = {};
+// 3151
+f989148965_0.returns.push(o1);
+// 3152
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3153
+f989148965_487.returns.push(1373483125177);
+// 3154
+o1 = {};
+// 3155
+f989148965_0.returns.push(o1);
+// 3156
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3157
+f989148965_487.returns.push(1373483125177);
+// 3158
+o1 = {};
+// 3159
+f989148965_0.returns.push(o1);
+// 3160
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3161
+f989148965_487.returns.push(1373483125177);
+// 3162
+o1 = {};
+// 3163
+f989148965_0.returns.push(o1);
+// 3164
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3165
+f989148965_487.returns.push(1373483125177);
+// 3166
+o1 = {};
+// 3167
+f989148965_0.returns.push(o1);
+// 3168
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3169
+f989148965_487.returns.push(1373483125178);
+// 3170
+o1 = {};
+// 3171
+f989148965_0.returns.push(o1);
+// 3172
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3173
+f989148965_487.returns.push(1373483125178);
+// 3174
+o1 = {};
+// 3175
+f989148965_0.returns.push(o1);
+// 3176
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3177
+f989148965_487.returns.push(1373483125186);
+// 3178
+o1 = {};
+// 3179
+f989148965_0.returns.push(o1);
+// 3180
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3181
+f989148965_487.returns.push(1373483125186);
+// 3182
+o1 = {};
+// 3183
+f989148965_0.returns.push(o1);
+// 3184
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3185
+f989148965_487.returns.push(1373483125187);
+// 3186
+o1 = {};
+// 3187
+f989148965_0.returns.push(o1);
+// 3188
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3189
+f989148965_487.returns.push(1373483125187);
+// 3190
+o1 = {};
+// 3191
+f989148965_0.returns.push(o1);
+// 3192
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3193
+f989148965_487.returns.push(1373483125187);
+// 3194
+o1 = {};
+// 3195
+f989148965_0.returns.push(o1);
+// 3196
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3197
+f989148965_487.returns.push(1373483125187);
+// 3198
+o1 = {};
+// 3199
+f989148965_0.returns.push(o1);
+// 3200
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3201
+f989148965_487.returns.push(1373483125189);
+// 3202
+o1 = {};
+// 3203
+f989148965_0.returns.push(o1);
+// 3204
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3205
+f989148965_487.returns.push(1373483125190);
+// 3206
+o1 = {};
+// 3207
+f989148965_0.returns.push(o1);
+// 3208
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3209
+f989148965_487.returns.push(1373483125190);
+// 3210
+o1 = {};
+// 3211
+f989148965_0.returns.push(o1);
+// 3212
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3213
+f989148965_487.returns.push(1373483125190);
+// 3214
+o1 = {};
+// 3215
+f989148965_0.returns.push(o1);
+// 3216
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3217
+f989148965_487.returns.push(1373483125191);
+// 3218
+o1 = {};
+// 3219
+f989148965_0.returns.push(o1);
+// 3220
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3221
+f989148965_487.returns.push(1373483125191);
+// 3222
+o1 = {};
+// 3223
+f989148965_0.returns.push(o1);
+// 3224
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3225
+f989148965_487.returns.push(1373483125191);
+// 3226
+o1 = {};
+// 3227
+f989148965_0.returns.push(o1);
+// 3228
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3229
+f989148965_487.returns.push(1373483125191);
+// 3230
+o1 = {};
+// 3231
+f989148965_0.returns.push(o1);
+// 3232
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3233
+f989148965_487.returns.push(1373483125193);
+// 3234
+o1 = {};
+// 3235
+f989148965_0.returns.push(o1);
+// 3236
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3237
+f989148965_487.returns.push(1373483125193);
+// 3238
+o1 = {};
+// 3239
+f989148965_0.returns.push(o1);
+// 3240
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3241
+f989148965_487.returns.push(1373483125193);
+// 3242
+o1 = {};
+// 3243
+f989148965_0.returns.push(o1);
+// 3244
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3245
+f989148965_487.returns.push(1373483125193);
+// 3246
+o1 = {};
+// 3247
+f989148965_0.returns.push(o1);
+// 3248
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3249
+f989148965_487.returns.push(1373483125194);
+// 3250
+o1 = {};
+// 3251
+f989148965_0.returns.push(o1);
+// 3252
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3253
+f989148965_487.returns.push(1373483125195);
+// 3254
+o1 = {};
+// 3255
+f989148965_0.returns.push(o1);
+// 3256
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3257
+f989148965_487.returns.push(1373483125195);
+// 3258
+o1 = {};
+// 3259
+f989148965_0.returns.push(o1);
+// 3260
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3261
+f989148965_487.returns.push(1373483125195);
+// 3262
+o1 = {};
+// 3263
+f989148965_0.returns.push(o1);
+// 3264
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3265
+f989148965_487.returns.push(1373483125196);
+// 3266
+o1 = {};
+// 3267
+f989148965_0.returns.push(o1);
+// 3268
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3269
+f989148965_487.returns.push(1373483125196);
+// 3270
+o1 = {};
+// 3271
+f989148965_0.returns.push(o1);
+// 3272
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3273
+f989148965_487.returns.push(1373483125196);
+// 3274
+o1 = {};
+// 3275
+f989148965_0.returns.push(o1);
+// 3276
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3277
+f989148965_487.returns.push(1373483125196);
+// 3278
+o1 = {};
+// 3279
+f989148965_0.returns.push(o1);
+// 3280
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3281
+f989148965_487.returns.push(1373483125196);
+// 3282
+o1 = {};
+// 3283
+f989148965_0.returns.push(o1);
+// 3284
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3285
+f989148965_487.returns.push(1373483125202);
+// 3286
+o1 = {};
+// 3287
+f989148965_0.returns.push(o1);
+// 3288
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3289
+f989148965_487.returns.push(1373483125202);
+// 3290
+o1 = {};
+// 3291
+f989148965_0.returns.push(o1);
+// 3292
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3293
+f989148965_487.returns.push(1373483125202);
+// 3294
+o1 = {};
+// 3295
+f989148965_0.returns.push(o1);
+// 3296
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3297
+f989148965_487.returns.push(1373483125203);
+// 3298
+o1 = {};
+// 3299
+f989148965_0.returns.push(o1);
+// 3300
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3301
+f989148965_487.returns.push(1373483125203);
+// 3302
+o1 = {};
+// 3303
+f989148965_0.returns.push(o1);
+// 3304
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3305
+f989148965_487.returns.push(1373483125203);
+// 3306
+o1 = {};
+// 3307
+f989148965_0.returns.push(o1);
+// 3308
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3309
+f989148965_487.returns.push(1373483125203);
+// 3310
+o1 = {};
+// 3311
+f989148965_0.returns.push(o1);
+// 3312
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3313
+f989148965_487.returns.push(1373483125203);
+// 3314
+o1 = {};
+// 3315
+f989148965_0.returns.push(o1);
+// 3316
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3317
+f989148965_487.returns.push(1373483125205);
+// 3318
+o1 = {};
+// 3319
+f989148965_0.returns.push(o1);
+// 3320
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3321
+f989148965_487.returns.push(1373483125205);
+// 3322
+o1 = {};
+// 3323
+f989148965_0.returns.push(o1);
+// 3324
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3325
+f989148965_487.returns.push(1373483125205);
+// 3326
+o1 = {};
+// 3327
+f989148965_0.returns.push(o1);
+// 3328
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3329
+f989148965_487.returns.push(1373483125206);
+// 3330
+o1 = {};
+// 3331
+f989148965_0.returns.push(o1);
+// 3332
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3333
+f989148965_487.returns.push(1373483125206);
+// 3334
+o1 = {};
+// 3335
+f989148965_0.returns.push(o1);
+// 3336
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3337
+f989148965_487.returns.push(1373483125206);
+// 3338
+o1 = {};
+// 3339
+f989148965_0.returns.push(o1);
+// 3340
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3341
+f989148965_487.returns.push(1373483125208);
+// 3342
+o1 = {};
+// 3343
+f989148965_0.returns.push(o1);
+// 3344
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3345
+f989148965_487.returns.push(1373483125208);
+// 3346
+o1 = {};
+// 3347
+f989148965_0.returns.push(o1);
+// 3348
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3349
+f989148965_487.returns.push(1373483125209);
+// 3350
+o1 = {};
+// 3351
+f989148965_0.returns.push(o1);
+// 3352
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3353
+f989148965_487.returns.push(1373483125209);
+// 3354
+o1 = {};
+// 3355
+f989148965_0.returns.push(o1);
+// 3356
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3357
+f989148965_487.returns.push(1373483125209);
+// 3358
+o1 = {};
+// 3359
+f989148965_0.returns.push(o1);
+// 3360
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3361
+f989148965_487.returns.push(1373483125210);
+// 3362
+o1 = {};
+// 3363
+f989148965_0.returns.push(o1);
+// 3364
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3365
+f989148965_487.returns.push(1373483125210);
+// 3366
+o1 = {};
+// 3367
+f989148965_0.returns.push(o1);
+// 3368
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3369
+f989148965_487.returns.push(1373483125210);
+// 3370
+o1 = {};
+// 3371
+f989148965_0.returns.push(o1);
+// 3372
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3373
+f989148965_487.returns.push(1373483125212);
+// 3374
+o1 = {};
+// 3375
+f989148965_0.returns.push(o1);
+// 3376
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3377
+f989148965_487.returns.push(1373483125212);
+// 3378
+o1 = {};
+// 3379
+f989148965_0.returns.push(o1);
+// 3380
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3381
+f989148965_487.returns.push(1373483125212);
+// 3382
+o1 = {};
+// 3383
+f989148965_0.returns.push(o1);
+// 3384
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3385
+f989148965_487.returns.push(1373483125214);
+// 3386
+o1 = {};
+// 3387
+f989148965_0.returns.push(o1);
+// 3388
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3389
+f989148965_487.returns.push(1373483125214);
+// 3390
+o1 = {};
+// 3391
+f989148965_0.returns.push(o1);
+// 3392
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3393
+f989148965_487.returns.push(1373483125222);
+// 3394
+o1 = {};
+// 3395
+f989148965_0.returns.push(o1);
+// 3396
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3397
+f989148965_487.returns.push(1373483125222);
+// 3398
+o1 = {};
+// 3399
+f989148965_0.returns.push(o1);
+// 3400
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3401
+f989148965_487.returns.push(1373483125222);
+// 3402
+o1 = {};
+// 3403
+f989148965_0.returns.push(o1);
+// 3404
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3405
+f989148965_487.returns.push(1373483125223);
+// 3406
+o1 = {};
+// 3407
+f989148965_0.returns.push(o1);
+// 3408
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3409
+f989148965_487.returns.push(1373483125223);
+// 3410
+o1 = {};
+// 3411
+f989148965_0.returns.push(o1);
+// 3412
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3413
+f989148965_487.returns.push(1373483125223);
+// 3414
+o1 = {};
+// 3415
+f989148965_0.returns.push(o1);
+// 3416
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3417
+f989148965_487.returns.push(1373483125223);
+// 3418
+o1 = {};
+// 3419
+f989148965_0.returns.push(o1);
+// 3420
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3421
+f989148965_487.returns.push(1373483125223);
+// 3422
+o1 = {};
+// 3423
+f989148965_0.returns.push(o1);
+// 3424
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3425
+f989148965_487.returns.push(1373483125224);
+// 3426
+o1 = {};
+// 3427
+f989148965_0.returns.push(o1);
+// 3428
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3429
+f989148965_487.returns.push(1373483125224);
+// 3430
+o1 = {};
+// 3431
+f989148965_0.returns.push(o1);
+// 3432
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3433
+f989148965_487.returns.push(1373483125224);
+// 3434
+o1 = {};
+// 3435
+f989148965_0.returns.push(o1);
+// 3436
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3437
+f989148965_487.returns.push(1373483125225);
+// 3438
+o1 = {};
+// 3439
+f989148965_0.returns.push(o1);
+// 3440
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3441
+f989148965_487.returns.push(1373483125225);
+// 3442
+o1 = {};
+// 3443
+f989148965_0.returns.push(o1);
+// 3444
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3445
+f989148965_487.returns.push(1373483125225);
+// 3446
+o1 = {};
+// 3447
+f989148965_0.returns.push(o1);
+// 3448
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3449
+f989148965_487.returns.push(1373483125225);
+// 3450
+o1 = {};
+// 3451
+f989148965_0.returns.push(o1);
+// 3452
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3453
+f989148965_487.returns.push(1373483125226);
+// 3454
+o1 = {};
+// 3455
+f989148965_0.returns.push(o1);
+// 3456
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3457
+f989148965_487.returns.push(1373483125227);
+// 3458
+o1 = {};
+// 3459
+f989148965_0.returns.push(o1);
+// 3460
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3461
+f989148965_487.returns.push(1373483125227);
+// 3462
+o1 = {};
+// 3463
+f989148965_0.returns.push(o1);
+// 3464
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3465
+f989148965_487.returns.push(1373483125227);
+// 3466
+o1 = {};
+// 3467
+f989148965_0.returns.push(o1);
+// 3468
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3469
+f989148965_487.returns.push(1373483125227);
+// 3470
+o1 = {};
+// 3471
+f989148965_0.returns.push(o1);
+// 3472
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3473
+f989148965_487.returns.push(1373483125228);
+// 3474
+o1 = {};
+// 3475
+f989148965_0.returns.push(o1);
+// 3476
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3477
+f989148965_487.returns.push(1373483125228);
+// 3478
+o1 = {};
+// 3479
+f989148965_0.returns.push(o1);
+// 3480
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3481
+f989148965_487.returns.push(1373483125229);
+// 3482
+o1 = {};
+// 3483
+f989148965_0.returns.push(o1);
+// 3484
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3485
+f989148965_487.returns.push(1373483125229);
+// 3486
+o1 = {};
+// 3487
+f989148965_0.returns.push(o1);
+// 3488
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3489
+f989148965_487.returns.push(1373483125229);
+// 3490
+o1 = {};
+// 3491
+f989148965_0.returns.push(o1);
+// 3492
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3493
+f989148965_487.returns.push(1373483125229);
+// 3494
+o1 = {};
+// 3495
+f989148965_0.returns.push(o1);
+// 3496
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3497
+f989148965_487.returns.push(1373483125230);
+// 3498
+o1 = {};
+// 3499
+f989148965_0.returns.push(o1);
+// 3500
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3501
+f989148965_487.returns.push(1373483125233);
+// 3502
+o1 = {};
+// 3503
+f989148965_0.returns.push(o1);
+// 3504
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3505
+f989148965_487.returns.push(1373483125233);
+// 3506
+o1 = {};
+// 3507
+f989148965_0.returns.push(o1);
+// 3508
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3509
+f989148965_487.returns.push(1373483125234);
+// 3510
+o1 = {};
+// 3511
+f989148965_0.returns.push(o1);
+// 3512
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3513
+f989148965_487.returns.push(1373483125234);
+// 3514
+o1 = {};
+// 3515
+f989148965_0.returns.push(o1);
+// 3516
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3517
+f989148965_487.returns.push(1373483125235);
+// 3518
+o1 = {};
+// 3519
+f989148965_0.returns.push(o1);
+// 3520
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3521
+f989148965_487.returns.push(1373483125235);
+// 3522
+o1 = {};
+// 3523
+f989148965_0.returns.push(o1);
+// 3524
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3525
+f989148965_487.returns.push(1373483125235);
+// 3526
+o1 = {};
+// 3527
+f989148965_0.returns.push(o1);
+// 3528
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3529
+f989148965_487.returns.push(1373483125235);
+// 3530
+o1 = {};
+// 3531
+f989148965_0.returns.push(o1);
+// 3532
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3533
+f989148965_487.returns.push(1373483125235);
+// 3534
+o1 = {};
+// 3535
+f989148965_0.returns.push(o1);
+// 3536
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3537
+f989148965_487.returns.push(1373483125235);
+// 3538
+o1 = {};
+// 3539
+f989148965_0.returns.push(o1);
+// 3540
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3541
+f989148965_487.returns.push(1373483125236);
+// 3542
+o1 = {};
+// 3543
+f989148965_0.returns.push(o1);
+// 3544
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3545
+f989148965_487.returns.push(1373483125236);
+// 3546
+o1 = {};
+// 3547
+f989148965_0.returns.push(o1);
+// 3548
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3549
+f989148965_487.returns.push(1373483125236);
+// 3550
+o1 = {};
+// 3551
+f989148965_0.returns.push(o1);
+// 3552
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3553
+f989148965_487.returns.push(1373483125237);
+// 3554
+o1 = {};
+// 3555
+f989148965_0.returns.push(o1);
+// 3556
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3557
+f989148965_487.returns.push(1373483125237);
+// 3558
+o1 = {};
+// 3559
+f989148965_0.returns.push(o1);
+// 3560
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3561
+f989148965_487.returns.push(1373483125237);
+// 3562
+o1 = {};
+// 3563
+f989148965_0.returns.push(o1);
+// 3564
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3565
+f989148965_487.returns.push(1373483125237);
+// 3566
+o1 = {};
+// 3567
+f989148965_0.returns.push(o1);
+// 3568
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3569
+f989148965_487.returns.push(1373483125237);
+// 3570
+o1 = {};
+// 3571
+f989148965_0.returns.push(o1);
+// 3572
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3573
+f989148965_487.returns.push(1373483125238);
+// 3574
+o1 = {};
+// 3575
+f989148965_0.returns.push(o1);
+// 3576
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3577
+f989148965_487.returns.push(1373483125238);
+// 3578
+o1 = {};
+// 3579
+f989148965_0.returns.push(o1);
+// 3580
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3581
+f989148965_487.returns.push(1373483125238);
+// 3582
+o1 = {};
+// 3583
+f989148965_0.returns.push(o1);
+// 3584
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3585
+f989148965_487.returns.push(1373483125239);
+// 3586
+o1 = {};
+// 3587
+f989148965_0.returns.push(o1);
+// 3588
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3589
+f989148965_487.returns.push(1373483125239);
+// 3590
+o1 = {};
+// 3591
+f989148965_0.returns.push(o1);
+// 3592
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3593
+f989148965_487.returns.push(1373483125239);
+// 3594
+o1 = {};
+// 3595
+f989148965_0.returns.push(o1);
+// 3596
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3597
+f989148965_487.returns.push(1373483125240);
+// 3598
+o1 = {};
+// 3599
+f989148965_0.returns.push(o1);
+// 3600
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3601
+f989148965_487.returns.push(1373483125240);
+// 3602
+o1 = {};
+// 3603
+f989148965_0.returns.push(o1);
+// 3604
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3605
+f989148965_487.returns.push(1373483125246);
+// 3606
+o1 = {};
+// 3607
+f989148965_0.returns.push(o1);
+// 3608
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3609
+f989148965_487.returns.push(1373483125246);
+// 3610
+o1 = {};
+// 3611
+f989148965_0.returns.push(o1);
+// 3612
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3613
+f989148965_487.returns.push(1373483125247);
+// 3614
+o1 = {};
+// 3615
+f989148965_0.returns.push(o1);
+// 3616
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3617
+f989148965_487.returns.push(1373483125247);
+// 3618
+o1 = {};
+// 3619
+f989148965_0.returns.push(o1);
+// 3620
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3621
+f989148965_487.returns.push(1373483125247);
+// 3622
+o1 = {};
+// 3623
+f989148965_0.returns.push(o1);
+// 3624
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3625
+f989148965_487.returns.push(1373483125247);
+// 3626
+o1 = {};
+// 3627
+f989148965_0.returns.push(o1);
+// 3628
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3629
+f989148965_487.returns.push(1373483125247);
+// 3630
+o1 = {};
+// 3631
+f989148965_0.returns.push(o1);
+// 3632
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3633
+f989148965_487.returns.push(1373483125248);
+// 3634
+o1 = {};
+// 3635
+f989148965_0.returns.push(o1);
+// 3636
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3637
+f989148965_487.returns.push(1373483125248);
+// 3638
+o1 = {};
+// 3639
+f989148965_0.returns.push(o1);
+// 3640
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3641
+f989148965_487.returns.push(1373483125249);
+// 3642
+o1 = {};
+// 3643
+f989148965_0.returns.push(o1);
+// 3644
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3645
+f989148965_487.returns.push(1373483125249);
+// 3646
+o1 = {};
+// 3647
+f989148965_0.returns.push(o1);
+// 3648
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3649
+f989148965_487.returns.push(1373483125249);
+// 3650
+o1 = {};
+// 3651
+f989148965_0.returns.push(o1);
+// 3652
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3653
+f989148965_487.returns.push(1373483125250);
+// 3654
+o1 = {};
+// 3655
+f989148965_0.returns.push(o1);
+// 3656
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3657
+f989148965_487.returns.push(1373483125250);
+// 3658
+o1 = {};
+// 3659
+f989148965_0.returns.push(o1);
+// 3660
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3661
+f989148965_487.returns.push(1373483125260);
+// 3662
+o1 = {};
+// 3663
+f989148965_0.returns.push(o1);
+// 3664
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3665
+f989148965_487.returns.push(1373483125260);
+// 3666
+o1 = {};
+// 3667
+f989148965_0.returns.push(o1);
+// 3668
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3669
+f989148965_487.returns.push(1373483125261);
+// 3670
+o1 = {};
+// 3671
+f989148965_0.returns.push(o1);
+// 3672
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3673
+f989148965_487.returns.push(1373483125261);
+// 3674
+o1 = {};
+// 3675
+f989148965_0.returns.push(o1);
+// 3676
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3677
+f989148965_487.returns.push(1373483125261);
+// 3678
+o1 = {};
+// 3679
+f989148965_0.returns.push(o1);
+// 3680
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3681
+f989148965_487.returns.push(1373483125261);
+// 3682
+o1 = {};
+// 3683
+f989148965_0.returns.push(o1);
+// 3684
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3685
+f989148965_487.returns.push(1373483125261);
+// 3686
+o1 = {};
+// 3687
+f989148965_0.returns.push(o1);
+// 3688
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3689
+f989148965_487.returns.push(1373483125261);
+// 3690
+o1 = {};
+// 3691
+f989148965_0.returns.push(o1);
+// 3692
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3693
+f989148965_487.returns.push(1373483125262);
+// 3694
+o1 = {};
+// 3695
+f989148965_0.returns.push(o1);
+// 3696
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3697
+f989148965_487.returns.push(1373483125262);
+// 3698
+o1 = {};
+// 3699
+f989148965_0.returns.push(o1);
+// 3700
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3701
+f989148965_487.returns.push(1373483125262);
+// 3702
+o1 = {};
+// 3703
+f989148965_0.returns.push(o1);
+// 3704
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3705
+f989148965_487.returns.push(1373483125262);
+// 3706
+o1 = {};
+// 3707
+f989148965_0.returns.push(o1);
+// 3708
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3709
+f989148965_487.returns.push(1373483125263);
+// 3710
+o1 = {};
+// 3711
+f989148965_0.returns.push(o1);
+// 3712
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3713
+f989148965_487.returns.push(1373483125267);
+// 3714
+o1 = {};
+// 3715
+f989148965_0.returns.push(o1);
+// 3716
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3717
+f989148965_487.returns.push(1373483125267);
+// 3718
+o1 = {};
+// 3719
+f989148965_0.returns.push(o1);
+// 3720
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3721
+f989148965_487.returns.push(1373483125268);
+// 3722
+o1 = {};
+// 3723
+f989148965_0.returns.push(o1);
+// 3724
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3725
+f989148965_487.returns.push(1373483125268);
+// 3726
+o1 = {};
+// 3727
+f989148965_0.returns.push(o1);
+// 3728
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3729
+f989148965_487.returns.push(1373483125268);
+// 3730
+o1 = {};
+// 3731
+f989148965_0.returns.push(o1);
+// 3732
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3733
+f989148965_487.returns.push(1373483125268);
+// 3734
+o1 = {};
+// 3735
+f989148965_0.returns.push(o1);
+// 3736
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3737
+f989148965_487.returns.push(1373483125268);
+// 3738
+o1 = {};
+// 3739
+f989148965_0.returns.push(o1);
+// 3740
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3741
+f989148965_487.returns.push(1373483125269);
+// 3742
+o1 = {};
+// 3743
+f989148965_0.returns.push(o1);
+// 3744
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3745
+f989148965_487.returns.push(1373483125269);
+// 3746
+o1 = {};
+// 3747
+f989148965_0.returns.push(o1);
+// 3748
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3749
+f989148965_487.returns.push(1373483125270);
+// 3750
+o1 = {};
+// 3751
+f989148965_0.returns.push(o1);
+// 3752
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3753
+f989148965_487.returns.push(1373483125270);
+// 3754
+o1 = {};
+// 3755
+f989148965_0.returns.push(o1);
+// 3756
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3757
+f989148965_487.returns.push(1373483125271);
+// 3758
+o1 = {};
+// 3759
+f989148965_0.returns.push(o1);
+// 3760
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3761
+f989148965_487.returns.push(1373483125271);
+// 3762
+o1 = {};
+// 3763
+f989148965_0.returns.push(o1);
+// 3764
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3765
+f989148965_487.returns.push(1373483125271);
+// 3766
+o1 = {};
+// 3767
+f989148965_0.returns.push(o1);
+// 3768
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3769
+f989148965_487.returns.push(1373483125272);
+// 3770
+o1 = {};
+// 3771
+f989148965_0.returns.push(o1);
+// 3772
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3773
+f989148965_487.returns.push(1373483125272);
+// 3774
+o1 = {};
+// 3775
+f989148965_0.returns.push(o1);
+// 3776
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3777
+f989148965_487.returns.push(1373483125272);
+// 3778
+o1 = {};
+// 3779
+f989148965_0.returns.push(o1);
+// 3780
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3781
+f989148965_487.returns.push(1373483125272);
+// 3782
+o1 = {};
+// 3783
+f989148965_0.returns.push(o1);
+// 3784
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3785
+f989148965_487.returns.push(1373483125273);
+// 3786
+o1 = {};
+// 3787
+f989148965_0.returns.push(o1);
+// 3788
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3789
+f989148965_487.returns.push(1373483125274);
+// 3790
+o1 = {};
+// 3791
+f989148965_0.returns.push(o1);
+// 3792
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3793
+f989148965_487.returns.push(1373483125274);
+// 3794
+o1 = {};
+// 3795
+f989148965_0.returns.push(o1);
+// 3796
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3797
+f989148965_487.returns.push(1373483125274);
+// 3798
+o1 = {};
+// 3799
+f989148965_0.returns.push(o1);
+// 3800
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3801
+f989148965_487.returns.push(1373483125275);
+// 3802
+o1 = {};
+// 3803
+f989148965_0.returns.push(o1);
+// 3804
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3805
+f989148965_487.returns.push(1373483125276);
+// 3806
+o1 = {};
+// 3807
+f989148965_0.returns.push(o1);
+// 3808
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3809
+f989148965_487.returns.push(1373483125276);
+// 3810
+o1 = {};
+// 3811
+f989148965_0.returns.push(o1);
+// 3812
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3813
+f989148965_487.returns.push(1373483125276);
+// 3814
+o1 = {};
+// 3815
+f989148965_0.returns.push(o1);
+// 3816
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3817
+f989148965_487.returns.push(1373483125281);
+// 3818
+o1 = {};
+// 3819
+f989148965_0.returns.push(o1);
+// 3820
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3821
+f989148965_487.returns.push(1373483125282);
+// 3822
+o1 = {};
+// 3823
+f989148965_0.returns.push(o1);
+// 3824
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3825
+f989148965_487.returns.push(1373483125282);
+// 3826
+o1 = {};
+// 3827
+f989148965_0.returns.push(o1);
+// 3828
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3829
+f989148965_487.returns.push(1373483125282);
+// 3830
+o1 = {};
+// 3831
+f989148965_0.returns.push(o1);
+// 3832
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3833
+f989148965_487.returns.push(1373483125282);
+// 3834
+o1 = {};
+// 3835
+f989148965_0.returns.push(o1);
+// 3836
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3837
+f989148965_487.returns.push(1373483125283);
+// 3838
+o1 = {};
+// 3839
+f989148965_0.returns.push(o1);
+// 3840
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3841
+f989148965_487.returns.push(1373483125283);
+// 3842
+o1 = {};
+// 3843
+f989148965_0.returns.push(o1);
+// 3844
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3845
+f989148965_487.returns.push(1373483125284);
+// 3846
+o1 = {};
+// 3847
+f989148965_0.returns.push(o1);
+// 3848
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3849
+f989148965_487.returns.push(1373483125284);
+// 3850
+o1 = {};
+// 3851
+f989148965_0.returns.push(o1);
+// 3852
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3853
+f989148965_487.returns.push(1373483125284);
+// 3854
+o1 = {};
+// 3855
+f989148965_0.returns.push(o1);
+// 3856
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3857
+f989148965_487.returns.push(1373483125285);
+// 3858
+o1 = {};
+// 3859
+f989148965_0.returns.push(o1);
+// 3860
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3861
+f989148965_487.returns.push(1373483125285);
+// 3862
+o1 = {};
+// 3863
+f989148965_0.returns.push(o1);
+// 3864
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3865
+f989148965_487.returns.push(1373483125286);
+// 3866
+o1 = {};
+// 3867
+f989148965_0.returns.push(o1);
+// 3868
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3869
+f989148965_487.returns.push(1373483125287);
+// 3870
+o1 = {};
+// 3871
+f989148965_0.returns.push(o1);
+// 3872
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3873
+f989148965_487.returns.push(1373483125287);
+// 3874
+o1 = {};
+// 3875
+f989148965_0.returns.push(o1);
+// 3876
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3877
+f989148965_487.returns.push(1373483125287);
+// 3878
+o1 = {};
+// 3879
+f989148965_0.returns.push(o1);
+// 3880
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3881
+f989148965_487.returns.push(1373483125287);
+// 3882
+o1 = {};
+// 3883
+f989148965_0.returns.push(o1);
+// 3884
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3885
+f989148965_487.returns.push(1373483125287);
+// 3886
+o1 = {};
+// 3887
+f989148965_0.returns.push(o1);
+// 3888
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3889
+f989148965_487.returns.push(1373483125287);
+// 3890
+o1 = {};
+// 3891
+f989148965_0.returns.push(o1);
+// 3892
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3893
+f989148965_487.returns.push(1373483125288);
+// 3894
+o1 = {};
+// 3895
+f989148965_0.returns.push(o1);
+// 3896
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3897
+f989148965_487.returns.push(1373483125288);
+// 3898
+o1 = {};
+// 3899
+f989148965_0.returns.push(o1);
+// 3900
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3901
+f989148965_487.returns.push(1373483125288);
+// 3902
+o1 = {};
+// 3903
+f989148965_0.returns.push(o1);
+// 3904
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3905
+f989148965_487.returns.push(1373483125289);
+// 3906
+o1 = {};
+// 3907
+f989148965_0.returns.push(o1);
+// 3908
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3909
+f989148965_487.returns.push(1373483125289);
+// 3910
+o1 = {};
+// 3911
+f989148965_0.returns.push(o1);
+// 3912
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3913
+f989148965_487.returns.push(1373483125289);
+// 3914
+o1 = {};
+// 3915
+f989148965_0.returns.push(o1);
+// 3916
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3917
+f989148965_487.returns.push(1373483125289);
+// 3918
+o1 = {};
+// 3919
+f989148965_0.returns.push(o1);
+// 3920
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3921
+f989148965_487.returns.push(1373483125289);
+// 3922
+o1 = {};
+// 3923
+f989148965_0.returns.push(o1);
+// 3924
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3925
+f989148965_487.returns.push(1373483125293);
+// 3926
+o1 = {};
+// 3927
+f989148965_0.returns.push(o1);
+// 3928
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3929
+f989148965_487.returns.push(1373483125293);
+// 3930
+o1 = {};
+// 3931
+f989148965_0.returns.push(o1);
+// 3932
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3933
+f989148965_487.returns.push(1373483125293);
+// 3934
+o1 = {};
+// 3935
+f989148965_0.returns.push(o1);
+// 3936
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3937
+f989148965_487.returns.push(1373483125294);
+// 3938
+o1 = {};
+// 3939
+f989148965_0.returns.push(o1);
+// 3940
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3941
+f989148965_487.returns.push(1373483125294);
+// 3942
+o1 = {};
+// 3943
+f989148965_0.returns.push(o1);
+// 3944
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3945
+f989148965_487.returns.push(1373483125295);
+// 3946
+o1 = {};
+// 3947
+f989148965_0.returns.push(o1);
+// 3948
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3949
+f989148965_487.returns.push(1373483125295);
+// 3950
+o1 = {};
+// 3951
+f989148965_0.returns.push(o1);
+// 3952
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3953
+f989148965_487.returns.push(1373483125295);
+// 3954
+o1 = {};
+// 3955
+f989148965_0.returns.push(o1);
+// 3956
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3957
+f989148965_487.returns.push(1373483125295);
+// 3958
+o1 = {};
+// 3959
+f989148965_0.returns.push(o1);
+// 3960
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3961
+f989148965_487.returns.push(1373483125295);
+// 3962
+o1 = {};
+// 3963
+f989148965_0.returns.push(o1);
+// 3964
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3965
+f989148965_487.returns.push(1373483125295);
+// 3966
+o1 = {};
+// 3967
+f989148965_0.returns.push(o1);
+// 3968
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3969
+f989148965_487.returns.push(1373483125296);
+// 3970
+o1 = {};
+// 3971
+f989148965_0.returns.push(o1);
+// 3972
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3973
+f989148965_487.returns.push(1373483125296);
+// 3974
+o1 = {};
+// 3975
+f989148965_0.returns.push(o1);
+// 3976
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3977
+f989148965_487.returns.push(1373483125296);
+// 3978
+o1 = {};
+// 3979
+f989148965_0.returns.push(o1);
+// 3980
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3981
+f989148965_487.returns.push(1373483125297);
+// 3982
+o1 = {};
+// 3983
+f989148965_0.returns.push(o1);
+// 3984
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3985
+f989148965_487.returns.push(1373483125297);
+// 3986
+o1 = {};
+// 3987
+f989148965_0.returns.push(o1);
+// 3988
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3989
+f989148965_487.returns.push(1373483125297);
+// 3990
+o1 = {};
+// 3991
+f989148965_0.returns.push(o1);
+// 3992
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3993
+f989148965_487.returns.push(1373483125298);
+// 3994
+o1 = {};
+// 3995
+f989148965_0.returns.push(o1);
+// 3996
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 3997
+f989148965_487.returns.push(1373483125298);
+// 3998
+o1 = {};
+// 3999
+f989148965_0.returns.push(o1);
+// 4000
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4001
+f989148965_487.returns.push(1373483125298);
+// 4002
+o1 = {};
+// 4003
+f989148965_0.returns.push(o1);
+// 4004
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4005
+f989148965_487.returns.push(1373483125299);
+// 4006
+o1 = {};
+// 4007
+f989148965_0.returns.push(o1);
+// 4008
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4009
+f989148965_487.returns.push(1373483125299);
+// 4010
+o1 = {};
+// 4011
+f989148965_0.returns.push(o1);
+// 4012
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4013
+f989148965_487.returns.push(1373483125299);
+// 4014
+o1 = {};
+// 4015
+f989148965_0.returns.push(o1);
+// 4016
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4017
+f989148965_487.returns.push(1373483125299);
+// 4018
+o1 = {};
+// 4019
+f989148965_0.returns.push(o1);
+// 4020
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4021
+f989148965_487.returns.push(1373483125299);
+// 4022
+o1 = {};
+// 4023
+f989148965_0.returns.push(o1);
+// 4024
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4025
+f989148965_487.returns.push(1373483125299);
+// 4026
+o1 = {};
+// 4027
+f989148965_0.returns.push(o1);
+// 4028
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4029
+f989148965_487.returns.push(1373483125305);
+// 4030
+o1 = {};
+// 4031
+f989148965_0.returns.push(o1);
+// 4032
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4033
+f989148965_487.returns.push(1373483125306);
+// 4034
+o1 = {};
+// 4035
+f989148965_0.returns.push(o1);
+// 4036
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4037
+f989148965_487.returns.push(1373483125306);
+// 4038
+o1 = {};
+// 4039
+f989148965_0.returns.push(o1);
+// 4040
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4041
+f989148965_487.returns.push(1373483125307);
+// 4042
+o1 = {};
+// 4043
+f989148965_0.returns.push(o1);
+// 4044
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4045
+f989148965_487.returns.push(1373483125307);
+// 4046
+o1 = {};
+// 4047
+f989148965_0.returns.push(o1);
+// 4048
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4049
+f989148965_487.returns.push(1373483125307);
+// 4050
+o1 = {};
+// 4051
+f989148965_0.returns.push(o1);
+// 4052
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4053
+f989148965_487.returns.push(1373483125308);
+// 4054
+o1 = {};
+// 4055
+f989148965_0.returns.push(o1);
+// 4056
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4057
+f989148965_487.returns.push(1373483125308);
+// 4058
+o1 = {};
+// 4059
+f989148965_0.returns.push(o1);
+// 4060
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4061
+f989148965_487.returns.push(1373483125309);
+// 4062
+o1 = {};
+// 4063
+f989148965_0.returns.push(o1);
+// 4064
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4065
+f989148965_487.returns.push(1373483125309);
+// 4066
+o1 = {};
+// 4067
+f989148965_0.returns.push(o1);
+// 4068
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4069
+f989148965_487.returns.push(1373483125309);
+// 4070
+o1 = {};
+// 4071
+f989148965_0.returns.push(o1);
+// 4072
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4073
+f989148965_487.returns.push(1373483125310);
+// 4074
+o1 = {};
+// 4075
+f989148965_0.returns.push(o1);
+// 4076
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4077
+f989148965_487.returns.push(1373483125310);
+// 4078
+o1 = {};
+// 4079
+f989148965_0.returns.push(o1);
+// 4080
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4081
+f989148965_487.returns.push(1373483125311);
+// 4082
+o1 = {};
+// 4083
+f989148965_0.returns.push(o1);
+// 4084
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4085
+f989148965_487.returns.push(1373483125311);
+// 4086
+o1 = {};
+// 4087
+f989148965_0.returns.push(o1);
+// 4088
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4089
+f989148965_487.returns.push(1373483125311);
+// 4090
+o1 = {};
+// 4091
+f989148965_0.returns.push(o1);
+// 4092
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4093
+f989148965_487.returns.push(1373483125312);
+// 4094
+o1 = {};
+// 4095
+f989148965_0.returns.push(o1);
+// 4096
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4097
+f989148965_487.returns.push(1373483125312);
+// 4098
+o1 = {};
+// 4099
+f989148965_0.returns.push(o1);
+// 4100
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4101
+f989148965_487.returns.push(1373483125312);
+// 4102
+o1 = {};
+// 4103
+f989148965_0.returns.push(o1);
+// 4104
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4105
+f989148965_487.returns.push(1373483125312);
+// 4106
+o1 = {};
+// 4107
+f989148965_0.returns.push(o1);
+// 4108
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4109
+f989148965_487.returns.push(1373483125312);
+// 4110
+o1 = {};
+// 4111
+f989148965_0.returns.push(o1);
+// 4112
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4113
+f989148965_487.returns.push(1373483125313);
+// 4114
+o1 = {};
+// 4115
+f989148965_0.returns.push(o1);
+// 4116
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4117
+f989148965_487.returns.push(1373483125313);
+// 4118
+o1 = {};
+// 4119
+f989148965_0.returns.push(o1);
+// 4120
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4121
+f989148965_487.returns.push(1373483125313);
+// 4122
+o1 = {};
+// 4123
+f989148965_0.returns.push(o1);
+// 4124
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4125
+f989148965_487.returns.push(1373483125314);
+// 4126
+o1 = {};
+// 4127
+f989148965_0.returns.push(o1);
+// 4128
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4129
+f989148965_487.returns.push(1373483125314);
+// 4130
+o1 = {};
+// 4131
+f989148965_0.returns.push(o1);
+// 4132
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4133
+f989148965_487.returns.push(1373483125315);
+// 4134
+o1 = {};
+// 4135
+f989148965_0.returns.push(o1);
+// 4136
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4137
+f989148965_487.returns.push(1373483125322);
+// 4138
+o1 = {};
+// 4139
+f989148965_0.returns.push(o1);
+// 4140
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4141
+f989148965_487.returns.push(1373483125322);
+// 4142
+o1 = {};
+// 4143
+f989148965_0.returns.push(o1);
+// 4144
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4145
+f989148965_487.returns.push(1373483125322);
+// 4146
+o1 = {};
+// 4147
+f989148965_0.returns.push(o1);
+// 4148
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4149
+f989148965_487.returns.push(1373483125322);
+// 4150
+o1 = {};
+// 4151
+f989148965_0.returns.push(o1);
+// 4152
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4153
+f989148965_487.returns.push(1373483125323);
+// 4154
+o1 = {};
+// 4155
+f989148965_0.returns.push(o1);
+// 4156
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4157
+f989148965_487.returns.push(1373483125323);
+// 4158
+o1 = {};
+// 4159
+f989148965_0.returns.push(o1);
+// 4160
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4161
+f989148965_487.returns.push(1373483125323);
+// 4162
+o1 = {};
+// 4163
+f989148965_0.returns.push(o1);
+// 4164
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4165
+f989148965_487.returns.push(1373483125323);
+// 4166
+o1 = {};
+// 4167
+f989148965_0.returns.push(o1);
+// 4168
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4169
+f989148965_487.returns.push(1373483125324);
+// 4170
+o1 = {};
+// 4171
+f989148965_0.returns.push(o1);
+// 4172
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4173
+f989148965_487.returns.push(1373483125324);
+// 4174
+o1 = {};
+// 4175
+f989148965_0.returns.push(o1);
+// 4176
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4177
+f989148965_487.returns.push(1373483125324);
+// 4178
+o1 = {};
+// 4179
+f989148965_0.returns.push(o1);
+// 4180
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4181
+f989148965_487.returns.push(1373483125324);
+// 4182
+o1 = {};
+// 4183
+f989148965_0.returns.push(o1);
+// 4184
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4185
+f989148965_487.returns.push(1373483125325);
+// 4186
+o1 = {};
+// 4187
+f989148965_0.returns.push(o1);
+// 4188
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4189
+f989148965_487.returns.push(1373483125325);
+// 4190
+o1 = {};
+// 4191
+f989148965_0.returns.push(o1);
+// 4192
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4193
+f989148965_487.returns.push(1373483125325);
+// 4194
+o1 = {};
+// 4195
+f989148965_0.returns.push(o1);
+// 4196
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4197
+f989148965_487.returns.push(1373483125325);
+// 4198
+o1 = {};
+// 4199
+f989148965_0.returns.push(o1);
+// 4200
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4201
+f989148965_487.returns.push(1373483125325);
+// 4202
+o1 = {};
+// 4203
+f989148965_0.returns.push(o1);
+// 4204
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4205
+f989148965_487.returns.push(1373483125325);
+// 4206
+o1 = {};
+// 4207
+f989148965_0.returns.push(o1);
+// 4208
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4209
+f989148965_487.returns.push(1373483125325);
+// 4210
+o1 = {};
+// 4211
+f989148965_0.returns.push(o1);
+// 4212
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4213
+f989148965_487.returns.push(1373483125326);
+// 4214
+o1 = {};
+// 4215
+f989148965_0.returns.push(o1);
+// 4216
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4217
+f989148965_487.returns.push(1373483125326);
+// 4218
+o1 = {};
+// 4219
+f989148965_0.returns.push(o1);
+// 4220
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4221
+f989148965_487.returns.push(1373483125326);
+// 4222
+o1 = {};
+// 4223
+f989148965_0.returns.push(o1);
+// 4224
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4225
+f989148965_487.returns.push(1373483125326);
+// 4226
+o1 = {};
+// 4227
+f989148965_0.returns.push(o1);
+// 4228
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4229
+f989148965_487.returns.push(1373483125327);
+// 4230
+o1 = {};
+// 4231
+f989148965_0.returns.push(o1);
+// 4232
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4233
+f989148965_487.returns.push(1373483125327);
+// 4234
+o1 = {};
+// 4235
+f989148965_0.returns.push(o1);
+// 4236
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4237
+f989148965_487.returns.push(1373483125328);
+// 4238
+o1 = {};
+// 4239
+f989148965_0.returns.push(o1);
+// 4240
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4241
+f989148965_487.returns.push(1373483125333);
+// 4242
+o1 = {};
+// 4243
+f989148965_0.returns.push(o1);
+// 4244
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4245
+f989148965_487.returns.push(1373483125333);
+// 4246
+o1 = {};
+// 4247
+f989148965_0.returns.push(o1);
+// 4248
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4249
+f989148965_487.returns.push(1373483125334);
+// 4250
+o1 = {};
+// 4251
+f989148965_0.returns.push(o1);
+// 4252
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4253
+f989148965_487.returns.push(1373483125334);
+// 4254
+o1 = {};
+// 4255
+f989148965_0.returns.push(o1);
+// 4256
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4257
+f989148965_487.returns.push(1373483125334);
+// 4258
+o1 = {};
+// 4259
+f989148965_0.returns.push(o1);
+// 4260
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4261
+f989148965_487.returns.push(1373483125334);
+// 4262
+o1 = {};
+// 4263
+f989148965_0.returns.push(o1);
+// 4264
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4265
+f989148965_487.returns.push(1373483125335);
+// 4266
+o1 = {};
+// 4267
+f989148965_0.returns.push(o1);
+// 4268
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4269
+f989148965_487.returns.push(1373483125335);
+// 4270
+o1 = {};
+// 4271
+f989148965_0.returns.push(o1);
+// 4272
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4273
+f989148965_487.returns.push(1373483125335);
+// 4274
+o1 = {};
+// 4275
+f989148965_0.returns.push(o1);
+// 4276
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4277
+f989148965_487.returns.push(1373483125336);
+// 4278
+o1 = {};
+// 4279
+f989148965_0.returns.push(o1);
+// 4280
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4281
+f989148965_487.returns.push(1373483125336);
+// 4282
+o1 = {};
+// 4283
+f989148965_0.returns.push(o1);
+// 4284
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4285
+f989148965_487.returns.push(1373483125337);
+// 4286
+o1 = {};
+// 4287
+f989148965_0.returns.push(o1);
+// 4288
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4289
+f989148965_487.returns.push(1373483125337);
+// 4290
+o1 = {};
+// 4291
+f989148965_0.returns.push(o1);
+// 4292
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4293
+f989148965_487.returns.push(1373483125337);
+// 4294
+o1 = {};
+// 4295
+f989148965_0.returns.push(o1);
+// 4296
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4297
+f989148965_487.returns.push(1373483125337);
+// 4298
+o1 = {};
+// 4299
+f989148965_0.returns.push(o1);
+// 4300
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4301
+f989148965_487.returns.push(1373483125338);
+// 4302
+o1 = {};
+// 4303
+f989148965_0.returns.push(o1);
+// 4304
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4305
+f989148965_487.returns.push(1373483125338);
+// 4306
+o1 = {};
+// 4307
+f989148965_0.returns.push(o1);
+// 4308
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4309
+f989148965_487.returns.push(1373483125338);
+// 4310
+o1 = {};
+// 4311
+f989148965_0.returns.push(o1);
+// 4312
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4313
+f989148965_487.returns.push(1373483125339);
+// 4314
+o1 = {};
+// 4315
+f989148965_0.returns.push(o1);
+// 4316
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4317
+f989148965_487.returns.push(1373483125339);
+// 4318
+o1 = {};
+// 4319
+f989148965_0.returns.push(o1);
+// 4320
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4321
+f989148965_487.returns.push(1373483125339);
+// 4322
+o1 = {};
+// 4323
+f989148965_0.returns.push(o1);
+// 4324
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4325
+f989148965_487.returns.push(1373483125340);
+// 4326
+o1 = {};
+// 4327
+f989148965_0.returns.push(o1);
+// 4328
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4329
+f989148965_487.returns.push(1373483125340);
+// 4330
+o1 = {};
+// 4331
+f989148965_0.returns.push(o1);
+// 4332
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4333
+f989148965_487.returns.push(1373483125340);
+// 4334
+o1 = {};
+// 4335
+f989148965_0.returns.push(o1);
+// 4336
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4337
+f989148965_487.returns.push(1373483125340);
+// 4338
+o1 = {};
+// 4339
+f989148965_0.returns.push(o1);
+// 4340
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4341
+f989148965_487.returns.push(1373483125340);
+// 4342
+o1 = {};
+// 4343
+f989148965_0.returns.push(o1);
+// 4344
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4345
+f989148965_487.returns.push(1373483125341);
+// 4346
+o1 = {};
+// 4347
+f989148965_0.returns.push(o1);
+// 4348
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4349
+f989148965_487.returns.push(1373483125345);
+// 4350
+o1 = {};
+// 4351
+f989148965_0.returns.push(o1);
+// 4352
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4353
+f989148965_487.returns.push(1373483125346);
+// 4354
+o1 = {};
+// 4355
+f989148965_0.returns.push(o1);
+// 4356
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4357
+f989148965_487.returns.push(1373483125346);
+// 4358
+o1 = {};
+// 4359
+f989148965_0.returns.push(o1);
+// 4360
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4361
+f989148965_487.returns.push(1373483125346);
+// 4362
+o1 = {};
+// 4363
+f989148965_0.returns.push(o1);
+// 4364
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4365
+f989148965_487.returns.push(1373483125346);
+// 4366
+o1 = {};
+// 4367
+f989148965_0.returns.push(o1);
+// 4368
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4369
+f989148965_487.returns.push(1373483125346);
+// 4370
+o1 = {};
+// 4371
+f989148965_0.returns.push(o1);
+// 4372
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4373
+f989148965_487.returns.push(1373483125346);
+// 4374
+o1 = {};
+// 4375
+f989148965_0.returns.push(o1);
+// 4376
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4377
+f989148965_487.returns.push(1373483125347);
+// 4378
+o1 = {};
+// 4379
+f989148965_0.returns.push(o1);
+// 4380
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4381
+f989148965_487.returns.push(1373483125347);
+// 4382
+o1 = {};
+// 4383
+f989148965_0.returns.push(o1);
+// 4384
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4385
+f989148965_487.returns.push(1373483125347);
+// 4386
+o1 = {};
+// 4387
+f989148965_0.returns.push(o1);
+// 4388
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4389
+f989148965_487.returns.push(1373483125348);
+// 4390
+o1 = {};
+// 4391
+f989148965_0.returns.push(o1);
+// 4392
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4393
+f989148965_487.returns.push(1373483125348);
+// 4394
+o1 = {};
+// 4395
+f989148965_0.returns.push(o1);
+// 4396
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4397
+f989148965_487.returns.push(1373483125348);
+// 4398
+o1 = {};
+// 4399
+f989148965_0.returns.push(o1);
+// 4400
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4401
+f989148965_487.returns.push(1373483125348);
+// 4402
+o1 = {};
+// 4403
+f989148965_0.returns.push(o1);
+// 4404
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4405
+f989148965_487.returns.push(1373483125348);
+// 4406
+o1 = {};
+// 4407
+f989148965_0.returns.push(o1);
+// 4408
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4409
+f989148965_487.returns.push(1373483125348);
+// 4410
+o1 = {};
+// 4411
+f989148965_0.returns.push(o1);
+// 4412
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4413
+f989148965_487.returns.push(1373483125349);
+// 4414
+o1 = {};
+// 4415
+f989148965_0.returns.push(o1);
+// 4416
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4417
+f989148965_487.returns.push(1373483125349);
+// 4418
+o1 = {};
+// 4419
+f989148965_0.returns.push(o1);
+// 4420
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4421
+f989148965_487.returns.push(1373483125349);
+// 4422
+o1 = {};
+// 4423
+f989148965_0.returns.push(o1);
+// 4424
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4425
+f989148965_487.returns.push(1373483125349);
+// 4426
+o1 = {};
+// 4427
+f989148965_0.returns.push(o1);
+// 4428
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4429
+f989148965_487.returns.push(1373483125350);
+// 4430
+o1 = {};
+// 4431
+f989148965_0.returns.push(o1);
+// 4432
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4433
+f989148965_487.returns.push(1373483125350);
+// 4434
+o1 = {};
+// 4435
+f989148965_0.returns.push(o1);
+// 4436
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4437
+f989148965_487.returns.push(1373483125351);
+// 4438
+o1 = {};
+// 4439
+f989148965_0.returns.push(o1);
+// 4440
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4441
+f989148965_487.returns.push(1373483125351);
+// 4442
+o1 = {};
+// 4443
+f989148965_0.returns.push(o1);
+// 4444
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4445
+f989148965_487.returns.push(1373483125351);
+// 4446
+o1 = {};
+// 4447
+f989148965_0.returns.push(o1);
+// 4448
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4449
+f989148965_487.returns.push(1373483125351);
+// 4450
+o1 = {};
+// 4451
+f989148965_0.returns.push(o1);
+// 4452
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4453
+f989148965_487.returns.push(1373483125356);
+// 4454
+o1 = {};
+// 4455
+f989148965_0.returns.push(o1);
+// 4456
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4457
+f989148965_487.returns.push(1373483125357);
+// 4458
+o1 = {};
+// 4459
+f989148965_0.returns.push(o1);
+// 4460
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4461
+f989148965_487.returns.push(1373483125357);
+// 4462
+o1 = {};
+// 4463
+f989148965_0.returns.push(o1);
+// 4464
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4465
+f989148965_487.returns.push(1373483125357);
+// 4466
+o1 = {};
+// 4467
+f989148965_0.returns.push(o1);
+// 4468
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4469
+f989148965_487.returns.push(1373483125358);
+// 4470
+o1 = {};
+// 4471
+f989148965_0.returns.push(o1);
+// 4472
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4473
+f989148965_487.returns.push(1373483125358);
+// 4474
+o1 = {};
+// 4475
+f989148965_0.returns.push(o1);
+// 4476
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4477
+f989148965_487.returns.push(1373483125358);
+// 4478
+o1 = {};
+// 4479
+f989148965_0.returns.push(o1);
+// 4480
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4481
+f989148965_487.returns.push(1373483125358);
+// 4482
+o1 = {};
+// 4483
+f989148965_0.returns.push(o1);
+// 4484
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4485
+f989148965_487.returns.push(1373483125359);
+// 4486
+o1 = {};
+// 4487
+f989148965_0.returns.push(o1);
+// 4488
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4489
+f989148965_487.returns.push(1373483125359);
+// 4490
+o1 = {};
+// 4491
+f989148965_0.returns.push(o1);
+// 4492
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4493
+f989148965_487.returns.push(1373483125359);
+// 4494
+o1 = {};
+// 4495
+f989148965_0.returns.push(o1);
+// 4496
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4497
+f989148965_487.returns.push(1373483125359);
+// 4498
+o1 = {};
+// 4499
+f989148965_0.returns.push(o1);
+// 4500
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4501
+f989148965_487.returns.push(1373483125360);
+// 4502
+o1 = {};
+// 4503
+f989148965_0.returns.push(o1);
+// 4504
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4505
+f989148965_487.returns.push(1373483125360);
+// 4506
+o1 = {};
+// 4507
+f989148965_0.returns.push(o1);
+// 4508
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4509
+f989148965_487.returns.push(1373483125360);
+// 4510
+o1 = {};
+// 4511
+f989148965_0.returns.push(o1);
+// 4512
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4513
+f989148965_487.returns.push(1373483125360);
+// 4514
+o1 = {};
+// 4515
+f989148965_0.returns.push(o1);
+// 4516
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4517
+f989148965_487.returns.push(1373483125360);
+// 4518
+o1 = {};
+// 4519
+f989148965_0.returns.push(o1);
+// 4520
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4521
+f989148965_487.returns.push(1373483125360);
+// 4522
+o1 = {};
+// 4523
+f989148965_0.returns.push(o1);
+// 4524
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4525
+f989148965_487.returns.push(1373483125361);
+// 4526
+o1 = {};
+// 4527
+f989148965_0.returns.push(o1);
+// 4528
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4529
+f989148965_487.returns.push(1373483125361);
+// 4530
+o1 = {};
+// 4531
+f989148965_0.returns.push(o1);
+// 4532
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4533
+f989148965_487.returns.push(1373483125361);
+// 4534
+o1 = {};
+// 4535
+f989148965_0.returns.push(o1);
+// 4536
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4537
+f989148965_487.returns.push(1373483125361);
+// 4538
+o1 = {};
+// 4539
+f989148965_0.returns.push(o1);
+// 4540
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4541
+f989148965_487.returns.push(1373483125362);
+// 4542
+o1 = {};
+// 4543
+f989148965_0.returns.push(o1);
+// 4544
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4545
+f989148965_487.returns.push(1373483125362);
+// 4546
+o1 = {};
+// 4547
+f989148965_0.returns.push(o1);
+// 4548
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4549
+f989148965_487.returns.push(1373483125362);
+// 4550
+o1 = {};
+// 4551
+f989148965_0.returns.push(o1);
+// 4552
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4553
+f989148965_487.returns.push(1373483125362);
+// 4554
+o1 = {};
+// 4555
+f989148965_0.returns.push(o1);
+// 4556
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4557
+f989148965_487.returns.push(1373483125363);
+// 4559
+o1 = {};
+// 4560
+f989148965_421.returns.push(o1);
+// 4561
+o6 = {};
+// 4562
+o1.style = o6;
+// undefined
+o1 = null;
+// undefined
+o6 = null;
+// 4563
+o1 = {};
+// 4564
+f989148965_0.returns.push(o1);
+// 4565
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4566
+f989148965_487.returns.push(1373483125383);
+// 4567
+o1 = {};
+// 4568
+f989148965_0.returns.push(o1);
+// 4569
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4570
+f989148965_487.returns.push(1373483125384);
+// 4571
+o1 = {};
+// 4572
+f989148965_0.returns.push(o1);
+// 4573
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4574
+f989148965_487.returns.push(1373483125384);
+// 4575
+o1 = {};
+// 4576
+f989148965_0.returns.push(o1);
+// 4577
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4578
+f989148965_487.returns.push(1373483125384);
+// 4579
+o1 = {};
+// 4580
+f989148965_0.returns.push(o1);
+// 4581
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4582
+f989148965_487.returns.push(1373483125384);
+// 4583
+o1 = {};
+// 4584
+f989148965_0.returns.push(o1);
+// 4585
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4586
+f989148965_487.returns.push(1373483125384);
+// 4587
+o1 = {};
+// 4588
+f989148965_0.returns.push(o1);
+// 4589
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4590
+f989148965_487.returns.push(1373483125388);
+// 4591
+o1 = {};
+// 4592
+f989148965_0.returns.push(o1);
+// 4593
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4594
+f989148965_487.returns.push(1373483125388);
+// 4595
+o1 = {};
+// 4596
+f989148965_0.returns.push(o1);
+// 4597
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4598
+f989148965_487.returns.push(1373483125388);
+// 4599
+o1 = {};
+// 4600
+f989148965_0.returns.push(o1);
+// 4601
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4602
+f989148965_487.returns.push(1373483125389);
+// 4603
+o1 = {};
+// 4604
+f989148965_0.returns.push(o1);
+// 4605
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4606
+f989148965_487.returns.push(1373483125389);
+// 4607
+o1 = {};
+// 4608
+f989148965_0.returns.push(o1);
+// 4609
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4610
+f989148965_487.returns.push(1373483125389);
+// 4611
+o1 = {};
+// 4612
+f989148965_0.returns.push(o1);
+// 4613
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4614
+f989148965_487.returns.push(1373483125389);
+// 4615
+o1 = {};
+// 4616
+f989148965_0.returns.push(o1);
+// 4617
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4618
+f989148965_487.returns.push(1373483125390);
+// 4619
+o1 = {};
+// 4620
+f989148965_0.returns.push(o1);
+// 4621
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4622
+f989148965_487.returns.push(1373483125390);
+// 4623
+o1 = {};
+// 4624
+f989148965_0.returns.push(o1);
+// 4625
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4626
+f989148965_487.returns.push(1373483125390);
+// 4627
+o1 = {};
+// 4628
+f989148965_0.returns.push(o1);
+// 4629
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4630
+f989148965_487.returns.push(1373483125391);
+// 4631
+o1 = {};
+// 4632
+f989148965_0.returns.push(o1);
+// 4633
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4634
+f989148965_487.returns.push(1373483125391);
+// 4635
+o1 = {};
+// 4636
+f989148965_0.returns.push(o1);
+// 4637
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4638
+f989148965_487.returns.push(1373483125391);
+// 4639
+o1 = {};
+// 4640
+f989148965_0.returns.push(o1);
+// 4641
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4642
+f989148965_487.returns.push(1373483125392);
+// 4643
+o1 = {};
+// 4644
+f989148965_0.returns.push(o1);
+// 4645
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4646
+f989148965_487.returns.push(1373483125392);
+// 4647
+o1 = {};
+// 4648
+f989148965_0.returns.push(o1);
+// 4649
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4650
+f989148965_487.returns.push(1373483125392);
+// 4651
+o1 = {};
+// 4652
+f989148965_0.returns.push(o1);
+// 4653
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4654
+f989148965_487.returns.push(1373483125393);
+// 4655
+o1 = {};
+// 4656
+f989148965_0.returns.push(o1);
+// 4657
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4658
+f989148965_487.returns.push(1373483125393);
+// 4659
+o1 = {};
+// 4660
+f989148965_0.returns.push(o1);
+// 4661
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4662
+f989148965_487.returns.push(1373483125395);
+// 4663
+o1 = {};
+// 4664
+f989148965_0.returns.push(o1);
+// 4665
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4666
+f989148965_487.returns.push(1373483125402);
+// 4667
+o1 = {};
+// 4668
+f989148965_0.returns.push(o1);
+// 4669
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4670
+f989148965_487.returns.push(1373483125402);
+// 4671
+o1 = {};
+// 4672
+f989148965_0.returns.push(o1);
+// 4673
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4674
+f989148965_487.returns.push(1373483125402);
+// 4675
+o1 = {};
+// 4676
+f989148965_0.returns.push(o1);
+// 4677
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4678
+f989148965_487.returns.push(1373483125402);
+// 4679
+o1 = {};
+// 4680
+f989148965_0.returns.push(o1);
+// 4681
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4682
+f989148965_487.returns.push(1373483125403);
+// 4683
+o1 = {};
+// 4684
+f989148965_0.returns.push(o1);
+// 4685
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4686
+f989148965_487.returns.push(1373483125403);
+// 4687
+o1 = {};
+// 4688
+f989148965_0.returns.push(o1);
+// 4689
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4690
+f989148965_487.returns.push(1373483125403);
+// 4691
+o1 = {};
+// 4692
+f989148965_0.returns.push(o1);
+// 4693
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4694
+f989148965_487.returns.push(1373483125404);
+// 4695
+o1 = {};
+// 4696
+f989148965_0.returns.push(o1);
+// 4697
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4698
+f989148965_487.returns.push(1373483125404);
+// 4699
+o1 = {};
+// 4700
+f989148965_0.returns.push(o1);
+// 4701
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4702
+f989148965_487.returns.push(1373483125404);
+// 4703
+o1 = {};
+// 4704
+f989148965_0.returns.push(o1);
+// 4705
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4706
+f989148965_487.returns.push(1373483125404);
+// 4707
+o1 = {};
+// 4708
+f989148965_0.returns.push(o1);
+// 4709
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4710
+f989148965_487.returns.push(1373483125405);
+// 4711
+o1 = {};
+// 4712
+f989148965_0.returns.push(o1);
+// 4713
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4714
+f989148965_487.returns.push(1373483125405);
+// 4715
+o1 = {};
+// 4716
+f989148965_0.returns.push(o1);
+// 4717
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4718
+f989148965_487.returns.push(1373483125405);
+// 4719
+o1 = {};
+// 4720
+f989148965_0.returns.push(o1);
+// 4721
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4722
+f989148965_487.returns.push(1373483125406);
+// 4723
+o1 = {};
+// 4724
+f989148965_0.returns.push(o1);
+// 4725
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4726
+f989148965_487.returns.push(1373483125406);
+// 4727
+o1 = {};
+// 4728
+f989148965_0.returns.push(o1);
+// 4729
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4730
+f989148965_487.returns.push(1373483125406);
+// 4731
+o1 = {};
+// 4732
+f989148965_0.returns.push(o1);
+// 4733
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4734
+f989148965_487.returns.push(1373483125406);
+// 4735
+o1 = {};
+// 4736
+f989148965_0.returns.push(o1);
+// 4737
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4738
+f989148965_487.returns.push(1373483125407);
+// 4739
+o1 = {};
+// 4740
+f989148965_0.returns.push(o1);
+// 4741
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4742
+f989148965_487.returns.push(1373483125407);
+// 4743
+o1 = {};
+// 4744
+f989148965_0.returns.push(o1);
+// 4745
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4746
+f989148965_487.returns.push(1373483125407);
+// 4747
+o1 = {};
+// 4748
+f989148965_0.returns.push(o1);
+// 4749
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4750
+f989148965_487.returns.push(1373483125407);
+// 4751
+o1 = {};
+// 4752
+f989148965_0.returns.push(o1);
+// 4753
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4754
+f989148965_487.returns.push(1373483125407);
+// 4755
+o1 = {};
+// 4756
+f989148965_0.returns.push(o1);
+// 4757
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4758
+f989148965_487.returns.push(1373483125408);
+// 4759
+o1 = {};
+// 4760
+f989148965_0.returns.push(o1);
+// 4761
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4762
+f989148965_487.returns.push(1373483125408);
+// 4763
+o1 = {};
+// 4764
+f989148965_0.returns.push(o1);
+// 4765
+o1.getTime = f989148965_487;
+// undefined
+o1 = null;
+// 4766
+f989148965_487.returns.push(1373483125408);
+// 4767
+o1 = {};
+// 4768
+f989148965_0.returns.push(o1);
+// undefined
+o1 = null;
+// 0
+JSBNG_Replay$ = function(real, cb) { if (!real) return;
+// 867
+geval("JSBNG__document.documentElement.className = ((((JSBNG__document.documentElement.className + \" \")) + JSBNG__document.documentElement.getAttribute(\"data-fouc-class-names\")));");
+// 877
+geval("(function() {\n    {\n        function f(a) {\n            a = ((a || window.JSBNG__event));\n            if (!a) {\n                return;\n            }\n        ;\n        ;\n            ((((!a.target && a.srcElement)) && (a.target = a.srcElement)));\n            if (!j(a)) {\n                return;\n            }\n        ;\n        ;\n            if (!JSBNG__document.JSBNG__addEventListener) {\n                var b = {\n                };\n                {\n                    var fin0keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin0i = (0);\n                    var c;\n                    for (; (fin0i < fin0keys.length); (fin0i++)) {\n                        ((c) = (fin0keys[fin0i]));\n                        {\n                            b[c] = a[c];\n                        ;\n                        };\n                    };\n                };\n            ;\n                a = b;\n            }\n        ;\n        ;\n            a.preventDefault = a.stopPropagation = a.stopImmediatePropagation = function() {\n            \n            };\n            d.push(a);\n            return !1;\n        };\n        ((window.top.JSBNG_Replay.s19277ddcd28db6dd01a1d67d562dfbbffa3c6a17_1.push)((f)));\n    };\n;\n    function g($) {\n        i();\n        for (var b = 0, c; c = d[b]; b++) {\n            var e = $(c.target);\n            if (((((c.type == \"click\")) && ((c.target.tagName.toLowerCase() == \"a\"))))) {\n                var f = $.data(e.get(0), \"events\"), g = ((f && f.click)), j = ((!c.target.hostname.match(a) || !c.target.href.match(/#$/)));\n                if (((!g && j))) {\n                    window.JSBNG__location = c.target.href;\n                    continue;\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            e.trigger(c);\n        };\n    ;\n        window.swiftActionQueue.wasFlushed = !0;\n    };\n;\n    {\n        function i() {\n            ((e && JSBNG__clearTimeout(e)));\n            for (var a = 0; ((a < c.length)); a++) {\n                JSBNG__document[((\"JSBNG__on\" + c[a]))] = null;\n            ;\n            };\n        ;\n        };\n        ((window.top.JSBNG_Replay.s19277ddcd28db6dd01a1d67d562dfbbffa3c6a17_4.push)((i)));\n    };\n;\n    function j(c) {\n        var d = c.target.tagName.toLowerCase();\n        if (((d == \"label\"))) {\n            if (c.target.getAttribute(\"for\")) {\n                var e = JSBNG__document.getElementById(c.target.getAttribute(\"for\"));\n                if (((e.getAttribute(\"type\") == \"checkbox\"))) {\n                    return !1;\n                }\n            ;\n            ;\n            }\n             else for (var f = 0; ((f < c.target.childNodes.length)); f++) {\n                if (((((((c.target.childNodes[f].tagName || \"\")).toLowerCase() == \"input\")) && ((c.target.childNodes[f].getAttribute(\"type\") == \"checkbox\"))))) {\n                    return !1;\n                }\n            ;\n            ;\n            }\n        ;\n        }\n    ;\n    ;\n        if (((((((d == \"textarea\")) || ((((d == \"input\")) && ((c.target.getAttribute(\"type\") == \"text\")))))) || ((c.target.getAttribute(\"contenteditable\") == \"true\"))))) {\n            if (c.type.match(b)) {\n                return !1;\n            }\n        ;\n        }\n    ;\n    ;\n        return ((c.metaKey ? !1 : ((((((c.clientX && c.shiftKey)) && ((d == \"a\")))) ? !1 : ((((((c.target && c.target.hostname)) && !c.target.hostname.match(a))) ? !1 : !0))))));\n    };\n;\n    var a = /^([^\\.]+\\.)*twitter.com$/, b = /^key/, c = [\"click\",\"keydown\",\"keypress\",\"keyup\",], d = [], e = null;\n    for (var k = 0; ((k < c.length)); k++) {\n        JSBNG__document[((\"JSBNG__on\" + c[k]))] = f;\n    ;\n    };\n;\n    JSBNG__setTimeout(i, 10000);\n    window.swiftActionQueue = {\n        flush: g,\n        wasFlushed: !1\n    };\n})();");
+// 883
+geval("(function() {\n    function a(a) {\n        a.target.setAttribute(\"data-in-composition\", \"true\");\n    };\n;\n    function b(a) {\n        a.target.removeAttribute(\"data-in-composition\");\n    };\n;\n    if (JSBNG__document.JSBNG__addEventListener) {\n        JSBNG__document.JSBNG__addEventListener(\"compositionstart\", a, !1);\n        JSBNG__document.JSBNG__addEventListener(\"compositionend\", b, !1);\n    }\n;\n;\n})();");
+// 890
+geval("try {\n    JSBNG__document.domain = \"twitter.com\";\n    (function() {\n        function a() {\n            JSBNG__document.write = \"\";\n            window.JSBNG__top.JSBNG__location = window.JSBNG__self.JSBNG__location;\n            JSBNG__setTimeout(function() {\n                JSBNG__document.body.innerHTML = \"\";\n            }, 0);\n            window.JSBNG__self.JSBNG__onload = function(a) {\n                JSBNG__document.body.innerHTML = \"\";\n            };\n        };\n    ;\n        if (((window.JSBNG__top !== window.JSBNG__self))) {\n            try {\n                ((window.JSBNG__top.JSBNG__location.host || a()));\n            } catch (b) {\n                a();\n            };\n        }\n    ;\n    ;\n    })();\n    (function(a, b) {\n        function H(a) {\n            var b = G[a] = {\n            };\n            q.each(a.split(t), function(_, a) {\n                b[a] = !0;\n            });\n            return b;\n        };\n    ;\n        function K(a, c, d) {\n            if (((((d === b)) && ((a.nodeType === 1))))) {\n                var e = ((\"data-\" + c.replace(J, \"-$1\").toLowerCase()));\n                d = a.getAttribute(e);\n                if (((typeof d == \"string\"))) {\n                    try {\n                        d = ((((d === \"true\")) ? !0 : ((((d === \"false\")) ? !1 : ((((d === \"null\")) ? null : ((((((+d + \"\")) === d)) ? +d : ((I.test(d) ? q.parseJSON(d) : d))))))))));\n                    } catch (f) {\n                    \n                    };\n                ;\n                    q.data(a, c, d);\n                }\n                 else d = b;\n            ;\n            ;\n            }\n        ;\n        ;\n            return d;\n        };\n    ;\n        function L(a) {\n            var b;\n            {\n                var fin1keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin1i = (0);\n                (0);\n                for (; (fin1i < fin1keys.length); (fin1i++)) {\n                    ((b) = (fin1keys[fin1i]));\n                    {\n                        if (((((b === \"data\")) && q.isEmptyObject(a[b])))) {\n                            continue;\n                        }\n                    ;\n                    ;\n                        if (((b !== \"toJSON\"))) {\n                            return !1;\n                        }\n                    ;\n                    ;\n                    };\n                };\n            };\n        ;\n            return !0;\n        };\n    ;\n        function db() {\n            return !1;\n        };\n    ;\n        function eb() {\n            return !0;\n        };\n    ;\n        function kb(a) {\n            return ((((!a || !a.parentNode)) || ((a.parentNode.nodeType === 11))));\n        };\n    ;\n        function lb(a, b) {\n            do a = a[b]; while (((a && ((a.nodeType !== 1)))));\n            return a;\n        };\n    ;\n        function mb(a, b, c) {\n            b = ((b || 0));\n            if (q.isFunction(b)) {\n                return q.grep(a, function(a, d) {\n                    var e = !!b.call(a, d, a);\n                    return ((e === c));\n                });\n            }\n        ;\n        ;\n            if (b.nodeType) {\n                return q.grep(a, function(a, d) {\n                    return ((((a === b)) === c));\n                });\n            }\n        ;\n        ;\n            if (((typeof b == \"string\"))) {\n                var d = q.grep(a, function(a) {\n                    return ((a.nodeType === 1));\n                });\n                if (hb.test(b)) {\n                    return q.filter(b, d, !c);\n                }\n            ;\n            ;\n                b = q.filter(b, d);\n            }\n        ;\n        ;\n            return q.grep(a, function(a, d) {\n                return ((((q.inArray(a, b) >= 0)) === c));\n            });\n        };\n    ;\n        function nb(a) {\n            var b = ob.split(\"|\"), c = a.createDocumentFragment();\n            if (c.createElement) {\n                while (b.length) {\n                    c.createElement(b.pop());\n                ;\n                };\n            }\n        ;\n        ;\n            return c;\n        };\n    ;\n        function Fb(a, b) {\n            return ((a.getElementsByTagName(b)[0] || a.appendChild(a.ownerDocument.createElement(b))));\n        };\n    ;\n        function Gb(a, b) {\n            if (((((b.nodeType !== 1)) || !q.hasData(a)))) {\n                return;\n            }\n        ;\n        ;\n            var c, d, e, f = q._data(a), g = q._data(b, f), i = f.events;\n            if (i) {\n                delete g.handle;\n                g.events = {\n                };\n                {\n                    var fin2keys = ((window.top.JSBNG_Replay.forInKeys)((i))), fin2i = (0);\n                    (0);\n                    for (; (fin2i < fin2keys.length); (fin2i++)) {\n                        ((c) = (fin2keys[fin2i]));\n                        {\n                            for (d = 0, e = i[c].length; ((d < e)); d++) {\n                                q.JSBNG__event.add(b, c, i[c][d]);\n                            ;\n                            };\n                        ;\n                        };\n                    };\n                };\n            ;\n            }\n        ;\n        ;\n            ((g.data && (g.data = q.extend({\n            }, g.data))));\n        };\n    ;\n        function Hb(a, b) {\n            var c;\n            if (((b.nodeType !== 1))) {\n                return;\n            }\n        ;\n        ;\n            ((b.clearAttributes && b.clearAttributes()));\n            ((b.mergeAttributes && b.mergeAttributes(a)));\n            c = b.nodeName.toLowerCase();\n            if (((c === \"object\"))) {\n                ((b.parentNode && (b.outerHTML = a.outerHTML)));\n                ((((((q.support.html5Clone && a.innerHTML)) && !q.trim(b.innerHTML))) && (b.innerHTML = a.innerHTML)));\n            }\n             else if (((((c === \"input\")) && yb.test(a.type)))) {\n                b.defaultChecked = b.checked = a.checked;\n                ((((b.value !== a.value)) && (b.value = a.value)));\n            }\n             else ((((c === \"option\")) ? b.selected = a.defaultSelected : ((((((c === \"input\")) || ((c === \"textarea\")))) ? b.defaultValue = a.defaultValue : ((((((c === \"script\")) && ((b.text !== a.text)))) && (b.text = a.text)))))));\n            \n        ;\n        ;\n            b.removeAttribute(q.expando);\n        };\n    ;\n        function Ib(a) {\n            return ((((typeof a.getElementsByTagName != \"undefined\")) ? a.getElementsByTagName(\"*\") : ((((typeof a.querySelectorAll != \"undefined\")) ? a.querySelectorAll(\"*\") : []))));\n        };\n    ;\n        function Jb(a) {\n            ((yb.test(a.type) && (a.defaultChecked = a.checked)));\n        };\n    ;\n        function _b(a, b) {\n            if (((b in a))) {\n                return b;\n            }\n        ;\n        ;\n            var c = ((b.charAt(0).toUpperCase() + b.slice(1))), d = b, e = Zb.length;\n            while (e--) {\n                b = ((Zb[e] + c));\n                if (((b in a))) {\n                    return b;\n                }\n            ;\n            ;\n            };\n        ;\n            return d;\n        };\n    ;\n        function ac(a, b) {\n            a = ((b || a));\n            return ((((q.css(a, \"display\") === \"none\")) || !q.contains(a.ownerDocument, a)));\n        };\n    ;\n        function bc(a, b) {\n            var c, d, e = [], f = 0, g = a.length;\n            for (; ((f < g)); f++) {\n                c = a[f];\n                if (!c.style) {\n                    continue;\n                }\n            ;\n            ;\n                e[f] = q._data(c, \"olddisplay\");\n                if (b) {\n                    ((((!e[f] && ((c.style.display === \"none\")))) && (c.style.display = \"\")));\n                    ((((((c.style.display === \"\")) && ac(c))) && (e[f] = q._data(c, \"olddisplay\", fc(c.nodeName)))));\n                }\n                 else {\n                    d = Kb(c, \"display\");\n                    ((((!e[f] && ((d !== \"none\")))) && q._data(c, \"olddisplay\", d)));\n                }\n            ;\n            ;\n            };\n        ;\n            for (f = 0; ((f < g)); f++) {\n                c = a[f];\n                if (!c.style) {\n                    continue;\n                }\n            ;\n            ;\n                if (((((!b || ((c.style.display === \"none\")))) || ((c.style.display === \"\"))))) {\n                    c.style.display = ((b ? ((e[f] || \"\")) : \"none\"));\n                }\n            ;\n            ;\n            };\n        ;\n            return a;\n        };\n    ;\n        function cc(a, b, c) {\n            var d = Sb.exec(b);\n            return ((d ? ((Math.max(0, ((d[1] - ((c || 0))))) + ((d[2] || \"px\")))) : b));\n        };\n    ;\n        function dc(a, b, c, d) {\n            var e = ((((c === ((d ? \"border\" : \"JSBNG__content\")))) ? 4 : ((((b === \"width\")) ? 1 : 0)))), f = 0;\n            for (; ((e < 4)); e += 2) {\n                ((((c === \"margin\")) && (f += q.css(a, ((c + Yb[e])), !0))));\n                if (d) {\n                    ((((c === \"JSBNG__content\")) && (f -= ((parseFloat(Kb(a, ((\"padding\" + Yb[e])))) || 0)))));\n                    ((((c !== \"margin\")) && (f -= ((parseFloat(Kb(a, ((((\"border\" + Yb[e])) + \"Width\")))) || 0)))));\n                }\n                 else {\n                    f += ((parseFloat(Kb(a, ((\"padding\" + Yb[e])))) || 0));\n                    ((((c !== \"padding\")) && (f += ((parseFloat(Kb(a, ((((\"border\" + Yb[e])) + \"Width\")))) || 0)))));\n                }\n            ;\n            ;\n            };\n        ;\n            return f;\n        };\n    ;\n        function ec(a, b, c) {\n            var d = ((((b === \"width\")) ? a.offsetWidth : a.offsetHeight)), e = !0, f = ((q.support.boxSizing && ((q.css(a, \"boxSizing\") === \"border-box\"))));\n            if (((((d <= 0)) || ((d == null))))) {\n                d = Kb(a, b);\n                if (((((d < 0)) || ((d == null))))) {\n                    d = a.style[b];\n                }\n            ;\n            ;\n                if (Tb.test(d)) {\n                    return d;\n                }\n            ;\n            ;\n                e = ((f && ((q.support.boxSizingReliable || ((d === a.style[b]))))));\n                d = ((parseFloat(d) || 0));\n            }\n        ;\n        ;\n            return ((((d + dc(a, b, ((c || ((f ? \"border\" : \"JSBNG__content\")))), e))) + \"px\"));\n        };\n    ;\n        function fc(a) {\n            if (Vb[a]) {\n                return Vb[a];\n            }\n        ;\n        ;\n            var b = q(((((\"\\u003C\" + a)) + \"\\u003E\"))).appendTo(e.body), c = b.css(\"display\");\n            b.remove();\n            if (((((c === \"none\")) || ((c === \"\"))))) {\n                Lb = e.body.appendChild(((Lb || q.extend(e.createElement(\"div\"), {\n                    frameBorder: 0,\n                    width: 0,\n                    height: 0\n                }))));\n                if (((!Mb || !Lb.createElement))) {\n                    Mb = ((Lb.contentWindow || Lb.contentDocument)).JSBNG__document;\n                    Mb.write(\"\\u003C!doctype html\\u003E\\u003Chtml\\u003E\\u003Cbody\\u003E\");\n                    Mb.close();\n                }\n            ;\n            ;\n                b = Mb.body.appendChild(Mb.createElement(a));\n                c = Kb(b, \"display\");\n                e.body.removeChild(Lb);\n            }\n        ;\n        ;\n            Vb[a] = c;\n            return c;\n        };\n    ;\n        function lc(a, b, c, d) {\n            var e;\n            if (q.isArray(b)) {\n                q.each(b, function(b, e) {\n                    ((((c || hc.test(a))) ? d(a, e) : lc(((((((a + \"[\")) + ((((typeof e == \"object\")) ? b : \"\")))) + \"]\")), e, c, d)));\n                });\n            }\n             else {\n                if (((!c && ((q.type(b) === \"object\"))))) {\n                    {\n                        var fin3keys = ((window.top.JSBNG_Replay.forInKeys)((b))), fin3i = (0);\n                        (0);\n                        for (; (fin3i < fin3keys.length); (fin3i++)) {\n                            ((e) = (fin3keys[fin3i]));\n                            {\n                                lc(((((((a + \"[\")) + e)) + \"]\")), b[e], c, d);\n                            ;\n                            };\n                        };\n                    };\n                }\n                 else {\n                    d(a, b);\n                }\n            ;\n            }\n        ;\n        ;\n        };\n    ;\n        function Cc(a) {\n            return function(b, c) {\n                if (((typeof b != \"string\"))) {\n                    c = b;\n                    b = \"*\";\n                }\n            ;\n            ;\n                var d, e, f, g = b.toLowerCase().split(t), i = 0, j = g.length;\n                if (q.isFunction(c)) {\n                    for (; ((i < j)); i++) {\n                        d = g[i];\n                        f = /^\\+/.test(d);\n                        ((f && (d = ((d.substr(1) || \"*\")))));\n                        e = a[d] = ((a[d] || []));\n                        e[((f ? \"unshift\" : \"push\"))](c);\n                    };\n                }\n            ;\n            ;\n            };\n        };\n    ;\n        function Dc(a, c, d, e, f, g) {\n            f = ((f || c.dataTypes[0]));\n            g = ((g || {\n            }));\n            g[f] = !0;\n            var i, j = a[f], k = 0, l = ((j ? j.length : 0)), m = ((a === yc));\n            for (; ((((k < l)) && ((m || !i)))); k++) {\n                i = j[k](c, d, e);\n                if (((typeof i == \"string\"))) {\n                    if (((!m || g[i]))) i = b;\n                     else {\n                        c.dataTypes.unshift(i);\n                        i = Dc(a, c, d, e, i, g);\n                    }\n                ;\n                }\n            ;\n            ;\n            };\n        ;\n            ((((((m || !i)) && !g[\"*\"])) && (i = Dc(a, c, d, e, \"*\", g))));\n            return i;\n        };\n    ;\n        function Ec(a, c) {\n            var d, e, f = ((q.ajaxSettings.flatOptions || {\n            }));\n            {\n                var fin4keys = ((window.top.JSBNG_Replay.forInKeys)((c))), fin4i = (0);\n                (0);\n                for (; (fin4i < fin4keys.length); (fin4i++)) {\n                    ((d) = (fin4keys[fin4i]));\n                    {\n                        ((((c[d] !== b)) && (((f[d] ? a : ((e || (e = {\n                        })))))[d] = c[d])));\n                    ;\n                    };\n                };\n            };\n        ;\n            ((e && q.extend(!0, a, e)));\n        };\n    ;\n        function Fc(a, c, d) {\n            var e, f, g, i, j = a.contents, k = a.dataTypes, l = a.responseFields;\n            {\n                var fin5keys = ((window.top.JSBNG_Replay.forInKeys)((l))), fin5i = (0);\n                (0);\n                for (; (fin5i < fin5keys.length); (fin5i++)) {\n                    ((f) = (fin5keys[fin5i]));\n                    {\n                        ((((f in d)) && (c[l[f]] = d[f])));\n                    ;\n                    };\n                };\n            };\n        ;\n            while (((k[0] === \"*\"))) {\n                k.shift();\n                ((((e === b)) && (e = ((a.mimeType || c.getResponseHeader(\"content-type\"))))));\n            };\n        ;\n            if (e) {\n                {\n                    var fin6keys = ((window.top.JSBNG_Replay.forInKeys)((j))), fin6i = (0);\n                    (0);\n                    for (; (fin6i < fin6keys.length); (fin6i++)) {\n                        ((f) = (fin6keys[fin6i]));\n                        {\n                            if (((j[f] && j[f].test(e)))) {\n                                k.unshift(f);\n                                break;\n                            }\n                        ;\n                        ;\n                        };\n                    };\n                };\n            }\n        ;\n        ;\n            if (((k[0] in d))) g = k[0];\n             else {\n                {\n                    var fin7keys = ((window.top.JSBNG_Replay.forInKeys)((d))), fin7i = (0);\n                    (0);\n                    for (; (fin7i < fin7keys.length); (fin7i++)) {\n                        ((f) = (fin7keys[fin7i]));\n                        {\n                            if (((!k[0] || a.converters[((((f + \" \")) + k[0]))]))) {\n                                g = f;\n                                break;\n                            }\n                        ;\n                        ;\n                            ((i || (i = f)));\n                        };\n                    };\n                };\n            ;\n                g = ((g || i));\n            }\n        ;\n        ;\n            if (g) {\n                ((((g !== k[0])) && k.unshift(g)));\n                return d[g];\n            }\n        ;\n        ;\n        };\n    ;\n        function Gc(a, b) {\n            var c, d, e, f, g = a.dataTypes.slice(), i = g[0], j = {\n            }, k = 0;\n            ((a.dataFilter && (b = a.dataFilter(b, a.dataType))));\n            if (g[1]) {\n                {\n                    var fin8keys = ((window.top.JSBNG_Replay.forInKeys)((a.converters))), fin8i = (0);\n                    (0);\n                    for (; (fin8i < fin8keys.length); (fin8i++)) {\n                        ((c) = (fin8keys[fin8i]));\n                        {\n                            j[c.toLowerCase()] = a.converters[c];\n                        ;\n                        };\n                    };\n                };\n            }\n        ;\n        ;\n            for (; e = g[++k]; ) {\n                if (((e !== \"*\"))) {\n                    if (((((i !== \"*\")) && ((i !== e))))) {\n                        c = ((j[((((i + \" \")) + e))] || j[((\"* \" + e))]));\n                        if (!c) {\n                            {\n                                var fin9keys = ((window.top.JSBNG_Replay.forInKeys)((j))), fin9i = (0);\n                                (0);\n                                for (; (fin9i < fin9keys.length); (fin9i++)) {\n                                    ((d) = (fin9keys[fin9i]));\n                                    {\n                                        f = d.split(\" \");\n                                        if (((f[1] === e))) {\n                                            c = ((j[((((i + \" \")) + f[0]))] || j[((\"* \" + f[0]))]));\n                                            if (c) {\n                                                if (((c === !0))) {\n                                                    c = j[d];\n                                                }\n                                                 else {\n                                                    if (((j[d] !== !0))) {\n                                                        e = f[0];\n                                                        g.splice(k--, 0, e);\n                                                    }\n                                                ;\n                                                }\n                                            ;\n                                            ;\n                                                break;\n                                            }\n                                        ;\n                                        ;\n                                        }\n                                    ;\n                                    ;\n                                    };\n                                };\n                            };\n                        }\n                    ;\n                    ;\n                        if (((c !== !0))) {\n                            if (((c && a[\"throws\"]))) {\n                                b = c(b);\n                            }\n                             else {\n                                try {\n                                    b = c(b);\n                                } catch (l) {\n                                    return {\n                                        state: \"parsererror\",\n                                        error: ((c ? l : ((((((\"No conversion from \" + i)) + \" to \")) + e))))\n                                    };\n                                };\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    i = e;\n                }\n            ;\n            ;\n            };\n        ;\n            return {\n                state: \"success\",\n                data: b\n            };\n        };\n    ;\n        function Oc() {\n            try {\n                return new a.JSBNG__XMLHttpRequest;\n            } catch (b) {\n            \n            };\n        ;\n        };\n    ;\n        function Pc() {\n            try {\n                return new a.ActiveXObject(\"Microsoft.XMLHTTP\");\n            } catch (b) {\n            \n            };\n        ;\n        };\n    ;\n        function Xc() {\n            JSBNG__setTimeout(function() {\n                Qc = b;\n            }, 0);\n            return Qc = q.now();\n        };\n    ;\n        function Yc(a, b) {\n            q.each(b, function(b, c) {\n                var d = ((Wc[b] || [])).concat(Wc[\"*\"]), e = 0, f = d.length;\n                for (; ((e < f)); e++) {\n                    if (d[e].call(a, b, c)) {\n                        return;\n                    }\n                ;\n                ;\n                };\n            ;\n            });\n        };\n    ;\n        function Zc(a, b, c) {\n            var d, e = 0, f = 0, g = Vc.length, i = q.Deferred().always(function() {\n                delete j.elem;\n            }), j = function() {\n                var b = ((Qc || Xc())), c = Math.max(0, ((((k.startTime + k.duration)) - b))), d = ((((c / k.duration)) || 0)), e = ((1 - d)), f = 0, g = k.tweens.length;\n                for (; ((f < g)); f++) {\n                    k.tweens[f].run(e);\n                ;\n                };\n            ;\n                i.notifyWith(a, [k,e,c,]);\n                if (((((e < 1)) && g))) {\n                    return c;\n                }\n            ;\n            ;\n                i.resolveWith(a, [k,]);\n                return !1;\n            }, k = i.promise({\n                elem: a,\n                props: q.extend({\n                }, b),\n                opts: q.extend(!0, {\n                    specialEasing: {\n                    }\n                }, c),\n                originalProperties: b,\n                originalOptions: c,\n                startTime: ((Qc || Xc())),\n                duration: c.duration,\n                tweens: [],\n                createTween: function(b, c, d) {\n                    var e = q.Tween(a, k.opts, b, c, ((k.opts.specialEasing[b] || k.opts.easing)));\n                    k.tweens.push(e);\n                    return e;\n                },\n                JSBNG__stop: function(b) {\n                    var c = 0, d = ((b ? k.tweens.length : 0));\n                    for (; ((c < d)); c++) {\n                        k.tweens[c].run(1);\n                    ;\n                    };\n                ;\n                    ((b ? i.resolveWith(a, [k,b,]) : i.rejectWith(a, [k,b,])));\n                    return this;\n                }\n            }), l = k.props;\n            $c(l, k.opts.specialEasing);\n            for (; ((e < g)); e++) {\n                d = Vc[e].call(k, a, l, k.opts);\n                if (d) {\n                    return d;\n                }\n            ;\n            ;\n            };\n        ;\n            Yc(k, l);\n            ((q.isFunction(k.opts.start) && k.opts.start.call(a, k)));\n            q.fx.timer(q.extend(j, {\n                anim: k,\n                queue: k.opts.queue,\n                elem: a\n            }));\n            return k.progress(k.opts.progress).done(k.opts.done, k.opts.complete).fail(k.opts.fail).always(k.opts.always);\n        };\n    ;\n        function $c(a, b) {\n            var c, d, e, f, g;\n            {\n                var fin10keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin10i = (0);\n                (0);\n                for (; (fin10i < fin10keys.length); (fin10i++)) {\n                    ((c) = (fin10keys[fin10i]));\n                    {\n                        d = q.camelCase(c);\n                        e = b[d];\n                        f = a[c];\n                        if (q.isArray(f)) {\n                            e = f[1];\n                            f = a[c] = f[0];\n                        }\n                    ;\n                    ;\n                        if (((c !== d))) {\n                            a[d] = f;\n                            delete a[c];\n                        }\n                    ;\n                    ;\n                        g = q.cssHooks[d];\n                        if (((g && ((\"expand\" in g))))) {\n                            f = g.expand(f);\n                            delete a[d];\n                            {\n                                var fin11keys = ((window.top.JSBNG_Replay.forInKeys)((f))), fin11i = (0);\n                                (0);\n                                for (; (fin11i < fin11keys.length); (fin11i++)) {\n                                    ((c) = (fin11keys[fin11i]));\n                                    {\n                                        if (!((c in a))) {\n                                            a[c] = f[c];\n                                            b[c] = e;\n                                        }\n                                    ;\n                                    ;\n                                    };\n                                };\n                            };\n                        ;\n                        }\n                         else b[d] = e;\n                    ;\n                    ;\n                    };\n                };\n            };\n        ;\n        };\n    ;\n        function _c(a, b, c) {\n            var d, e, f, g, i, j, k, l, m, n = this, o = a.style, p = {\n            }, r = [], s = ((a.nodeType && ac(a)));\n            if (!c.queue) {\n                l = q._queueHooks(a, \"fx\");\n                if (((l.unqueued == null))) {\n                    l.unqueued = 0;\n                    m = l.empty.fire;\n                    l.empty.fire = function() {\n                        ((l.unqueued || m()));\n                    };\n                }\n            ;\n            ;\n                l.unqueued++;\n                n.always(function() {\n                    n.always(function() {\n                        l.unqueued--;\n                        ((q.queue(a, \"fx\").length || l.empty.fire()));\n                    });\n                });\n            }\n        ;\n        ;\n            if (((((a.nodeType === 1)) && ((((\"height\" in b)) || ((\"width\" in b))))))) {\n                c.overflow = [o.overflow,o.overflowX,o.overflowY,];\n                ((((((q.css(a, \"display\") === \"inline\")) && ((q.css(a, \"float\") === \"none\")))) && ((((!q.support.inlineBlockNeedsLayout || ((fc(a.nodeName) === \"inline\")))) ? o.display = \"inline-block\" : o.zoom = 1))));\n            }\n        ;\n        ;\n            if (c.overflow) {\n                o.overflow = \"hidden\";\n                ((q.support.shrinkWrapBlocks || n.done(function() {\n                    o.overflow = c.overflow[0];\n                    o.overflowX = c.overflow[1];\n                    o.overflowY = c.overflow[2];\n                })));\n            }\n        ;\n        ;\n            {\n                var fin12keys = ((window.top.JSBNG_Replay.forInKeys)((b))), fin12i = (0);\n                (0);\n                for (; (fin12i < fin12keys.length); (fin12i++)) {\n                    ((d) = (fin12keys[fin12i]));\n                    {\n                        f = b[d];\n                        if (Sc.exec(f)) {\n                            delete b[d];\n                            j = ((j || ((f === \"toggle\"))));\n                            if (((f === ((s ? \"hide\" : \"show\"))))) {\n                                continue;\n                            }\n                        ;\n                        ;\n                            r.push(d);\n                        }\n                    ;\n                    ;\n                    };\n                };\n            };\n        ;\n            g = r.length;\n            if (g) {\n                i = ((q._data(a, \"fxshow\") || q._data(a, \"fxshow\", {\n                })));\n                ((((\"hidden\" in i)) && (s = i.hidden)));\n                ((j && (i.hidden = !s)));\n                ((s ? q(a).show() : n.done(function() {\n                    q(a).hide();\n                })));\n                n.done(function() {\n                    var b;\n                    q.removeData(a, \"fxshow\", !0);\n                    {\n                        var fin13keys = ((window.top.JSBNG_Replay.forInKeys)((p))), fin13i = (0);\n                        (0);\n                        for (; (fin13i < fin13keys.length); (fin13i++)) {\n                            ((b) = (fin13keys[fin13i]));\n                            {\n                                q.style(a, b, p[b]);\n                            ;\n                            };\n                        };\n                    };\n                ;\n                });\n                for (d = 0; ((d < g)); d++) {\n                    e = r[d];\n                    k = n.createTween(e, ((s ? i[e] : 0)));\n                    p[e] = ((i[e] || q.style(a, e)));\n                    if (!((e in i))) {\n                        i[e] = k.start;\n                        if (s) {\n                            k.end = k.start;\n                            k.start = ((((((e === \"width\")) || ((e === \"height\")))) ? 1 : 0));\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                };\n            ;\n            }\n        ;\n        ;\n        };\n    ;\n        function ad(a, b, c, d, e) {\n            return new ad.prototype.init(a, b, c, d, e);\n        };\n    ;\n        function bd(a, b) {\n            var c, d = {\n                height: a\n            }, e = 0;\n            b = ((b ? 1 : 0));\n            for (; ((e < 4)); e += ((2 - b))) {\n                c = Yb[e];\n                d[((\"margin\" + c))] = d[((\"padding\" + c))] = a;\n            };\n        ;\n            ((b && (d.opacity = d.width = a)));\n            return d;\n        };\n    ;\n        function dd(a) {\n            return ((q.isWindow(a) ? a : ((((a.nodeType === 9)) ? ((a.defaultView || a.parentWindow)) : !1))));\n        };\n    ;\n        var c, d, e = a.JSBNG__document, f = a.JSBNG__location, g = a.JSBNG__navigator, i = a.jQuery, j = a.$, k = Array.prototype.push, l = Array.prototype.slice, m = Array.prototype.indexOf, n = Object.prototype.toString, o = Object.prototype.hasOwnProperty, p = String.prototype.trim, q = function(a, b) {\n            return new q.fn.init(a, b, c);\n        }, r = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source, s = /\\S/, t = /\\s+/, u = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, v = /^(?:[^#<]*(<[\\w\\W]+>)[^>]*$|#([\\w\\-]*)$)/, w = /^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/, x = /^[\\],:{}\\s]*$/, y = /(?:^|:|,)(?:\\s*\\[)+/g, z = /\\\\(?:[\"\\\\\\/bfnrt]|u[\\da-fA-F]{4})/g, A = /\"[^\"\\\\\\r\\n]*\"|true|false|null|-?(?:\\d\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/g, B = /^-ms-/, C = /-([\\da-z])/gi, D = function(a, b) {\n            return ((b + \"\")).toUpperCase();\n        }, E = function() {\n            if (e.JSBNG__addEventListener) {\n                e.JSBNG__removeEventListener(\"DOMContentLoaded\", E, !1);\n                q.ready();\n            }\n             else if (((e.readyState === \"complete\"))) {\n                e.JSBNG__detachEvent(\"onreadystatechange\", E);\n                q.ready();\n            }\n            \n        ;\n        ;\n        }, F = {\n        };\n        q.fn = q.prototype = {\n            constructor: q,\n            init: function(a, c, d) {\n                var f, g, i, j;\n                if (!a) {\n                    return this;\n                }\n            ;\n            ;\n                if (a.nodeType) {\n                    this.context = this[0] = a;\n                    this.length = 1;\n                    return this;\n                }\n            ;\n            ;\n                if (((typeof a == \"string\"))) {\n                    ((((((((a.charAt(0) === \"\\u003C\")) && ((a.charAt(((a.length - 1))) === \"\\u003E\")))) && ((a.length >= 3)))) ? f = [null,a,null,] : f = v.exec(a)));\n                    if (((f && ((f[1] || !c))))) {\n                        if (f[1]) {\n                            c = ((((c instanceof q)) ? c[0] : c));\n                            j = ((((c && c.nodeType)) ? ((c.ownerDocument || c)) : e));\n                            a = q.parseHTML(f[1], j, !0);\n                            ((((w.test(f[1]) && q.isPlainObject(c))) && this.attr.call(a, c, !0)));\n                            return q.merge(this, a);\n                        }\n                    ;\n                    ;\n                        g = e.getElementById(f[2]);\n                        if (((g && g.parentNode))) {\n                            if (((g.id !== f[2]))) {\n                                return d.JSBNG__find(a);\n                            }\n                        ;\n                        ;\n                            this.length = 1;\n                            this[0] = g;\n                        }\n                    ;\n                    ;\n                        this.context = e;\n                        this.selector = a;\n                        return this;\n                    }\n                ;\n                ;\n                    return ((((!c || c.jquery)) ? ((c || d)).JSBNG__find(a) : this.constructor(c).JSBNG__find(a)));\n                }\n            ;\n            ;\n                if (q.isFunction(a)) {\n                    return d.ready(a);\n                }\n            ;\n            ;\n                if (((a.selector !== b))) {\n                    this.selector = a.selector;\n                    this.context = a.context;\n                }\n            ;\n            ;\n                return q.makeArray(a, this);\n            },\n            selector: \"\",\n            jquery: \"1.8.3\",\n            length: 0,\n            size: function() {\n                return this.length;\n            },\n            toArray: function() {\n                return l.call(this);\n            },\n            get: function(a) {\n                return ((((a == null)) ? this.toArray() : ((((a < 0)) ? this[((this.length + a))] : this[a]))));\n            },\n            pushStack: function(a, b, c) {\n                var d = q.merge(this.constructor(), a);\n                d.prevObject = this;\n                d.context = this.context;\n                ((((b === \"JSBNG__find\")) ? d.selector = ((((this.selector + ((this.selector ? \" \" : \"\")))) + c)) : ((b && (d.selector = ((((((((((this.selector + \".\")) + b)) + \"(\")) + c)) + \")\")))))));\n                return d;\n            },\n            each: function(a, b) {\n                return q.each(this, a, b);\n            },\n            ready: function(a) {\n                q.ready.promise().done(a);\n                return this;\n            },\n            eq: function(a) {\n                a = +a;\n                return ((((a === -1)) ? this.slice(a) : this.slice(a, ((a + 1)))));\n            },\n            first: function() {\n                return this.eq(0);\n            },\n            last: function() {\n                return this.eq(-1);\n            },\n            slice: function() {\n                return this.pushStack(l.apply(this, arguments), \"slice\", l.call(arguments).join(\",\"));\n            },\n            map: function(a) {\n                return this.pushStack(q.map(this, function(b, c) {\n                    return a.call(b, c, b);\n                }));\n            },\n            end: function() {\n                return ((this.prevObject || this.constructor(null)));\n            },\n            push: k,\n            sort: [].sort,\n            splice: [].splice\n        };\n        q.fn.init.prototype = q.fn;\n        q.extend = q.fn.extend = function() {\n            var a, c, d, e, f, g, i = ((arguments[0] || {\n            })), j = 1, k = arguments.length, l = !1;\n            if (((typeof i == \"boolean\"))) {\n                l = i;\n                i = ((arguments[1] || {\n                }));\n                j = 2;\n            }\n        ;\n        ;\n            ((((((typeof i != \"object\")) && !q.isFunction(i))) && (i = {\n            })));\n            if (((k === j))) {\n                i = this;\n                --j;\n            }\n        ;\n        ;\n            for (; ((j < k)); j++) {\n                if ((((a = arguments[j]) != null))) {\n                    {\n                        var fin14keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin14i = (0);\n                        (0);\n                        for (; (fin14i < fin14keys.length); (fin14i++)) {\n                            ((c) = (fin14keys[fin14i]));\n                            {\n                                d = i[c];\n                                e = a[c];\n                                if (((i === e))) {\n                                    continue;\n                                }\n                            ;\n                            ;\n                                if (((((l && e)) && ((q.isPlainObject(e) || (f = q.isArray(e))))))) {\n                                    if (f) {\n                                        f = !1;\n                                        g = ((((d && q.isArray(d))) ? d : []));\n                                    }\n                                     else g = ((((d && q.isPlainObject(d))) ? d : {\n                                    }));\n                                ;\n                                ;\n                                    i[c] = q.extend(l, g, e);\n                                }\n                                 else ((((e !== b)) && (i[c] = e)));\n                            ;\n                            ;\n                            };\n                        };\n                    };\n                }\n            ;\n            ;\n            };\n        ;\n            return i;\n        };\n        q.extend({\n            noConflict: function(b) {\n                ((((a.$ === q)) && (a.$ = j)));\n                ((((b && ((a.jQuery === q)))) && (a.jQuery = i)));\n                return q;\n            },\n            isReady: !1,\n            readyWait: 1,\n            holdReady: function(a) {\n                ((a ? q.readyWait++ : q.ready(!0)));\n            },\n            ready: function(a) {\n                if (((((a === !0)) ? --q.readyWait : q.isReady))) {\n                    return;\n                }\n            ;\n            ;\n                if (!e.body) {\n                    return JSBNG__setTimeout(q.ready, 1);\n                }\n            ;\n            ;\n                q.isReady = !0;\n                if (((((a !== !0)) && ((--q.readyWait > 0))))) {\n                    return;\n                }\n            ;\n            ;\n                d.resolveWith(e, [q,]);\n                ((q.fn.trigger && q(e).trigger(\"ready\").off(\"ready\")));\n            },\n            isFunction: function(a) {\n                return ((q.type(a) === \"function\"));\n            },\n            isArray: ((Array.isArray || function(a) {\n                return ((q.type(a) === \"array\"));\n            })),\n            isWindow: function(a) {\n                return ((((a != null)) && ((a == a.window))));\n            },\n            isNumeric: function(a) {\n                return ((!isNaN(parseFloat(a)) && isFinite(a)));\n            },\n            type: function(a) {\n                return ((((a == null)) ? String(a) : ((F[n.call(a)] || \"object\"))));\n            },\n            isPlainObject: function(a) {\n                if (((((((!a || ((q.type(a) !== \"object\")))) || a.nodeType)) || q.isWindow(a)))) {\n                    return !1;\n                }\n            ;\n            ;\n                try {\n                    if (((((a.constructor && !o.call(a, \"constructor\"))) && !o.call(a.constructor.prototype, \"isPrototypeOf\")))) {\n                        return !1;\n                    }\n                ;\n                ;\n                } catch (c) {\n                    return !1;\n                };\n            ;\n                var d;\n                {\n                    var fin15keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin15i = (0);\n                    (0);\n                    for (; (fin15i < fin15keys.length); (fin15i++)) {\n                        ((d) = (fin15keys[fin15i]));\n                        {\n                        ;\n                        };\n                    };\n                };\n            ;\n                return ((((d === b)) || o.call(a, d)));\n            },\n            isEmptyObject: function(a) {\n                var b;\n                {\n                    var fin16keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin16i = (0);\n                    (0);\n                    for (; (fin16i < fin16keys.length); (fin16i++)) {\n                        ((b) = (fin16keys[fin16i]));\n                        {\n                            return !1;\n                        };\n                    };\n                };\n            ;\n                return !0;\n            },\n            error: function(a) {\n                throw new Error(a);\n            },\n            parseHTML: function(a, b, c) {\n                var d;\n                if (((!a || ((typeof a != \"string\"))))) {\n                    return null;\n                }\n            ;\n            ;\n                if (((typeof b == \"boolean\"))) {\n                    c = b;\n                    b = 0;\n                }\n            ;\n            ;\n                b = ((b || e));\n                if (d = w.exec(a)) {\n                    return [b.createElement(d[1]),];\n                }\n            ;\n            ;\n                d = q.buildFragment([a,], b, ((c ? null : [])));\n                return q.merge([], ((d.cacheable ? q.clone(d.fragment) : d.fragment)).childNodes);\n            },\n            parseJSON: function(b) {\n                if (((!b || ((typeof b != \"string\"))))) {\n                    return null;\n                }\n            ;\n            ;\n                b = q.trim(b);\n                if (((a.JSON && a.JSON.parse))) {\n                    return a.JSON.parse(b);\n                }\n            ;\n            ;\n                if (x.test(b.replace(z, \"@\").replace(A, \"]\").replace(y, \"\"))) {\n                    return (new Function(((\"return \" + b))))();\n                }\n            ;\n            ;\n                q.error(((\"Invalid JSON: \" + b)));\n            },\n            parseXML: function(c) {\n                var d, e;\n                if (((!c || ((typeof c != \"string\"))))) {\n                    return null;\n                }\n            ;\n            ;\n                try {\n                    if (a.JSBNG__DOMParser) {\n                        e = new JSBNG__DOMParser;\n                        d = e.parseFromString(c, \"text/xml\");\n                    }\n                     else {\n                        d = new ActiveXObject(\"Microsoft.XMLDOM\");\n                        d.async = \"false\";\n                        d.loadXML(c);\n                    }\n                ;\n                ;\n                } catch (f) {\n                    d = b;\n                };\n            ;\n                ((((((!d || !d.documentElement)) || d.getElementsByTagName(\"parsererror\").length)) && q.error(((\"Invalid XML: \" + c)))));\n                return d;\n            },\n            noop: function() {\n            \n            },\n            globalEval: function(b) {\n                ((((b && s.test(b))) && ((a.execScript || function(b) {\n                    a.eval.call(a, b);\n                }))(b)));\n            },\n            camelCase: function(a) {\n                return a.replace(B, \"ms-\").replace(C, D);\n            },\n            nodeName: function(a, b) {\n                return ((a.nodeName && ((a.nodeName.toLowerCase() === b.toLowerCase()))));\n            },\n            each: function(a, c, d) {\n                var e, f = 0, g = a.length, i = ((((g === b)) || q.isFunction(a)));\n                if (d) {\n                    if (i) {\n                        {\n                            var fin17keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin17i = (0);\n                            (0);\n                            for (; (fin17i < fin17keys.length); (fin17i++)) {\n                                ((e) = (fin17keys[fin17i]));\n                                {\n                                    if (((c.apply(a[e], d) === !1))) {\n                                        break;\n                                    }\n                                ;\n                                ;\n                                };\n                            };\n                        };\n                    ;\n                    }\n                     else for (; ((f < g)); ) {\n                        if (((c.apply(a[f++], d) === !1))) {\n                            break;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                }\n                 else if (i) {\n                    {\n                        var fin18keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin18i = (0);\n                        (0);\n                        for (; (fin18i < fin18keys.length); (fin18i++)) {\n                            ((e) = (fin18keys[fin18i]));\n                            {\n                                if (((c.call(a[e], e, a[e]) === !1))) {\n                                    break;\n                                }\n                            ;\n                            ;\n                            };\n                        };\n                    };\n                ;\n                }\n                 else for (; ((f < g)); ) {\n                    if (((c.call(a[f], f, a[f++]) === !1))) {\n                        break;\n                    }\n                ;\n                ;\n                }\n                \n            ;\n            ;\n                return a;\n            },\n            trim: ((((p && !p.call(\"\\ufeff\\u00a0\"))) ? function(a) {\n                return ((((a == null)) ? \"\" : p.call(a)));\n            } : function(a) {\n                return ((((a == null)) ? \"\" : ((a + \"\")).replace(u, \"\")));\n            })),\n            makeArray: function(a, b) {\n                var c, d = ((b || []));\n                if (((a != null))) {\n                    c = q.type(a);\n                    ((((((((((((a.length == null)) || ((c === \"string\")))) || ((c === \"function\")))) || ((c === \"regexp\")))) || q.isWindow(a))) ? k.call(d, a) : q.merge(d, a)));\n                }\n            ;\n            ;\n                return d;\n            },\n            inArray: function(a, b, c) {\n                var d;\n                if (b) {\n                    if (m) {\n                        return m.call(b, a, c);\n                    }\n                ;\n                ;\n                    d = b.length;\n                    c = ((c ? ((((c < 0)) ? Math.max(0, ((d + c))) : c)) : 0));\n                    for (; ((c < d)); c++) {\n                        if (((((c in b)) && ((b[c] === a))))) {\n                            return c;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                return -1;\n            },\n            merge: function(a, c) {\n                var d = c.length, e = a.length, f = 0;\n                if (((typeof d == \"number\"))) {\n                    for (; ((f < d)); f++) {\n                        a[e++] = c[f];\n                    ;\n                    };\n                }\n                 else {\n                    while (((c[f] !== b))) {\n                        a[e++] = c[f++];\n                    ;\n                    };\n                }\n            ;\n            ;\n                a.length = e;\n                return a;\n            },\n            grep: function(a, b, c) {\n                var d, e = [], f = 0, g = a.length;\n                c = !!c;\n                for (; ((f < g)); f++) {\n                    d = !!b(a[f], f);\n                    ((((c !== d)) && e.push(a[f])));\n                };\n            ;\n                return e;\n            },\n            map: function(a, c, d) {\n                var e, f, g = [], i = 0, j = a.length, k = ((((a instanceof q)) || ((((((j !== b)) && ((typeof j == \"number\")))) && ((((((((((j > 0)) && a[0])) && a[((j - 1))])) || ((j === 0)))) || q.isArray(a)))))));\n                if (k) {\n                    for (; ((i < j)); i++) {\n                        e = c(a[i], i, d);\n                        ((((e != null)) && (g[g.length] = e)));\n                    };\n                }\n                 else {\n                    {\n                        var fin19keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin19i = (0);\n                        (0);\n                        for (; (fin19i < fin19keys.length); (fin19i++)) {\n                            ((f) = (fin19keys[fin19i]));\n                            {\n                                e = c(a[f], f, d);\n                                ((((e != null)) && (g[g.length] = e)));\n                            };\n                        };\n                    };\n                }\n            ;\n            ;\n                return g.concat.apply([], g);\n            },\n            guid: 1,\n            proxy: function(a, c) {\n                var d, e, f;\n                if (((typeof c == \"string\"))) {\n                    d = a[c];\n                    c = a;\n                    a = d;\n                }\n            ;\n            ;\n                if (!q.isFunction(a)) {\n                    return b;\n                }\n            ;\n            ;\n                e = l.call(arguments, 2);\n                f = function() {\n                    return a.apply(c, e.concat(l.call(arguments)));\n                };\n                f.guid = a.guid = ((a.guid || q.guid++));\n                return f;\n            },\n            access: function(a, c, d, e, f, g, i) {\n                var j, k = ((d == null)), l = 0, m = a.length;\n                if (((d && ((typeof d == \"object\"))))) {\n                    {\n                        var fin20keys = ((window.top.JSBNG_Replay.forInKeys)((d))), fin20i = (0);\n                        (0);\n                        for (; (fin20i < fin20keys.length); (fin20i++)) {\n                            ((l) = (fin20keys[fin20i]));\n                            {\n                                q.access(a, c, l, d[l], 1, g, e);\n                            ;\n                            };\n                        };\n                    };\n                ;\n                    f = 1;\n                }\n                 else if (((e !== b))) {\n                    j = ((((i === b)) && q.isFunction(e)));\n                    if (k) {\n                        if (j) {\n                            j = c;\n                            c = function(a, b, c) {\n                                return j.call(q(a), c);\n                            };\n                        }\n                         else {\n                            c.call(a, e);\n                            c = null;\n                        }\n                    ;\n                    }\n                ;\n                ;\n                    if (c) {\n                        for (; ((l < m)); l++) {\n                            c(a[l], d, ((j ? e.call(a[l], l, c(a[l], d)) : e)), i);\n                        ;\n                        };\n                    }\n                ;\n                ;\n                    f = 1;\n                }\n                \n            ;\n            ;\n                return ((f ? a : ((k ? c.call(a) : ((m ? c(a[0], d) : g))))));\n            },\n            now: function() {\n                return (new JSBNG__Date).getTime();\n            }\n        });\n        q.ready.promise = function(b) {\n            if (!d) {\n                d = q.Deferred();\n                if (((e.readyState === \"complete\"))) {\n                    JSBNG__setTimeout(q.ready, 1);\n                }\n                 else {\n                    if (e.JSBNG__addEventListener) {\n                        e.JSBNG__addEventListener(\"DOMContentLoaded\", E, !1);\n                        a.JSBNG__addEventListener(\"load\", q.ready, !1);\n                    }\n                     else {\n                        e.JSBNG__attachEvent(\"onreadystatechange\", E);\n                        a.JSBNG__attachEvent(\"JSBNG__onload\", q.ready);\n                        var c = !1;\n                        try {\n                            c = ((((a.JSBNG__frameElement == null)) && e.documentElement));\n                        } catch (f) {\n                        \n                        };\n                    ;\n                        ((((c && c.doScroll)) && function g() {\n                            if (!q.isReady) {\n                                try {\n                                    c.doScroll(\"left\");\n                                } catch (a) {\n                                    return JSBNG__setTimeout(g, 50);\n                                };\n                            ;\n                                q.ready();\n                            }\n                        ;\n                        ;\n                        }()));\n                    }\n                ;\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            return d.promise(b);\n        };\n        q.each(\"Boolean Number String Function Array Date RegExp Object\".split(\" \"), function(a, b) {\n            F[((((\"[object \" + b)) + \"]\"))] = b.toLowerCase();\n        });\n        c = q(e);\n        var G = {\n        };\n        q.Callbacks = function(a) {\n            a = ((((typeof a == \"string\")) ? ((G[a] || H(a))) : q.extend({\n            }, a)));\n            var c, d, e, f, g, i, j = [], k = ((!a.once && [])), l = function(b) {\n                c = ((a.memory && b));\n                d = !0;\n                i = ((f || 0));\n                f = 0;\n                g = j.length;\n                e = !0;\n                for (; ((j && ((i < g)))); i++) {\n                    if (((((j[i].apply(b[0], b[1]) === !1)) && a.stopOnFalse))) {\n                        c = !1;\n                        break;\n                    }\n                ;\n                ;\n                };\n            ;\n                e = !1;\n                ((j && ((k ? ((k.length && l(k.shift()))) : ((c ? j = [] : m.disable()))))));\n            }, m = {\n                add: function() {\n                    if (j) {\n                        var b = j.length;\n                        (function d(b) {\n                            q.each(b, function(_, b) {\n                                var c = q.type(b);\n                                ((((c === \"function\")) ? ((((!a.unique || !m.has(b))) && j.push(b))) : ((((((b && b.length)) && ((c !== \"string\")))) && d(b)))));\n                            });\n                        })(arguments);\n                        if (e) {\n                            g = j.length;\n                        }\n                         else {\n                            if (c) {\n                                f = b;\n                                l(c);\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    return this;\n                },\n                remove: function() {\n                    ((j && q.each(arguments, function(_, a) {\n                        var b;\n                        while ((((b = q.inArray(a, j, b)) > -1))) {\n                            j.splice(b, 1);\n                            if (e) {\n                                ((((b <= g)) && g--));\n                                ((((b <= i)) && i--));\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                    })));\n                    return this;\n                },\n                has: function(a) {\n                    return ((q.inArray(a, j) > -1));\n                },\n                empty: function() {\n                    j = [];\n                    return this;\n                },\n                disable: function() {\n                    j = k = c = b;\n                    return this;\n                },\n                disabled: function() {\n                    return !j;\n                },\n                lock: function() {\n                    k = b;\n                    ((c || m.disable()));\n                    return this;\n                },\n                locked: function() {\n                    return !k;\n                },\n                fireWith: function(a, b) {\n                    b = ((b || []));\n                    b = [a,((b.slice ? b.slice() : b)),];\n                    ((((j && ((!d || k)))) && ((e ? k.push(b) : l(b)))));\n                    return this;\n                },\n                fire: function() {\n                    m.fireWith(this, arguments);\n                    return this;\n                },\n                fired: function() {\n                    return !!d;\n                }\n            };\n            return m;\n        };\n        q.extend({\n            Deferred: function(a) {\n                var b = [[\"resolve\",\"done\",q.Callbacks(\"once memory\"),\"resolved\",],[\"reject\",\"fail\",q.Callbacks(\"once memory\"),\"rejected\",],[\"notify\",\"progress\",q.Callbacks(\"memory\"),],], c = \"pending\", d = {\n                    state: function() {\n                        return c;\n                    },\n                    always: function() {\n                        e.done(arguments).fail(arguments);\n                        return this;\n                    },\n                    then: function() {\n                        var a = arguments;\n                        return q.Deferred(function(c) {\n                            q.each(b, function(b, d) {\n                                var f = d[0], g = a[b];\n                                e[d[1]](((q.isFunction(g) ? function() {\n                                    var a = g.apply(this, arguments);\n                                    ((((a && q.isFunction(a.promise))) ? a.promise().done(c.resolve).fail(c.reject).progress(c.notify) : c[((f + \"With\"))](((((this === e)) ? c : this)), [a,])));\n                                } : c[f])));\n                            });\n                            a = null;\n                        }).promise();\n                    },\n                    promise: function(a) {\n                        return ((((a != null)) ? q.extend(a, d) : d));\n                    }\n                }, e = {\n                };\n                d.pipe = d.then;\n                q.each(b, function(a, f) {\n                    var g = f[2], i = f[3];\n                    d[f[1]] = g.add;\n                    ((i && g.add(function() {\n                        c = i;\n                    }, b[((a ^ 1))][2].disable, b[2][2].lock)));\n                    e[f[0]] = g.fire;\n                    e[((f[0] + \"With\"))] = g.fireWith;\n                });\n                d.promise(e);\n                ((a && a.call(e, e)));\n                return e;\n            },\n            when: function(a) {\n                var b = 0, c = l.call(arguments), d = c.length, e = ((((((d !== 1)) || ((a && q.isFunction(a.promise))))) ? d : 0)), f = ((((e === 1)) ? a : q.Deferred())), g = function(a, b, c) {\n                    return function(d) {\n                        b[a] = this;\n                        c[a] = ((((arguments.length > 1)) ? l.call(arguments) : d));\n                        ((((c === i)) ? f.notifyWith(b, c) : ((--e || f.resolveWith(b, c)))));\n                    };\n                }, i, j, k;\n                if (((d > 1))) {\n                    i = new Array(d);\n                    j = new Array(d);\n                    k = new Array(d);\n                    for (; ((b < d)); b++) {\n                        ((((c[b] && q.isFunction(c[b].promise))) ? c[b].promise().done(g(b, k, c)).fail(f.reject).progress(g(b, j, i)) : --e));\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                ((e || f.resolveWith(k, c)));\n                return f.promise();\n            }\n        });\n        q.support = function() {\n            var b, c, d, f, g, i, j, k, l, m, n, o = e.createElement(\"div\");\n            o.setAttribute(\"className\", \"t\");\n            o.innerHTML = \"  \\u003Clink/\\u003E\\u003Ctable\\u003E\\u003C/table\\u003E\\u003Ca href='/a'\\u003Ea\\u003C/a\\u003E\\u003Cinput type='checkbox'/\\u003E\";\n            c = o.getElementsByTagName(\"*\");\n            d = o.getElementsByTagName(\"a\")[0];\n            if (((((!c || !d)) || !c.length))) {\n                return {\n                };\n            }\n        ;\n        ;\n            f = e.createElement(\"select\");\n            g = f.appendChild(e.createElement(\"option\"));\n            i = o.getElementsByTagName(\"input\")[0];\n            d.style.cssText = \"top:1px;float:left;opacity:.5\";\n            b = {\n                leadingWhitespace: ((o.firstChild.nodeType === 3)),\n                tbody: !o.getElementsByTagName(\"tbody\").length,\n                htmlSerialize: !!o.getElementsByTagName(\"link\").length,\n                style: /top/.test(d.getAttribute(\"style\")),\n                hrefNormalized: ((d.getAttribute(\"href\") === \"/a\")),\n                opacity: /^0.5/.test(d.style.opacity),\n                cssFloat: !!d.style.cssFloat,\n                checkOn: ((i.value === \"JSBNG__on\")),\n                optSelected: g.selected,\n                getSetAttribute: ((o.className !== \"t\")),\n                enctype: !!e.createElement(\"form\").enctype,\n                html5Clone: ((e.createElement(\"nav\").cloneNode(!0).outerHTML !== \"\\u003C:nav\\u003E\\u003C/:nav\\u003E\")),\n                boxModel: ((e.compatMode === \"CSS1Compat\")),\n                submitBubbles: !0,\n                changeBubbles: !0,\n                focusinBubbles: !1,\n                deleteExpando: !0,\n                noCloneEvent: !0,\n                inlineBlockNeedsLayout: !1,\n                shrinkWrapBlocks: !1,\n                reliableMarginRight: !0,\n                boxSizingReliable: !0,\n                pixelPosition: !1\n            };\n            i.checked = !0;\n            b.noCloneChecked = i.cloneNode(!0).checked;\n            f.disabled = !0;\n            b.optDisabled = !g.disabled;\n            try {\n                delete o.test;\n            } catch (p) {\n                b.deleteExpando = !1;\n            };\n        ;\n            if (((((!o.JSBNG__addEventListener && o.JSBNG__attachEvent)) && o.fireEvent))) {\n                o.JSBNG__attachEvent(\"JSBNG__onclick\", n = function() {\n                    b.noCloneEvent = !1;\n                });\n                o.cloneNode(!0).fireEvent(\"JSBNG__onclick\");\n                o.JSBNG__detachEvent(\"JSBNG__onclick\", n);\n            }\n        ;\n        ;\n            i = e.createElement(\"input\");\n            i.value = \"t\";\n            i.setAttribute(\"type\", \"radio\");\n            b.radioValue = ((i.value === \"t\"));\n            i.setAttribute(\"checked\", \"checked\");\n            i.setAttribute(\"JSBNG__name\", \"t\");\n            o.appendChild(i);\n            j = e.createDocumentFragment();\n            j.appendChild(o.lastChild);\n            b.checkClone = j.cloneNode(!0).cloneNode(!0).lastChild.checked;\n            b.appendChecked = i.checked;\n            j.removeChild(i);\n            j.appendChild(o);\n            if (o.JSBNG__attachEvent) {\n                {\n                    var fin21keys = ((window.top.JSBNG_Replay.forInKeys)(({\n                        submit: !0,\n                        change: !0,\n                        focusin: !0\n                    }))), fin21i = (0);\n                    (0);\n                    for (; (fin21i < fin21keys.length); (fin21i++)) {\n                        ((l) = (fin21keys[fin21i]));\n                        {\n                            k = ((\"JSBNG__on\" + l));\n                            m = ((k in o));\n                            if (!m) {\n                                o.setAttribute(k, \"return;\");\n                                m = ((typeof o[k] == \"function\"));\n                            }\n                        ;\n                        ;\n                            b[((l + \"Bubbles\"))] = m;\n                        };\n                    };\n                };\n            }\n        ;\n        ;\n            q(function() {\n                var c, d, f, g, i = \"padding:0;margin:0;border:0;display:block;overflow:hidden;\", j = e.getElementsByTagName(\"body\")[0];\n                if (!j) {\n                    return;\n                }\n            ;\n            ;\n                c = e.createElement(\"div\");\n                c.style.cssText = \"visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px\";\n                j.insertBefore(c, j.firstChild);\n                d = e.createElement(\"div\");\n                c.appendChild(d);\n                d.innerHTML = \"\\u003Ctable\\u003E\\u003Ctr\\u003E\\u003Ctd\\u003E\\u003C/td\\u003E\\u003Ctd\\u003Et\\u003C/td\\u003E\\u003C/tr\\u003E\\u003C/table\\u003E\";\n                f = d.getElementsByTagName(\"td\");\n                f[0].style.cssText = \"padding:0;margin:0;border:0;display:none\";\n                m = ((f[0].offsetHeight === 0));\n                f[0].style.display = \"\";\n                f[1].style.display = \"none\";\n                b.reliableHiddenOffsets = ((m && ((f[0].offsetHeight === 0))));\n                d.innerHTML = \"\";\n                d.style.cssText = \"box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;\";\n                b.boxSizing = ((d.offsetWidth === 4));\n                b.doesNotIncludeMarginInBodyOffset = ((j.offsetTop !== 1));\n                if (a.JSBNG__getComputedStyle) {\n                    b.pixelPosition = ((((a.JSBNG__getComputedStyle(d, null) || {\n                    })).JSBNG__top !== \"1%\"));\n                    b.boxSizingReliable = ((((a.JSBNG__getComputedStyle(d, null) || {\n                        width: \"4px\"\n                    })).width === \"4px\"));\n                    g = e.createElement(\"div\");\n                    g.style.cssText = d.style.cssText = i;\n                    g.style.marginRight = g.style.width = \"0\";\n                    d.style.width = \"1px\";\n                    d.appendChild(g);\n                    b.reliableMarginRight = !parseFloat(((a.JSBNG__getComputedStyle(g, null) || {\n                    })).marginRight);\n                }\n            ;\n            ;\n                if (((typeof d.style.zoom != \"undefined\"))) {\n                    d.innerHTML = \"\";\n                    d.style.cssText = ((i + \"width:1px;padding:1px;display:inline;zoom:1\"));\n                    b.inlineBlockNeedsLayout = ((d.offsetWidth === 3));\n                    d.style.display = \"block\";\n                    d.style.overflow = \"visible\";\n                    d.innerHTML = \"\\u003Cdiv\\u003E\\u003C/div\\u003E\";\n                    d.firstChild.style.width = \"5px\";\n                    b.shrinkWrapBlocks = ((d.offsetWidth !== 3));\n                    c.style.zoom = 1;\n                }\n            ;\n            ;\n                j.removeChild(c);\n                c = d = f = g = null;\n            });\n            j.removeChild(o);\n            c = d = f = g = i = j = o = null;\n            return b;\n        }();\n        var I = /(?:\\{[\\s\\S]*\\}|\\[[\\s\\S]*\\])$/, J = /([A-Z])/g;\n        q.extend({\n            cache: {\n            },\n            deletedIds: [],\n            uuid: 0,\n            expando: ((\"jQuery\" + ((q.fn.jquery + Math.JSBNG__random())).replace(/\\D/g, \"\"))),\n            noData: {\n                embed: !0,\n                object: \"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\",\n                applet: !0\n            },\n            hasData: function(a) {\n                a = ((a.nodeType ? q.cache[a[q.expando]] : a[q.expando]));\n                return ((!!a && !L(a)));\n            },\n            data: function(a, c, d, e) {\n                if (!q.acceptData(a)) {\n                    return;\n                }\n            ;\n            ;\n                var f, g, i = q.expando, j = ((typeof c == \"string\")), k = a.nodeType, l = ((k ? q.cache : a)), m = ((k ? a[i] : ((a[i] && i))));\n                if (((((((((!m || !l[m])) || ((!e && !l[m].data)))) && j)) && ((d === b))))) {\n                    return;\n                }\n            ;\n            ;\n                ((m || ((k ? a[i] = m = ((q.deletedIds.pop() || q.guid++)) : m = i))));\n                if (!l[m]) {\n                    l[m] = {\n                    };\n                    ((k || (l[m].toJSON = q.noop)));\n                }\n            ;\n            ;\n                if (((((typeof c == \"object\")) || ((typeof c == \"function\"))))) {\n                    ((e ? l[m] = q.extend(l[m], c) : l[m].data = q.extend(l[m].data, c)));\n                }\n            ;\n            ;\n                f = l[m];\n                if (!e) {\n                    ((f.data || (f.data = {\n                    })));\n                    f = f.data;\n                }\n            ;\n            ;\n                ((((d !== b)) && (f[q.camelCase(c)] = d)));\n                if (j) {\n                    g = f[c];\n                    ((((g == null)) && (g = f[q.camelCase(c)])));\n                }\n                 else g = f;\n            ;\n            ;\n                return g;\n            },\n            removeData: function(a, b, c) {\n                if (!q.acceptData(a)) {\n                    return;\n                }\n            ;\n            ;\n                var d, e, f, g = a.nodeType, i = ((g ? q.cache : a)), j = ((g ? a[q.expando] : q.expando));\n                if (!i[j]) {\n                    return;\n                }\n            ;\n            ;\n                if (b) {\n                    d = ((c ? i[j] : i[j].data));\n                    if (d) {\n                        if (!q.isArray(b)) {\n                            if (((b in d))) b = [b,];\n                             else {\n                                b = q.camelCase(b);\n                                ((((b in d)) ? b = [b,] : b = b.split(\" \")));\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                        for (e = 0, f = b.length; ((e < f)); e++) {\n                            delete d[b[e]];\n                        ;\n                        };\n                    ;\n                        if (!((c ? L : q.isEmptyObject))(d)) {\n                            return;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                if (!c) {\n                    delete i[j].data;\n                    if (!L(i[j])) {\n                        return;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                ((g ? q.cleanData([a,], !0) : ((((q.support.deleteExpando || ((i != i.window)))) ? delete i[j] : i[j] = null))));\n            },\n            _data: function(a, b, c) {\n                return q.data(a, b, c, !0);\n            },\n            acceptData: function(a) {\n                var b = ((a.nodeName && q.noData[a.nodeName.toLowerCase()]));\n                return ((!b || ((((b !== !0)) && ((a.getAttribute(\"classid\") === b))))));\n            }\n        });\n        q.fn.extend({\n            data: function(a, c) {\n                var d, e, f, g, i, j = this[0], k = 0, l = null;\n                if (((a === b))) {\n                    if (this.length) {\n                        l = q.data(j);\n                        if (((((j.nodeType === 1)) && !q._data(j, \"parsedAttrs\")))) {\n                            f = j.attributes;\n                            for (i = f.length; ((k < i)); k++) {\n                                g = f[k].JSBNG__name;\n                                if (!g.indexOf(\"data-\")) {\n                                    g = q.camelCase(g.substring(5));\n                                    K(j, g, l[g]);\n                                }\n                            ;\n                            ;\n                            };\n                        ;\n                            q._data(j, \"parsedAttrs\", !0);\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    return l;\n                }\n            ;\n            ;\n                if (((typeof a == \"object\"))) {\n                    return this.each(function() {\n                        q.data(this, a);\n                    });\n                }\n            ;\n            ;\n                d = a.split(\".\", 2);\n                d[1] = ((d[1] ? ((\".\" + d[1])) : \"\"));\n                e = ((d[1] + \"!\"));\n                return q.access(this, function(c) {\n                    if (((c === b))) {\n                        l = this.triggerHandler(((\"getData\" + e)), [d[0],]);\n                        if (((((l === b)) && j))) {\n                            l = q.data(j, a);\n                            l = K(j, a, l);\n                        }\n                    ;\n                    ;\n                        return ((((((l === b)) && d[1])) ? this.data(d[0]) : l));\n                    }\n                ;\n                ;\n                    d[1] = c;\n                    this.each(function() {\n                        var b = q(this);\n                        b.triggerHandler(((\"setData\" + e)), d);\n                        q.data(this, a, c);\n                        b.triggerHandler(((\"changeData\" + e)), d);\n                    });\n                }, null, c, ((arguments.length > 1)), null, !1);\n            },\n            removeData: function(a) {\n                return this.each(function() {\n                    q.removeData(this, a);\n                });\n            }\n        });\n        q.extend({\n            queue: function(a, b, c) {\n                var d;\n                if (a) {\n                    b = ((((b || \"fx\")) + \"queue\"));\n                    d = q._data(a, b);\n                    ((c && ((((!d || q.isArray(c))) ? d = q._data(a, b, q.makeArray(c)) : d.push(c)))));\n                    return ((d || []));\n                }\n            ;\n            ;\n            },\n            dequeue: function(a, b) {\n                b = ((b || \"fx\"));\n                var c = q.queue(a, b), d = c.length, e = c.shift(), f = q._queueHooks(a, b), g = function() {\n                    q.dequeue(a, b);\n                };\n                if (((e === \"inprogress\"))) {\n                    e = c.shift();\n                    d--;\n                }\n            ;\n            ;\n                if (e) {\n                    ((((b === \"fx\")) && c.unshift(\"inprogress\")));\n                    delete f.JSBNG__stop;\n                    e.call(a, g, f);\n                }\n            ;\n            ;\n                ((((!d && f)) && f.empty.fire()));\n            },\n            _queueHooks: function(a, b) {\n                var c = ((b + \"queueHooks\"));\n                return ((q._data(a, c) || q._data(a, c, {\n                    empty: q.Callbacks(\"once memory\").add(function() {\n                        q.removeData(a, ((b + \"queue\")), !0);\n                        q.removeData(a, c, !0);\n                    })\n                })));\n            }\n        });\n        q.fn.extend({\n            queue: function(a, c) {\n                var d = 2;\n                if (((typeof a != \"string\"))) {\n                    c = a;\n                    a = \"fx\";\n                    d--;\n                }\n            ;\n            ;\n                return ((((arguments.length < d)) ? q.queue(this[0], a) : ((((c === b)) ? this : this.each(function() {\n                    var b = q.queue(this, a, c);\n                    q._queueHooks(this, a);\n                    ((((((a === \"fx\")) && ((b[0] !== \"inprogress\")))) && q.dequeue(this, a)));\n                })))));\n            },\n            dequeue: function(a) {\n                return this.each(function() {\n                    q.dequeue(this, a);\n                });\n            },\n            delay: function(a, b) {\n                a = ((q.fx ? ((q.fx.speeds[a] || a)) : a));\n                b = ((b || \"fx\"));\n                return this.queue(b, function(b, c) {\n                    var d = JSBNG__setTimeout(b, a);\n                    c.JSBNG__stop = function() {\n                        JSBNG__clearTimeout(d);\n                    };\n                });\n            },\n            clearQueue: function(a) {\n                return this.queue(((a || \"fx\")), []);\n            },\n            promise: function(a, c) {\n                var d, e = 1, f = q.Deferred(), g = this, i = this.length, j = function() {\n                    ((--e || f.resolveWith(g, [g,])));\n                };\n                if (((typeof a != \"string\"))) {\n                    c = a;\n                    a = b;\n                }\n            ;\n            ;\n                a = ((a || \"fx\"));\n                while (i--) {\n                    d = q._data(g[i], ((a + \"queueHooks\")));\n                    if (((d && d.empty))) {\n                        e++;\n                        d.empty.add(j);\n                    }\n                ;\n                ;\n                };\n            ;\n                j();\n                return f.promise(c);\n            }\n        });\n        var M, N, O, P = /[\\t\\r\\n]/g, Q = /\\r/g, R = /^(?:button|input)$/i, S = /^(?:button|input|object|select|textarea)$/i, T = /^a(?:rea|)$/i, U = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, V = q.support.getSetAttribute;\n        q.fn.extend({\n            attr: function(a, b) {\n                return q.access(this, q.attr, a, b, ((arguments.length > 1)));\n            },\n            removeAttr: function(a) {\n                return this.each(function() {\n                    q.removeAttr(this, a);\n                });\n            },\n            prop: function(a, b) {\n                return q.access(this, q.prop, a, b, ((arguments.length > 1)));\n            },\n            removeProp: function(a) {\n                a = ((q.propFix[a] || a));\n                return this.each(function() {\n                    try {\n                        this[a] = b;\n                        delete this[a];\n                    } catch (c) {\n                    \n                    };\n                ;\n                });\n            },\n            addClass: function(a) {\n                var b, c, d, e, f, g, i;\n                if (q.isFunction(a)) {\n                    return this.each(function(b) {\n                        q(this).addClass(a.call(this, b, this.className));\n                    });\n                }\n            ;\n            ;\n                if (((a && ((typeof a == \"string\"))))) {\n                    b = a.split(t);\n                    for (c = 0, d = this.length; ((c < d)); c++) {\n                        e = this[c];\n                        if (((e.nodeType === 1))) {\n                            if (((!e.className && ((b.length === 1))))) e.className = a;\n                             else {\n                                f = ((((\" \" + e.className)) + \" \"));\n                                for (g = 0, i = b.length; ((g < i)); g++) {\n                                    ((((f.indexOf(((((\" \" + b[g])) + \" \"))) < 0)) && (f += ((b[g] + \" \")))));\n                                ;\n                                };\n                            ;\n                                e.className = q.trim(f);\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                return this;\n            },\n            removeClass: function(a) {\n                var c, d, e, f, g, i, j;\n                if (q.isFunction(a)) {\n                    return this.each(function(b) {\n                        q(this).removeClass(a.call(this, b, this.className));\n                    });\n                }\n            ;\n            ;\n                if (((((a && ((typeof a == \"string\")))) || ((a === b))))) {\n                    c = ((a || \"\")).split(t);\n                    for (i = 0, j = this.length; ((i < j)); i++) {\n                        e = this[i];\n                        if (((((e.nodeType === 1)) && e.className))) {\n                            d = ((((\" \" + e.className)) + \" \")).replace(P, \" \");\n                            for (f = 0, g = c.length; ((f < g)); f++) {\n                                while (((d.indexOf(((((\" \" + c[f])) + \" \"))) >= 0))) {\n                                    d = d.replace(((((\" \" + c[f])) + \" \")), \" \");\n                                ;\n                                };\n                            ;\n                            };\n                        ;\n                            e.className = ((a ? q.trim(d) : \"\"));\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                return this;\n            },\n            toggleClass: function(a, b) {\n                var c = typeof a, d = ((typeof b == \"boolean\"));\n                return ((q.isFunction(a) ? this.each(function(c) {\n                    q(this).toggleClass(a.call(this, c, this.className, b), b);\n                }) : this.each(function() {\n                    if (((c === \"string\"))) {\n                        var e, f = 0, g = q(this), i = b, j = a.split(t);\n                        while (e = j[f++]) {\n                            i = ((d ? i : !g.hasClass(e)));\n                            g[((i ? \"addClass\" : \"removeClass\"))](e);\n                        };\n                    ;\n                    }\n                     else if (((((c === \"undefined\")) || ((c === \"boolean\"))))) {\n                        ((this.className && q._data(this, \"__className__\", this.className)));\n                        this.className = ((((this.className || ((a === !1)))) ? \"\" : ((q._data(this, \"__className__\") || \"\"))));\n                    }\n                    \n                ;\n                ;\n                })));\n            },\n            hasClass: function(a) {\n                var b = ((((\" \" + a)) + \" \")), c = 0, d = this.length;\n                for (; ((c < d)); c++) {\n                    if (((((this[c].nodeType === 1)) && ((((((\" \" + this[c].className)) + \" \")).replace(P, \" \").indexOf(b) >= 0))))) {\n                        return !0;\n                    }\n                ;\n                ;\n                };\n            ;\n                return !1;\n            },\n            val: function(a) {\n                var c, d, e, f = this[0];\n                if (!arguments.length) {\n                    if (f) {\n                        c = ((q.valHooks[f.type] || q.valHooks[f.nodeName.toLowerCase()]));\n                        if (((((c && ((\"get\" in c)))) && (((d = c.get(f, \"value\")) !== b))))) {\n                            return d;\n                        }\n                    ;\n                    ;\n                        d = f.value;\n                        return ((((typeof d == \"string\")) ? d.replace(Q, \"\") : ((((d == null)) ? \"\" : d))));\n                    }\n                ;\n                ;\n                    return;\n                }\n            ;\n            ;\n                e = q.isFunction(a);\n                return this.each(function(d) {\n                    var f, g = q(this);\n                    if (((this.nodeType !== 1))) {\n                        return;\n                    }\n                ;\n                ;\n                    ((e ? f = a.call(this, d, g.val()) : f = a));\n                    ((((f == null)) ? f = \"\" : ((((typeof f == \"number\")) ? f += \"\" : ((q.isArray(f) && (f = q.map(f, function(a) {\n                        return ((((a == null)) ? \"\" : ((a + \"\"))));\n                    }))))))));\n                    c = ((q.valHooks[this.type] || q.valHooks[this.nodeName.toLowerCase()]));\n                    if (((((!c || !((\"set\" in c)))) || ((c.set(this, f, \"value\") === b))))) {\n                        this.value = f;\n                    }\n                ;\n                ;\n                });\n            }\n        });\n        q.extend({\n            valHooks: {\n                option: {\n                    get: function(a) {\n                        var b = a.attributes.value;\n                        return ((((!b || b.specified)) ? a.value : a.text));\n                    }\n                },\n                select: {\n                    get: function(a) {\n                        var b, c, d = a.options, e = a.selectedIndex, f = ((((a.type === \"select-one\")) || ((e < 0)))), g = ((f ? null : [])), i = ((f ? ((e + 1)) : d.length)), j = ((((e < 0)) ? i : ((f ? e : 0))));\n                        for (; ((j < i)); j++) {\n                            c = d[j];\n                            if (((((((c.selected || ((j === e)))) && ((q.support.optDisabled ? !c.disabled : ((c.getAttribute(\"disabled\") === null)))))) && ((!c.parentNode.disabled || !q.nodeName(c.parentNode, \"optgroup\")))))) {\n                                b = q(c).val();\n                                if (f) {\n                                    return b;\n                                }\n                            ;\n                            ;\n                                g.push(b);\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                        return g;\n                    },\n                    set: function(a, b) {\n                        var c = q.makeArray(b);\n                        q(a).JSBNG__find(\"option\").each(function() {\n                            this.selected = ((q.inArray(q(this).val(), c) >= 0));\n                        });\n                        ((c.length || (a.selectedIndex = -1)));\n                        return c;\n                    }\n                }\n            },\n            attrFn: {\n            },\n            attr: function(a, c, d, e) {\n                var f, g, i, j = a.nodeType;\n                if (((((((!a || ((j === 3)))) || ((j === 8)))) || ((j === 2))))) {\n                    return;\n                }\n            ;\n            ;\n                if (((e && q.isFunction(q.fn[c])))) {\n                    return q(a)[c](d);\n                }\n            ;\n            ;\n                if (((typeof a.getAttribute == \"undefined\"))) {\n                    return q.prop(a, c, d);\n                }\n            ;\n            ;\n                i = ((((j !== 1)) || !q.isXMLDoc(a)));\n                if (i) {\n                    c = c.toLowerCase();\n                    g = ((q.attrHooks[c] || ((U.test(c) ? N : M))));\n                }\n            ;\n            ;\n                if (((d !== b))) {\n                    if (((d === null))) {\n                        q.removeAttr(a, c);\n                        return;\n                    }\n                ;\n                ;\n                    if (((((((g && ((\"set\" in g)))) && i)) && (((f = g.set(a, d, c)) !== b))))) {\n                        return f;\n                    }\n                ;\n                ;\n                    a.setAttribute(c, ((d + \"\")));\n                    return d;\n                }\n            ;\n            ;\n                if (((((((g && ((\"get\" in g)))) && i)) && (((f = g.get(a, c)) !== null))))) {\n                    return f;\n                }\n            ;\n            ;\n                f = a.getAttribute(c);\n                return ((((f === null)) ? b : f));\n            },\n            removeAttr: function(a, b) {\n                var c, d, e, f, g = 0;\n                if (((b && ((a.nodeType === 1))))) {\n                    d = b.split(t);\n                    for (; ((g < d.length)); g++) {\n                        e = d[g];\n                        if (e) {\n                            c = ((q.propFix[e] || e));\n                            f = U.test(e);\n                            ((f || q.attr(a, e, \"\")));\n                            a.removeAttribute(((V ? e : c)));\n                            ((((f && ((c in a)))) && (a[c] = !1)));\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n            },\n            attrHooks: {\n                type: {\n                    set: function(a, b) {\n                        if (((R.test(a.nodeName) && a.parentNode))) {\n                            q.error(\"type property can't be changed\");\n                        }\n                         else {\n                            if (((((!q.support.radioValue && ((b === \"radio\")))) && q.nodeName(a, \"input\")))) {\n                                var c = a.value;\n                                a.setAttribute(\"type\", b);\n                                ((c && (a.value = c)));\n                                return b;\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                },\n                value: {\n                    get: function(a, b) {\n                        return ((((M && q.nodeName(a, \"button\"))) ? M.get(a, b) : ((((b in a)) ? a.value : null))));\n                    },\n                    set: function(a, b, c) {\n                        if (((M && q.nodeName(a, \"button\")))) {\n                            return M.set(a, b, c);\n                        }\n                    ;\n                    ;\n                        a.value = b;\n                    }\n                }\n            },\n            propFix: {\n                tabindex: \"tabIndex\",\n                readonly: \"readOnly\",\n                \"for\": \"htmlFor\",\n                class: \"className\",\n                maxlength: \"maxLength\",\n                cellspacing: \"cellSpacing\",\n                cellpadding: \"cellPadding\",\n                rowspan: \"rowSpan\",\n                colspan: \"colSpan\",\n                usemap: \"useMap\",\n                frameborder: \"frameBorder\",\n                contenteditable: \"contentEditable\"\n            },\n            prop: function(a, c, d) {\n                var e, f, g, i = a.nodeType;\n                if (((((((!a || ((i === 3)))) || ((i === 8)))) || ((i === 2))))) {\n                    return;\n                }\n            ;\n            ;\n                g = ((((i !== 1)) || !q.isXMLDoc(a)));\n                if (g) {\n                    c = ((q.propFix[c] || c));\n                    f = q.propHooks[c];\n                }\n            ;\n            ;\n                return ((((d !== b)) ? ((((((f && ((\"set\" in f)))) && (((e = f.set(a, d, c)) !== b)))) ? e : a[c] = d)) : ((((((f && ((\"get\" in f)))) && (((e = f.get(a, c)) !== null)))) ? e : a[c]))));\n            },\n            propHooks: {\n                tabIndex: {\n                    get: function(a) {\n                        var c = a.getAttributeNode(\"tabindex\");\n                        return ((((c && c.specified)) ? parseInt(c.value, 10) : ((((S.test(a.nodeName) || ((T.test(a.nodeName) && a.href)))) ? 0 : b))));\n                    }\n                }\n            }\n        });\n        N = {\n            get: function(a, c) {\n                var d, e = q.prop(a, c);\n                return ((((((e === !0)) || ((((((typeof e != \"boolean\")) && (d = a.getAttributeNode(c)))) && ((d.nodeValue !== !1)))))) ? c.toLowerCase() : b));\n            },\n            set: function(a, b, c) {\n                var d;\n                if (((b === !1))) q.removeAttr(a, c);\n                 else {\n                    d = ((q.propFix[c] || c));\n                    ((((d in a)) && (a[d] = !0)));\n                    a.setAttribute(c, c.toLowerCase());\n                }\n            ;\n            ;\n                return c;\n            }\n        };\n        if (!V) {\n            O = {\n                JSBNG__name: !0,\n                id: !0,\n                coords: !0\n            };\n            M = q.valHooks.button = {\n                get: function(a, c) {\n                    var d;\n                    d = a.getAttributeNode(c);\n                    return ((((d && ((O[c] ? ((d.value !== \"\")) : d.specified)))) ? d.value : b));\n                },\n                set: function(a, b, c) {\n                    var d = a.getAttributeNode(c);\n                    if (!d) {\n                        d = e.createAttribute(c);\n                        a.setAttributeNode(d);\n                    }\n                ;\n                ;\n                    return d.value = ((b + \"\"));\n                }\n            };\n            q.each([\"width\",\"height\",], function(a, b) {\n                q.attrHooks[b] = q.extend(q.attrHooks[b], {\n                    set: function(a, c) {\n                        if (((c === \"\"))) {\n                            a.setAttribute(b, \"auto\");\n                            return c;\n                        }\n                    ;\n                    ;\n                    }\n                });\n            });\n            q.attrHooks.contenteditable = {\n                get: M.get,\n                set: function(a, b, c) {\n                    ((((b === \"\")) && (b = \"false\")));\n                    M.set(a, b, c);\n                }\n            };\n        }\n    ;\n    ;\n        ((q.support.hrefNormalized || q.each([\"href\",\"src\",\"width\",\"height\",], function(a, c) {\n            q.attrHooks[c] = q.extend(q.attrHooks[c], {\n                get: function(a) {\n                    var d = a.getAttribute(c, 2);\n                    return ((((d === null)) ? b : d));\n                }\n            });\n        })));\n        ((q.support.style || (q.attrHooks.style = {\n            get: function(a) {\n                return ((a.style.cssText.toLowerCase() || b));\n            },\n            set: function(a, b) {\n                return a.style.cssText = ((b + \"\"));\n            }\n        })));\n        ((q.support.optSelected || (q.propHooks.selected = q.extend(q.propHooks.selected, {\n            get: function(a) {\n                var b = a.parentNode;\n                if (b) {\n                    b.selectedIndex;\n                    ((b.parentNode && b.parentNode.selectedIndex));\n                }\n            ;\n            ;\n                return null;\n            }\n        }))));\n        ((q.support.enctype || (q.propFix.enctype = \"encoding\")));\n        ((q.support.checkOn || q.each([\"radio\",\"checkbox\",], function() {\n            q.valHooks[this] = {\n                get: function(a) {\n                    return ((((a.getAttribute(\"value\") === null)) ? \"JSBNG__on\" : a.value));\n                }\n            };\n        })));\n        q.each([\"radio\",\"checkbox\",], function() {\n            q.valHooks[this] = q.extend(q.valHooks[this], {\n                set: function(a, b) {\n                    if (q.isArray(b)) {\n                        return a.checked = ((q.inArray(q(a).val(), b) >= 0));\n                    }\n                ;\n                ;\n                }\n            });\n        });\n        var W = /^(?:textarea|input|select)$/i, X = /^([^\\.]*|)(?:\\.(.+)|)$/, Y = /(?:^|\\s)hover(\\.\\S+|)\\b/, Z = /^key/, ab = /^(?:mouse|contextmenu)|click/, bb = /^(?:focusinfocus|focusoutblur)$/, cb = function(a) {\n            return ((q.JSBNG__event.special.hover ? a : a.replace(Y, \"mouseenter$1 mouseleave$1\")));\n        };\n        q.JSBNG__event = {\n            add: function(a, c, d, e, f) {\n                var g, i, j, k, l, m, n, o, p, r, s;\n                if (((((((((((a.nodeType === 3)) || ((a.nodeType === 8)))) || !c)) || !d)) || !(g = q._data(a))))) {\n                    return;\n                }\n            ;\n            ;\n                if (d.handler) {\n                    p = d;\n                    d = p.handler;\n                    f = p.selector;\n                }\n            ;\n            ;\n                ((d.guid || (d.guid = q.guid++)));\n                j = g.events;\n                ((j || (g.events = j = {\n                })));\n                i = g.handle;\n                if (!i) {\n                    g.handle = i = function(a) {\n                        return ((((((typeof q == \"undefined\")) || ((!!a && ((q.JSBNG__event.triggered === a.type)))))) ? b : q.JSBNG__event.dispatch.apply(i.elem, arguments)));\n                    };\n                    i.elem = a;\n                }\n            ;\n            ;\n                c = q.trim(cb(c)).split(\" \");\n                for (k = 0; ((k < c.length)); k++) {\n                    l = ((X.exec(c[k]) || []));\n                    m = l[1];\n                    n = ((l[2] || \"\")).split(\".\").sort();\n                    s = ((q.JSBNG__event.special[m] || {\n                    }));\n                    m = ((((f ? s.delegateType : s.bindType)) || m));\n                    s = ((q.JSBNG__event.special[m] || {\n                    }));\n                    o = q.extend({\n                        type: m,\n                        origType: l[1],\n                        data: e,\n                        handler: d,\n                        guid: d.guid,\n                        selector: f,\n                        needsContext: ((f && q.expr.match.needsContext.test(f))),\n                        namespace: n.join(\".\")\n                    }, p);\n                    r = j[m];\n                    if (!r) {\n                        r = j[m] = [];\n                        r.delegateCount = 0;\n                        if (((!s.setup || ((s.setup.call(a, e, n, i) === !1))))) {\n                            ((a.JSBNG__addEventListener ? a.JSBNG__addEventListener(m, i, !1) : ((a.JSBNG__attachEvent && a.JSBNG__attachEvent(((\"JSBNG__on\" + m)), i)))));\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    if (s.add) {\n                        s.add.call(a, o);\n                        ((o.handler.guid || (o.handler.guid = d.guid)));\n                    }\n                ;\n                ;\n                    ((f ? r.splice(r.delegateCount++, 0, o) : r.push(o)));\n                    q.JSBNG__event.global[m] = !0;\n                };\n            ;\n                a = null;\n            },\n            global: {\n            },\n            remove: function(a, b, c, d, e) {\n                var f, g, i, j, k, l, m, n, o, p, r, s = ((q.hasData(a) && q._data(a)));\n                if (((!s || !(n = s.events)))) {\n                    return;\n                }\n            ;\n            ;\n                b = q.trim(cb(((b || \"\")))).split(\" \");\n                for (f = 0; ((f < b.length)); f++) {\n                    g = ((X.exec(b[f]) || []));\n                    i = j = g[1];\n                    k = g[2];\n                    if (!i) {\n                        {\n                            var fin22keys = ((window.top.JSBNG_Replay.forInKeys)((n))), fin22i = (0);\n                            (0);\n                            for (; (fin22i < fin22keys.length); (fin22i++)) {\n                                ((i) = (fin22keys[fin22i]));\n                                {\n                                    q.JSBNG__event.remove(a, ((i + b[f])), c, d, !0);\n                                ;\n                                };\n                            };\n                        };\n                    ;\n                        continue;\n                    }\n                ;\n                ;\n                    o = ((q.JSBNG__event.special[i] || {\n                    }));\n                    i = ((((d ? o.delegateType : o.bindType)) || i));\n                    p = ((n[i] || []));\n                    l = p.length;\n                    k = ((k ? new RegExp(((((\"(^|\\\\.)\" + k.split(\".\").sort().join(\"\\\\.(?:.*\\\\.|)\"))) + \"(\\\\.|$)\"))) : null));\n                    for (m = 0; ((m < p.length)); m++) {\n                        r = p[m];\n                        if (((((((((e || ((j === r.origType)))) && ((!c || ((c.guid === r.guid)))))) && ((!k || k.test(r.namespace))))) && ((((!d || ((d === r.selector)))) || ((((d === \"**\")) && r.selector))))))) {\n                            p.splice(m--, 1);\n                            ((r.selector && p.delegateCount--));\n                            ((o.remove && o.remove.call(a, r)));\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    if (((((p.length === 0)) && ((l !== p.length))))) {\n                        ((((!o.teardown || ((o.teardown.call(a, k, s.handle) === !1)))) && q.removeEvent(a, i, s.handle)));\n                        delete n[i];\n                    }\n                ;\n                ;\n                };\n            ;\n                if (q.isEmptyObject(n)) {\n                    delete s.handle;\n                    q.removeData(a, \"events\", !0);\n                }\n            ;\n            ;\n            },\n            customEvent: {\n                getData: !0,\n                setData: !0,\n                changeData: !0\n            },\n            trigger: function(c, d, f, g) {\n                if (((!f || ((((f.nodeType !== 3)) && ((f.nodeType !== 8))))))) {\n                    var i, j, k, l, m, n, o, p, r, s, t = ((c.type || c)), u = [];\n                    if (bb.test(((t + q.JSBNG__event.triggered)))) {\n                        return;\n                    }\n                ;\n                ;\n                    if (((t.indexOf(\"!\") >= 0))) {\n                        t = t.slice(0, -1);\n                        j = !0;\n                    }\n                ;\n                ;\n                    if (((t.indexOf(\".\") >= 0))) {\n                        u = t.split(\".\");\n                        t = u.shift();\n                        u.sort();\n                    }\n                ;\n                ;\n                    if (((((!f || q.JSBNG__event.customEvent[t])) && !q.JSBNG__event.global[t]))) {\n                        return;\n                    }\n                ;\n                ;\n                    c = ((((typeof c == \"object\")) ? ((c[q.expando] ? c : new q.JSBNG__Event(t, c))) : new q.JSBNG__Event(t)));\n                    c.type = t;\n                    c.isTrigger = !0;\n                    c.exclusive = j;\n                    c.namespace = u.join(\".\");\n                    c.namespace_re = ((c.namespace ? new RegExp(((((\"(^|\\\\.)\" + u.join(\"\\\\.(?:.*\\\\.|)\"))) + \"(\\\\.|$)\"))) : null));\n                    n = ((((t.indexOf(\":\") < 0)) ? ((\"JSBNG__on\" + t)) : \"\"));\n                    if (!f) {\n                        i = q.cache;\n                        {\n                            var fin23keys = ((window.top.JSBNG_Replay.forInKeys)((i))), fin23i = (0);\n                            (0);\n                            for (; (fin23i < fin23keys.length); (fin23i++)) {\n                                ((k) = (fin23keys[fin23i]));\n                                {\n                                    ((((i[k].events && i[k].events[t])) && q.JSBNG__event.trigger(c, d, i[k].handle.elem, !0)));\n                                ;\n                                };\n                            };\n                        };\n                    ;\n                        return;\n                    }\n                ;\n                ;\n                    c.result = b;\n                    ((c.target || (c.target = f)));\n                    d = ((((d != null)) ? q.makeArray(d) : []));\n                    d.unshift(c);\n                    o = ((q.JSBNG__event.special[t] || {\n                    }));\n                    if (((o.trigger && ((o.trigger.apply(f, d) === !1))))) {\n                        return;\n                    }\n                ;\n                ;\n                    r = [[f,((o.bindType || t)),],];\n                    if (((((!g && !o.noBubble)) && !q.isWindow(f)))) {\n                        s = ((o.delegateType || t));\n                        l = ((bb.test(((s + t))) ? f : f.parentNode));\n                        for (m = f; l; l = l.parentNode) {\n                            r.push([l,s,]);\n                            m = l;\n                        };\n                    ;\n                        ((((m === ((f.ownerDocument || e)))) && r.push([((((m.defaultView || m.parentWindow)) || a)),s,])));\n                    }\n                ;\n                ;\n                    for (k = 0; ((((k < r.length)) && !c.isPropagationStopped())); k++) {\n                        l = r[k][0];\n                        c.type = r[k][1];\n                        p = ((((q._data(l, \"events\") || {\n                        }))[c.type] && q._data(l, \"handle\")));\n                        ((p && p.apply(l, d)));\n                        p = ((n && l[n]));\n                        ((((((((p && q.acceptData(l))) && p.apply)) && ((p.apply(l, d) === !1)))) && c.preventDefault()));\n                    };\n                ;\n                    c.type = t;\n                    if (((((((((((((((((!g && !c.isDefaultPrevented())) && ((!o._default || ((o._default.apply(f.ownerDocument, d) === !1)))))) && ((((t !== \"click\")) || !q.nodeName(f, \"a\"))))) && q.acceptData(f))) && n)) && f[t])) && ((((((t !== \"JSBNG__focus\")) && ((t !== \"JSBNG__blur\")))) || ((c.target.offsetWidth !== 0)))))) && !q.isWindow(f)))) {\n                        m = f[n];\n                        ((m && (f[n] = null)));\n                        q.JSBNG__event.triggered = t;\n                        f[t]();\n                        q.JSBNG__event.triggered = b;\n                        ((m && (f[n] = m)));\n                    }\n                ;\n                ;\n                    return c.result;\n                }\n            ;\n            ;\n                return;\n            },\n            dispatch: function(c) {\n                c = q.JSBNG__event.fix(((c || a.JSBNG__event)));\n                var d, e, f, g, i, j, k, m, n, o, p = ((((q._data(this, \"events\") || {\n                }))[c.type] || [])), r = p.delegateCount, s = l.call(arguments), t = ((!c.exclusive && !c.namespace)), u = ((q.JSBNG__event.special[c.type] || {\n                })), v = [];\n                s[0] = c;\n                c.delegateTarget = this;\n                if (((u.preDispatch && ((u.preDispatch.call(this, c) === !1))))) {\n                    return;\n                }\n            ;\n            ;\n                if (((r && ((!c.button || ((c.type !== \"click\"))))))) {\n                    for (f = c.target; ((f != this)); f = ((f.parentNode || this))) {\n                        if (((((f.disabled !== !0)) || ((c.type !== \"click\"))))) {\n                            i = {\n                            };\n                            k = [];\n                            for (d = 0; ((d < r)); d++) {\n                                m = p[d];\n                                n = m.selector;\n                                ((((i[n] === b)) && (i[n] = ((m.needsContext ? ((q(n, this).index(f) >= 0)) : q.JSBNG__find(n, this, null, [f,]).length)))));\n                                ((i[n] && k.push(m)));\n                            };\n                        ;\n                            ((k.length && v.push({\n                                elem: f,\n                                matches: k\n                            })));\n                        }\n                    ;\n                    ;\n                    };\n                }\n            ;\n            ;\n                ((((p.length > r)) && v.push({\n                    elem: this,\n                    matches: p.slice(r)\n                })));\n                for (d = 0; ((((d < v.length)) && !c.isPropagationStopped())); d++) {\n                    j = v[d];\n                    c.currentTarget = j.elem;\n                    for (e = 0; ((((e < j.matches.length)) && !c.isImmediatePropagationStopped())); e++) {\n                        m = j.matches[e];\n                        if (((((t || ((!c.namespace && !m.namespace)))) || ((c.namespace_re && c.namespace_re.test(m.namespace)))))) {\n                            c.data = m.data;\n                            c.handleObj = m;\n                            g = ((((q.JSBNG__event.special[m.origType] || {\n                            })).handle || m.handler)).apply(j.elem, s);\n                            if (((g !== b))) {\n                                c.result = g;\n                                if (((g === !1))) {\n                                    c.preventDefault();\n                                    c.stopPropagation();\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                };\n            ;\n                ((u.postDispatch && u.postDispatch.call(this, c)));\n                return c.result;\n            },\n            props: \"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which\".split(\" \"),\n            fixHooks: {\n            },\n            keyHooks: {\n                props: \"char charCode key keyCode\".split(\" \"),\n                filter: function(a, b) {\n                    ((((a.which == null)) && (a.which = ((((b.charCode != null)) ? b.charCode : b.keyCode)))));\n                    return a;\n                }\n            },\n            mouseHooks: {\n                props: \"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement\".split(\" \"),\n                filter: function(a, c) {\n                    var d, f, g, i = c.button, j = c.fromElement;\n                    if (((((a.pageX == null)) && ((c.clientX != null))))) {\n                        d = ((a.target.ownerDocument || e));\n                        f = d.documentElement;\n                        g = d.body;\n                        a.pageX = ((((c.clientX + ((((((f && f.scrollLeft)) || ((g && g.scrollLeft)))) || 0)))) - ((((((f && f.clientLeft)) || ((g && g.clientLeft)))) || 0))));\n                        a.pageY = ((((c.clientY + ((((((f && f.scrollTop)) || ((g && g.scrollTop)))) || 0)))) - ((((((f && f.clientTop)) || ((g && g.clientTop)))) || 0))));\n                    }\n                ;\n                ;\n                    ((((!a.relatedTarget && j)) && (a.relatedTarget = ((((j === a.target)) ? c.toElement : j)))));\n                    ((((!a.which && ((i !== b)))) && (a.which = ((((i & 1)) ? 1 : ((((i & 2)) ? 3 : ((((i & 4)) ? 2 : 0)))))))));\n                    return a;\n                }\n            },\n            fix: function(a) {\n                if (a[q.expando]) {\n                    return a;\n                }\n            ;\n            ;\n                var b, c, d = a, f = ((q.JSBNG__event.fixHooks[a.type] || {\n                })), g = ((f.props ? this.props.concat(f.props) : this.props));\n                a = q.JSBNG__Event(d);\n                for (b = g.length; b; ) {\n                    c = g[--b];\n                    a[c] = d[c];\n                };\n            ;\n                ((a.target || (a.target = ((d.srcElement || e)))));\n                ((((a.target.nodeType === 3)) && (a.target = a.target.parentNode)));\n                a.metaKey = !!a.metaKey;\n                return ((f.filter ? f.filter(a, d) : a));\n            },\n            special: {\n                load: {\n                    noBubble: !0\n                },\n                JSBNG__focus: {\n                    delegateType: \"focusin\"\n                },\n                JSBNG__blur: {\n                    delegateType: \"focusout\"\n                },\n                beforeunload: {\n                    setup: function(a, b, c) {\n                        ((q.isWindow(this) && (this.JSBNG__onbeforeunload = c)));\n                    },\n                    teardown: function(a, b) {\n                        ((((this.JSBNG__onbeforeunload === b)) && (this.JSBNG__onbeforeunload = null)));\n                    }\n                }\n            },\n            simulate: function(a, b, c, d) {\n                var e = q.extend(new q.JSBNG__Event, c, {\n                    type: a,\n                    isSimulated: !0,\n                    originalEvent: {\n                    }\n                });\n                ((d ? q.JSBNG__event.trigger(e, null, b) : q.JSBNG__event.dispatch.call(b, e)));\n                ((e.isDefaultPrevented() && c.preventDefault()));\n            }\n        };\n        q.JSBNG__event.handle = q.JSBNG__event.dispatch;\n        q.removeEvent = ((e.JSBNG__removeEventListener ? function(a, b, c) {\n            ((a.JSBNG__removeEventListener && a.JSBNG__removeEventListener(b, c, !1)));\n        } : function(a, b, c) {\n            var d = ((\"JSBNG__on\" + b));\n            if (a.JSBNG__detachEvent) {\n                ((((typeof a[d] == \"undefined\")) && (a[d] = null)));\n                a.JSBNG__detachEvent(d, c);\n            }\n        ;\n        ;\n        }));\n        q.JSBNG__Event = function(a, b) {\n            if (!((this instanceof q.JSBNG__Event))) {\n                return new q.JSBNG__Event(a, b);\n            }\n        ;\n        ;\n            if (((a && a.type))) {\n                this.originalEvent = a;\n                this.type = a.type;\n                this.isDefaultPrevented = ((((((a.defaultPrevented || ((a.returnValue === !1)))) || ((a.getPreventDefault && a.getPreventDefault())))) ? eb : db));\n            }\n             else this.type = a;\n        ;\n        ;\n            ((b && q.extend(this, b)));\n            this.timeStamp = ((((a && a.timeStamp)) || q.now()));\n            this[q.expando] = !0;\n        };\n        q.JSBNG__Event.prototype = {\n            preventDefault: function() {\n                this.isDefaultPrevented = eb;\n                var a = this.originalEvent;\n                if (!a) {\n                    return;\n                }\n            ;\n            ;\n                ((a.preventDefault ? a.preventDefault() : a.returnValue = !1));\n            },\n            stopPropagation: function() {\n                this.isPropagationStopped = eb;\n                var a = this.originalEvent;\n                if (!a) {\n                    return;\n                }\n            ;\n            ;\n                ((a.stopPropagation && a.stopPropagation()));\n                a.cancelBubble = !0;\n            },\n            stopImmediatePropagation: function() {\n                this.isImmediatePropagationStopped = eb;\n                this.stopPropagation();\n            },\n            isDefaultPrevented: db,\n            isPropagationStopped: db,\n            isImmediatePropagationStopped: db\n        };\n        q.each({\n            mouseenter: \"mouseover\",\n            mouseleave: \"mouseout\"\n        }, function(a, b) {\n            q.JSBNG__event.special[a] = {\n                delegateType: b,\n                bindType: b,\n                handle: function(a) {\n                    var c, d = this, e = a.relatedTarget, f = a.handleObj, g = f.selector;\n                    if (((!e || ((((e !== d)) && !q.contains(d, e)))))) {\n                        a.type = f.origType;\n                        c = f.handler.apply(this, arguments);\n                        a.type = b;\n                    }\n                ;\n                ;\n                    return c;\n                }\n            };\n        });\n        ((q.support.submitBubbles || (q.JSBNG__event.special.submit = {\n            setup: function() {\n                if (q.nodeName(this, \"form\")) {\n                    return !1;\n                }\n            ;\n            ;\n                q.JSBNG__event.add(this, \"click._submit keypress._submit\", function(a) {\n                    var c = a.target, d = ((((q.nodeName(c, \"input\") || q.nodeName(c, \"button\"))) ? c.form : b));\n                    if (((d && !q._data(d, \"_submit_attached\")))) {\n                        q.JSBNG__event.add(d, \"submit._submit\", function(a) {\n                            a._submit_bubble = !0;\n                        });\n                        q._data(d, \"_submit_attached\", !0);\n                    }\n                ;\n                ;\n                });\n            },\n            postDispatch: function(a) {\n                if (a._submit_bubble) {\n                    delete a._submit_bubble;\n                    ((((this.parentNode && !a.isTrigger)) && q.JSBNG__event.simulate(\"submit\", this.parentNode, a, !0)));\n                }\n            ;\n            ;\n            },\n            teardown: function() {\n                if (q.nodeName(this, \"form\")) {\n                    return !1;\n                }\n            ;\n            ;\n                q.JSBNG__event.remove(this, \"._submit\");\n            }\n        })));\n        ((q.support.changeBubbles || (q.JSBNG__event.special.change = {\n            setup: function() {\n                if (W.test(this.nodeName)) {\n                    if (((((this.type === \"checkbox\")) || ((this.type === \"radio\"))))) {\n                        q.JSBNG__event.add(this, \"propertychange._change\", function(a) {\n                            ((((a.originalEvent.propertyName === \"checked\")) && (this._just_changed = !0)));\n                        });\n                        q.JSBNG__event.add(this, \"click._change\", function(a) {\n                            ((((this._just_changed && !a.isTrigger)) && (this._just_changed = !1)));\n                            q.JSBNG__event.simulate(\"change\", this, a, !0);\n                        });\n                    }\n                ;\n                ;\n                    return !1;\n                }\n            ;\n            ;\n                q.JSBNG__event.add(this, \"beforeactivate._change\", function(a) {\n                    var b = a.target;\n                    if (((W.test(b.nodeName) && !q._data(b, \"_change_attached\")))) {\n                        q.JSBNG__event.add(b, \"change._change\", function(a) {\n                            ((((((this.parentNode && !a.isSimulated)) && !a.isTrigger)) && q.JSBNG__event.simulate(\"change\", this.parentNode, a, !0)));\n                        });\n                        q._data(b, \"_change_attached\", !0);\n                    }\n                ;\n                ;\n                });\n            },\n            handle: function(a) {\n                var b = a.target;\n                if (((((((((this !== b)) || a.isSimulated)) || a.isTrigger)) || ((((b.type !== \"radio\")) && ((b.type !== \"checkbox\"))))))) {\n                    return a.handleObj.handler.apply(this, arguments);\n                }\n            ;\n            ;\n            },\n            teardown: function() {\n                q.JSBNG__event.remove(this, \"._change\");\n                return !W.test(this.nodeName);\n            }\n        })));\n        ((q.support.focusinBubbles || q.each({\n            JSBNG__focus: \"focusin\",\n            JSBNG__blur: \"focusout\"\n        }, function(a, b) {\n            var c = 0, d = function(a) {\n                q.JSBNG__event.simulate(b, a.target, q.JSBNG__event.fix(a), !0);\n            };\n            q.JSBNG__event.special[b] = {\n                setup: function() {\n                    ((((c++ === 0)) && e.JSBNG__addEventListener(a, d, !0)));\n                },\n                teardown: function() {\n                    ((((--c === 0)) && e.JSBNG__removeEventListener(a, d, !0)));\n                }\n            };\n        })));\n        q.fn.extend({\n            JSBNG__on: function(a, c, d, e, f) {\n                var g, i;\n                if (((typeof a == \"object\"))) {\n                    if (((typeof c != \"string\"))) {\n                        d = ((d || c));\n                        c = b;\n                    }\n                ;\n                ;\n                    {\n                        var fin24keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin24i = (0);\n                        (0);\n                        for (; (fin24i < fin24keys.length); (fin24i++)) {\n                            ((i) = (fin24keys[fin24i]));\n                            {\n                                this.JSBNG__on(i, c, d, a[i], f);\n                            ;\n                            };\n                        };\n                    };\n                ;\n                    return this;\n                }\n            ;\n            ;\n                if (((((d == null)) && ((e == null))))) {\n                    e = c;\n                    d = c = b;\n                }\n                 else if (((e == null))) {\n                    if (((typeof c == \"string\"))) {\n                        e = d;\n                        d = b;\n                    }\n                     else {\n                        e = d;\n                        d = c;\n                        c = b;\n                    }\n                ;\n                }\n                \n            ;\n            ;\n                if (((e === !1))) {\n                    e = db;\n                }\n                 else {\n                    if (!e) {\n                        return this;\n                    }\n                ;\n                }\n            ;\n            ;\n                if (((f === 1))) {\n                    g = e;\n                    e = function(a) {\n                        q().off(a);\n                        return g.apply(this, arguments);\n                    };\n                    e.guid = ((g.guid || (g.guid = q.guid++)));\n                }\n            ;\n            ;\n                return this.each(function() {\n                    q.JSBNG__event.add(this, a, e, d, c);\n                });\n            },\n            one: function(a, b, c, d) {\n                return this.JSBNG__on(a, b, c, d, 1);\n            },\n            off: function(a, c, d) {\n                var e, f;\n                if (((((a && a.preventDefault)) && a.handleObj))) {\n                    e = a.handleObj;\n                    q(a.delegateTarget).off(((e.namespace ? ((((e.origType + \".\")) + e.namespace)) : e.origType)), e.selector, e.handler);\n                    return this;\n                }\n            ;\n            ;\n                if (((typeof a == \"object\"))) {\n                    {\n                        var fin25keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin25i = (0);\n                        (0);\n                        for (; (fin25i < fin25keys.length); (fin25i++)) {\n                            ((f) = (fin25keys[fin25i]));\n                            {\n                                this.off(f, c, a[f]);\n                            ;\n                            };\n                        };\n                    };\n                ;\n                    return this;\n                }\n            ;\n            ;\n                if (((((c === !1)) || ((typeof c == \"function\"))))) {\n                    d = c;\n                    c = b;\n                }\n            ;\n            ;\n                ((((d === !1)) && (d = db)));\n                return this.each(function() {\n                    q.JSBNG__event.remove(this, a, d, c);\n                });\n            },\n            bind: function(a, b, c) {\n                return this.JSBNG__on(a, null, b, c);\n            },\n            unbind: function(a, b) {\n                return this.off(a, null, b);\n            },\n            live: function(a, b, c) {\n                q(this.context).JSBNG__on(a, this.selector, b, c);\n                return this;\n            },\n            die: function(a, b) {\n                q(this.context).off(a, ((this.selector || \"**\")), b);\n                return this;\n            },\n            delegate: function(a, b, c, d) {\n                return this.JSBNG__on(b, a, c, d);\n            },\n            undelegate: function(a, b, c) {\n                return ((((arguments.length === 1)) ? this.off(a, \"**\") : this.off(b, ((a || \"**\")), c)));\n            },\n            trigger: function(a, b) {\n                return this.each(function() {\n                    q.JSBNG__event.trigger(a, b, this);\n                });\n            },\n            triggerHandler: function(a, b) {\n                if (this[0]) {\n                    return q.JSBNG__event.trigger(a, b, this[0], !0);\n                }\n            ;\n            ;\n            },\n            toggle: function(a) {\n                var b = arguments, c = ((a.guid || q.guid++)), d = 0, e = function(c) {\n                    var e = ((((q._data(this, ((\"lastToggle\" + a.guid))) || 0)) % d));\n                    q._data(this, ((\"lastToggle\" + a.guid)), ((e + 1)));\n                    c.preventDefault();\n                    return ((b[e].apply(this, arguments) || !1));\n                };\n                e.guid = c;\n                while (((d < b.length))) {\n                    b[d++].guid = c;\n                ;\n                };\n            ;\n                return this.click(e);\n            },\n            hover: function(a, b) {\n                return this.mouseenter(a).mouseleave(((b || a)));\n            }\n        });\n        q.each(\"blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu\".split(\" \"), function(a, b) {\n            q.fn[b] = function(a, c) {\n                if (((c == null))) {\n                    c = a;\n                    a = null;\n                }\n            ;\n            ;\n                return ((((arguments.length > 0)) ? this.JSBNG__on(b, null, a, c) : this.trigger(b)));\n            };\n            ((Z.test(b) && (q.JSBNG__event.fixHooks[b] = q.JSBNG__event.keyHooks)));\n            ((ab.test(b) && (q.JSBNG__event.fixHooks[b] = q.JSBNG__event.mouseHooks)));\n        });\n        (function(a, b) {\n            function fb(a, b, c, d) {\n                c = ((c || []));\n                b = ((b || s));\n                var e, f, j, k, l = b.nodeType;\n                if (((!a || ((typeof a != \"string\"))))) {\n                    return c;\n                }\n            ;\n            ;\n                if (((((l !== 1)) && ((l !== 9))))) {\n                    return [];\n                }\n            ;\n            ;\n                j = g(b);\n                if (((!j && !d))) {\n                    if (e = Q.exec(a)) {\n                        if (k = e[1]) {\n                            if (((l === 9))) {\n                                f = b.getElementById(k);\n                                if (((!f || !f.parentNode))) {\n                                    return c;\n                                }\n                            ;\n                            ;\n                                if (((f.id === k))) {\n                                    c.push(f);\n                                    return c;\n                                }\n                            ;\n                            ;\n                            }\n                             else if (((((((b.ownerDocument && (f = b.ownerDocument.getElementById(k)))) && i(b, f))) && ((f.id === k))))) {\n                                c.push(f);\n                                return c;\n                            }\n                            \n                        ;\n                        ;\n                        }\n                         else {\n                            if (e[2]) {\n                                x.apply(c, y.call(b.getElementsByTagName(a), 0));\n                                return c;\n                            }\n                        ;\n                        ;\n                            if ((((((k = e[3]) && cb)) && b.getElementsByClassName))) {\n                                x.apply(c, y.call(b.getElementsByClassName(k), 0));\n                                return c;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    }\n                ;\n                }\n            ;\n            ;\n                return sb(a.replace(M, \"$1\"), b, c, d, j);\n            };\n        ;\n            function gb(a) {\n                return function(b) {\n                    var c = b.nodeName.toLowerCase();\n                    return ((((c === \"input\")) && ((b.type === a))));\n                };\n            };\n        ;\n            function hb(a) {\n                return function(b) {\n                    var c = b.nodeName.toLowerCase();\n                    return ((((((c === \"input\")) || ((c === \"button\")))) && ((b.type === a))));\n                };\n            };\n        ;\n            function ib(a) {\n                return A(function(b) {\n                    b = +b;\n                    return A(function(c, d) {\n                        var e, f = a([], c.length, b), g = f.length;\n                        while (g--) {\n                            ((c[e = f[g]] && (c[e] = !(d[e] = c[e]))));\n                        ;\n                        };\n                    ;\n                    });\n                });\n            };\n        ;\n            function jb(a, b, c) {\n                if (((a === b))) {\n                    return c;\n                }\n            ;\n            ;\n                var d = a.nextSibling;\n                while (d) {\n                    if (((d === b))) {\n                        return -1;\n                    }\n                ;\n                ;\n                    d = d.nextSibling;\n                };\n            ;\n                return 1;\n            };\n        ;\n            function kb(a, b) {\n                var c, d, f, g, i, j, k, l = D[p][((a + \" \"))];\n                if (l) {\n                    return ((b ? 0 : l.slice(0)));\n                }\n            ;\n            ;\n                i = a;\n                j = [];\n                k = e.preFilter;\n                while (i) {\n                    if (((!c || (d = N.exec(i))))) {\n                        ((d && (i = ((i.slice(d[0].length) || i)))));\n                        j.push(f = []);\n                    }\n                ;\n                ;\n                    c = !1;\n                    if (d = O.exec(i)) {\n                        f.push(c = new r(d.shift()));\n                        i = i.slice(c.length);\n                        c.type = d[0].replace(M, \" \");\n                    }\n                ;\n                ;\n                    {\n                        var fin26keys = ((window.top.JSBNG_Replay.forInKeys)((e.filter))), fin26i = (0);\n                        (0);\n                        for (; (fin26i < fin26keys.length); (fin26i++)) {\n                            ((g) = (fin26keys[fin26i]));\n                            {\n                                if ((((d = X[g].exec(i)) && ((!k[g] || (d = k[g](d))))))) {\n                                    f.push(c = new r(d.shift()));\n                                    i = i.slice(c.length);\n                                    c.type = g;\n                                    c.matches = d;\n                                }\n                            ;\n                            ;\n                            };\n                        };\n                    };\n                ;\n                    if (!c) {\n                        break;\n                    }\n                ;\n                ;\n                };\n            ;\n                return ((b ? i.length : ((i ? fb.error(a) : D(a, j).slice(0)))));\n            };\n        ;\n            function lb(a, b, d) {\n                var e = b.dir, f = ((d && ((b.dir === \"parentNode\")))), g = v++;\n                return ((b.first ? function(b, c, d) {\n                    while (b = b[e]) {\n                        if (((f || ((b.nodeType === 1))))) {\n                            return a(b, c, d);\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                } : function(b, d, i) {\n                    if (!i) {\n                        var j, k = ((((((u + \" \")) + g)) + \" \")), l = ((k + c));\n                        while (b = b[e]) {\n                            if (((f || ((b.nodeType === 1))))) {\n                                if ((((j = b[p]) === l))) {\n                                    return b.sizset;\n                                }\n                            ;\n                            ;\n                                if (((((typeof j == \"string\")) && ((j.indexOf(k) === 0))))) {\n                                    if (b.sizset) {\n                                        return b;\n                                    }\n                                ;\n                                ;\n                                }\n                                 else {\n                                    b[p] = l;\n                                    if (a(b, d, i)) {\n                                        b.sizset = !0;\n                                        return b;\n                                    }\n                                ;\n                                ;\n                                    b.sizset = !1;\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                    }\n                     else while (b = b[e]) {\n                        if (((f || ((b.nodeType === 1))))) {\n                            if (a(b, d, i)) {\n                                return b;\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                }));\n            };\n        ;\n            function mb(a) {\n                return ((((a.length > 1)) ? function(b, c, d) {\n                    var e = a.length;\n                    while (e--) {\n                        if (!a[e](b, c, d)) {\n                            return !1;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    return !0;\n                } : a[0]));\n            };\n        ;\n            function nb(a, b, c, d, e) {\n                var f, g = [], i = 0, j = a.length, k = ((b != null));\n                for (; ((i < j)); i++) {\n                    if (f = a[i]) {\n                        if (((!c || c(f, d, e)))) {\n                            g.push(f);\n                            ((k && b.push(i)));\n                        }\n                    ;\n                    }\n                ;\n                ;\n                };\n            ;\n                return g;\n            };\n        ;\n            function ob(a, b, c, d, e, f) {\n                ((((d && !d[p])) && (d = ob(d))));\n                ((((e && !e[p])) && (e = ob(e, f))));\n                return A(function(f, g, i, j) {\n                    var k, l, m, n = [], o = [], p = g.length, q = ((f || rb(((b || \"*\")), ((i.nodeType ? [i,] : i)), []))), r = ((((a && ((f || !b)))) ? nb(q, n, a, i, j) : q)), s = ((c ? ((((e || ((f ? a : ((p || d)))))) ? [] : g)) : r));\n                    ((c && c(r, s, i, j)));\n                    if (d) {\n                        k = nb(s, o);\n                        d(k, [], i, j);\n                        l = k.length;\n                        while (l--) {\n                            if (m = k[l]) {\n                                s[o[l]] = !(r[o[l]] = m);\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                    }\n                ;\n                ;\n                    if (f) {\n                        if (((e || a))) {\n                            if (e) {\n                                k = [];\n                                l = s.length;\n                                while (l--) {\n                                    (((m = s[l]) && k.push(r[l] = m)));\n                                ;\n                                };\n                            ;\n                                e(null, s = [], k, j);\n                            }\n                        ;\n                        ;\n                            l = s.length;\n                            while (l--) {\n                                (((((m = s[l]) && (((k = ((e ? z.call(f, m) : n[l]))) > -1)))) && (f[k] = !(g[k] = m))));\n                            ;\n                            };\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                     else {\n                        s = nb(((((s === g)) ? s.splice(p, s.length) : s)));\n                        ((e ? e(null, g, s, j) : x.apply(g, s)));\n                    }\n                ;\n                ;\n                });\n            };\n        ;\n            function pb(a) {\n                var b, c, d, f = a.length, g = e.relative[a[0].type], i = ((g || e.relative[\" \"])), j = ((g ? 1 : 0)), k = lb(function(a) {\n                    return ((a === b));\n                }, i, !0), l = lb(function(a) {\n                    return ((z.call(b, a) > -1));\n                }, i, !0), n = [function(a, c, d) {\n                    return ((((!g && ((d || ((c !== m)))))) || (((b = c).nodeType ? k(a, c, d) : l(a, c, d)))));\n                },];\n                for (; ((j < f)); j++) {\n                    if (c = e.relative[a[j].type]) n = [lb(mb(n), c),];\n                     else {\n                        c = e.filter[a[j].type].apply(null, a[j].matches);\n                        if (c[p]) {\n                            d = ++j;\n                            for (; ((d < f)); d++) {\n                                if (e.relative[a[d].type]) {\n                                    break;\n                                }\n                            ;\n                            ;\n                            };\n                        ;\n                            return ob(((((j > 1)) && mb(n))), ((((j > 1)) && a.slice(0, ((j - 1))).join(\"\").replace(M, \"$1\"))), c, ((((j < d)) && pb(a.slice(j, d)))), ((((d < f)) && pb(a = a.slice(d)))), ((((d < f)) && a.join(\"\"))));\n                        }\n                    ;\n                    ;\n                        n.push(c);\n                    }\n                ;\n                ;\n                };\n            ;\n                return mb(n);\n            };\n        ;\n            function qb(a, b) {\n                var d = ((b.length > 0)), f = ((a.length > 0)), g = function(i, j, k, l, n) {\n                    var o, p, q, r = [], t = 0, v = \"0\", y = ((i && [])), z = ((n != null)), A = m, B = ((i || ((f && e.JSBNG__find.TAG(\"*\", ((((n && j.parentNode)) || j))))))), C = u += ((((A == null)) ? 1 : Math.E));\n                    if (z) {\n                        m = ((((j !== s)) && j));\n                        c = g.el;\n                    }\n                ;\n                ;\n                    for (; (((o = B[v]) != null)); v++) {\n                        if (((f && o))) {\n                            for (p = 0; q = a[p]; p++) {\n                                if (q(o, j, k)) {\n                                    l.push(o);\n                                    break;\n                                }\n                            ;\n                            ;\n                            };\n                        ;\n                            if (z) {\n                                u = C;\n                                c = ++g.el;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        if (d) {\n                            (((o = ((!q && o))) && t--));\n                            ((i && y.push(o)));\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    t += v;\n                    if (((d && ((v !== t))))) {\n                        for (p = 0; q = b[p]; p++) {\n                            q(y, r, j, k);\n                        ;\n                        };\n                    ;\n                        if (i) {\n                            if (((t > 0))) {\n                                while (v--) {\n                                    ((((!y[v] && !r[v])) && (r[v] = w.call(l))));\n                                ;\n                                };\n                            }\n                        ;\n                        ;\n                            r = nb(r);\n                        }\n                    ;\n                    ;\n                        x.apply(l, r);\n                        ((((((((z && !i)) && ((r.length > 0)))) && ((((t + b.length)) > 1)))) && fb.uniqueSort(l)));\n                    }\n                ;\n                ;\n                    if (z) {\n                        u = C;\n                        m = A;\n                    }\n                ;\n                ;\n                    return y;\n                };\n                g.el = 0;\n                return ((d ? A(g) : g));\n            };\n        ;\n            function rb(a, b, c) {\n                var d = 0, e = b.length;\n                for (; ((d < e)); d++) {\n                    fb(a, b[d], c);\n                ;\n                };\n            ;\n                return c;\n            };\n        ;\n            function sb(a, b, c, d, f) {\n                var g, i, k, l, m, n = kb(a), o = n.length;\n                if (((!d && ((n.length === 1))))) {\n                    i = n[0] = n[0].slice(0);\n                    if (((((((((((i.length > 2)) && (((k = i[0]).type === \"ID\")))) && ((b.nodeType === 9)))) && !f)) && e.relative[i[1].type]))) {\n                        b = e.JSBNG__find.ID(k.matches[0].replace(W, \"\"), b, f)[0];\n                        if (!b) {\n                            return c;\n                        }\n                    ;\n                    ;\n                        a = a.slice(i.shift().length);\n                    }\n                ;\n                ;\n                    for (g = ((X.POS.test(a) ? -1 : ((i.length - 1)))); ((g >= 0)); g--) {\n                        k = i[g];\n                        if (e.relative[l = k.type]) {\n                            break;\n                        }\n                    ;\n                    ;\n                        if (m = e.JSBNG__find[l]) {\n                            if (d = m(k.matches[0].replace(W, \"\"), ((((S.test(i[0].type) && b.parentNode)) || b)), f)) {\n                                i.splice(g, 1);\n                                a = ((d.length && i.join(\"\")));\n                                if (!a) {\n                                    x.apply(c, y.call(d, 0));\n                                    return c;\n                                }\n                            ;\n                            ;\n                                break;\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                j(a, n)(d, b, f, c, S.test(a));\n                return c;\n            };\n        ;\n            function tb() {\n            \n            };\n        ;\n            var c, d, e, f, g, i, j, k, l, m, n = !0, o = \"undefined\", p = ((\"sizcache\" + Math.JSBNG__random())).replace(\".\", \"\"), r = String, s = a.JSBNG__document, t = s.documentElement, u = 0, v = 0, w = [].pop, x = [].push, y = [].slice, z = (([].indexOf || function(a) {\n                var b = 0, c = this.length;\n                for (; ((b < c)); b++) {\n                    if (((this[b] === a))) {\n                        return b;\n                    }\n                ;\n                ;\n                };\n            ;\n                return -1;\n            })), A = function(a, b) {\n                a[p] = ((((b == null)) || b));\n                return a;\n            }, B = function() {\n                var a = {\n                }, b = [];\n                return A(function(c, d) {\n                    ((((b.push(c) > e.cacheLength)) && delete a[b.shift()]));\n                    return a[((c + \" \"))] = d;\n                }, a);\n            }, C = B(), D = B(), E = B(), F = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\", G = \"(?:\\\\\\\\.|[-\\\\w]|[^\\\\x00-\\\\xa0])+\", H = G.replace(\"w\", \"w#\"), I = \"([*^$|!~]?=)\", J = ((((((((((((((((((((((((((\"\\\\[\" + F)) + \"*(\")) + G)) + \")\")) + F)) + \"*(?:\")) + I)) + F)) + \"*(?:(['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\3|(\")) + H)) + \")|)|)\")) + F)) + \"*\\\\]\")), K = ((((((((\":(\" + G)) + \")(?:\\\\((?:(['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\2|([^()[\\\\]]*|(?:(?:\")) + J)) + \")|[^:]|\\\\\\\\.)*|.*))\\\\)|)\")), L = ((((((((\":(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" + F)) + \"*((?:-\\\\d)?\\\\d*)\")) + F)) + \"*\\\\)|)(?=[^-]|$)\")), M = new RegExp(((((((((\"^\" + F)) + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\")) + F)) + \"+$\")), \"g\"), N = new RegExp(((((((((\"^\" + F)) + \"*,\")) + F)) + \"*\"))), O = new RegExp(((((((((\"^\" + F)) + \"*([\\\\x20\\\\t\\\\r\\\\n\\\\f\\u003E+~])\")) + F)) + \"*\"))), P = new RegExp(K), Q = /^(?:#([\\w\\-]+)|(\\w+)|\\.([\\w\\-]+))$/, R = /^:not/, S = /[\\x20\\t\\r\\n\\f]*[+~]/, T = /:not\\($/, U = /h\\d/i, V = /input|select|textarea|button/i, W = /\\\\(?!\\\\)/g, X = {\n                ID: new RegExp(((((\"^#(\" + G)) + \")\"))),\n                CLASS: new RegExp(((((\"^\\\\.(\" + G)) + \")\"))),\n                NAME: new RegExp(((((\"^\\\\[name=['\\\"]?(\" + G)) + \")['\\\"]?\\\\]\"))),\n                TAG: new RegExp(((((\"^(\" + G.replace(\"w\", \"w*\"))) + \")\"))),\n                ATTR: new RegExp(((\"^\" + J))),\n                PSEUDO: new RegExp(((\"^\" + K))),\n                POS: new RegExp(L, \"i\"),\n                CHILD: new RegExp(((((((((((((((((\"^:(only|nth|first|last)-child(?:\\\\(\" + F)) + \"*(even|odd|(([+-]|)(\\\\d*)n|)\")) + F)) + \"*(?:([+-]|)\")) + F)) + \"*(\\\\d+)|))\")) + F)) + \"*\\\\)|)\")), \"i\"),\n                needsContext: new RegExp(((((((\"^\" + F)) + \"*[\\u003E+~]|\")) + L)), \"i\")\n            }, Y = function(a) {\n                var b = s.createElement(\"div\");\n                try {\n                    return a(b);\n                } catch (c) {\n                    return !1;\n                } finally {\n                    b = null;\n                };\n            ;\n            }, Z = Y(function(a) {\n                a.appendChild(s.createComment(\"\"));\n                return !a.getElementsByTagName(\"*\").length;\n            }), ab = Y(function(a) {\n                a.innerHTML = \"\\u003Ca href='#'\\u003E\\u003C/a\\u003E\";\n                return ((((a.firstChild && ((typeof a.firstChild.getAttribute !== o)))) && ((a.firstChild.getAttribute(\"href\") === \"#\"))));\n            }), bb = Y(function(a) {\n                a.innerHTML = \"\\u003Cselect\\u003E\\u003C/select\\u003E\";\n                var b = typeof a.lastChild.getAttribute(\"multiple\");\n                return ((((b !== \"boolean\")) && ((b !== \"string\"))));\n            }), cb = Y(function(a) {\n                a.innerHTML = \"\\u003Cdiv class='hidden e'\\u003E\\u003C/div\\u003E\\u003Cdiv class='hidden'\\u003E\\u003C/div\\u003E\";\n                if (((!a.getElementsByClassName || !a.getElementsByClassName(\"e\").length))) {\n                    return !1;\n                }\n            ;\n            ;\n                a.lastChild.className = \"e\";\n                return ((a.getElementsByClassName(\"e\").length === 2));\n            }), db = Y(function(a) {\n                a.id = ((p + 0));\n                a.innerHTML = ((((((((\"\\u003Ca name='\" + p)) + \"'\\u003E\\u003C/a\\u003E\\u003Cdiv name='\")) + p)) + \"'\\u003E\\u003C/div\\u003E\"));\n                t.insertBefore(a, t.firstChild);\n                var b = ((s.getElementsByName && ((s.getElementsByName(p).length === ((2 + s.getElementsByName(((p + 0))).length))))));\n                d = !s.getElementById(p);\n                t.removeChild(a);\n                return b;\n            });\n            try {\n                y.call(t.childNodes, 0)[0].nodeType;\n            } catch (eb) {\n                y = function(a) {\n                    var b, c = [];\n                    for (; b = this[a]; a++) {\n                        c.push(b);\n                    ;\n                    };\n                ;\n                    return c;\n                };\n            };\n        ;\n            fb.matches = function(a, b) {\n                return fb(a, null, null, b);\n            };\n            fb.matchesSelector = function(a, b) {\n                return ((fb(b, null, null, [a,]).length > 0));\n            };\n            f = fb.getText = function(a) {\n                var b, c = \"\", d = 0, e = a.nodeType;\n                if (e) {\n                    if (((((((e === 1)) || ((e === 9)))) || ((e === 11))))) {\n                        if (((typeof a.textContent == \"string\"))) {\n                            return a.textContent;\n                        }\n                    ;\n                    ;\n                        for (a = a.firstChild; a; a = a.nextSibling) {\n                            c += f(a);\n                        ;\n                        };\n                    ;\n                    }\n                     else if (((((e === 3)) || ((e === 4))))) {\n                        return a.nodeValue;\n                    }\n                    \n                ;\n                ;\n                }\n                 else for (; b = a[d]; d++) {\n                    c += f(b);\n                ;\n                }\n            ;\n            ;\n                return c;\n            };\n            g = fb.isXML = function(a) {\n                var b = ((a && ((a.ownerDocument || a)).documentElement));\n                return ((b ? ((b.nodeName !== \"HTML\")) : !1));\n            };\n            i = fb.contains = ((t.contains ? function(a, b) {\n                var c = ((((a.nodeType === 9)) ? a.documentElement : a)), d = ((b && b.parentNode));\n                return ((((a === d)) || !!((((((d && ((d.nodeType === 1)))) && c.contains)) && c.contains(d)))));\n            } : ((t.compareDocumentPosition ? function(a, b) {\n                return ((b && !!((a.compareDocumentPosition(b) & 16))));\n            } : function(a, b) {\n                while (b = b.parentNode) {\n                    if (((b === a))) {\n                        return !0;\n                    }\n                ;\n                ;\n                };\n            ;\n                return !1;\n            }))));\n            fb.attr = function(a, b) {\n                var c, d = g(a);\n                ((d || (b = b.toLowerCase())));\n                if (c = e.attrHandle[b]) {\n                    return c(a);\n                }\n            ;\n            ;\n                if (((d || bb))) {\n                    return a.getAttribute(b);\n                }\n            ;\n            ;\n                c = a.getAttributeNode(b);\n                return ((c ? ((((typeof a[b] == \"boolean\")) ? ((a[b] ? b : null)) : ((c.specified ? c.value : null)))) : null));\n            };\n            e = fb.selectors = {\n                cacheLength: 50,\n                createPseudo: A,\n                match: X,\n                attrHandle: ((ab ? {\n                } : {\n                    href: function(a) {\n                        return a.getAttribute(\"href\", 2);\n                    },\n                    type: function(a) {\n                        return a.getAttribute(\"type\");\n                    }\n                })),\n                JSBNG__find: {\n                    ID: ((d ? function(a, b, c) {\n                        if (((((typeof b.getElementById !== o)) && !c))) {\n                            var d = b.getElementById(a);\n                            return ((((d && d.parentNode)) ? [d,] : []));\n                        }\n                    ;\n                    ;\n                    } : function(a, c, d) {\n                        if (((((typeof c.getElementById !== o)) && !d))) {\n                            var e = c.getElementById(a);\n                            return ((e ? ((((((e.id === a)) || ((((typeof e.getAttributeNode !== o)) && ((e.getAttributeNode(\"id\").value === a)))))) ? [e,] : b)) : []));\n                        }\n                    ;\n                    ;\n                    })),\n                    TAG: ((Z ? function(a, b) {\n                        if (((typeof b.getElementsByTagName !== o))) {\n                            return b.getElementsByTagName(a);\n                        }\n                    ;\n                    ;\n                    } : function(a, b) {\n                        var c = b.getElementsByTagName(a);\n                        if (((a === \"*\"))) {\n                            var d, e = [], f = 0;\n                            for (; d = c[f]; f++) {\n                                ((((d.nodeType === 1)) && e.push(d)));\n                            ;\n                            };\n                        ;\n                            return e;\n                        }\n                    ;\n                    ;\n                        return c;\n                    })),\n                    NAME: ((db && function(a, b) {\n                        if (((typeof b.getElementsByName !== o))) {\n                            return b.getElementsByName(JSBNG__name);\n                        }\n                    ;\n                    ;\n                    })),\n                    CLASS: ((cb && function(a, b, c) {\n                        if (((((typeof b.getElementsByClassName !== o)) && !c))) {\n                            return b.getElementsByClassName(a);\n                        }\n                    ;\n                    ;\n                    }))\n                },\n                relative: {\n                    \"\\u003E\": {\n                        dir: \"parentNode\",\n                        first: !0\n                    },\n                    \" \": {\n                        dir: \"parentNode\"\n                    },\n                    \"+\": {\n                        dir: \"previousSibling\",\n                        first: !0\n                    },\n                    \"~\": {\n                        dir: \"previousSibling\"\n                    }\n                },\n                preFilter: {\n                    ATTR: function(a) {\n                        a[1] = a[1].replace(W, \"\");\n                        a[3] = ((((a[4] || a[5])) || \"\")).replace(W, \"\");\n                        ((((a[2] === \"~=\")) && (a[3] = ((((\" \" + a[3])) + \" \")))));\n                        return a.slice(0, 4);\n                    },\n                    CHILD: function(a) {\n                        a[1] = a[1].toLowerCase();\n                        if (((a[1] === \"nth\"))) {\n                            ((a[2] || fb.error(a[0])));\n                            a[3] = +((a[3] ? ((a[4] + ((a[5] || 1)))) : ((2 * ((((a[2] === \"even\")) || ((a[2] === \"odd\"))))))));\n                            a[4] = +((((a[6] + a[7])) || ((a[2] === \"odd\"))));\n                        }\n                         else ((a[2] && fb.error(a[0])));\n                    ;\n                    ;\n                        return a;\n                    },\n                    PSEUDO: function(a) {\n                        var b, c;\n                        if (X.CHILD.test(a[0])) {\n                            return null;\n                        }\n                    ;\n                    ;\n                        if (a[3]) {\n                            a[2] = a[3];\n                        }\n                         else {\n                            if (b = a[4]) {\n                                if (((((P.test(b) && (c = kb(b, !0)))) && (c = ((b.indexOf(\")\", ((b.length - c))) - b.length)))))) {\n                                    b = b.slice(0, c);\n                                    a[0] = a[0].slice(0, c);\n                                }\n                            ;\n                            ;\n                                a[2] = b;\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                        return a.slice(0, 3);\n                    }\n                },\n                filter: {\n                    ID: ((d ? function(a) {\n                        a = a.replace(W, \"\");\n                        return function(b) {\n                            return ((b.getAttribute(\"id\") === a));\n                        };\n                    } : function(a) {\n                        a = a.replace(W, \"\");\n                        return function(b) {\n                            var c = ((((typeof b.getAttributeNode !== o)) && b.getAttributeNode(\"id\")));\n                            return ((c && ((c.value === a))));\n                        };\n                    })),\n                    TAG: function(a) {\n                        if (((a === \"*\"))) {\n                            return function() {\n                                return !0;\n                            };\n                        }\n                    ;\n                    ;\n                        a = a.replace(W, \"\").toLowerCase();\n                        return function(b) {\n                            return ((b.nodeName && ((b.nodeName.toLowerCase() === a))));\n                        };\n                    },\n                    CLASS: function(a) {\n                        var b = C[p][((a + \" \"))];\n                        return ((b || (((b = new RegExp(((((((((((((\"(^|\" + F)) + \")\")) + a)) + \"(\")) + F)) + \"|$)\")))) && C(a, function(a) {\n                            return b.test(((((a.className || ((((typeof a.getAttribute !== o)) && a.getAttribute(\"class\"))))) || \"\")));\n                        })))));\n                    },\n                    ATTR: function(a, b, c) {\n                        return function(d, e) {\n                            var f = fb.attr(d, a);\n                            if (((f == null))) {\n                                return ((b === \"!=\"));\n                            }\n                        ;\n                        ;\n                            if (!b) {\n                                return !0;\n                            }\n                        ;\n                        ;\n                            f += \"\";\n                            return ((((b === \"=\")) ? ((f === c)) : ((((b === \"!=\")) ? ((f !== c)) : ((((b === \"^=\")) ? ((c && ((f.indexOf(c) === 0)))) : ((((b === \"*=\")) ? ((c && ((f.indexOf(c) > -1)))) : ((((b === \"$=\")) ? ((c && ((f.substr(((f.length - c.length))) === c)))) : ((((b === \"~=\")) ? ((((((\" \" + f)) + \" \")).indexOf(c) > -1)) : ((((b === \"|=\")) ? ((((f === c)) || ((f.substr(0, ((c.length + 1))) === ((c + \"-\")))))) : !1))))))))))))));\n                        };\n                    },\n                    CHILD: function(a, b, c, d) {\n                        return ((((a === \"nth\")) ? function(a) {\n                            var b, e, f = a.parentNode;\n                            if (((((c === 1)) && ((d === 0))))) {\n                                return !0;\n                            }\n                        ;\n                        ;\n                            if (f) {\n                                e = 0;\n                                for (b = f.firstChild; b; b = b.nextSibling) {\n                                    if (((b.nodeType === 1))) {\n                                        e++;\n                                        if (((a === b))) {\n                                            break;\n                                        }\n                                    ;\n                                    ;\n                                    }\n                                ;\n                                ;\n                                };\n                            ;\n                            }\n                        ;\n                        ;\n                            e -= d;\n                            return ((((e === c)) || ((((((e % c)) === 0)) && ((((e / c)) >= 0))))));\n                        } : function(b) {\n                            var c = b;\n                            switch (a) {\n                              case \"only\":\n                            \n                              case \"first\":\n                                while (c = c.previousSibling) {\n                                    if (((c.nodeType === 1))) {\n                                        return !1;\n                                    }\n                                ;\n                                ;\n                                };\n                            ;\n                                if (((a === \"first\"))) {\n                                    return !0;\n                                }\n                            ;\n                            ;\n                                c = b;\n                              case \"last\":\n                                while (c = c.nextSibling) {\n                                    if (((c.nodeType === 1))) {\n                                        return !1;\n                                    }\n                                ;\n                                ;\n                                };\n                            ;\n                                return !0;\n                            };\n                        ;\n                        }));\n                    },\n                    PSEUDO: function(a, b) {\n                        var c, d = ((((e.pseudos[a] || e.setFilters[a.toLowerCase()])) || fb.error(((\"unsupported pseudo: \" + a)))));\n                        if (d[p]) {\n                            return d(b);\n                        }\n                    ;\n                    ;\n                        if (((d.length > 1))) {\n                            c = [a,a,\"\",b,];\n                            return ((e.setFilters.hasOwnProperty(a.toLowerCase()) ? A(function(a, c) {\n                                var e, f = d(a, b), g = f.length;\n                                while (g--) {\n                                    e = z.call(a, f[g]);\n                                    a[e] = !(c[e] = f[g]);\n                                };\n                            ;\n                            }) : function(a) {\n                                return d(a, 0, c);\n                            }));\n                        }\n                    ;\n                    ;\n                        return d;\n                    }\n                },\n                pseudos: {\n                    not: A(function(a) {\n                        var b = [], c = [], d = j(a.replace(M, \"$1\"));\n                        return ((d[p] ? A(function(a, b, c, e) {\n                            var f, g = d(a, null, e, []), i = a.length;\n                            while (i--) {\n                                if (f = g[i]) {\n                                    a[i] = !(b[i] = f);\n                                }\n                            ;\n                            ;\n                            };\n                        ;\n                        }) : function(a, e, f) {\n                            b[0] = a;\n                            d(b, null, f, c);\n                            return !c.pop();\n                        }));\n                    }),\n                    has: A(function(a) {\n                        return function(b) {\n                            return ((fb(a, b).length > 0));\n                        };\n                    }),\n                    contains: A(function(a) {\n                        return function(b) {\n                            return ((((((b.textContent || b.innerText)) || f(b))).indexOf(a) > -1));\n                        };\n                    }),\n                    enabled: function(a) {\n                        return ((a.disabled === !1));\n                    },\n                    disabled: function(a) {\n                        return ((a.disabled === !0));\n                    },\n                    checked: function(a) {\n                        var b = a.nodeName.toLowerCase();\n                        return ((((((b === \"input\")) && !!a.checked)) || ((((b === \"option\")) && !!a.selected))));\n                    },\n                    selected: function(a) {\n                        ((a.parentNode && a.parentNode.selectedIndex));\n                        return ((a.selected === !0));\n                    },\n                    parent: function(a) {\n                        return !e.pseudos.empty(a);\n                    },\n                    empty: function(a) {\n                        var b;\n                        a = a.firstChild;\n                        while (a) {\n                            if (((((((a.nodeName > \"@\")) || (((b = a.nodeType) === 3)))) || ((b === 4))))) {\n                                return !1;\n                            }\n                        ;\n                        ;\n                            a = a.nextSibling;\n                        };\n                    ;\n                        return !0;\n                    },\n                    header: function(a) {\n                        return U.test(a.nodeName);\n                    },\n                    text: function(a) {\n                        var b, c;\n                        return ((((((a.nodeName.toLowerCase() === \"input\")) && (((b = a.type) === \"text\")))) && (((((c = a.getAttribute(\"type\")) == null)) || ((c.toLowerCase() === b))))));\n                    },\n                    radio: gb(\"radio\"),\n                    checkbox: gb(\"checkbox\"),\n                    file: gb(\"file\"),\n                    password: gb(\"password\"),\n                    image: gb(\"image\"),\n                    submit: hb(\"submit\"),\n                    reset: hb(\"reset\"),\n                    button: function(a) {\n                        var b = a.nodeName.toLowerCase();\n                        return ((((((b === \"input\")) && ((a.type === \"button\")))) || ((b === \"button\"))));\n                    },\n                    input: function(a) {\n                        return V.test(a.nodeName);\n                    },\n                    JSBNG__focus: function(a) {\n                        var b = a.ownerDocument;\n                        return ((((((a === b.activeElement)) && ((!b.hasFocus || b.hasFocus())))) && !!((((a.type || a.href)) || ~a.tabIndex))));\n                    },\n                    active: function(a) {\n                        return ((a === a.ownerDocument.activeElement));\n                    },\n                    first: ib(function() {\n                        return [0,];\n                    }),\n                    last: ib(function(a, b) {\n                        return [((b - 1)),];\n                    }),\n                    eq: ib(function(a, b, c) {\n                        return [((((c < 0)) ? ((c + b)) : c)),];\n                    }),\n                    even: ib(function(a, b) {\n                        for (var c = 0; ((c < b)); c += 2) {\n                            a.push(c);\n                        ;\n                        };\n                    ;\n                        return a;\n                    }),\n                    odd: ib(function(a, b) {\n                        for (var c = 1; ((c < b)); c += 2) {\n                            a.push(c);\n                        ;\n                        };\n                    ;\n                        return a;\n                    }),\n                    lt: ib(function(a, b, c) {\n                        for (var d = ((((c < 0)) ? ((c + b)) : c)); ((--d >= 0)); ) {\n                            a.push(d);\n                        ;\n                        };\n                    ;\n                        return a;\n                    }),\n                    gt: ib(function(a, b, c) {\n                        for (var d = ((((c < 0)) ? ((c + b)) : c)); ((++d < b)); ) {\n                            a.push(d);\n                        ;\n                        };\n                    ;\n                        return a;\n                    })\n                }\n            };\n            k = ((t.compareDocumentPosition ? function(a, b) {\n                if (((a === b))) {\n                    l = !0;\n                    return 0;\n                }\n            ;\n            ;\n                return ((((((!a.compareDocumentPosition || !b.compareDocumentPosition)) ? a.compareDocumentPosition : ((a.compareDocumentPosition(b) & 4)))) ? -1 : 1));\n            } : function(a, b) {\n                if (((a === b))) {\n                    l = !0;\n                    return 0;\n                }\n            ;\n            ;\n                if (((a.sourceIndex && b.sourceIndex))) {\n                    return ((a.sourceIndex - b.sourceIndex));\n                }\n            ;\n            ;\n                var c, d, e = [], f = [], g = a.parentNode, i = b.parentNode, j = g;\n                if (((g === i))) {\n                    return jb(a, b);\n                }\n            ;\n            ;\n                if (!g) {\n                    return -1;\n                }\n            ;\n            ;\n                if (!i) {\n                    return 1;\n                }\n            ;\n            ;\n                while (j) {\n                    e.unshift(j);\n                    j = j.parentNode;\n                };\n            ;\n                j = i;\n                while (j) {\n                    f.unshift(j);\n                    j = j.parentNode;\n                };\n            ;\n                c = e.length;\n                d = f.length;\n                for (var k = 0; ((((k < c)) && ((k < d)))); k++) {\n                    if (((e[k] !== f[k]))) {\n                        return jb(e[k], f[k]);\n                    }\n                ;\n                ;\n                };\n            ;\n                return ((((k === c)) ? jb(a, f[k], -1) : jb(e[k], b, 1)));\n            }));\n            [0,0,].sort(k);\n            n = !l;\n            fb.uniqueSort = function(a) {\n                var b, c = [], d = 1, e = 0;\n                l = n;\n                a.sort(k);\n                if (l) {\n                    for (; b = a[d]; d++) {\n                        ((((b === a[((d - 1))])) && (e = c.push(d))));\n                    ;\n                    };\n                ;\n                    while (e--) {\n                        a.splice(c[e], 1);\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                return a;\n            };\n            fb.error = function(a) {\n                throw new Error(((\"Syntax error, unrecognized expression: \" + a)));\n            };\n            j = fb.compile = function(a, b) {\n                var c, d = [], e = [], f = E[p][((a + \" \"))];\n                if (!f) {\n                    ((b || (b = kb(a))));\n                    c = b.length;\n                    while (c--) {\n                        f = pb(b[c]);\n                        ((f[p] ? d.push(f) : e.push(f)));\n                    };\n                ;\n                    f = E(a, qb(e, d));\n                }\n            ;\n            ;\n                return f;\n            };\n            ((s.querySelectorAll && function() {\n                var a, b = sb, c = /'|\\\\/g, d = /\\=[\\x20\\t\\r\\n\\f]*([^'\"\\]]*)[\\x20\\t\\r\\n\\f]*\\]/g, e = [\":focus\",], f = [\":active\",], i = ((((((((t.matchesSelector || t.mozMatchesSelector)) || t.webkitMatchesSelector)) || t.oMatchesSelector)) || t.msMatchesSelector));\n                Y(function(a) {\n                    a.innerHTML = \"\\u003Cselect\\u003E\\u003Coption selected=''\\u003E\\u003C/option\\u003E\\u003C/select\\u003E\";\n                    ((a.querySelectorAll(\"[selected]\").length || e.push(((((\"\\\\[\" + F)) + \"*(?:checked|disabled|ismap|multiple|readonly|selected|value)\")))));\n                    ((a.querySelectorAll(\":checked\").length || e.push(\":checked\")));\n                });\n                Y(function(a) {\n                    a.innerHTML = \"\\u003Cp test=''\\u003E\\u003C/p\\u003E\";\n                    ((a.querySelectorAll(\"[test^='']\").length && e.push(((((\"[*^$]=\" + F)) + \"*(?:\\\"\\\"|'')\")))));\n                    a.innerHTML = \"\\u003Cinput type='hidden'/\\u003E\";\n                    ((a.querySelectorAll(\":enabled\").length || e.push(\":enabled\", \":disabled\")));\n                });\n                e = new RegExp(e.join(\"|\"));\n                sb = function(a, d, f, g, i) {\n                    if (((((!g && !i)) && !e.test(a)))) {\n                        var j, k, l = !0, m = p, n = d, o = ((((d.nodeType === 9)) && a));\n                        if (((((d.nodeType === 1)) && ((d.nodeName.toLowerCase() !== \"object\"))))) {\n                            j = kb(a);\n                            (((l = d.getAttribute(\"id\")) ? m = l.replace(c, \"\\\\$&\") : d.setAttribute(\"id\", m)));\n                            m = ((((\"[id='\" + m)) + \"'] \"));\n                            k = j.length;\n                            while (k--) {\n                                j[k] = ((m + j[k].join(\"\")));\n                            ;\n                            };\n                        ;\n                            n = ((((S.test(a) && d.parentNode)) || d));\n                            o = j.join(\",\");\n                        }\n                    ;\n                    ;\n                        if (o) {\n                            try {\n                                x.apply(f, y.call(n.querySelectorAll(o), 0));\n                                return f;\n                            } catch (q) {\n                            \n                            } finally {\n                                ((l || d.removeAttribute(\"id\")));\n                            };\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    return b(a, d, f, g, i);\n                };\n                if (i) {\n                    Y(function(b) {\n                        a = i.call(b, \"div\");\n                        try {\n                            i.call(b, \"[test!='']:sizzle\");\n                            f.push(\"!=\", K);\n                        } catch (c) {\n                        \n                        };\n                    ;\n                    });\n                    f = new RegExp(f.join(\"|\"));\n                    fb.matchesSelector = function(b, c) {\n                        c = c.replace(d, \"='$1']\");\n                        if (((((!g(b) && !f.test(c))) && !e.test(c)))) {\n                            try {\n                                var j = i.call(b, c);\n                                if (((((j || a)) || ((b.JSBNG__document && ((b.JSBNG__document.nodeType !== 11))))))) {\n                                    return j;\n                                }\n                            ;\n                            ;\n                            } catch (k) {\n                            \n                            };\n                        }\n                    ;\n                    ;\n                        return ((fb(c, null, null, [b,]).length > 0));\n                    };\n                }\n            ;\n            ;\n            }()));\n            e.pseudos.nth = e.pseudos.eq;\n            e.filters = tb.prototype = e.pseudos;\n            e.setFilters = new tb;\n            fb.attr = q.attr;\n            q.JSBNG__find = fb;\n            q.expr = fb.selectors;\n            q.expr[\":\"] = q.expr.pseudos;\n            q.unique = fb.uniqueSort;\n            q.text = fb.getText;\n            q.isXMLDoc = fb.isXML;\n            q.contains = fb.contains;\n        })(a);\n        var fb = /Until$/, gb = /^(?:parents|prev(?:Until|All))/, hb = /^.[^:#\\[\\.,]*$/, ib = q.expr.match.needsContext, jb = {\n            children: !0,\n            contents: !0,\n            next: !0,\n            prev: !0\n        };\n        q.fn.extend({\n            JSBNG__find: function(a) {\n                var b, c, d, e, f, g, i = this;\n                if (((typeof a != \"string\"))) {\n                    return q(a).filter(function() {\n                        for (b = 0, c = i.length; ((b < c)); b++) {\n                            if (q.contains(i[b], this)) {\n                                return !0;\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                    });\n                }\n            ;\n            ;\n                g = this.pushStack(\"\", \"JSBNG__find\", a);\n                for (b = 0, c = this.length; ((b < c)); b++) {\n                    d = g.length;\n                    q.JSBNG__find(a, this[b], g);\n                    if (((b > 0))) {\n                        for (e = d; ((e < g.length)); e++) {\n                            for (f = 0; ((f < d)); f++) {\n                                if (((g[f] === g[e]))) {\n                                    g.splice(e--, 1);\n                                    break;\n                                }\n                            ;\n                            ;\n                            };\n                        ;\n                        };\n                    }\n                ;\n                ;\n                };\n            ;\n                return g;\n            },\n            has: function(a) {\n                var b, c = q(a, this), d = c.length;\n                return this.filter(function() {\n                    for (b = 0; ((b < d)); b++) {\n                        if (q.contains(this, c[b])) {\n                            return !0;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                });\n            },\n            not: function(a) {\n                return this.pushStack(mb(this, a, !1), \"not\", a);\n            },\n            filter: function(a) {\n                return this.pushStack(mb(this, a, !0), \"filter\", a);\n            },\n            is: function(a) {\n                return ((!!a && ((((typeof a == \"string\")) ? ((ib.test(a) ? ((q(a, this.context).index(this[0]) >= 0)) : ((q.filter(a, this).length > 0)))) : ((this.filter(a).length > 0))))));\n            },\n            closest: function(a, b) {\n                var c, d = 0, e = this.length, f = [], g = ((((ib.test(a) || ((typeof a != \"string\")))) ? q(a, ((b || this.context))) : 0));\n                for (; ((d < e)); d++) {\n                    c = this[d];\n                    while (((((((c && c.ownerDocument)) && ((c !== b)))) && ((c.nodeType !== 11))))) {\n                        if (((g ? ((g.index(c) > -1)) : q.JSBNG__find.matchesSelector(c, a)))) {\n                            f.push(c);\n                            break;\n                        }\n                    ;\n                    ;\n                        c = c.parentNode;\n                    };\n                ;\n                };\n            ;\n                f = ((((f.length > 1)) ? q.unique(f) : f));\n                return this.pushStack(f, \"closest\", a);\n            },\n            index: function(a) {\n                return ((a ? ((((typeof a == \"string\")) ? q.inArray(this[0], q(a)) : q.inArray(((a.jquery ? a[0] : a)), this))) : ((((this[0] && this[0].parentNode)) ? this.prevAll().length : -1))));\n            },\n            add: function(a, b) {\n                var c = ((((typeof a == \"string\")) ? q(a, b) : q.makeArray(((((a && a.nodeType)) ? [a,] : a))))), d = q.merge(this.get(), c);\n                return this.pushStack(((((kb(c[0]) || kb(d[0]))) ? d : q.unique(d))));\n            },\n            addBack: function(a) {\n                return this.add(((((a == null)) ? this.prevObject : this.prevObject.filter(a))));\n            }\n        });\n        q.fn.andSelf = q.fn.addBack;\n        q.each({\n            parent: function(a) {\n                var b = a.parentNode;\n                return ((((b && ((b.nodeType !== 11)))) ? b : null));\n            },\n            parents: function(a) {\n                return q.dir(a, \"parentNode\");\n            },\n            parentsUntil: function(a, b, c) {\n                return q.dir(a, \"parentNode\", c);\n            },\n            next: function(a) {\n                return lb(a, \"nextSibling\");\n            },\n            prev: function(a) {\n                return lb(a, \"previousSibling\");\n            },\n            nextAll: function(a) {\n                return q.dir(a, \"nextSibling\");\n            },\n            prevAll: function(a) {\n                return q.dir(a, \"previousSibling\");\n            },\n            nextUntil: function(a, b, c) {\n                return q.dir(a, \"nextSibling\", c);\n            },\n            prevUntil: function(a, b, c) {\n                return q.dir(a, \"previousSibling\", c);\n            },\n            siblings: function(a) {\n                return q.sibling(((a.parentNode || {\n                })).firstChild, a);\n            },\n            children: function(a) {\n                return q.sibling(a.firstChild);\n            },\n            contents: function(a) {\n                return ((q.nodeName(a, \"div\") ? ((a.contentDocument || a.contentWindow.JSBNG__document)) : q.merge([], a.childNodes)));\n            }\n        }, function(a, b) {\n            q.fn[a] = function(c, d) {\n                var e = q.map(this, b, c);\n                ((fb.test(a) || (d = c)));\n                ((((d && ((typeof d == \"string\")))) && (e = q.filter(d, e))));\n                e = ((((((this.length > 1)) && !jb[a])) ? q.unique(e) : e));\n                ((((((this.length > 1)) && gb.test(a))) && (e = e.reverse())));\n                return this.pushStack(e, a, l.call(arguments).join(\",\"));\n            };\n        });\n        q.extend({\n            filter: function(a, b, c) {\n                ((c && (a = ((((\":not(\" + a)) + \")\")))));\n                return ((((b.length === 1)) ? ((q.JSBNG__find.matchesSelector(b[0], a) ? [b[0],] : [])) : q.JSBNG__find.matches(a, b)));\n            },\n            dir: function(a, c, d) {\n                var e = [], f = a[c];\n                while (((((f && ((f.nodeType !== 9)))) && ((((((d === b)) || ((f.nodeType !== 1)))) || !q(f).is(d)))))) {\n                    ((((f.nodeType === 1)) && e.push(f)));\n                    f = f[c];\n                };\n            ;\n                return e;\n            },\n            sibling: function(a, b) {\n                var c = [];\n                for (; a; a = a.nextSibling) {\n                    ((((((a.nodeType === 1)) && ((a !== b)))) && c.push(a)));\n                ;\n                };\n            ;\n                return c;\n            }\n        });\n        var ob = \"abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video\", pb = / jQuery\\d+=\"(?:null|\\d+)\"/g, qb = /^\\s+/, rb = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/gi, sb = /<([\\w:]+)/, tb = /<tbody/i, ub = /<|&#?\\w+;/, vb = /<(?:script|style|link)/i, wb = /<(?:script|object|embed|option|style)/i, xb = new RegExp(((((\"\\u003C(?:\" + ob)) + \")[\\\\s/\\u003E]\")), \"i\"), yb = /^(?:checkbox|radio)$/, zb = /checked\\s*(?:[^=]|=\\s*.checked.)/i, Ab = /\\/(java|ecma)script/i, Bb = /^\\s*<!(?:\\[CDATA\\[|\\-\\-)|[\\]\\-]{2}>\\s*$/g, Cb = {\n            option: [1,\"\\u003Cselect multiple='multiple'\\u003E\",\"\\u003C/select\\u003E\",],\n            legend: [1,\"\\u003Cfieldset\\u003E\",\"\\u003C/fieldset\\u003E\",],\n            thead: [1,\"\\u003Ctable\\u003E\",\"\\u003C/table\\u003E\",],\n            tr: [2,\"\\u003Ctable\\u003E\\u003Ctbody\\u003E\",\"\\u003C/tbody\\u003E\\u003C/table\\u003E\",],\n            td: [3,\"\\u003Ctable\\u003E\\u003Ctbody\\u003E\\u003Ctr\\u003E\",\"\\u003C/tr\\u003E\\u003C/tbody\\u003E\\u003C/table\\u003E\",],\n            col: [2,\"\\u003Ctable\\u003E\\u003Ctbody\\u003E\\u003C/tbody\\u003E\\u003Ccolgroup\\u003E\",\"\\u003C/colgroup\\u003E\\u003C/table\\u003E\",],\n            area: [1,\"\\u003Cmap\\u003E\",\"\\u003C/map\\u003E\",],\n            _default: [0,\"\",\"\",]\n        }, Db = nb(e), Eb = Db.appendChild(e.createElement(\"div\"));\n        Cb.optgroup = Cb.option;\n        Cb.tbody = Cb.tfoot = Cb.colgroup = Cb.caption = Cb.thead;\n        Cb.th = Cb.td;\n        ((q.support.htmlSerialize || (Cb._default = [1,\"X\\u003Cdiv\\u003E\",\"\\u003C/div\\u003E\",])));\n        q.fn.extend({\n            text: function(a) {\n                return q.access(this, function(a) {\n                    return ((((a === b)) ? q.text(this) : this.empty().append(((((this[0] && this[0].ownerDocument)) || e)).createTextNode(a))));\n                }, null, a, arguments.length);\n            },\n            wrapAll: function(a) {\n                if (q.isFunction(a)) {\n                    return this.each(function(b) {\n                        q(this).wrapAll(a.call(this, b));\n                    });\n                }\n            ;\n            ;\n                if (this[0]) {\n                    var b = q(a, this[0].ownerDocument).eq(0).clone(!0);\n                    ((this[0].parentNode && b.insertBefore(this[0])));\n                    b.map(function() {\n                        var a = this;\n                        while (((a.firstChild && ((a.firstChild.nodeType === 1))))) {\n                            a = a.firstChild;\n                        ;\n                        };\n                    ;\n                        return a;\n                    }).append(this);\n                }\n            ;\n            ;\n                return this;\n            },\n            wrapInner: function(a) {\n                return ((q.isFunction(a) ? this.each(function(b) {\n                    q(this).wrapInner(a.call(this, b));\n                }) : this.each(function() {\n                    var b = q(this), c = b.contents();\n                    ((c.length ? c.wrapAll(a) : b.append(a)));\n                })));\n            },\n            wrap: function(a) {\n                var b = q.isFunction(a);\n                return this.each(function(c) {\n                    q(this).wrapAll(((b ? a.call(this, c) : a)));\n                });\n            },\n            unwrap: function() {\n                return this.parent().each(function() {\n                    ((q.nodeName(this, \"body\") || q(this).replaceWith(this.childNodes)));\n                }).end();\n            },\n            append: function() {\n                return this.domManip(arguments, !0, function(a) {\n                    ((((((this.nodeType === 1)) || ((this.nodeType === 11)))) && this.appendChild(a)));\n                });\n            },\n            prepend: function() {\n                return this.domManip(arguments, !0, function(a) {\n                    ((((((this.nodeType === 1)) || ((this.nodeType === 11)))) && this.insertBefore(a, this.firstChild)));\n                });\n            },\n            before: function() {\n                if (!kb(this[0])) {\n                    return this.domManip(arguments, !1, function(a) {\n                        this.parentNode.insertBefore(a, this);\n                    });\n                }\n            ;\n            ;\n                if (arguments.length) {\n                    var a = q.clean(arguments);\n                    return this.pushStack(q.merge(a, this), \"before\", this.selector);\n                }\n            ;\n            ;\n            },\n            after: function() {\n                if (!kb(this[0])) {\n                    return this.domManip(arguments, !1, function(a) {\n                        this.parentNode.insertBefore(a, this.nextSibling);\n                    });\n                }\n            ;\n            ;\n                if (arguments.length) {\n                    var a = q.clean(arguments);\n                    return this.pushStack(q.merge(this, a), \"after\", this.selector);\n                }\n            ;\n            ;\n            },\n            remove: function(a, b) {\n                var c, d = 0;\n                for (; (((c = this[d]) != null)); d++) {\n                    if (((!a || q.filter(a, [c,]).length))) {\n                        if (((!b && ((c.nodeType === 1))))) {\n                            q.cleanData(c.getElementsByTagName(\"*\"));\n                            q.cleanData([c,]);\n                        }\n                    ;\n                    ;\n                        ((c.parentNode && c.parentNode.removeChild(c)));\n                    }\n                ;\n                ;\n                };\n            ;\n                return this;\n            },\n            empty: function() {\n                var a, b = 0;\n                for (; (((a = this[b]) != null)); b++) {\n                    ((((a.nodeType === 1)) && q.cleanData(a.getElementsByTagName(\"*\"))));\n                    while (a.firstChild) {\n                        a.removeChild(a.firstChild);\n                    ;\n                    };\n                ;\n                };\n            ;\n                return this;\n            },\n            clone: function(a, b) {\n                a = ((((a == null)) ? !1 : a));\n                b = ((((b == null)) ? a : b));\n                return this.map(function() {\n                    return q.clone(this, a, b);\n                });\n            },\n            html: function(a) {\n                return q.access(this, function(a) {\n                    var c = ((this[0] || {\n                    })), d = 0, e = this.length;\n                    if (((a === b))) {\n                        return ((((c.nodeType === 1)) ? c.innerHTML.replace(pb, \"\") : b));\n                    }\n                ;\n                ;\n                    if (((((((((((typeof a == \"string\")) && !vb.test(a))) && ((q.support.htmlSerialize || !xb.test(a))))) && ((q.support.leadingWhitespace || !qb.test(a))))) && !Cb[((sb.exec(a) || [\"\",\"\",]))[1].toLowerCase()]))) {\n                        a = a.replace(rb, \"\\u003C$1\\u003E\\u003C/$2\\u003E\");\n                        try {\n                            for (; ((d < e)); d++) {\n                                c = ((this[d] || {\n                                }));\n                                if (((c.nodeType === 1))) {\n                                    q.cleanData(c.getElementsByTagName(\"*\"));\n                                    c.innerHTML = a;\n                                }\n                            ;\n                            ;\n                            };\n                        ;\n                            c = 0;\n                        } catch (f) {\n                        \n                        };\n                    ;\n                    }\n                ;\n                ;\n                    ((c && this.empty().append(a)));\n                }, null, a, arguments.length);\n            },\n            replaceWith: function(a) {\n                if (!kb(this[0])) {\n                    if (q.isFunction(a)) {\n                        return this.each(function(b) {\n                            var c = q(this), d = c.html();\n                            c.replaceWith(a.call(this, b, d));\n                        });\n                    }\n                ;\n                ;\n                    ((((typeof a != \"string\")) && (a = q(a).detach())));\n                    return this.each(function() {\n                        var b = this.nextSibling, c = this.parentNode;\n                        q(this).remove();\n                        ((b ? q(b).before(a) : q(c).append(a)));\n                    });\n                }\n            ;\n            ;\n                return ((this.length ? this.pushStack(q(((q.isFunction(a) ? a() : a))), \"replaceWith\", a) : this));\n            },\n            detach: function(a) {\n                return this.remove(a, !0);\n            },\n            domManip: function(a, c, d) {\n                a = [].concat.apply([], a);\n                var e, f, g, i, j = 0, k = a[0], l = [], m = this.length;\n                if (((((((!q.support.checkClone && ((m > 1)))) && ((typeof k == \"string\")))) && zb.test(k)))) {\n                    return this.each(function() {\n                        q(this).domManip(a, c, d);\n                    });\n                }\n            ;\n            ;\n                if (q.isFunction(k)) {\n                    return this.each(function(e) {\n                        var f = q(this);\n                        a[0] = k.call(this, e, ((c ? f.html() : b)));\n                        f.domManip(a, c, d);\n                    });\n                }\n            ;\n            ;\n                if (this[0]) {\n                    e = q.buildFragment(a, this, l);\n                    g = e.fragment;\n                    f = g.firstChild;\n                    ((((g.childNodes.length === 1)) && (g = f)));\n                    if (f) {\n                        c = ((c && q.nodeName(f, \"tr\")));\n                        for (i = ((e.cacheable || ((m - 1)))); ((j < m)); j++) {\n                            d.call(((((c && q.nodeName(this[j], \"table\"))) ? Fb(this[j], \"tbody\") : this[j])), ((((j === i)) ? g : q.clone(g, !0, !0))));\n                        ;\n                        };\n                    ;\n                    }\n                ;\n                ;\n                    g = f = null;\n                    ((l.length && q.each(l, function(a, b) {\n                        ((b.src ? ((q.ajax ? q.ajax({\n                            url: b.src,\n                            type: \"GET\",\n                            dataType: \"script\",\n                            async: !1,\n                            global: !1,\n                            throws: !0\n                        }) : q.error(\"no ajax\"))) : q.globalEval(((((((b.text || b.textContent)) || b.innerHTML)) || \"\")).replace(Bb, \"\"))));\n                        ((b.parentNode && b.parentNode.removeChild(b)));\n                    })));\n                }\n            ;\n            ;\n                return this;\n            }\n        });\n        q.buildFragment = function(a, c, d) {\n            var f, g, i, j = a[0];\n            c = ((c || e));\n            c = ((((!c.nodeType && c[0])) || c));\n            c = ((c.ownerDocument || c));\n            if (((((((((((((((((a.length === 1)) && ((typeof j == \"string\")))) && ((j.length < 512)))) && ((c === e)))) && ((j.charAt(0) === \"\\u003C\")))) && !wb.test(j))) && ((q.support.checkClone || !zb.test(j))))) && ((q.support.html5Clone || !xb.test(j)))))) {\n                g = !0;\n                f = q.fragments[j];\n                i = ((f !== b));\n            }\n        ;\n        ;\n            if (!f) {\n                f = c.createDocumentFragment();\n                q.clean(a, c, f, d);\n                ((g && (q.fragments[j] = ((i && f)))));\n            }\n        ;\n        ;\n            return {\n                fragment: f,\n                cacheable: g\n            };\n        };\n        q.fragments = {\n        };\n        q.each({\n            appendTo: \"append\",\n            prependTo: \"prepend\",\n            insertBefore: \"before\",\n            insertAfter: \"after\",\n            replaceAll: \"replaceWith\"\n        }, function(a, b) {\n            q.fn[a] = function(c) {\n                var d, e = 0, f = [], g = q(c), i = g.length, j = ((((this.length === 1)) && this[0].parentNode));\n                if (((((((j == null)) || ((((j && ((j.nodeType === 11)))) && ((j.childNodes.length === 1)))))) && ((i === 1))))) {\n                    g[b](this[0]);\n                    return this;\n                }\n            ;\n            ;\n                for (; ((e < i)); e++) {\n                    d = ((((e > 0)) ? this.clone(!0) : this)).get();\n                    q(g[e])[b](d);\n                    f = f.concat(d);\n                };\n            ;\n                return this.pushStack(f, a, g.selector);\n            };\n        });\n        q.extend({\n            clone: function(a, b, c) {\n                var d, e, f, g;\n                if (((((q.support.html5Clone || q.isXMLDoc(a))) || !xb.test(((((\"\\u003C\" + a.nodeName)) + \"\\u003E\")))))) g = a.cloneNode(!0);\n                 else {\n                    Eb.innerHTML = a.outerHTML;\n                    Eb.removeChild(g = Eb.firstChild);\n                }\n            ;\n            ;\n                if (((((((!q.support.noCloneEvent || !q.support.noCloneChecked)) && ((((a.nodeType === 1)) || ((a.nodeType === 11)))))) && !q.isXMLDoc(a)))) {\n                    Hb(a, g);\n                    d = Ib(a);\n                    e = Ib(g);\n                    for (f = 0; d[f]; ++f) {\n                        ((e[f] && Hb(d[f], e[f])));\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                if (b) {\n                    Gb(a, g);\n                    if (c) {\n                        d = Ib(a);\n                        e = Ib(g);\n                        for (f = 0; d[f]; ++f) {\n                            Gb(d[f], e[f]);\n                        ;\n                        };\n                    ;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                d = e = null;\n                return g;\n            },\n            clean: function(a, b, c, d) {\n                var f, g, i, j, k, l, m, n, o, p, r, s, t = ((((b === e)) && Db)), u = [];\n                if (((!b || ((typeof b.createDocumentFragment == \"undefined\"))))) {\n                    b = e;\n                }\n            ;\n            ;\n                for (f = 0; (((i = a[f]) != null)); f++) {\n                    ((((typeof i == \"number\")) && (i += \"\")));\n                    if (!i) {\n                        continue;\n                    }\n                ;\n                ;\n                    if (((typeof i == \"string\"))) {\n                        if (!ub.test(i)) i = b.createTextNode(i);\n                         else {\n                            t = ((t || nb(b)));\n                            m = b.createElement(\"div\");\n                            t.appendChild(m);\n                            i = i.replace(rb, \"\\u003C$1\\u003E\\u003C/$2\\u003E\");\n                            j = ((sb.exec(i) || [\"\",\"\",]))[1].toLowerCase();\n                            k = ((Cb[j] || Cb._default));\n                            l = k[0];\n                            m.innerHTML = ((((k[1] + i)) + k[2]));\n                            while (l--) {\n                                m = m.lastChild;\n                            ;\n                            };\n                        ;\n                            if (!q.support.tbody) {\n                                n = tb.test(i);\n                                o = ((((((j === \"table\")) && !n)) ? ((m.firstChild && m.firstChild.childNodes)) : ((((((k[1] === \"\\u003Ctable\\u003E\")) && !n)) ? m.childNodes : []))));\n                                for (g = ((o.length - 1)); ((g >= 0)); --g) {\n                                    ((((q.nodeName(o[g], \"tbody\") && !o[g].childNodes.length)) && o[g].parentNode.removeChild(o[g])));\n                                ;\n                                };\n                            ;\n                            }\n                        ;\n                        ;\n                            ((((!q.support.leadingWhitespace && qb.test(i))) && m.insertBefore(b.createTextNode(qb.exec(i)[0]), m.firstChild)));\n                            i = m.childNodes;\n                            m.parentNode.removeChild(m);\n                        }\n                    ;\n                    }\n                ;\n                ;\n                    ((i.nodeType ? u.push(i) : q.merge(u, i)));\n                };\n            ;\n                ((m && (i = m = t = null)));\n                if (!q.support.appendChecked) {\n                    for (f = 0; (((i = u[f]) != null)); f++) {\n                        ((q.nodeName(i, \"input\") ? Jb(i) : ((((typeof i.getElementsByTagName != \"undefined\")) && q.grep(i.getElementsByTagName(\"input\"), Jb)))));\n                    ;\n                    };\n                }\n            ;\n            ;\n                if (c) {\n                    r = function(a) {\n                        if (((!a.type || Ab.test(a.type)))) {\n                            return ((d ? d.push(((a.parentNode ? a.parentNode.removeChild(a) : a))) : c.appendChild(a)));\n                        }\n                    ;\n                    ;\n                    };\n                    for (f = 0; (((i = u[f]) != null)); f++) {\n                        if (((!q.nodeName(i, \"script\") || !r(i)))) {\n                            c.appendChild(i);\n                            if (((typeof i.getElementsByTagName != \"undefined\"))) {\n                                s = q.grep(q.merge([], i.getElementsByTagName(\"script\")), r);\n                                u.splice.apply(u, [((f + 1)),0,].concat(s));\n                                f += s.length;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                return u;\n            },\n            cleanData: function(a, b) {\n                var c, d, e, f, g = 0, i = q.expando, j = q.cache, k = q.support.deleteExpando, l = q.JSBNG__event.special;\n                for (; (((e = a[g]) != null)); g++) {\n                    if (((b || q.acceptData(e)))) {\n                        d = e[i];\n                        c = ((d && j[d]));\n                        if (c) {\n                            if (c.events) {\n                                {\n                                    var fin27keys = ((window.top.JSBNG_Replay.forInKeys)((c.events))), fin27i = (0);\n                                    (0);\n                                    for (; (fin27i < fin27keys.length); (fin27i++)) {\n                                        ((f) = (fin27keys[fin27i]));\n                                        {\n                                            ((l[f] ? q.JSBNG__event.remove(e, f) : q.removeEvent(e, f, c.handle)));\n                                        ;\n                                        };\n                                    };\n                                };\n                            }\n                        ;\n                        ;\n                            if (j[d]) {\n                                delete j[d];\n                                ((k ? delete e[i] : ((e.removeAttribute ? e.removeAttribute(i) : e[i] = null))));\n                                q.deletedIds.push(d);\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                };\n            ;\n            }\n        });\n        (function() {\n            var a, b;\n            q.uaMatch = function(a) {\n                a = a.toLowerCase();\n                var b = ((((((((((/(chrome)[ \\/]([\\w.]+)/.exec(a) || /(webkit)[ \\/]([\\w.]+)/.exec(a))) || /(opera)(?:.*version|)[ \\/]([\\w.]+)/.exec(a))) || /(msie) ([\\w.]+)/.exec(a))) || ((((a.indexOf(\"compatible\") < 0)) && /(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(a))))) || []));\n                return {\n                    browser: ((b[1] || \"\")),\n                    version: ((b[2] || \"0\"))\n                };\n            };\n            a = q.uaMatch(g.userAgent);\n            b = {\n            };\n            if (a.browser) {\n                b[a.browser] = !0;\n                b.version = a.version;\n            }\n        ;\n        ;\n            ((b.chrome ? b.webkit = !0 : ((b.webkit && (b.safari = !0)))));\n            q.browser = b;\n            q.sub = function() {\n                function a(b, c) {\n                    return new a.fn.init(b, c);\n                };\n            ;\n                q.extend(!0, a, this);\n                a.superclass = this;\n                a.fn = a.prototype = this();\n                a.fn.constructor = a;\n                a.sub = this.sub;\n                a.fn.init = function(d, e) {\n                    ((((((e && ((e instanceof q)))) && !((e instanceof a)))) && (e = a(e))));\n                    return q.fn.init.call(this, d, e, b);\n                };\n                a.fn.init.prototype = a.fn;\n                var b = a(e);\n                return a;\n            };\n        })();\n        var Kb, Lb, Mb, Nb = /alpha\\([^)]*\\)/i, Ob = /opacity=([^)]*)/, Pb = /^(top|right|bottom|left)$/, Qb = /^(none|table(?!-c[ea]).+)/, Rb = /^margin/, Sb = new RegExp(((((\"^(\" + r)) + \")(.*)$\")), \"i\"), Tb = new RegExp(((((\"^(\" + r)) + \")(?!px)[a-z%]+$\")), \"i\"), Ub = new RegExp(((((\"^([-+])=(\" + r)) + \")\")), \"i\"), Vb = {\n            BODY: \"block\"\n        }, Wb = {\n            position: \"absolute\",\n            visibility: \"hidden\",\n            display: \"block\"\n        }, Xb = {\n            letterSpacing: 0,\n            fontWeight: 400\n        }, Yb = [\"Top\",\"Right\",\"Bottom\",\"Left\",], Zb = [\"Webkit\",\"O\",\"Moz\",\"ms\",], $b = q.fn.toggle;\n        q.fn.extend({\n            css: function(a, c) {\n                return q.access(this, function(a, c, d) {\n                    return ((((d !== b)) ? q.style(a, c, d) : q.css(a, c)));\n                }, a, c, ((arguments.length > 1)));\n            },\n            show: function() {\n                return bc(this, !0);\n            },\n            hide: function() {\n                return bc(this);\n            },\n            toggle: function(a, b) {\n                var c = ((typeof a == \"boolean\"));\n                return ((((q.isFunction(a) && q.isFunction(b))) ? $b.apply(this, arguments) : this.each(function() {\n                    ((((c ? a : ac(this))) ? q(this).show() : q(this).hide()));\n                })));\n            }\n        });\n        q.extend({\n            cssHooks: {\n                opacity: {\n                    get: function(a, b) {\n                        if (b) {\n                            var c = Kb(a, \"opacity\");\n                            return ((((c === \"\")) ? \"1\" : c));\n                        }\n                    ;\n                    ;\n                    }\n                }\n            },\n            cssNumber: {\n                fillOpacity: !0,\n                fontWeight: !0,\n                lineHeight: !0,\n                opacity: !0,\n                orphans: !0,\n                widows: !0,\n                zIndex: !0,\n                zoom: !0\n            },\n            cssProps: {\n                float: ((q.support.cssFloat ? \"cssFloat\" : \"styleFloat\"))\n            },\n            style: function(a, c, d, e) {\n                if (((((((!a || ((a.nodeType === 3)))) || ((a.nodeType === 8)))) || !a.style))) {\n                    return;\n                }\n            ;\n            ;\n                var f, g, i, j = q.camelCase(c), k = a.style;\n                c = ((q.cssProps[j] || (q.cssProps[j] = _b(k, j))));\n                i = ((q.cssHooks[c] || q.cssHooks[j]));\n                if (((d === b))) {\n                    return ((((((i && ((\"get\" in i)))) && (((f = i.get(a, !1, e)) !== b)))) ? f : k[c]));\n                }\n            ;\n            ;\n                g = typeof d;\n                if (((((g === \"string\")) && (f = Ub.exec(d))))) {\n                    d = ((((((f[1] + 1)) * f[2])) + parseFloat(q.css(a, c))));\n                    g = \"number\";\n                }\n            ;\n            ;\n                if (((((d == null)) || ((((g === \"number\")) && isNaN(d)))))) {\n                    return;\n                }\n            ;\n            ;\n                ((((((g === \"number\")) && !q.cssNumber[j])) && (d += \"px\")));\n                if (((((!i || !((\"set\" in i)))) || (((d = i.set(a, d, e)) !== b))))) {\n                    try {\n                        k[c] = d;\n                    } catch (l) {\n                    \n                    };\n                }\n            ;\n            ;\n            },\n            css: function(a, c, d, e) {\n                var f, g, i, j = q.camelCase(c);\n                c = ((q.cssProps[j] || (q.cssProps[j] = _b(a.style, j))));\n                i = ((q.cssHooks[c] || q.cssHooks[j]));\n                ((((i && ((\"get\" in i)))) && (f = i.get(a, !0, e))));\n                ((((f === b)) && (f = Kb(a, c))));\n                ((((((f === \"normal\")) && ((c in Xb)))) && (f = Xb[c])));\n                if (((d || ((e !== b))))) {\n                    g = parseFloat(f);\n                    return ((((d || q.isNumeric(g))) ? ((g || 0)) : f));\n                }\n            ;\n            ;\n                return f;\n            },\n            swap: function(a, b, c) {\n                var d, e, f = {\n                };\n                {\n                    var fin28keys = ((window.top.JSBNG_Replay.forInKeys)((b))), fin28i = (0);\n                    (0);\n                    for (; (fin28i < fin28keys.length); (fin28i++)) {\n                        ((e) = (fin28keys[fin28i]));\n                        {\n                            f[e] = a.style[e];\n                            a.style[e] = b[e];\n                        };\n                    };\n                };\n            ;\n                d = c.call(a);\n                {\n                    var fin29keys = ((window.top.JSBNG_Replay.forInKeys)((b))), fin29i = (0);\n                    (0);\n                    for (; (fin29i < fin29keys.length); (fin29i++)) {\n                        ((e) = (fin29keys[fin29i]));\n                        {\n                            a.style[e] = f[e];\n                        ;\n                        };\n                    };\n                };\n            ;\n                return d;\n            }\n        });\n        ((a.JSBNG__getComputedStyle ? Kb = function(b, c) {\n            var d, e, f, g, i = a.JSBNG__getComputedStyle(b, null), j = b.style;\n            if (i) {\n                d = ((i.getPropertyValue(c) || i[c]));\n                ((((((d === \"\")) && !q.contains(b.ownerDocument, b))) && (d = q.style(b, c))));\n                if (((Tb.test(d) && Rb.test(c)))) {\n                    e = j.width;\n                    f = j.minWidth;\n                    g = j.maxWidth;\n                    j.minWidth = j.maxWidth = j.width = d;\n                    d = i.width;\n                    j.width = e;\n                    j.minWidth = f;\n                    j.maxWidth = g;\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            return d;\n        } : ((e.documentElement.currentStyle && (Kb = function(a, b) {\n            var c, d, e = ((a.currentStyle && a.currentStyle[b])), f = a.style;\n            ((((((((e == null)) && f)) && f[b])) && (e = f[b])));\n            if (((Tb.test(e) && !Pb.test(b)))) {\n                c = f.left;\n                d = ((a.runtimeStyle && a.runtimeStyle.left));\n                ((d && (a.runtimeStyle.left = a.currentStyle.left)));\n                f.left = ((((b === \"fontSize\")) ? \"1em\" : e));\n                e = ((f.pixelLeft + \"px\"));\n                f.left = c;\n                ((d && (a.runtimeStyle.left = d)));\n            }\n        ;\n        ;\n            return ((((e === \"\")) ? \"auto\" : e));\n        })))));\n        q.each([\"height\",\"width\",], function(a, b) {\n            q.cssHooks[b] = {\n                get: function(a, c, d) {\n                    if (c) {\n                        return ((((((a.offsetWidth === 0)) && Qb.test(Kb(a, \"display\")))) ? q.swap(a, Wb, function() {\n                            return ec(a, b, d);\n                        }) : ec(a, b, d)));\n                    }\n                ;\n                ;\n                },\n                set: function(a, c, d) {\n                    return cc(a, c, ((d ? dc(a, b, d, ((q.support.boxSizing && ((q.css(a, \"boxSizing\") === \"border-box\"))))) : 0)));\n                }\n            };\n        });\n        ((q.support.opacity || (q.cssHooks.opacity = {\n            get: function(a, b) {\n                return ((Ob.test(((((((b && a.currentStyle)) ? a.currentStyle.filter : a.style.filter)) || \"\"))) ? ((((77546 * parseFloat(RegExp.$1))) + \"\")) : ((b ? \"1\" : \"\"))));\n            },\n            set: function(a, b) {\n                var c = a.style, d = a.currentStyle, e = ((q.isNumeric(b) ? ((((\"alpha(opacity=\" + ((b * 100)))) + \")\")) : \"\")), f = ((((((d && d.filter)) || c.filter)) || \"\"));\n                c.zoom = 1;\n                if (((((((b >= 1)) && ((q.trim(f.replace(Nb, \"\")) === \"\")))) && c.removeAttribute))) {\n                    c.removeAttribute(\"filter\");\n                    if (((d && !d.filter))) {\n                        return;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                c.filter = ((Nb.test(f) ? f.replace(Nb, e) : ((((f + \" \")) + e))));\n            }\n        })));\n        q(function() {\n            ((q.support.reliableMarginRight || (q.cssHooks.marginRight = {\n                get: function(a, b) {\n                    return q.swap(a, {\n                        display: \"inline-block\"\n                    }, function() {\n                        if (b) {\n                            return Kb(a, \"marginRight\");\n                        }\n                    ;\n                    ;\n                    });\n                }\n            })));\n            ((((!q.support.pixelPosition && q.fn.position)) && q.each([\"JSBNG__top\",\"left\",], function(a, b) {\n                q.cssHooks[b] = {\n                    get: function(a, c) {\n                        if (c) {\n                            var d = Kb(a, b);\n                            return ((Tb.test(d) ? ((q(a).position()[b] + \"px\")) : d));\n                        }\n                    ;\n                    ;\n                    }\n                };\n            })));\n        });\n        if (((q.expr && q.expr.filters))) {\n            q.expr.filters.hidden = function(a) {\n                return ((((((a.offsetWidth === 0)) && ((a.offsetHeight === 0)))) || ((!q.support.reliableHiddenOffsets && ((((((a.style && a.style.display)) || Kb(a, \"display\"))) === \"none\"))))));\n            };\n            q.expr.filters.visible = function(a) {\n                return !q.expr.filters.hidden(a);\n            };\n        }\n    ;\n    ;\n        q.each({\n            margin: \"\",\n            padding: \"\",\n            border: \"Width\"\n        }, function(a, b) {\n            q.cssHooks[((a + b))] = {\n                expand: function(c) {\n                    var d, e = ((((typeof c == \"string\")) ? c.split(\" \") : [c,])), f = {\n                    };\n                    for (d = 0; ((d < 4)); d++) {\n                        f[((((a + Yb[d])) + b))] = ((((e[d] || e[((d - 2))])) || e[0]));\n                    ;\n                    };\n                ;\n                    return f;\n                }\n            };\n            ((Rb.test(a) || (q.cssHooks[((a + b))].set = cc)));\n        });\n        var gc = /%20/g, hc = /\\[\\]$/, ic = /\\r?\\n/g, jc = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, kc = /^(?:select|textarea)/i;\n        q.fn.extend({\n            serialize: function() {\n                return q.param(this.serializeArray());\n            },\n            serializeArray: function() {\n                return this.map(function() {\n                    return ((this.elements ? q.makeArray(this.elements) : this));\n                }).filter(function() {\n                    return ((((this.JSBNG__name && !this.disabled)) && ((((this.checked || kc.test(this.nodeName))) || jc.test(this.type)))));\n                }).map(function(a, b) {\n                    var c = q(this).val();\n                    return ((((c == null)) ? null : ((q.isArray(c) ? q.map(c, function(a, c) {\n                        return {\n                            JSBNG__name: b.JSBNG__name,\n                            value: a.replace(ic, \"\\u000d\\u000a\")\n                        };\n                    }) : {\n                        JSBNG__name: b.JSBNG__name,\n                        value: c.replace(ic, \"\\u000d\\u000a\")\n                    }))));\n                }).get();\n            }\n        });\n        q.param = function(a, c) {\n            var d, e = [], f = function(a, b) {\n                b = ((q.isFunction(b) ? b() : ((((b == null)) ? \"\" : b))));\n                e[e.length] = ((((encodeURIComponent(a) + \"=\")) + encodeURIComponent(b)));\n            };\n            ((((c === b)) && (c = ((q.ajaxSettings && q.ajaxSettings.traditional)))));\n            if (((q.isArray(a) || ((a.jquery && !q.isPlainObject(a)))))) {\n                q.each(a, function() {\n                    f(this.JSBNG__name, this.value);\n                });\n            }\n             else {\n                {\n                    var fin30keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin30i = (0);\n                    (0);\n                    for (; (fin30i < fin30keys.length); (fin30i++)) {\n                        ((d) = (fin30keys[fin30i]));\n                        {\n                            lc(d, a[d], c, f);\n                        ;\n                        };\n                    };\n                };\n            }\n        ;\n        ;\n            return e.join(\"&\").replace(gc, \"+\");\n        };\n        var mc, nc, oc = /#.*$/, pc = /^(.*?):[ \\t]*([^\\r\\n]*)\\r?$/gm, qc = /^(?:about|app|app\\-storage|.+\\-extension|file|res|widget):$/, rc = /^(?:GET|HEAD)$/, sc = /^\\/\\//, tc = /\\?/, uc = /<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi, vc = /([?&])_=[^&]*/, wc = /^([\\w\\+\\.\\-]+:)(?:\\/\\/([^\\/?#:]*)(?::(\\d+)|)|)/, xc = q.fn.load, yc = {\n        }, zc = {\n        }, Ac = (([\"*/\",] + [\"*\",]));\n        try {\n            nc = f.href;\n        } catch (Bc) {\n            nc = e.createElement(\"a\");\n            nc.href = \"\";\n            nc = nc.href;\n        };\n    ;\n        mc = ((wc.exec(nc.toLowerCase()) || []));\n        q.fn.load = function(a, c, d) {\n            if (((((typeof a != \"string\")) && xc))) {\n                return xc.apply(this, arguments);\n            }\n        ;\n        ;\n            if (!this.length) {\n                return this;\n            }\n        ;\n        ;\n            var e, f, g, i = this, j = a.indexOf(\" \");\n            if (((j >= 0))) {\n                e = a.slice(j, a.length);\n                a = a.slice(0, j);\n            }\n        ;\n        ;\n            if (q.isFunction(c)) {\n                d = c;\n                c = b;\n            }\n             else ((((c && ((typeof c == \"object\")))) && (f = \"POST\")));\n        ;\n        ;\n            q.ajax({\n                url: a,\n                type: f,\n                dataType: \"html\",\n                data: c,\n                complete: function(a, b) {\n                    ((d && i.each(d, ((g || [a.responseText,b,a,])))));\n                }\n            }).done(function(a) {\n                g = arguments;\n                i.html(((e ? q(\"\\u003Cdiv\\u003E\").append(a.replace(uc, \"\")).JSBNG__find(e) : a)));\n            });\n            return this;\n        };\n        q.each(\"ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend\".split(\" \"), function(a, b) {\n            q.fn[b] = function(a) {\n                return this.JSBNG__on(b, a);\n            };\n        });\n        q.each([\"get\",\"post\",], function(a, c) {\n            q[c] = function(a, d, e, f) {\n                if (q.isFunction(d)) {\n                    f = ((f || e));\n                    e = d;\n                    d = b;\n                }\n            ;\n            ;\n                return q.ajax({\n                    type: c,\n                    url: a,\n                    data: d,\n                    success: e,\n                    dataType: f\n                });\n            };\n        });\n        q.extend({\n            getScript: function(a, c) {\n                return q.get(a, b, c, \"script\");\n            },\n            getJSON: function(a, b, c) {\n                return q.get(a, b, c, \"json\");\n            },\n            ajaxSetup: function(a, b) {\n                if (b) Ec(a, q.ajaxSettings);\n                 else {\n                    b = a;\n                    a = q.ajaxSettings;\n                }\n            ;\n            ;\n                Ec(a, b);\n                return a;\n            },\n            ajaxSettings: {\n                url: nc,\n                isLocal: qc.test(mc[1]),\n                global: !0,\n                type: \"GET\",\n                contentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n                processData: !0,\n                async: !0,\n                accepts: {\n                    xml: \"application/xml, text/xml\",\n                    html: \"text/html\",\n                    text: \"text/plain\",\n                    json: \"application/json, text/javascript\",\n                    \"*\": Ac\n                },\n                contents: {\n                    xml: /xml/,\n                    html: /html/,\n                    json: /json/\n                },\n                responseFields: {\n                    xml: \"responseXML\",\n                    text: \"responseText\"\n                },\n                converters: {\n                    \"* text\": a.String,\n                    \"text html\": !0,\n                    \"text json\": q.parseJSON,\n                    \"text xml\": q.parseXML\n                },\n                flatOptions: {\n                    context: !0,\n                    url: !0\n                }\n            },\n            ajaxPrefilter: Cc(yc),\n            ajaxTransport: Cc(zc),\n            ajax: function(a, c) {\n                function z(a, c, f, j) {\n                    var l, t, u, v, x, z = c;\n                    if (((w === 2))) {\n                        return;\n                    }\n                ;\n                ;\n                    w = 2;\n                    ((i && JSBNG__clearTimeout(i)));\n                    g = b;\n                    e = ((j || \"\"));\n                    y.readyState = ((((a > 0)) ? 4 : 0));\n                    ((f && (v = Fc(m, y, f))));\n                    if (((((((a >= 200)) && ((a < 300)))) || ((a === 304))))) {\n                        if (m.ifModified) {\n                            x = y.getResponseHeader(\"Last-Modified\");\n                            ((x && (q.lastModified[d] = x)));\n                            x = y.getResponseHeader(\"Etag\");\n                            ((x && (q.etag[d] = x)));\n                        }\n                    ;\n                    ;\n                        if (((a === 304))) {\n                            z = \"notmodified\";\n                            l = !0;\n                        }\n                         else {\n                            l = Gc(m, v);\n                            z = l.state;\n                            t = l.data;\n                            u = l.error;\n                            l = !u;\n                        }\n                    ;\n                    ;\n                    }\n                     else {\n                        u = z;\n                        if (((!z || a))) {\n                            z = \"error\";\n                            ((((a < 0)) && (a = 0)));\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    y.JSBNG__status = a;\n                    y.statusText = ((((c || z)) + \"\"));\n                    ((l ? p.resolveWith(n, [t,z,y,]) : p.rejectWith(n, [y,z,u,])));\n                    y.statusCode(s);\n                    s = b;\n                    ((k && o.trigger(((\"ajax\" + ((l ? \"Success\" : \"Error\")))), [y,m,((l ? t : u)),])));\n                    r.fireWith(n, [y,z,]);\n                    if (k) {\n                        o.trigger(\"ajaxComplete\", [y,m,]);\n                        ((--q.active || q.JSBNG__event.trigger(\"ajaxStop\")));\n                    }\n                ;\n                ;\n                };\n            ;\n                if (((typeof a == \"object\"))) {\n                    c = a;\n                    a = b;\n                }\n            ;\n            ;\n                c = ((c || {\n                }));\n                var d, e, f, g, i, j, k, l, m = q.ajaxSetup({\n                }, c), n = ((m.context || m)), o = ((((((n !== m)) && ((n.nodeType || ((n instanceof q)))))) ? q(n) : q.JSBNG__event)), p = q.Deferred(), r = q.Callbacks(\"once memory\"), s = ((m.statusCode || {\n                })), u = {\n                }, v = {\n                }, w = 0, x = \"canceled\", y = {\n                    readyState: 0,\n                    setRequestHeader: function(a, b) {\n                        if (!w) {\n                            var c = a.toLowerCase();\n                            a = v[c] = ((v[c] || a));\n                            u[a] = b;\n                        }\n                    ;\n                    ;\n                        return this;\n                    },\n                    getAllResponseHeaders: function() {\n                        return ((((w === 2)) ? e : null));\n                    },\n                    getResponseHeader: function(a) {\n                        var c;\n                        if (((w === 2))) {\n                            if (!f) {\n                                f = {\n                                };\n                                while (c = pc.exec(e)) {\n                                    f[c[1].toLowerCase()] = c[2];\n                                ;\n                                };\n                            ;\n                            }\n                        ;\n                        ;\n                            c = f[a.toLowerCase()];\n                        }\n                    ;\n                    ;\n                        return ((((c === b)) ? null : c));\n                    },\n                    overrideMimeType: function(a) {\n                        ((w || (m.mimeType = a)));\n                        return this;\n                    },\n                    abort: function(a) {\n                        a = ((a || x));\n                        ((g && g.abort(a)));\n                        z(0, a);\n                        return this;\n                    }\n                };\n                p.promise(y);\n                y.success = y.done;\n                y.error = y.fail;\n                y.complete = r.add;\n                y.statusCode = function(a) {\n                    if (a) {\n                        var b;\n                        if (((w < 2))) {\n                            var fin31keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin31i = (0);\n                            (0);\n                            for (; (fin31i < fin31keys.length); (fin31i++)) {\n                                ((b) = (fin31keys[fin31i]));\n                                {\n                                    s[b] = [s[b],a[b],];\n                                ;\n                                };\n                            };\n                        }\n                         else {\n                            b = a[y.JSBNG__status];\n                            y.always(b);\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    return this;\n                };\n                m.url = ((((a || m.url)) + \"\")).replace(oc, \"\").replace(sc, ((mc[1] + \"//\")));\n                m.dataTypes = q.trim(((m.dataType || \"*\"))).toLowerCase().split(t);\n                if (((m.crossDomain == null))) {\n                    j = wc.exec(m.url.toLowerCase());\n                    m.crossDomain = !((!j || ((((((j[1] === mc[1])) && ((j[2] === mc[2])))) && ((((j[3] || ((((j[1] === \"http:\")) ? 80 : 443)))) == ((mc[3] || ((((mc[1] === \"http:\")) ? 80 : 443))))))))));\n                }\n            ;\n            ;\n                ((((((m.data && m.processData)) && ((typeof m.data != \"string\")))) && (m.data = q.param(m.data, m.traditional))));\n                Dc(yc, m, c, y);\n                if (((w === 2))) {\n                    return y;\n                }\n            ;\n            ;\n                k = m.global;\n                m.type = m.type.toUpperCase();\n                m.hasContent = !rc.test(m.type);\n                ((((k && ((q.active++ === 0)))) && q.JSBNG__event.trigger(\"ajaxStart\")));\n                if (!m.hasContent) {\n                    if (m.data) {\n                        m.url += ((((tc.test(m.url) ? \"&\" : \"?\")) + m.data));\n                        delete m.data;\n                    }\n                ;\n                ;\n                    d = m.url;\n                    if (((m.cache === !1))) {\n                        var A = q.now(), B = m.url.replace(vc, ((\"$1_=\" + A)));\n                        m.url = ((B + ((((B === m.url)) ? ((((((tc.test(m.url) ? \"&\" : \"?\")) + \"_=\")) + A)) : \"\"))));\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                ((((((((m.data && m.hasContent)) && ((m.contentType !== !1)))) || c.contentType)) && y.setRequestHeader(\"Content-Type\", m.contentType)));\n                if (m.ifModified) {\n                    d = ((d || m.url));\n                    ((q.lastModified[d] && y.setRequestHeader(\"If-Modified-Since\", q.lastModified[d])));\n                    ((q.etag[d] && y.setRequestHeader(\"If-None-Match\", q.etag[d])));\n                }\n            ;\n            ;\n                y.setRequestHeader(\"Accept\", ((((m.dataTypes[0] && m.accepts[m.dataTypes[0]])) ? ((m.accepts[m.dataTypes[0]] + ((((m.dataTypes[0] !== \"*\")) ? ((((\", \" + Ac)) + \"; q=0.01\")) : \"\")))) : m.accepts[\"*\"])));\n                {\n                    var fin32keys = ((window.top.JSBNG_Replay.forInKeys)((m.headers))), fin32i = (0);\n                    (0);\n                    for (; (fin32i < fin32keys.length); (fin32i++)) {\n                        ((l) = (fin32keys[fin32i]));\n                        {\n                            y.setRequestHeader(l, m.headers[l]);\n                        ;\n                        };\n                    };\n                };\n            ;\n                if (((!m.beforeSend || ((((m.beforeSend.call(n, y, m) !== !1)) && ((w !== 2))))))) {\n                    x = \"abort\";\n                    {\n                        var fin33keys = ((window.top.JSBNG_Replay.forInKeys)(({\n                            success: 1,\n                            error: 1,\n                            complete: 1\n                        }))), fin33i = (0);\n                        (0);\n                        for (; (fin33i < fin33keys.length); (fin33i++)) {\n                            ((l) = (fin33keys[fin33i]));\n                            {\n                                y[l](m[l]);\n                            ;\n                            };\n                        };\n                    };\n                ;\n                    g = Dc(zc, m, c, y);\n                    if (!g) z(-1, \"No Transport\");\n                     else {\n                        y.readyState = 1;\n                        ((k && o.trigger(\"ajaxSend\", [y,m,])));\n                        ((((m.async && ((m.timeout > 0)))) && (i = JSBNG__setTimeout(function() {\n                            y.abort(\"timeout\");\n                        }, m.timeout))));\n                        try {\n                            w = 1;\n                            g.send(u, z);\n                        } catch (C) {\n                            if (!((w < 2))) {\n                                throw C;\n                            }\n                        ;\n                        ;\n                            z(-1, C);\n                        };\n                    ;\n                    }\n                ;\n                ;\n                    return y;\n                }\n            ;\n            ;\n                return y.abort();\n            },\n            active: 0,\n            lastModified: {\n            },\n            etag: {\n            }\n        });\n        var Hc = [], Ic = /\\?/, Jc = /(=)\\?(?=&|$)|\\?\\?/, Kc = q.now();\n        q.ajaxSetup({\n            jsonp: \"callback\",\n            jsonpCallback: function() {\n                var a = ((Hc.pop() || ((((q.expando + \"_\")) + Kc++))));\n                this[a] = !0;\n                return a;\n            }\n        });\n        q.ajaxPrefilter(\"json jsonp\", function(c, d, e) {\n            var f, g, i, j = c.data, k = c.url, l = ((c.jsonp !== !1)), m = ((l && Jc.test(k))), n = ((((((((l && !m)) && ((typeof j == \"string\")))) && !((c.contentType || \"\")).indexOf(\"application/x-www-form-urlencoded\"))) && Jc.test(j)));\n            if (((((((c.dataTypes[0] === \"jsonp\")) || m)) || n))) {\n                f = c.jsonpCallback = ((q.isFunction(c.jsonpCallback) ? c.jsonpCallback() : c.jsonpCallback));\n                g = a[f];\n                ((m ? c.url = k.replace(Jc, ((\"$1\" + f))) : ((n ? c.data = j.replace(Jc, ((\"$1\" + f))) : ((l && (c.url += ((((((((Ic.test(k) ? \"&\" : \"?\")) + c.jsonp)) + \"=\")) + f)))))))));\n                c.converters[\"script json\"] = function() {\n                    ((i || q.error(((f + \" was not called\")))));\n                    return i[0];\n                };\n                c.dataTypes[0] = \"json\";\n                a[f] = function() {\n                    i = arguments;\n                };\n                e.always(function() {\n                    a[f] = g;\n                    if (c[f]) {\n                        c.jsonpCallback = d.jsonpCallback;\n                        Hc.push(f);\n                    }\n                ;\n                ;\n                    ((((i && q.isFunction(g))) && g(i[0])));\n                    i = g = b;\n                });\n                return \"script\";\n            }\n        ;\n        ;\n        });\n        q.ajaxSetup({\n            accepts: {\n                script: \"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"\n            },\n            contents: {\n                script: /javascript|ecmascript/\n            },\n            converters: {\n                \"text script\": function(a) {\n                    q.globalEval(a);\n                    return a;\n                }\n            }\n        });\n        q.ajaxPrefilter(\"script\", function(a) {\n            ((((a.cache === b)) && (a.cache = !1)));\n            if (a.crossDomain) {\n                a.type = \"GET\";\n                a.global = !1;\n            }\n        ;\n        ;\n        });\n        q.ajaxTransport(\"script\", function(a) {\n            if (a.crossDomain) {\n                var c, d = ((((e.head || e.getElementsByTagName(\"head\")[0])) || e.documentElement));\n                return {\n                    send: function(_, f) {\n                        c = e.createElement(\"script\");\n                        c.async = \"async\";\n                        ((a.scriptCharset && (c.charset = a.scriptCharset)));\n                        c.src = a.url;\n                        c.JSBNG__onload = c.onreadystatechange = function(_, a) {\n                            if (((((a || !c.readyState)) || /loaded|complete/.test(c.readyState)))) {\n                                c.JSBNG__onload = c.onreadystatechange = null;\n                                ((((d && c.parentNode)) && d.removeChild(c)));\n                                c = b;\n                                ((a || f(200, \"success\")));\n                            }\n                        ;\n                        ;\n                        };\n                        d.insertBefore(c, d.firstChild);\n                    },\n                    abort: function() {\n                        ((c && c.JSBNG__onload(0, 1)));\n                    }\n                };\n            }\n        ;\n        ;\n        });\n        var Lc, Mc = ((a.ActiveXObject ? function() {\n            {\n                var fin34keys = ((window.top.JSBNG_Replay.forInKeys)((Lc))), fin34i = (0);\n                var a;\n                for (; (fin34i < fin34keys.length); (fin34i++)) {\n                    ((a) = (fin34keys[fin34i]));\n                    {\n                        Lc[a](0, 1);\n                    ;\n                    };\n                };\n            };\n        ;\n        } : !1)), Nc = 0;\n        q.ajaxSettings.xhr = ((a.ActiveXObject ? function() {\n            return ((((!this.isLocal && Oc())) || Pc()));\n        } : Oc));\n        (function(a) {\n            q.extend(q.support, {\n                ajax: !!a,\n                cors: ((!!a && ((\"withCredentials\" in a))))\n            });\n        })(q.ajaxSettings.xhr());\n        ((q.support.ajax && q.ajaxTransport(function(c) {\n            if (((!c.crossDomain || q.support.cors))) {\n                var d;\n                return {\n                    send: function(e, f) {\n                        var g, i, j = c.xhr();\n                        ((c.username ? j.open(c.type, c.url, c.async, c.username, c.password) : j.open(c.type, c.url, c.async)));\n                        if (c.xhrFields) {\n                            {\n                                var fin35keys = ((window.top.JSBNG_Replay.forInKeys)((c.xhrFields))), fin35i = (0);\n                                (0);\n                                for (; (fin35i < fin35keys.length); (fin35i++)) {\n                                    ((i) = (fin35keys[fin35i]));\n                                    {\n                                        j[i] = c.xhrFields[i];\n                                    ;\n                                    };\n                                };\n                            };\n                        }\n                    ;\n                    ;\n                        ((((c.mimeType && j.overrideMimeType)) && j.overrideMimeType(c.mimeType)));\n                        ((((!c.crossDomain && !e[\"X-Requested-With\"])) && (e[\"X-Requested-With\"] = \"JSBNG__XMLHttpRequest\")));\n                        try {\n                            {\n                                var fin36keys = ((window.top.JSBNG_Replay.forInKeys)((e))), fin36i = (0);\n                                (0);\n                                for (; (fin36i < fin36keys.length); (fin36i++)) {\n                                    ((i) = (fin36keys[fin36i]));\n                                    {\n                                        j.setRequestHeader(i, e[i]);\n                                    ;\n                                    };\n                                };\n                            };\n                        ;\n                        } catch (_) {\n                        \n                        };\n                    ;\n                        j.send(((((c.hasContent && c.data)) || null)));\n                        d = function(_, a) {\n                            var e, i, k, l, m;\n                            try {\n                                if (((d && ((a || ((j.readyState === 4))))))) {\n                                    d = b;\n                                    if (g) {\n                                        j.onreadystatechange = q.noop;\n                                        ((Mc && delete Lc[g]));\n                                    }\n                                ;\n                                ;\n                                    if (a) ((((j.readyState !== 4)) && j.abort()));\n                                     else {\n                                        e = j.JSBNG__status;\n                                        k = j.getAllResponseHeaders();\n                                        l = {\n                                        };\n                                        m = j.responseXML;\n                                        ((((m && m.documentElement)) && (l.xml = m)));\n                                        try {\n                                            l.text = j.responseText;\n                                        } catch (n) {\n                                        \n                                        };\n                                    ;\n                                        try {\n                                            i = j.statusText;\n                                        } catch (n) {\n                                            i = \"\";\n                                        };\n                                    ;\n                                        ((((((!e && c.isLocal)) && !c.crossDomain)) ? e = ((l.text ? 200 : 404)) : ((((e === 1223)) && (e = 204)))));\n                                    }\n                                ;\n                                ;\n                                }\n                            ;\n                            ;\n                            } catch (o) {\n                                ((a || f(-1, o)));\n                            };\n                        ;\n                            ((l && f(e, i, l, k)));\n                        };\n                        if (!c.async) {\n                            d();\n                        }\n                         else {\n                            if (((j.readyState === 4))) JSBNG__setTimeout(d, 0);\n                             else {\n                                g = ++Nc;\n                                if (Mc) {\n                                    if (!Lc) {\n                                        Lc = {\n                                        };\n                                        q(a).unload(Mc);\n                                    }\n                                ;\n                                ;\n                                    Lc[g] = d;\n                                }\n                            ;\n                            ;\n                                j.onreadystatechange = d;\n                            }\n                        ;\n                        }\n                    ;\n                    ;\n                    },\n                    abort: function() {\n                        ((d && d(0, 1)));\n                    }\n                };\n            }\n        ;\n        ;\n        })));\n        var Qc, Rc, Sc = /^(?:toggle|show|hide)$/, Tc = new RegExp(((((\"^(?:([-+])=|)(\" + r)) + \")([a-z%]*)$\")), \"i\"), Uc = /queueHooks$/, Vc = [_c,], Wc = {\n            \"*\": [function(a, b) {\n                var c, d, e = this.createTween(a, b), f = Tc.exec(b), g = e.cur(), i = ((+g || 0)), j = 1, k = 20;\n                if (f) {\n                    c = +f[2];\n                    d = ((f[3] || ((q.cssNumber[a] ? \"\" : \"px\"))));\n                    if (((((d !== \"px\")) && i))) {\n                        i = ((((q.css(e.elem, a, !0) || c)) || 1));\n                        do {\n                            j = ((j || \".5\"));\n                            i /= j;\n                            q.style(e.elem, a, ((i + d)));\n                        } while (((((((j !== (j = ((e.cur() / g))))) && ((j !== 1)))) && --k)));\n                    }\n                ;\n                ;\n                    e.unit = d;\n                    e.start = i;\n                    e.end = ((f[1] ? ((i + ((((f[1] + 1)) * c)))) : c));\n                }\n            ;\n            ;\n                return e;\n            },]\n        };\n        q.Animation = q.extend(Zc, {\n            tweener: function(a, b) {\n                if (q.isFunction(a)) {\n                    b = a;\n                    a = [\"*\",];\n                }\n                 else a = a.split(\" \");\n            ;\n            ;\n                var c, d = 0, e = a.length;\n                for (; ((d < e)); d++) {\n                    c = a[d];\n                    Wc[c] = ((Wc[c] || []));\n                    Wc[c].unshift(b);\n                };\n            ;\n            },\n            prefilter: function(a, b) {\n                ((b ? Vc.unshift(a) : Vc.push(a)));\n            }\n        });\n        q.Tween = ad;\n        ad.prototype = {\n            constructor: ad,\n            init: function(a, b, c, d, e, f) {\n                this.elem = a;\n                this.prop = c;\n                this.easing = ((e || \"swing\"));\n                this.options = b;\n                this.start = this.now = this.cur();\n                this.end = d;\n                this.unit = ((f || ((q.cssNumber[c] ? \"\" : \"px\"))));\n            },\n            cur: function() {\n                var a = ad.propHooks[this.prop];\n                return ((((a && a.get)) ? a.get(this) : ad.propHooks._default.get(this)));\n            },\n            run: function(a) {\n                var b, c = ad.propHooks[this.prop];\n                ((this.options.duration ? this.pos = b = q.easing[this.easing](a, ((this.options.duration * a)), 0, 1, this.options.duration) : this.pos = b = a));\n                this.now = ((((((this.end - this.start)) * b)) + this.start));\n                ((this.options.step && this.options.step.call(this.elem, this.now, this)));\n                ((((c && c.set)) ? c.set(this) : ad.propHooks._default.set(this)));\n                return this;\n            }\n        };\n        ad.prototype.init.prototype = ad.prototype;\n        ad.propHooks = {\n            _default: {\n                get: function(a) {\n                    var b;\n                    if (((((a.elem[a.prop] == null)) || ((!!a.elem.style && ((a.elem.style[a.prop] != null))))))) {\n                        b = q.css(a.elem, a.prop, !1, \"\");\n                        return ((((!b || ((b === \"auto\")))) ? 0 : b));\n                    }\n                ;\n                ;\n                    return a.elem[a.prop];\n                },\n                set: function(a) {\n                    ((q.fx.step[a.prop] ? q.fx.step[a.prop](a) : ((((a.elem.style && ((((a.elem.style[q.cssProps[a.prop]] != null)) || q.cssHooks[a.prop])))) ? q.style(a.elem, a.prop, ((a.now + a.unit))) : a.elem[a.prop] = a.now))));\n                }\n            }\n        };\n        ad.propHooks.scrollTop = ad.propHooks.scrollLeft = {\n            set: function(a) {\n                ((((a.elem.nodeType && a.elem.parentNode)) && (a.elem[a.prop] = a.now)));\n            }\n        };\n        q.each([\"toggle\",\"show\",\"hide\",], function(a, b) {\n            var c = q.fn[b];\n            q.fn[b] = function(d, e, f) {\n                return ((((((((d == null)) || ((typeof d == \"boolean\")))) || ((((!a && q.isFunction(d))) && q.isFunction(e))))) ? c.apply(this, arguments) : this.animate(bd(b, !0), d, e, f)));\n            };\n        });\n        q.fn.extend({\n            fadeTo: function(a, b, c, d) {\n                return this.filter(ac).css(\"opacity\", 0).show().end().animate({\n                    opacity: b\n                }, a, c, d);\n            },\n            animate: function(a, b, c, d) {\n                var e = q.isEmptyObject(a), f = q.speed(b, c, d), g = function() {\n                    var b = Zc(this, q.extend({\n                    }, a), f);\n                    ((e && b.JSBNG__stop(!0)));\n                };\n                return ((((e || ((f.queue === !1)))) ? this.each(g) : this.queue(f.queue, g)));\n            },\n            JSBNG__stop: function(a, c, d) {\n                var e = function(a) {\n                    var b = a.JSBNG__stop;\n                    delete a.JSBNG__stop;\n                    b(d);\n                };\n                if (((typeof a != \"string\"))) {\n                    d = c;\n                    c = a;\n                    a = b;\n                }\n            ;\n            ;\n                ((((c && ((a !== !1)))) && this.queue(((a || \"fx\")), [])));\n                return this.each(function() {\n                    var b = !0, c = ((((a != null)) && ((a + \"queueHooks\")))), f = q.timers, g = q._data(this);\n                    if (c) {\n                        ((((g[c] && g[c].JSBNG__stop)) && e(g[c])));\n                    }\n                     else {\n                        {\n                            var fin37keys = ((window.top.JSBNG_Replay.forInKeys)((g))), fin37i = (0);\n                            (0);\n                            for (; (fin37i < fin37keys.length); (fin37i++)) {\n                                ((c) = (fin37keys[fin37i]));\n                                {\n                                    ((((((g[c] && g[c].JSBNG__stop)) && Uc.test(c))) && e(g[c])));\n                                ;\n                                };\n                            };\n                        };\n                    }\n                ;\n                ;\n                    for (c = f.length; c--; ) {\n                        if (((((f[c].elem === this)) && ((((a == null)) || ((f[c].queue === a))))))) {\n                            f[c].anim.JSBNG__stop(d);\n                            b = !1;\n                            f.splice(c, 1);\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    ((((b || !d)) && q.dequeue(this, a)));\n                });\n            }\n        });\n        q.each({\n            slideDown: bd(\"show\"),\n            slideUp: bd(\"hide\"),\n            slideToggle: bd(\"toggle\"),\n            fadeIn: {\n                opacity: \"show\"\n            },\n            fadeOut: {\n                opacity: \"hide\"\n            },\n            fadeToggle: {\n                opacity: \"toggle\"\n            }\n        }, function(a, b) {\n            q.fn[a] = function(a, c, d) {\n                return this.animate(b, a, c, d);\n            };\n        });\n        q.speed = function(a, b, c) {\n            var d = ((((a && ((typeof a == \"object\")))) ? q.extend({\n            }, a) : {\n                complete: ((((c || ((!c && b)))) || ((q.isFunction(a) && a)))),\n                duration: a,\n                easing: ((((c && b)) || ((((b && !q.isFunction(b))) && b))))\n            }));\n            d.duration = ((q.fx.off ? 0 : ((((typeof d.duration == \"number\")) ? d.duration : ((((d.duration in q.fx.speeds)) ? q.fx.speeds[d.duration] : q.fx.speeds._default))))));\n            if (((((d.queue == null)) || ((d.queue === !0))))) {\n                d.queue = \"fx\";\n            }\n        ;\n        ;\n            d.old = d.complete;\n            d.complete = function() {\n                ((q.isFunction(d.old) && d.old.call(this)));\n                ((d.queue && q.dequeue(this, d.queue)));\n            };\n            return d;\n        };\n        q.easing = {\n            linear: function(a) {\n                return a;\n            },\n            swing: function(a) {\n                return ((91581 - ((Math.cos(((a * Math.PI))) / 2))));\n            }\n        };\n        q.timers = [];\n        q.fx = ad.prototype.init;\n        q.fx.tick = function() {\n            var a, c = q.timers, d = 0;\n            Qc = q.now();\n            for (; ((d < c.length)); d++) {\n                a = c[d];\n                ((((!a() && ((c[d] === a)))) && c.splice(d--, 1)));\n            };\n        ;\n            ((c.length || q.fx.JSBNG__stop()));\n            Qc = b;\n        };\n        q.fx.timer = function(a) {\n            ((((((a() && q.timers.push(a))) && !Rc)) && (Rc = JSBNG__setInterval(q.fx.tick, q.fx.interval))));\n        };\n        q.fx.interval = 13;\n        q.fx.JSBNG__stop = function() {\n            JSBNG__clearInterval(Rc);\n            Rc = null;\n        };\n        q.fx.speeds = {\n            slow: 600,\n            fast: 200,\n            _default: 400\n        };\n        q.fx.step = {\n        };\n        ((((q.expr && q.expr.filters)) && (q.expr.filters.animated = function(a) {\n            return q.grep(q.timers, function(b) {\n                return ((a === b.elem));\n            }).length;\n        })));\n        var cd = /^(?:body|html)$/i;\n        q.fn.offset = function(a) {\n            if (arguments.length) {\n                return ((((a === b)) ? this : this.each(function(b) {\n                    q.offset.setOffset(this, a, b);\n                })));\n            }\n        ;\n        ;\n            var c, d, e, f, g, i, j, k = {\n                JSBNG__top: 0,\n                left: 0\n            }, l = this[0], m = ((l && l.ownerDocument));\n            if (!m) {\n                return;\n            }\n        ;\n        ;\n            if ((((d = m.body) === l))) {\n                return q.offset.bodyOffset(l);\n            }\n        ;\n        ;\n            c = m.documentElement;\n            if (!q.contains(c, l)) {\n                return k;\n            }\n        ;\n        ;\n            ((((typeof l.getBoundingClientRect != \"undefined\")) && (k = l.getBoundingClientRect())));\n            e = dd(m);\n            f = ((((c.clientTop || d.clientTop)) || 0));\n            g = ((((c.clientLeft || d.clientLeft)) || 0));\n            i = ((e.JSBNG__pageYOffset || c.scrollTop));\n            j = ((e.JSBNG__pageXOffset || c.scrollLeft));\n            return {\n                JSBNG__top: ((((k.JSBNG__top + i)) - f)),\n                left: ((((k.left + j)) - g))\n            };\n        };\n        q.offset = {\n            bodyOffset: function(a) {\n                var b = a.offsetTop, c = a.offsetLeft;\n                if (q.support.doesNotIncludeMarginInBodyOffset) {\n                    b += ((parseFloat(q.css(a, \"marginTop\")) || 0));\n                    c += ((parseFloat(q.css(a, \"marginLeft\")) || 0));\n                }\n            ;\n            ;\n                return {\n                    JSBNG__top: b,\n                    left: c\n                };\n            },\n            setOffset: function(a, b, c) {\n                var d = q.css(a, \"position\");\n                ((((d === \"static\")) && (a.style.position = \"relative\")));\n                var e = q(a), f = e.offset(), g = q.css(a, \"JSBNG__top\"), i = q.css(a, \"left\"), j = ((((((d === \"absolute\")) || ((d === \"fixed\")))) && ((q.inArray(\"auto\", [g,i,]) > -1)))), k = {\n                }, l = {\n                }, m, n;\n                if (j) {\n                    l = e.position();\n                    m = l.JSBNG__top;\n                    n = l.left;\n                }\n                 else {\n                    m = ((parseFloat(g) || 0));\n                    n = ((parseFloat(i) || 0));\n                }\n            ;\n            ;\n                ((q.isFunction(b) && (b = b.call(a, c, f))));\n                ((((b.JSBNG__top != null)) && (k.JSBNG__top = ((((b.JSBNG__top - f.JSBNG__top)) + m)))));\n                ((((b.left != null)) && (k.left = ((((b.left - f.left)) + n)))));\n                ((((\"using\" in b)) ? b.using.call(a, k) : e.css(k)));\n            }\n        };\n        q.fn.extend({\n            position: function() {\n                if (!this[0]) {\n                    return;\n                }\n            ;\n            ;\n                var a = this[0], b = this.offsetParent(), c = this.offset(), d = ((cd.test(b[0].nodeName) ? {\n                    JSBNG__top: 0,\n                    left: 0\n                } : b.offset()));\n                c.JSBNG__top -= ((parseFloat(q.css(a, \"marginTop\")) || 0));\n                c.left -= ((parseFloat(q.css(a, \"marginLeft\")) || 0));\n                d.JSBNG__top += ((parseFloat(q.css(b[0], \"borderTopWidth\")) || 0));\n                d.left += ((parseFloat(q.css(b[0], \"borderLeftWidth\")) || 0));\n                return {\n                    JSBNG__top: ((c.JSBNG__top - d.JSBNG__top)),\n                    left: ((c.left - d.left))\n                };\n            },\n            offsetParent: function() {\n                return this.map(function() {\n                    var a = ((this.offsetParent || e.body));\n                    while (((((a && !cd.test(a.nodeName))) && ((q.css(a, \"position\") === \"static\"))))) {\n                        a = a.offsetParent;\n                    ;\n                    };\n                ;\n                    return ((a || e.body));\n                });\n            }\n        });\n        q.each({\n            scrollLeft: \"JSBNG__pageXOffset\",\n            scrollTop: \"JSBNG__pageYOffset\"\n        }, function(a, c) {\n            var d = /Y/.test(c);\n            q.fn[a] = function(e) {\n                return q.access(this, function(a, e, f) {\n                    var g = dd(a);\n                    if (((f === b))) {\n                        return ((g ? ((((c in g)) ? g[c] : g.JSBNG__document.documentElement[e])) : a[e]));\n                    }\n                ;\n                ;\n                    ((g ? g.JSBNG__scrollTo(((d ? q(g).scrollLeft() : f)), ((d ? f : q(g).scrollTop()))) : a[e] = f));\n                }, a, e, arguments.length, null);\n            };\n        });\n        q.each({\n            Height: \"height\",\n            Width: \"width\"\n        }, function(a, c) {\n            q.each({\n                padding: ((\"JSBNG__inner\" + a)),\n                JSBNG__content: c,\n                \"\": ((\"JSBNG__outer\" + a))\n            }, function(d, e) {\n                q.fn[e] = function(e, f) {\n                    var g = ((arguments.length && ((d || ((typeof e != \"boolean\")))))), i = ((d || ((((((e === !0)) || ((f === !0)))) ? \"margin\" : \"border\"))));\n                    return q.access(this, function(c, d, e) {\n                        var f;\n                        if (q.isWindow(c)) {\n                            return c.JSBNG__document.documentElement[((\"client\" + a))];\n                        }\n                    ;\n                    ;\n                        if (((c.nodeType === 9))) {\n                            f = c.documentElement;\n                            return Math.max(c.body[((\"JSBNG__scroll\" + a))], f[((\"JSBNG__scroll\" + a))], c.body[((\"offset\" + a))], f[((\"offset\" + a))], f[((\"client\" + a))]);\n                        }\n                    ;\n                    ;\n                        return ((((e === b)) ? q.css(c, d, e, i) : q.style(c, d, e, i)));\n                    }, c, ((g ? e : b)), g, null);\n                };\n            });\n        });\n        a.jQuery = a.$ = q;\n        ((((((((typeof define == \"function\")) && define.amd)) && define.amd.jQuery)) && define(\"jquery\", [], function() {\n            return q;\n        })));\n    })(window);\n    (function(a) {\n        ((((typeof define == \"function\")) ? define(a) : ((((typeof YUI == \"function\")) ? YUI.add(\"es5\", a) : a()))));\n    })(function() {\n        ((Function.prototype.bind || (Function.prototype.bind = function(b) {\n            var c = this;\n            if (((typeof c != \"function\"))) {\n                throw new TypeError(((\"Function.prototype.bind called on incompatible \" + c)));\n            }\n        ;\n        ;\n            var e = d.call(arguments, 1), f = function() {\n                if (((this instanceof f))) {\n                    var a = function() {\n                    \n                    };\n                    a.prototype = c.prototype;\n                    var g = new a, i = c.apply(g, e.concat(d.call(arguments)));\n                    return ((((Object(i) === i)) ? i : g));\n                }\n            ;\n            ;\n                return c.apply(b, e.concat(d.call(arguments)));\n            };\n            return f;\n        })));\n        var a = Function.prototype.call, b = Array.prototype, c = Object.prototype, d = b.slice, e = a.bind(c.toString), f = a.bind(c.hasOwnProperty), g, i, j, k, l;\n        if (l = f(c, \"__defineGetter__\")) {\n            g = a.bind(c.__defineGetter__);\n            i = a.bind(c.__defineSetter__);\n            j = a.bind(c.__lookupGetter__);\n            k = a.bind(c.__lookupSetter__);\n        }\n    ;\n    ;\n        ((Array.isArray || (Array.isArray = function(b) {\n            return ((e(b) == \"[object Array]\"));\n        })));\n        ((Array.prototype.forEach || (Array.prototype.forEach = function(b) {\n            var c = v(this), d = arguments[1], f = -1, g = ((c.length >>> 0));\n            if (((e(b) != \"[object Function]\"))) {\n                throw new TypeError;\n            }\n        ;\n        ;\n            while (((++f < g))) {\n                ((((f in c)) && b.call(d, c[f], f, c)));\n            ;\n            };\n        ;\n        })));\n        ((Array.prototype.map || (Array.prototype.map = function(b) {\n            var c = v(this), d = ((c.length >>> 0)), f = Array(d), g = arguments[1];\n            if (((e(b) != \"[object Function]\"))) {\n                throw new TypeError(((b + \" is not a function\")));\n            }\n        ;\n        ;\n            for (var i = 0; ((i < d)); i++) {\n                ((((i in c)) && (f[i] = b.call(g, c[i], i, c))));\n            ;\n            };\n        ;\n            return f;\n        })));\n        ((Array.prototype.filter || (Array.prototype.filter = function(b) {\n            var c = v(this), d = ((c.length >>> 0)), f = [], g, i = arguments[1];\n            if (((e(b) != \"[object Function]\"))) {\n                throw new TypeError(((b + \" is not a function\")));\n            }\n        ;\n        ;\n            for (var j = 0; ((j < d)); j++) {\n                if (((j in c))) {\n                    g = c[j];\n                    ((b.call(i, g, j, c) && f.push(g)));\n                }\n            ;\n            ;\n            };\n        ;\n            return f;\n        })));\n        ((Array.prototype.every || (Array.prototype.every = function(b) {\n            var c = v(this), d = ((c.length >>> 0)), f = arguments[1];\n            if (((e(b) != \"[object Function]\"))) {\n                throw new TypeError(((b + \" is not a function\")));\n            }\n        ;\n        ;\n            for (var g = 0; ((g < d)); g++) {\n                if (((((g in c)) && !b.call(f, c[g], g, c)))) {\n                    return !1;\n                }\n            ;\n            ;\n            };\n        ;\n            return !0;\n        })));\n        ((Array.prototype.some || (Array.prototype.some = function(b) {\n            var c = v(this), d = ((c.length >>> 0)), f = arguments[1];\n            if (((e(b) != \"[object Function]\"))) {\n                throw new TypeError(((b + \" is not a function\")));\n            }\n        ;\n        ;\n            for (var g = 0; ((g < d)); g++) {\n                if (((((g in c)) && b.call(f, c[g], g, c)))) {\n                    return !0;\n                }\n            ;\n            ;\n            };\n        ;\n            return !1;\n        })));\n        ((Array.prototype.reduce || (Array.prototype.reduce = function(b) {\n            var c = v(this), d = ((c.length >>> 0));\n            if (((e(b) != \"[object Function]\"))) {\n                throw new TypeError(((b + \" is not a function\")));\n            }\n        ;\n        ;\n            if (((!d && ((arguments.length == 1))))) {\n                throw new TypeError(\"reduce of empty array with no initial value\");\n            }\n        ;\n        ;\n            var f = 0, g;\n            if (((arguments.length >= 2))) {\n                g = arguments[1];\n            }\n             else {\n                do {\n                    if (((f in c))) {\n                        g = c[f++];\n                        break;\n                    }\n                ;\n                ;\n                    if (((++f >= d))) {\n                        throw new TypeError(\"reduce of empty array with no initial value\");\n                    }\n                ;\n                ;\n                } while (!0);\n            }\n        ;\n        ;\n            for (; ((f < d)); f++) {\n                ((((f in c)) && (g = b.call(void 0, g, c[f], f, c))));\n            ;\n            };\n        ;\n            return g;\n        })));\n        ((Array.prototype.reduceRight || (Array.prototype.reduceRight = function(b) {\n            var c = v(this), d = ((c.length >>> 0));\n            if (((e(b) != \"[object Function]\"))) {\n                throw new TypeError(((b + \" is not a function\")));\n            }\n        ;\n        ;\n            if (((!d && ((arguments.length == 1))))) {\n                throw new TypeError(\"reduceRight of empty array with no initial value\");\n            }\n        ;\n        ;\n            var f, g = ((d - 1));\n            if (((arguments.length >= 2))) {\n                f = arguments[1];\n            }\n             else {\n                do {\n                    if (((g in c))) {\n                        f = c[g--];\n                        break;\n                    }\n                ;\n                ;\n                    if (((--g < 0))) {\n                        throw new TypeError(\"reduceRight of empty array with no initial value\");\n                    }\n                ;\n                ;\n                } while (!0);\n            }\n        ;\n        ;\n            do ((((g in this)) && (f = b.call(void 0, f, c[g], g, c)))); while (g--);\n            return f;\n        })));\n        ((Array.prototype.indexOf || (Array.prototype.indexOf = function(b) {\n            var c = v(this), d = ((c.length >>> 0));\n            if (!d) {\n                return -1;\n            }\n        ;\n        ;\n            var e = 0;\n            ((((arguments.length > 1)) && (e = t(arguments[1]))));\n            e = ((((e >= 0)) ? e : Math.max(0, ((d + e)))));\n            for (; ((e < d)); e++) {\n                if (((((e in c)) && ((c[e] === b))))) {\n                    return e;\n                }\n            ;\n            ;\n            };\n        ;\n            return -1;\n        })));\n        ((Array.prototype.lastIndexOf || (Array.prototype.lastIndexOf = function(b) {\n            var c = v(this), d = ((c.length >>> 0));\n            if (!d) {\n                return -1;\n            }\n        ;\n        ;\n            var e = ((d - 1));\n            ((((arguments.length > 1)) && (e = Math.min(e, t(arguments[1])))));\n            e = ((((e >= 0)) ? e : ((d - Math.abs(e)))));\n            for (; ((e >= 0)); e--) {\n                if (((((e in c)) && ((b === c[e]))))) {\n                    return e;\n                }\n            ;\n            ;\n            };\n        ;\n            return -1;\n        })));\n        if (!Object.keys) {\n            var m = !0, n = [\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\",], o = n.length;\n            {\n                var fin38keys = ((window.top.JSBNG_Replay.forInKeys)(({\n                    toString: null\n                }))), fin38i = (0);\n                var p;\n                for (; (fin38i < fin38keys.length); (fin38i++)) {\n                    ((p) = (fin38keys[fin38i]));\n                    {\n                        m = !1;\n                    ;\n                    };\n                };\n            };\n        ;\n            Object.keys = function w(a) {\n                if (((((((typeof a != \"object\")) && ((typeof a != \"function\")))) || ((a === null))))) {\n                    throw new TypeError(\"Object.keys called on a non-object\");\n                }\n            ;\n            ;\n                var w = [];\n                {\n                    var fin39keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin39i = (0);\n                    var b;\n                    for (; (fin39i < fin39keys.length); (fin39i++)) {\n                        ((b) = (fin39keys[fin39i]));\n                        {\n                            ((f(a, b) && w.push(b)));\n                        ;\n                        };\n                    };\n                };\n            ;\n                if (m) {\n                    for (var c = 0, d = o; ((c < d)); c++) {\n                        var e = n[c];\n                        ((f(a, e) && w.push(e)));\n                    };\n                }\n            ;\n            ;\n                return w;\n            };\n        }\n    ;\n    ;\n        if (((!JSBNG__Date.prototype.toISOString || (((new JSBNG__Date(-62198755200000)).toISOString().indexOf(\"-000001\") === -1))))) {\n            JSBNG__Date.prototype.toISOString = function() {\n                var b, c, d, e;\n                if (!isFinite(this)) {\n                    throw new RangeError(\"JSBNG__Date.prototype.toISOString called on non-finite value.\");\n                }\n            ;\n            ;\n                b = [((this.getUTCMonth() + 1)),this.getUTCDate(),this.getUTCHours(),this.getUTCMinutes(),this.getUTCSeconds(),];\n                e = this.getUTCFullYear();\n                e = ((((((e < 0)) ? \"-\" : ((((e > 9999)) ? \"+\" : \"\")))) + ((\"00000\" + Math.abs(e))).slice(((((((0 <= e)) && ((e <= 9999)))) ? -4 : -6)))));\n                c = b.length;\n                while (c--) {\n                    d = b[c];\n                    ((((d < 10)) && (b[c] = ((\"0\" + d)))));\n                };\n            ;\n                return ((((((((((((((e + \"-\")) + b.slice(0, 2).join(\"-\"))) + \"T\")) + b.slice(2).join(\":\"))) + \".\")) + ((\"000\" + this.getUTCMilliseconds())).slice(-3))) + \"Z\"));\n            };\n        }\n    ;\n    ;\n        ((JSBNG__Date.now || (JSBNG__Date.now = function() {\n            return (new JSBNG__Date).getTime();\n        })));\n        ((JSBNG__Date.prototype.toJSON || (JSBNG__Date.prototype.toJSON = function(b) {\n            if (((typeof this.toISOString != \"function\"))) {\n                throw new TypeError(\"toISOString property is not callable\");\n            }\n        ;\n        ;\n            return this.toISOString();\n        })));\n        if (((!JSBNG__Date.parse || ((JSBNG__Date.parse(\"+275760-09-13T00:00:00.000Z\") !== 8640000000000000))))) {\n            JSBNG__Date = function(a) {\n                var b = function e(b, c, d, h, f, g, i) {\n                    var j = arguments.length;\n                    if (((this instanceof a))) {\n                        var k = ((((((j == 1)) && ((String(b) === b)))) ? new a(e.parse(b)) : ((((j >= 7)) ? new a(b, c, d, h, f, g, i) : ((((j >= 6)) ? new a(b, c, d, h, f, g) : ((((j >= 5)) ? new a(b, c, d, h, f) : ((((j >= 4)) ? new a(b, c, d, h) : ((((j >= 3)) ? new a(b, c, d) : ((((j >= 2)) ? new a(b, c) : ((((j >= 1)) ? new a(b) : new a))))))))))))))));\n                        k.constructor = e;\n                        return k;\n                    }\n                ;\n                ;\n                    return a.apply(this, arguments);\n                }, c = new RegExp(\"^(\\\\d{4}|[+-]\\\\d{6})(?:-(\\\\d{2})(?:-(\\\\d{2})(?:T(\\\\d{2}):(\\\\d{2})(?::(\\\\d{2})(?:\\\\.(\\\\d{3}))?)?(?:Z|(?:([-+])(\\\\d{2}):(\\\\d{2})))?)?)?)?$\");\n                {\n                    var fin40keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin40i = (0);\n                    var d;\n                    for (; (fin40i < fin40keys.length); (fin40i++)) {\n                        ((d) = (fin40keys[fin40i]));\n                        {\n                            b[d] = a[d];\n                        ;\n                        };\n                    };\n                };\n            ;\n                b.now = a.now;\n                b.UTC = a.UTC;\n                b.prototype = a.prototype;\n                b.prototype.constructor = b;\n                b.parse = function(d) {\n                    var e = c.exec(d);\n                    if (e) {\n                        e.shift();\n                        for (var f = 1; ((f < 7)); f++) {\n                            e[f] = +((e[f] || ((((f < 3)) ? 1 : 0))));\n                            ((((f == 1)) && e[f]--));\n                        };\n                    ;\n                        var g = +e.pop(), i = +e.pop(), j = e.pop(), k = 0;\n                        if (j) {\n                            if (((((i > 23)) || ((g > 59))))) {\n                                return NaN;\n                            }\n                        ;\n                        ;\n                            k = ((((((((i * 60)) + g)) * 60000)) * ((((j == \"+\")) ? -1 : 1))));\n                        }\n                    ;\n                    ;\n                        var l = +e[0];\n                        if (((((0 <= l)) && ((l <= 99))))) {\n                            e[0] = ((l + 400));\n                            return ((((a.UTC.apply(this, e) + k)) - 12622780800000));\n                        }\n                    ;\n                    ;\n                        return ((a.UTC.apply(this, e) + k));\n                    }\n                ;\n                ;\n                    return a.parse.apply(this, arguments);\n                };\n                return b;\n            }(JSBNG__Date);\n        }\n    ;\n    ;\n        var q = \"\\u0009\\u000a\\u000b\\u000c\\u000d \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029\\ufeff\";\n        if (((!String.prototype.trim || q.trim()))) {\n            q = ((((\"[\" + q)) + \"]\"));\n            var r = new RegExp(((((((\"^\" + q)) + q)) + \"*\"))), s = new RegExp(((((q + q)) + \"*$\")));\n            String.prototype.trim = function() {\n                if (((((this === undefined)) || ((this === null))))) {\n                    throw new TypeError(((((\"can't convert \" + this)) + \" to object\")));\n                }\n            ;\n            ;\n                return String(this).replace(r, \"\").replace(s, \"\");\n            };\n        }\n    ;\n    ;\n        var t = function(a) {\n            a = +a;\n            ((((a !== a)) ? a = 0 : ((((((((a !== 0)) && ((a !== ((1 / 0)))))) && ((a !== -Infinity)))) && (a = ((((((a > 0)) || -1)) * Math.floor(Math.abs(a)))))))));\n            return a;\n        }, u = ((\"a\"[0] != \"a\")), v = function(a) {\n            if (((a == null))) {\n                throw new TypeError(((((\"can't convert \" + a)) + \" to object\")));\n            }\n        ;\n        ;\n            return ((((((u && ((typeof a == \"string\")))) && a)) ? a.split(\"\") : Object(a)));\n        };\n    });\n    (function(a) {\n        ((((typeof define == \"function\")) ? define(a) : ((((typeof YUI == \"function\")) ? YUI.add(\"es5-sham\", a) : a()))));\n    })(function() {\n        function b(a) {\n            try {\n                Object.defineProperty(a, \"sentinel\", {\n                });\n                return ((\"sentinel\" in a));\n            } catch (b) {\n            \n            };\n        ;\n        };\n    ;\n        ((Object.getPrototypeOf || (Object.getPrototypeOf = function(b) {\n            return ((b.__proto__ || ((b.constructor ? b.constructor.prototype : prototypeOfObject))));\n        })));\n        if (!Object.getOwnPropertyDescriptor) {\n            var a = \"Object.getOwnPropertyDescriptor called on a non-object: \";\n            Object.getOwnPropertyDescriptor = function(c, d) {\n                if (((((((typeof c != \"object\")) && ((typeof c != \"function\")))) || ((c === null))))) {\n                    throw new TypeError(((a + c)));\n                }\n            ;\n            ;\n                if (!owns(c, d)) {\n                    return;\n                }\n            ;\n            ;\n                var e = {\n                    enumerable: !0,\n                    configurable: !0\n                };\n                if (supportsAccessors) {\n                    var f = c.__proto__;\n                    c.__proto__ = prototypeOfObject;\n                    var g = lookupGetter(c, d), i = lookupSetter(c, d);\n                    c.__proto__ = f;\n                    if (((g || i))) {\n                        ((g && (e.get = g)));\n                        ((i && (e.set = i)));\n                        return e;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                e.value = c[d];\n                return e;\n            };\n        }\n    ;\n    ;\n        ((Object.getOwnPropertyNames || (Object.getOwnPropertyNames = function(b) {\n            return Object.keys(b);\n        })));\n        ((Object.create || (Object.create = function(b, c) {\n            var d;\n            if (((b === null))) d = {\n                __proto__: null\n            };\n             else {\n                if (((typeof b != \"object\"))) {\n                    throw new TypeError(((((\"typeof prototype[\" + typeof b)) + \"] != 'object'\")));\n                }\n            ;\n            ;\n                var e = function() {\n                \n                };\n                e.prototype = b;\n                d = new e;\n                d.__proto__ = b;\n            }\n        ;\n        ;\n            ((((c !== void 0)) && Object.defineProperties(d, c)));\n            return d;\n        })));\n        if (Object.defineProperty) {\n            var c = b({\n            }), d = ((((typeof JSBNG__document == \"undefined\")) || b(JSBNG__document.createElement(\"div\"))));\n            if (((!c || !d))) {\n                var e = Object.defineProperty;\n            }\n        ;\n        ;\n        }\n    ;\n    ;\n        if (((!Object.defineProperty || e))) {\n            var f = \"Property description must be an object: \", g = \"Object.defineProperty called on non-object: \", i = \"getters & setters can not be defined on this javascript engine\";\n            Object.defineProperty = function(b, c, d) {\n                if (((((((typeof b != \"object\")) && ((typeof b != \"function\")))) || ((b === null))))) {\n                    throw new TypeError(((g + b)));\n                }\n            ;\n            ;\n                if (((((((typeof d != \"object\")) && ((typeof d != \"function\")))) || ((d === null))))) {\n                    throw new TypeError(((f + d)));\n                }\n            ;\n            ;\n                if (e) {\n                    try {\n                        return e.call(Object, b, c, d);\n                    } catch (j) {\n                    \n                    };\n                }\n            ;\n            ;\n                if (owns(d, \"value\")) if (((supportsAccessors && ((lookupGetter(b, c) || lookupSetter(b, c)))))) {\n                    var k = b.__proto__;\n                    b.__proto__ = prototypeOfObject;\n                    delete b[c];\n                    b[c] = d.value;\n                    b.__proto__ = k;\n                }\n                 else b[c] = d.value;\n                \n                 else {\n                    if (!supportsAccessors) {\n                        throw new TypeError(i);\n                    }\n                ;\n                ;\n                    ((owns(d, \"get\") && defineGetter(b, c, d.get)));\n                    ((owns(d, \"set\") && defineSetter(b, c, d.set)));\n                }\n            ;\n            ;\n                return b;\n            };\n        }\n    ;\n    ;\n        ((Object.defineProperties || (Object.defineProperties = function(b, c) {\n            {\n                var fin41keys = ((window.top.JSBNG_Replay.forInKeys)((c))), fin41i = (0);\n                var d;\n                for (; (fin41i < fin41keys.length); (fin41i++)) {\n                    ((d) = (fin41keys[fin41i]));\n                    {\n                        ((((owns(c, d) && ((d != \"__proto__\")))) && Object.defineProperty(b, d, c[d])));\n                    ;\n                    };\n                };\n            };\n        ;\n            return b;\n        })));\n        ((Object.seal || (Object.seal = function(b) {\n            return b;\n        })));\n        ((Object.freeze || (Object.freeze = function(b) {\n            return b;\n        })));\n        try {\n            Object.freeze(function() {\n            \n            });\n        } catch (j) {\n            Object.freeze = function(b) {\n                return function(c) {\n                    return ((((typeof c == \"function\")) ? c : b(c)));\n                };\n            }(Object.freeze);\n        };\n    ;\n        ((Object.preventExtensions || (Object.preventExtensions = function(b) {\n            return b;\n        })));\n        ((Object.isSealed || (Object.isSealed = function(b) {\n            return !1;\n        })));\n        ((Object.isFrozen || (Object.isFrozen = function(b) {\n            return !1;\n        })));\n        ((Object.isExtensible || (Object.isExtensible = function(b) {\n            if (((Object(b) !== b))) {\n                throw new TypeError;\n            }\n        ;\n        ;\n            var c = \"\";\n            while (owns(b, c)) {\n                c += \"?\";\n            ;\n            };\n        ;\n            b[c] = !0;\n            var d = owns(b, c);\n            delete b[c];\n            return d;\n        })));\n    });\n    (function(a, b) {\n        function t(a) {\n            for (var b = 1, c; c = arguments[b]; b++) {\n                {\n                    var fin42keys = ((window.top.JSBNG_Replay.forInKeys)((c))), fin42i = (0);\n                    var d;\n                    for (; (fin42i < fin42keys.length); (fin42i++)) {\n                        ((d) = (fin42keys[fin42i]));\n                        {\n                            a[d] = c[d];\n                        ;\n                        };\n                    };\n                };\n            ;\n            };\n        ;\n            return a;\n        };\n    ;\n        function u(a) {\n            return Array.prototype.slice.call(a);\n        };\n    ;\n        function w(a, b) {\n            for (var c = 0, d; d = a[c]; c++) {\n                if (((b == d))) {\n                    return c;\n                }\n            ;\n            ;\n            };\n        ;\n            return -1;\n        };\n    ;\n        function x() {\n            var a = u(arguments), b = [];\n            for (var c = 0, d = a.length; ((c < d)); c++) {\n                ((((a[c].length > 0)) && b.push(a[c].replace(/\\/$/, \"\"))));\n            ;\n            };\n        ;\n            return b.join(\"/\");\n        };\n    ;\n        function y(a, b, c) {\n            var d = b.split(\"/\"), e = a;\n            while (((d.length > 1))) {\n                var f = d.shift();\n                e = e[f] = ((e[f] || {\n                }));\n            };\n        ;\n            e[d[0]] = c;\n        };\n    ;\n        function z() {\n        \n        };\n    ;\n        function A(a, b) {\n            ((a && (this.id = this.path = this.resolvePath(a))));\n            this.originalPath = a;\n            this.force = !!b;\n        };\n    ;\n        function B(a, b) {\n            this.id = a;\n            this.path = this.resolvePath(a);\n            this.force = b;\n        };\n    ;\n        function C(a, b) {\n            this.id = a;\n            this.contents = b;\n            this.dep = O(a);\n            this.deps = [];\n            this.path = this.dep.path;\n        };\n    ;\n        function D(a, b) {\n            var d;\n            this.body = b;\n            if (!a) if (c) {\n                d = ((i || K()));\n                if (d) {\n                    this.setId(d.id);\n                    delete j[d.scriptId];\n                    this.then(function(a) {\n                        d.complete.call(d, a);\n                    });\n                }\n            ;\n            ;\n            }\n             else g = this;\n            \n             else {\n                this.setId(a);\n                (((d = p[((\"module_\" + this.id))]) && this.then(function(a) {\n                    d.complete.call(d, a);\n                })));\n            }\n        ;\n        ;\n        };\n    ;\n        function E(a) {\n            var b = [];\n            for (var c = 0, d; d = a[c]; c++) {\n                ((((d instanceof H)) ? b = b.concat(E(d.deps)) : ((((d instanceof B)) && b.push(d)))));\n            ;\n            };\n        ;\n            return b;\n        };\n    ;\n        function F() {\n            for (var a = 0, b; b = this.deps[a]; a++) {\n                if (b.forceFetch) b.forceFetch();\n                 else {\n                    b.force = !0;\n                    b.start();\n                }\n            ;\n            ;\n            };\n        ;\n            return this;\n        };\n    ;\n        function G(a) {\n            this.deps = a;\n            ((((this.deps.length == 0)) && this.complete()));\n        };\n    ;\n        function H(a) {\n            this.deps = a;\n        };\n    ;\n        function J() {\n            this.entries = {\n            };\n        };\n    ;\n        function K() {\n            {\n                var fin43keys = ((window.top.JSBNG_Replay.forInKeys)((d))), fin43i = (0);\n                var a;\n                for (; (fin43i < fin43keys.length); (fin43i++)) {\n                    ((a) = (fin43keys[fin43i]));\n                    {\n                        if (((d[a].readyState == \"interactive\"))) {\n                            return j[d[a].id];\n                        }\n                    ;\n                    ;\n                    };\n                };\n            };\n        ;\n        };\n    ;\n        function L() {\n            var a = u(arguments), b, c;\n            ((((typeof a[0] == \"string\")) && (b = a.shift())));\n            c = a.shift();\n            return new D(b, c);\n        };\n    ;\n        function M() {\n            var a = u(arguments), b;\n            ((((typeof a[((a.length - 1))] == \"function\")) && (b = a.pop())));\n            var c = new G(N(a));\n            ((b && c.then(b)));\n            return c;\n        };\n    ;\n        function N(a) {\n            var b = [];\n            for (var c = 0, d; d = a[c]; c++) {\n                ((((typeof d == \"string\")) && (d = O(d))));\n                ((v(d) && (d = new H(N(d)))));\n                b.push(d);\n            };\n        ;\n            return b;\n        };\n    ;\n        function O(a) {\n            var b, c;\n            for (var d = 0, e; e = M.matchers[d]; d++) {\n                var f = e[0], g = e[1];\n                if (b = a.match(f)) {\n                    return g(a);\n                }\n            ;\n            ;\n            };\n        ;\n            throw new Error(((a + \" was not recognised by loader\")));\n        };\n    ;\n        function Q() {\n            a.using = k;\n            a.provide = l;\n            a.loadrunner = m;\n            return P;\n        };\n    ;\n        function R(a) {\n            function d(b, d) {\n                c[d] = ((c[d] || {\n                }));\n                c[d][a] = {\n                    key: a,\n                    start: b.startTime,\n                    end: b.endTime,\n                    duration: ((b.endTime - ((b.startTime || (new JSBNG__Date).getTime())))),\n                    JSBNG__status: d,\n                    origin: b\n                };\n            };\n        ;\n            var b, c = {\n            };\n            if (((a && (((((b = o[a]) || (b = p[a]))) || (b = n[a])))))) {\n                return {\n                    start: b.startTime,\n                    end: b.endTime,\n                    duration: ((b.endTime - ((b.startTime || (new JSBNG__Date).getTime())))),\n                    origin: b\n                };\n            }\n        ;\n        ;\n            {\n                var fin44keys = ((window.top.JSBNG_Replay.forInKeys)((o))), fin44i = (0);\n                var a;\n                for (; (fin44i < fin44keys.length); (fin44i++)) {\n                    ((a) = (fin44keys[fin44i]));\n                    {\n                        d(o[a], \"met\");\n                    ;\n                    };\n                };\n            };\n        ;\n            {\n                var fin45keys = ((window.top.JSBNG_Replay.forInKeys)((p))), fin45i = (0);\n                var a;\n                for (; (fin45i < fin45keys.length); (fin45i++)) {\n                    ((a) = (fin45keys[fin45i]));\n                    {\n                        d(p[a], \"inProgress\");\n                    ;\n                    };\n                };\n            };\n        ;\n            {\n                var fin46keys = ((window.top.JSBNG_Replay.forInKeys)((n))), fin46i = (0);\n                var a;\n                for (; (fin46i < fin46keys.length); (fin46i++)) {\n                    ((a) = (fin46keys[fin46i]));\n                    {\n                        d(n[a], \"paused\");\n                    ;\n                    };\n                };\n            };\n        ;\n            return c;\n        };\n    ;\n        function S() {\n            n = {\n            };\n            o = {\n            };\n            p = {\n            };\n            M.bundles = new J;\n            B.exports = {\n            };\n            D.provided = {\n            };\n        };\n    ;\n        function T(a) {\n            return ((M.bundles.get(a) || undefined));\n        };\n    ;\n        var c = ((a.JSBNG__attachEvent && !a.JSBNG__opera)), d = b.getElementsByTagName(\"script\"), e, f = b.createElement(\"script\"), g, i, j = {\n        }, k = a.using, l = a.provide, m = a.loadrunner, n = {\n        }, o = {\n        }, p = {\n        };\n        for (var q = 0, r; r = d[q]; q++) {\n            if (r.src.match(/loadrunner\\.js(\\?|#|$)/)) {\n                e = r;\n                break;\n            }\n        ;\n        ;\n        };\n    ;\n        var s = function() {\n            var a = 0;\n            return function() {\n                return a++;\n            };\n        }(), v = ((Array.isArray || function(a) {\n            return ((a.constructor == Array));\n        }));\n        z.prototype.then = function(b) {\n            this.callbacks = ((this.callbacks || []));\n            this.callbacks.push(b);\n            ((this.completed ? b.apply(a, this.results) : ((((this.callbacks.length == 1)) && this.start()))));\n            return this;\n        };\n        z.prototype.key = function() {\n            ((this.id || (this.id = s())));\n            return ((\"dependency_\" + this.id));\n        };\n        z.prototype.start = function() {\n            var a = this, b, c;\n            this.startTime = (new JSBNG__Date).getTime();\n            if (b = o[this.key()]) {\n                this.complete.apply(this, b.results);\n            }\n             else {\n                if (c = p[this.key()]) {\n                    c.then(function() {\n                        a.complete.apply(a, arguments);\n                    });\n                }\n                 else {\n                    if (this.shouldFetch()) {\n                        p[this.key()] = this;\n                        this.fetch();\n                    }\n                     else {\n                        n[this.key()] = ((n[this.key()] || []));\n                        n[this.key()].push(this);\n                    }\n                ;\n                }\n            ;\n            }\n        ;\n        ;\n        };\n        z.prototype.shouldFetch = function() {\n            return !0;\n        };\n        z.prototype.complete = function() {\n            var b;\n            this.endTime = (new JSBNG__Date).getTime();\n            delete p[this.key()];\n            ((o[this.key()] || (o[this.key()] = this)));\n            if (!this.completed) {\n                this.results = u(arguments);\n                this.completed = !0;\n                if (this.callbacks) {\n                    for (var c = 0, d; d = this.callbacks[c]; c++) {\n                        d.apply(a, this.results);\n                    ;\n                    };\n                }\n            ;\n            ;\n                if (b = n[this.key()]) {\n                    for (var c = 0, e; e = b[c]; c++) {\n                        e.complete.apply(e, arguments);\n                    ;\n                    };\n                ;\n                    delete n[this.key()];\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n        };\n        A.autoFetch = !0;\n        A.xhrTransport = function() {\n            var a, b = this;\n            if (window.JSBNG__XMLHttpRequest) {\n                a = new window.JSBNG__XMLHttpRequest;\n            }\n             else {\n                try {\n                    a = new window.ActiveXObject(\"Microsoft.XMLHTTP\");\n                } catch (c) {\n                    return new Error(\"XHR not found.\");\n                };\n            }\n        ;\n        ;\n            a.onreadystatechange = function() {\n                var c;\n                ((((a.readyState == 4)) && b.loaded(a.responseText)));\n            };\n            a.open(\"GET\", this.path, !0);\n            a.send(null);\n        };\n        A.scriptTagTransport = function() {\n            var b = f.cloneNode(!1), c = this;\n            this.scriptId = ((\"LR\" + s()));\n            b.id = this.scriptId;\n            b.type = \"text/javascript\";\n            b.async = !0;\n            b.JSBNG__onerror = function() {\n                throw new Error(((c.path + \" not loaded\")));\n            };\n            b.onreadystatechange = b.JSBNG__onload = function(b) {\n                b = ((a.JSBNG__event || b));\n                if (((((b.type == \"load\")) || ((w([\"loaded\",\"complete\",], this.readyState) > -1))))) {\n                    this.onreadystatechange = null;\n                    c.loaded();\n                }\n            ;\n            ;\n            };\n            b.src = this.path;\n            i = this;\n            d[0].parentNode.insertBefore(b, d[0]);\n            i = null;\n            j[this.scriptId] = this;\n        };\n        A.prototype = new z;\n        A.prototype.start = function() {\n            var a = this, b;\n            (((def = D.provided[this.originalPath]) ? def.then(function() {\n                a.complete();\n            }) : (((b = T(this.originalPath)) ? b.then(function() {\n                a.start();\n            }) : z.prototype.start.call(this)))));\n        };\n        A.prototype.resolvePath = function(a) {\n            a = a.replace(/^\\$/, ((M.path.replace(/\\/$/, \"\") + \"/\")));\n            return a;\n        };\n        A.prototype.key = function() {\n            return ((\"script_\" + this.id));\n        };\n        A.prototype.shouldFetch = function() {\n            return ((A.autoFetch || this.force));\n        };\n        A.prototype.fetch = A.scriptTagTransport;\n        A.prototype.loaded = function() {\n            this.complete();\n        };\n        B.exports = {\n        };\n        B.prototype = new A;\n        B.prototype.start = function() {\n            var a = this, b, c;\n            (((b = D.provided[this.id]) ? b.then(function(b) {\n                a.complete.call(a, b);\n            }) : (((c = T(this.id)) ? c.then(function() {\n                a.start();\n            }) : A.prototype.start.call(this)))));\n        };\n        B.prototype.key = function() {\n            return ((\"module_\" + this.id));\n        };\n        B.prototype.resolvePath = function(a) {\n            return x(M.path, ((a + \".js\")));\n        };\n        B.prototype.loaded = function() {\n            var a, b, d = this;\n            if (!c) {\n                a = g;\n                g = null;\n                if (a) {\n                    a.setId(this.id);\n                    a.then(function(a) {\n                        d.complete.call(d, a);\n                    });\n                }\n                 else if (!D.provided[this.id]) {\n                    throw new Error(((((\"Tried to load '\" + this.id)) + \"' as a module, but it didn't have a 'provide()' in it.\")));\n                }\n                \n            ;\n            ;\n            }\n        ;\n        ;\n        };\n        C.prototype = new A;\n        C.prototype.start = function() {\n            var a = this, b, c, d;\n            for (var e = 0, f = this.contents.length; ((e < f)); e++) {\n                c = O(this.contents[e]);\n                this.deps.push(c);\n                d = c.key();\n                ((((((!o[d] && !p[d])) && !n[d])) && (n[d] = this)));\n            };\n        ;\n            A.prototype.start.call(this);\n        };\n        C.prototype.loaded = function() {\n            var a, b, c = this, d, e;\n            for (var f = 0, g = this.deps.length; ((f < g)); f++) {\n                d = this.deps[f];\n                e = d.key();\n                delete n[e];\n                o[e] = this;\n            };\n        ;\n            A.prototype.loaded.call(this);\n        };\n        D.provided = {\n        };\n        D.prototype = new z;\n        D.prototype.key = function() {\n            ((this.id || (this.id = ((\"anon_\" + s())))));\n            return ((\"definition_\" + this.id));\n        };\n        D.prototype.setId = function(a) {\n            this.id = a;\n            D.provided[a] = this;\n        };\n        D.prototype.fetch = function() {\n            var a = this;\n            ((((typeof this.body == \"object\")) ? this.complete(this.body) : ((((typeof this.body == \"function\")) && this.body(function(b) {\n                a.complete(b);\n            })))));\n        };\n        D.prototype.complete = function(a) {\n            a = ((a || {\n            }));\n            ((this.id && (this.exports = B.exports[this.id] = a)));\n            z.prototype.complete.call(this, a);\n        };\n        G.prototype = new z;\n        G.prototype.fetch = function() {\n            function b() {\n                var b = [];\n                for (var c = 0, d; d = a.deps[c]; c++) {\n                    if (!d.completed) {\n                        return;\n                    }\n                ;\n                ;\n                    ((((d.results.length > 0)) && (b = b.concat(d.results))));\n                };\n            ;\n                a.complete.apply(a, b);\n            };\n        ;\n            var a = this;\n            for (var c = 0, d; d = this.deps[c]; c++) {\n                d.then(b);\n            ;\n            };\n        ;\n            return this;\n        };\n        G.prototype.forceFetch = F;\n        G.prototype.as = function(a) {\n            var b = this;\n            return this.then(function() {\n                var c = E(b.deps), d = {\n                };\n                for (var e = 0, f; f = c[e]; e++) {\n                    y(d, f.id, arguments[e]);\n                ;\n                };\n            ;\n                a.apply(this, [d,].concat(u(arguments)));\n            });\n        };\n        H.prototype = new z;\n        H.prototype.fetch = function() {\n            var a = this, b = 0, c = [];\n            (function d() {\n                var e = a.deps[b++];\n                ((e ? e.then(function(a) {\n                    ((((e.results.length > 0)) && (c = c.concat(e.results))));\n                    d();\n                }) : a.complete.apply(a, c)));\n            })();\n            return this;\n        };\n        H.prototype.forceFetch = F;\n        var I = [];\n        J.prototype.push = function(a) {\n            {\n                var fin47keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin47i = (0);\n                var b;\n                for (; (fin47i < fin47keys.length); (fin47i++)) {\n                    ((b) = (fin47keys[fin47i]));\n                    {\n                        I[b] = new C(b, a[b]);\n                        for (var c = 0, d; d = a[b][c]; c++) {\n                            this.entries[d] = I[b];\n                        ;\n                        };\n                    ;\n                    };\n                };\n            };\n        ;\n        };\n        J.prototype.get = function(a) {\n            return this.entries[a];\n        };\n        var P = function(a) {\n            return a(M, L, P);\n        };\n        P.Script = A;\n        P.Module = B;\n        P.Collection = G;\n        P.Sequence = H;\n        P.Definition = D;\n        P.Dependency = z;\n        P.noConflict = Q;\n        P.debug = R;\n        P.reset = S;\n        a.loadrunner = P;\n        a.using = M;\n        a.provide = L;\n        M.path = \"\";\n        M.bundles = new J;\n        M.matchers = [];\n        M.matchers.add = function(a, b) {\n            this.unshift([a,b,]);\n        };\n        M.matchers.add(/^(lr!)?[a-zA-Z0-9_\\/.-]+$/, function(a) {\n            var b = new B(a.replace(/^lr!/, \"\"));\n            return b;\n        });\n        M.matchers.add(/(^script!|\\.js$)/, function(a) {\n            var b = new A(a.replace(/^script!/, \"\"));\n            return b;\n        });\n        if (e) {\n            M.path = ((((e.getAttribute(\"data-path\") || e.src.split(/loadrunner\\.js/)[0])) || \"\"));\n            (((main = e.getAttribute(\"data-main\")) && M.apply(a, main.split(/\\s*,\\s*/)).then(function() {\n            \n            })));\n        }\n    ;\n    ;\n    })(this, JSBNG__document);\n    (function(a) {\n        loadrunner(function(b, c) {\n            function e(a, b) {\n                return new loadrunner.Definition(a, function(a) {\n                    a(b());\n                });\n            };\n        ;\n            var d;\n            a.deferred = e;\n            b.matchers.add(/(^script!|\\.js(!?)$)/, function(a) {\n                var b = !!a.match(/!$/);\n                a = a.replace(/!$/, \"\");\n                if (d = loadrunner.Definition.provided[a]) {\n                    return d;\n                }\n            ;\n            ;\n                var c = new loadrunner.Script(a, b);\n                ((b && c.start()));\n                return c;\n            });\n        });\n    })(this);\n    (function(a) {\n        loadrunner(function(b, c) {\n            function d(a) {\n                return Array.prototype.slice.call(a);\n            };\n        ;\n            function f(a, b) {\n                for (var c = 0, d; d = a[c]; c++) {\n                    if (((b == d))) {\n                        return c;\n                    }\n                ;\n                ;\n                };\n            ;\n                return -1;\n            };\n        ;\n            function g(a, b) {\n                var c = ((b.id || \"\")), d = c.split(\"/\");\n                d.pop();\n                var e = a.split(\"/\"), f = !1;\n                while (((((e[0] == \"..\")) && d.length))) {\n                    d.pop();\n                    e.shift();\n                    f = !0;\n                };\n            ;\n                if (((e[0] == \".\"))) {\n                    e.shift();\n                    f = !0;\n                }\n            ;\n            ;\n                ((f && (e = d.concat(e))));\n                return e.join(\"/\");\n            };\n        ;\n            function i(a, b) {\n                function d(a) {\n                    return loadrunner.Module.exports[g(a.replace(/^.+!/, \"\"), b)];\n                };\n            ;\n                var c = [];\n                for (var e = 0, f = a.length; ((e < f)); e++) {\n                    if (((a[e] == \"require\"))) {\n                        c.push(d);\n                        continue;\n                    }\n                ;\n                ;\n                    if (((a[e] == \"exports\"))) {\n                        b.exports = ((b.exports || {\n                        }));\n                        c.push(b.exports);\n                        continue;\n                    }\n                ;\n                ;\n                    if (((a[e] == \"module\"))) {\n                        c.push(b);\n                        continue;\n                    }\n                ;\n                ;\n                    c.push(d(a[e]));\n                };\n            ;\n                return c;\n            };\n        ;\n            function j() {\n                var a = d(arguments), c = [], j, k;\n                ((((typeof a[0] == \"string\")) && (j = a.shift())));\n                ((e(a[0]) && (c = a.shift())));\n                k = a.shift();\n                var l = new loadrunner.Definition(j, function(a) {\n                    function l() {\n                        var b = i(d(c), j), e;\n                        ((((typeof k == \"function\")) ? e = k.apply(j, b) : e = k));\n                        ((((typeof e == \"undefined\")) && (e = j.exports)));\n                        a(e);\n                    };\n                ;\n                    var e = [], j = this;\n                    for (var m = 0, n = c.length; ((m < n)); m++) {\n                        var o = c[m];\n                        ((((f([\"require\",\"exports\",\"module\",], o) == -1)) && e.push(g(o, j))));\n                    };\n                ;\n                    ((((e.length > 0)) ? b.apply(this, e.concat(l)) : l()));\n                });\n                return l;\n            };\n        ;\n            var e = ((Array.isArray || function(a) {\n                return ((a.constructor == Array));\n            }));\n            a.define = j;\n        });\n    })(this);\n    loadrunner(function(a, b, c, d) {\n        function e(a) {\n            this.id = this.path = a;\n        };\n    ;\n        e.loaded = {\n        };\n        e.prototype = new c.Dependency;\n        e.prototype.start = function() {\n            if (e.loaded[this.path]) this.complete();\n             else {\n                e.loaded[this.path] = !0;\n                this.load();\n            }\n        ;\n        ;\n        };\n        e.prototype.load = function() {\n            function j() {\n                if ((($(f).length > 0))) {\n                    return i();\n                }\n            ;\n            ;\n                c += 1;\n                ((((c < 200)) ? b = JSBNG__setTimeout(j, 50) : i()));\n            };\n        ;\n            function k() {\n                var d;\n                try {\n                    d = !!a.sheet.cssRules;\n                } catch (e) {\n                    c += 1;\n                    ((((c < 200)) ? b = JSBNG__setTimeout(k, 50) : i()));\n                    return;\n                };\n            ;\n                i();\n            };\n        ;\n            var a, b, c, d = JSBNG__document, e = this.path, f = ((((\"link[href=\\\"\" + e)) + \"\\\"]\")), g = $.browser;\n            if ((($(f).length > 0))) {\n                return this.complete();\n            }\n        ;\n        ;\n            var i = function() {\n                JSBNG__clearTimeout(b);\n                a.JSBNG__onload = a.JSBNG__onerror = null;\n                this.complete();\n            }.bind(this);\n            if (((g.webkit || g.mozilla))) {\n                c = 0;\n                if (g.webkit) j();\n                 else {\n                    a = d.createElement(\"style\");\n                    a.innerHTML = ((((\"@import \\\"\" + e)) + \"\\\";\"));\n                    k(a);\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            if (!a) {\n                a = d.createElement(\"link\");\n                a.setAttribute(\"rel\", \"stylesheet\");\n                a.setAttribute(\"href\", e);\n                a.setAttribute(\"charset\", \"utf-8\");\n            }\n        ;\n        ;\n            a.JSBNG__onload = a.JSBNG__onerror = i;\n            ((d.head || d.getElementsByTagName(\"head\")[0])).appendChild(a);\n        };\n        a.matchers.add(/^css!/, function(a) {\n            a = a.replace(/^css!/, \"\");\n            return new e(a);\n        });\n    });\n    using.aliases = {\n        \"$jasmine.b28c2693f489d65bb33ece420c8a7abea6b777c2.js\": [\"test/core/clock_spec\",\"test/core/parameterize_spec\",\"test/fixtures/news_onebox\",\"test/fixtures/user_search\",\"test/fixtures/saved_searches_dropdown\",\"test/fixtures/advanced_search\",\"test/fixtures/trends_location_dialog_api\",\"test/fixtures/resend_password_help\",\"test/fixtures/own_profile_header\",\"test/fixtures/profile_image_upload_dialog\",\"test/fixtures/trends_api\",\"test/fixtures/discover_stories\",\"test/fixtures/user_onebox\",\"test/fixtures/tweet_export_dialog\",\"test/fixtures/user_actions_chatty\",\"test/fixtures/settings_design_page\",\"test/fixtures/media_onebox\",\"test/app/utils/image_spec\",\"test/app/utils/setup_polling_with_backoff_spec\",\"test/app/utils/params_spec\",\"test/app/utils/cookie_spec\",\"test/app/utils/ellipsis_spec\",\"test/app/utils/oauth_popup_spec\",\"test/app/utils/image_thumbnail_spec\",\"test/app/utils/third_party_application_spec\",\"test/app/utils/querystring_spec\",\"test/app/utils/request_logger_spec\",\"test/app/utils/with_event_params_spec\",\"test/app/utils/drag_drop_helper_spec\",\"test/app/utils/time_spec\",\"test/app/utils/image_resize_spec\",\"test/app/utils/html_text_spec\",\"test/app/utils/sandboxed_ajax_spec\",\"test/app/utils/auth_token_spec\",\"test/app/utils/chrome_spec\",\"test/app/utils/with_session_spec\",\"test/app/utils/string_spec\",\"test/app/utils/tweet_helper_spec\",\"test/app/utils/typeahead_helpers_spec\",\"test/app/utils/hide_or_show_divider_spec\",\"test/app/helpers/log_client_events_spec\",\"test/app/helpers/second_data_component\",\"test/app/helpers/global_after_each_spec\",\"test/app/helpers/test_component\",\"test/app/helpers/describe_component_spec\",\"test/app/helpers/extra_jquery_helpers_spec\",\"test/app/helpers/test_module\",\"test/app/helpers/describe_mixin_spec\",\"test/app/helpers/ajax_respond_with_spec\",\"test/app/helpers/test_scribing_component\",\"test/app/helpers/describe_component_with_data_components_spec\",\"test/app/helpers/describe_module_spec\",\"test/app/helpers/first_data_component\",\"test/app/helpers/test_mixin\",\"test/app/data/with_data_spec\",\"test/app/data/trends_scribe_spec\",\"test/app/data/resend_password_help_scribe_spec\",\"test/app/data/tweet_actions_spec\",\"test/app/data/permalink_scribe_spec\",\"test/app/data/activity_popup_scribe_spec\",\"test/app/data/login_verification_spec\",\"test/app/data/item_actions_scribe_spec\",\"test/app/data/resend_password_spec\",\"test/app/data/user_search_spec\",\"test/app/data/who_to_follow_scribe_spec\",\"test/app/data/url_resolver_spec\",\"test/app/data/oembed_scribe_spec\",\"test/app/data/promoted_logger_spec\",\"test/app/data/login_scribe_spec\",\"test/app/data/user_actions_scribe_spec\",\"test/app/data/facets_timeline_spec\",\"test/app/data/typeahead_scribe_spec\",\"test/app/data/saved_searches_spec\",\"test/app/data/geo_spec\",\"test/app/data/tweet_actions_scribe_spec\",\"test/app/data/scribing_context_spec\",\"test/app/data/prompt_mobile_app_scribe_spec\",\"test/app/data/settings_spec\",\"test/app/data/trends_spec\",\"test/app/data/tweet_translation_spec\",\"test/app/data/oembed_spec\",\"test/app/data/search_input_scribe_spec\",\"test/app/data/list_follow_card_spec\",\"test/app/data/notifications_spec\",\"test/app/data/tweet_box_scribe_spec\",\"test/app/data/conversations_spec\",\"test/app/data/embed_stats_scribe_spec\",\"test/app/data/search_assistance_scribe_spec\",\"test/app/data/activity_popup_spec\",\"test/app/data/with_widgets_spec\",\"test/app/data/list_members_dashboard_spec\",\"test/app/data/frontpage_scribe_spec\",\"test/app/data/ttft_navigation_spec\",\"test/app/data/share_via_email_dialog_data_spec\",\"test/app/data/contact_import_scribe_spec\",\"test/app/data/profile_popup_spec\",\"test/app/data/direct_messages_spec\",\"test/app/data/profile_canopy_scribe_spec\",\"test/app/data/form_scribe_spec\",\"test/app/data/with_conversation_metadata_spec\",\"test/app/data/simple_event_scribe_spec\",\"test/app/data/email_banner_spec\",\"test/app/data/timeline_spec\",\"test/app/data/user_info_spec\",\"test/app/data/with_interaction_data_scribe_spec\",\"test/app/data/dm_poll_spec\",\"test/app/data/profile_social_proof_scribe_spec\",\"test/app/data/async_profile_spec\",\"test/app/data/gallery_scribe_spec\",\"test/app/data/lists_spec\",\"test/app/data/tweet_spec\",\"test/app/data/with_scribe_spec\",\"test/app/data/user_search_scribe_spec\",\"test/app/data/follower_request_spec\",\"test/app/data/user_completion_module_scribe_spec\",\"test/app/data/temporary_password_spec\",\"test/app/data/profile_popup_scribe_spec\",\"test/app/data/archive_navigator_scribe_spec\",\"test/app/data/notification_listener_spec\",\"test/app/data/embed_scribe_spec\",\"test/app/data/signup_click_scribe_spec\",\"test/app/data/contact_import_spec\",\"test/app/data/with_card_metadata_spec\",\"test/app/data/onebox_scribe_spec\",\"test/app/data/media_settings_spec\",\"test/app/data/page_visibility_scribe_spec\",\"test/app/data/inline_edit_scribe_spec\",\"test/app/data/story_scribe_spec\",\"test/app/data/signup_data_spec\",\"test/app/data/user_spec\",\"test/app/data/media_timeline_spec\",\"test/app/data/direct_messages_scribe_spec\",\"test/app/data/navigation_spec\",\"test/app/data/with_auth_token_spec\",\"test/app/data/suggested_users_spec\",\"test/app/data/promptbird_spec\",\"test/app/data/signup_scribe_spec\",\"test/app/data/who_to_tweet_spec\",\"test/app/data/who_to_follow_spec\",\"test/app/data/media_thumbnails_scribe_spec\",\"test/app/ui/message_drawer_spec\",\"test/app/ui/color_picker_spec\",\"test/app/ui/with_forgot_password_spec\",\"test/app/ui/theme_preview_spec\",\"test/app/ui/search_query_source_spec\",\"test/app/ui/signin_dropdown_spec\",\"test/app/ui/tooltips_spec\",\"test/app/ui/user_search_spec\",\"test/app/ui/search_input_spec\",\"test/app/ui/with_focus_highlight_spec\",\"test/app/ui/with_inline_image_editing_spec\",\"test/app/ui/user_completion_module_spec\",\"test/app/ui/validating_fieldset_spec\",\"test/app/ui/alert_banner_to_message_drawer_spec\",\"test/app/ui/protected_verified_dialog_spec\",\"test/app/ui/with_item_actions_spec\",\"test/app/ui/oauth_revoker_spec\",\"test/app/ui/with_profile_stats_spec\",\"test/app/ui/with_timestamp_updating_spec\",\"test/app/ui/geo_deletion_spec\",\"test/app/ui/permalink_keyboard_support_spec\",\"test/app/ui/drag_state_spec\",\"test/app/ui/tweet_box_spec\",\"test/app/ui/with_story_clicks_spec\",\"test/app/ui/temporary_password_button_spec\",\"test/app/ui/with_loading_indicator_spec\",\"test/app/ui/navigation_links_spec\",\"test/app/ui/profile_image_monitor_dom_spec\",\"test/app/ui/image_uploader_spec\",\"test/app/ui/with_dialog_spec\",\"test/app/ui/with_upload_photo_affordance_spec\",\"test/app/ui/with_import_services_spec\",\"test/app/ui/hidden_descendants_spec\",\"test/app/ui/list_follow_card_spec\",\"test/app/ui/password_dialog_spec\",\"test/app/ui/keyboard_shortcuts_spec\",\"test/app/ui/infinite_scroll_watcher_spec\",\"test/app/ui/signup_call_out_spec\",\"test/app/ui/capped_file_upload_spec\",\"test/app/ui/list_members_dashboard_spec\",\"test/app/ui/alert_banner_spec\",\"test/app/ui/with_select_all_spec\",\"test/app/ui/password_match_pair_spec\",\"test/app/ui/password_spec\",\"test/app/ui/login_verification_confirmation_dialog_spec\",\"test/app/ui/settings_controls_spec\",\"test/app/ui/profile_popup_spec\",\"test/app/ui/aria_event_logger_spec\",\"test/app/ui/tweet_injector_spec\",\"test/app/ui/page_title_spec\",\"test/app/ui/page_visibility_spec\",\"test/app/ui/captcha_dialog_spec\",\"test/app/ui/with_discover_expando_spec\",\"test/app/ui/direct_message_link_handler_spec\",\"test/app/ui/with_dropdown_spec\",\"test/app/ui/facets_spec\",\"test/app/ui/inline_edit_spec\",\"test/app/ui/dashboard_tweetbox_spec\",\"test/app/ui/timezone_detector_spec\",\"test/app/ui/email_confirmation_spec\",\"test/app/ui/with_removable_stream_items_spec\",\"test/app/ui/cookie_warning_spec\",\"test/app/ui/inline_profile_editing_initializor_spec\",\"test/app/ui/with_stream_users_spec\",\"test/app/ui/geo_picker_spec\",\"test/app/ui/image_selector_spec\",\"test/app/ui/with_position_spec\",\"test/app/ui/with_user_actions_spec\",\"test/app/ui/email_field_highlight_spec\",\"test/app/ui/with_rich_editor_spec\",\"test/app/ui/theme_picker_spec\",\"test/app/ui/tweet_box_thumbnails_spec\",\"test/app/ui/with_rtl_tweet_box_spec\",\"test/app/ui/login_verification_form_spec\",\"test/app/ui/direct_message_dialog_spec\",\"test/app/ui/profile_image_monitor_spec\",\"test/app/ui/with_image_selection_spec\",\"test/app/ui/with_tweet_actions_spec\",\"test/app/ui/embed_stats_spec\",\"test/app/ui/with_tweet_translation_spec\",\"test/app/ui/search_dropdown_spec\",\"test/app/ui/new_tweet_button_spec\",\"test/app/ui/impression_cookies_spec\",\"test/app/ui/field_edit_warning_spec\",\"test/app/ui/profile_edit_param_spec\",\"test/app/ui/hidden_ancestors_spec\",\"test/app/ui/advanced_search_spec\",\"test/app/ui/with_click_outside_spec\",\"test/app/ui/discover_spec\",\"test/app/ui/design_spec\",\"test/app/ui/tweet_dialog_spec\",\"test/app/ui/with_inline_image_options_spec\",\"test/app/ui/global_nav_spec\",\"test/app/ui/navigation_spec\",\"test/app/ui/toolbar_spec\",\"test/app/ui/suggested_users_spec\",\"test/app/ui/promptbird_spec\",\"test/app/ui/deactivated_spec\",\"test/app/ui/with_conversation_actions_spec\",\"test/app/ui/who_to_tweet_spec\",\"test/app/ui/with_text_polling_spec\",\"test/app/ui/password_strength_spec\",\"test/app/ui/inline_profile_editing_spec\",\"test/app/ui/user_dropdown_spec\",\"test/app/ui/with_interaction_data_spec\",\"test/app/ui/with_password_strength_spec\",\"test/app/utils/image/image_loader_spec\",\"test/app/utils/crypto/aes_spec\",\"test/app/utils/storage/with_crypto_spec\",\"test/app/utils/storage/with_expiry_spec\",\"test/app/utils/storage/custom_spec\",\"test/app/utils/storage/core_spec\",\"test/app/data/feedback/feedback_spec\",\"test/app/data/typeahead/with_cache_spec\",\"test/app/data/typeahead/with_external_event_listeners_spec\",\"test/app/data/typeahead/context_helper_datasource_spec\",\"test/app/data/typeahead/typeahead_spec\",\"test/app/data/typeahead/saved_searches_datasource_spec\",\"test/app/data/typeahead/trend_locations_datasource_spec\",\"test/app/data/typeahead/topics_datasource_spec\",\"test/app/data/typeahead/recent_searches_datasource_spec\",\"test/app/data/typeahead/accounts_datasource_spec\",\"test/app/data/who_to_follow/web_personalized_proxy_spec\",\"test/app/data/who_to_follow/web_personalized_scribe_spec\",\"test/app/data/settings/facebook_proxy_spec\",\"test/app/data/settings/login_verification_test_run_spec\",\"test/app/data/welcome/intro_scribe_spec\",\"test/app/data/welcome/lifeline_scribe_spec\",\"test/app/data/welcome/welcome_cards_scribe_spec\",\"test/app/data/welcome/interests_picker_scribe_spec\",\"test/app/data/welcome/invitations_scribe_spec\",\"test/app/data/welcome/welcome_data_spec\",\"test/app/data/welcome/preview_stream_scribe_spec\",\"test/app/data/welcome/flow_nav_scribe_spec\",\"test/app/data/welcome/users_cards_spec\",\"test/app/data/mobile_gallery/download_links_scribe_spec\",\"test/app/data/mobile_gallery/send_download_link_spec\",\"test/app/data/trends/recent_locations_spec\",\"test/app/data/trends/location_dialog_spec\",\"test/app/ui/gallery/with_gallery_spec\",\"test/app/ui/gallery/grid_spec\",\"test/app/ui/gallery/gallery_spec\",\"test/app/ui/gallery/with_grid_spec\",\"test/app/ui/dialogs/temporary_password_dialog_spec\",\"test/app/ui/dialogs/delete_tweet_dialog_spec\",\"test/app/ui/dialogs/embed_tweet_spec\",\"test/app/ui/dialogs/block_user_dialog_spec\",\"test/app/ui/dialogs/profile_edit_error_dialog_spec\",\"test/app/ui/dialogs/promptbird_invite_contacts_dialog_spec\",\"test/app/ui/dialogs/sensitive_flag_confirmation_spec\",\"test/app/ui/dialogs/in_product_help_dialog_spec\",\"test/app/ui/dialogs/iph_search_result_dialog_spec\",\"test/app/ui/dialogs/activity_popup_spec\",\"test/app/ui/dialogs/goto_user_dialog_spec\",\"test/app/ui/dialogs/signin_or_signup_spec\",\"test/app/ui/dialogs/retweet_dialog_spec\",\"test/app/ui/dialogs/profile_confirm_image_delete_dialog_spec\",\"test/app/ui/dialogs/list_membership_dialog_spec\",\"test/app/ui/dialogs/list_operations_dialog_spec\",\"test/app/ui/dialogs/confirm_dialog_spec\",\"test/app/ui/dialogs/with_modal_tweet_spec\",\"test/app/ui/dialogs/tweet_export_dialog_spec\",\"test/app/ui/dialogs/profile_image_upload_dialog_spec\",\"test/app/ui/dialogs/confirm_email_dialog_spec\",\"test/app/ui/feedback/feedback_report_link_handler_spec\",\"test/app/ui/feedback/feedback_dialog_spec\",\"test/app/ui/search/related_queries_spec\",\"test/app/ui/search/user_onebox_spec\",\"test/app/ui/search/news_onebox_spec\",\"test/app/ui/search/archive_navigator_spec\",\"test/app/ui/search/media_onebox_spec\",\"test/app/ui/search/spelling_corrections_spec\",\"test/app/ui/typeahead/context_helpers_renderer_spec\",\"test/app/ui/typeahead/recent_searches_renderer_spec\",\"test/app/ui/typeahead/typeahead_input_spec\",\"test/app/ui/typeahead/saved_searches_renderer_spec\",\"test/app/ui/typeahead/accounts_renderer_spec\",\"test/app/ui/typeahead/trend_locations_renderer_spec\",\"test/app/ui/typeahead/typeahead_dropdown_spec\",\"test/app/ui/typeahead/topics_renderer_spec\",\"test/app/ui/vit/verification_step_spec\",\"test/app/ui/vit/mobile_topbar_spec\",\"test/app/ui/profile/canopy_spec\",\"test/app/ui/profile/head_spec\",\"test/app/ui/profile/social_proof_spec\",\"test/app/ui/account/resend_password_controls_spec\",\"test/app/ui/account/resend_password_help_controls_spec\",\"test/app/ui/expando/with_expanding_containers_spec\",\"test/app/ui/expando/expanding_tweets_spec\",\"test/app/ui/expando/with_expanding_social_activity_spec\",\"test/app/ui/expando/expando_helpers_spec\",\"test/app/ui/expando/close_all_button_spec\",\"test/app/ui/signup/with_signup_validation_spec\",\"test/app/ui/signup/suggestions_spec\",\"test/app/ui/signup/signup_form_spec\",\"test/app/ui/signup/stream_end_signup_module_spec\",\"test/app/ui/signup/with_captcha_spec\",\"test/app/ui/media/with_hidden_display_spec\",\"test/app/ui/media/with_legacy_media_spec\",\"test/app/ui/media/with_legacy_embeds_spec\",\"test/app/ui/media/with_flag_action_spec\",\"test/app/ui/media/media_thumbnails_spec\",\"test/app/ui/media/with_legacy_icons_spec\",\"test/app/ui/media/card_thumbnails_spec\",\"test/app/ui/signup_download/next_and_skip_buttons_spec\",\"test/app/ui/signup_download/us_phone_number_checker_spec\",\"test/app/ui/who_to_follow/import_services_spec\",\"test/app/ui/who_to_follow/web_personalized_settings_spec\",\"test/app/ui/who_to_follow/matched_contacts_list_spec\",\"test/app/ui/who_to_follow/with_unmatched_contacts_spec\",\"test/app/ui/who_to_follow/who_to_follow_dashboard_spec\",\"test/app/ui/who_to_follow/find_friends_spec\",\"test/app/ui/who_to_follow/invite_form_spec\",\"test/app/ui/who_to_follow/with_invite_messages_spec\",\"test/app/ui/who_to_follow/who_to_follow_timeline_spec\",\"test/app/ui/who_to_follow/with_user_recommendations_spec\",\"test/app/ui/who_to_follow/web_personalized_signup_spec\",\"test/app/ui/who_to_follow/with_invite_preview_spec\",\"test/app/ui/settings/facebook_iframe_height_adjuster_spec\",\"test/app/ui/settings/with_cropper_spec\",\"test/app/ui/settings/tweet_export_spec\",\"test/app/ui/settings/facebook_login_spec\",\"test/app/ui/settings/facebook_connect_spec\",\"test/app/ui/settings/sms_phone_create_form_spec\",\"test/app/ui/settings/tweet_export_download_spec\",\"test/app/ui/settings/notifications_spec\",\"test/app/ui/settings/widgets_configurator_spec\",\"test/app/ui/settings/device_verified_form_spec\",\"test/app/ui/settings/change_photo_spec\",\"test/app/ui/settings/facebook_spinner_spec\",\"test/app/ui/settings/facebook_connection_conflict_spec\",\"test/app/ui/settings/sms_phone_verify_form_spec\",\"test/app/ui/settings/facebook_connected_spec\",\"test/app/ui/settings/facebook_missing_permissions_spec\",\"test/app/ui/settings/widgets_spec\",\"test/app/ui/settings/facebook_mismatched_connection_spec\",\"test/app/ui/settings/login_verification_sms_check_spec\",\"test/app/ui/timelines/event_timeline_spec\",\"test/app/ui/timelines/with_cursor_pagination_spec\",\"test/app/ui/timelines/user_timeline_spec\",\"test/app/ui/timelines/universal_timeline_spec\",\"test/app/ui/timelines/with_keyboard_navigation_spec\",\"test/app/ui/timelines/with_story_pagination_spec\",\"test/app/ui/timelines/with_polling_spec\",\"test/app/ui/timelines/discover_timeline_spec\",\"test/app/ui/timelines/follower_request_timeline_spec\",\"test/app/ui/timelines/with_pinned_stream_items_spec\",\"test/app/ui/timelines/with_most_recent_story_pagination_spec\",\"test/app/ui/timelines/with_preserved_scroll_position_spec\",\"test/app/ui/timelines/with_tweet_pagination_spec\",\"test/app/ui/timelines/tweet_timeline_spec\",\"test/app/ui/timelines/with_activity_supplements_spec\",\"test/app/ui/welcome/interests_header_search_spec\",\"test/app/ui/welcome/intro_video_spec\",\"test/app/ui/welcome/import_services_cards_spec\",\"test/app/ui/welcome/lifeline_device_follow_dialog_spec\",\"test/app/ui/welcome/with_similarities_spec\",\"test/app/ui/welcome/invite_dialog_spec\",\"test/app/ui/welcome/learn_dashboard_spec\",\"test/app/ui/welcome/interests_category_flow_nav_spec\",\"test/app/ui/welcome/profile_flow_nav_spec\",\"test/app/ui/welcome/profile_form_spec\",\"test/app/ui/welcome/custom_interest_spec\",\"test/app/ui/welcome/with_nav_buttons_spec\",\"test/app/ui/welcome/with_interests_spec\",\"test/app/ui/welcome/interests_picker_spec\",\"test/app/ui/welcome/with_more_results_spec\",\"test/app/ui/welcome/with_welcome_search_spec\",\"test/app/ui/welcome/users_cards_spec\",\"test/app/ui/welcome/internal_link_disabler_spec\",\"test/app/ui/mobile_gallery/gallery_buttons_spec\",\"test/app/ui/forms/select_box_spec\",\"test/app/ui/forms/with_submit_disable_spec\",\"test/app/ui/forms/input_with_placeholder_spec\",\"test/app/ui/forms/mobile_gallery_email_form_spec\",\"test/app/ui/forms/form_value_modification_spec\",\"test/app/ui/forms/element_group_toggler_spec\",\"test/app/ui/trends/trends_spec\",\"test/app/ui/trends/trends_dialog_spec\",\"test/app/ui/banners/email_banner_spec\",\"test/app/ui/promptbird/with_invite_contacts_spec\",\"test/app/ui/promptbird/with_invite_contacts\",\"test/app/utils/storage/array/with_max_elements_spec\",\"test/app/utils/storage/array/with_array_spec\",\"test/app/utils/storage/array/with_unique_elements_spec\",\"test/app/ui/timelines/conversations/ancestor_timeline_spec\",\"test/app/ui/timelines/conversations/descendant_timeline_spec\",\"test/app/ui/trends/dialog/nearby_trends_spec\",\"test/app/ui/trends/dialog/with_location_info_spec\",\"test/app/ui/trends/dialog/recent_trends_spec\",\"test/app/ui/trends/dialog/location_search_spec\",\"test/app/ui/trends/dialog/location_dropdown_spec\",\"test/app/ui/trends/dialog/dialog_spec\",\"test/app/ui/trends/dialog/current_location_spec\",\"test/app/ui/trends/dialog/with_location_list_picker_spec\",\"app/data/welcome/preview_stream_scribe\",\"app/ui/welcome/with_nav_buttons\",\"app/ui/welcome/interests_category_flow_nav\",\"app/ui/welcome/with_similarities\",],\n        \"$bundle/boot.2a31b60b327963d16b704386722149661e1cb6ea.js\": [\"app/data/geo\",\"app/data/tweet\",\"app/ui/tweet_dialog\",\"app/ui/new_tweet_button\",\"app/data/tweet_box_scribe\",\"lib/twitter-text\",\"app/ui/with_character_counter\",\"app/utils/with_event_params\",\"app/utils/caret\",\"app/ui/with_draft_tweets\",\"app/ui/with_text_polling\",\"app/ui/with_rtl_tweet_box\",\"app/ui/toolbar\",\"app/utils/tweet_helper\",\"app/utils/html_text\",\"app/ui/with_rich_editor\",\"app/ui/with_upload_photo_affordance\",\"$lib/jquery.swfobject.js\",\"app/utils/image\",\"app/utils/drag_drop_helper\",\"app/ui/with_drop_events\",\"app/ui/with_droppable_image\",\"app/ui/tweet_box\",\"app/utils/image_thumbnail\",\"app/ui/tweet_box_thumbnails\",\"app/utils/image_resize\",\"app/ui/with_image_selection\",\"app/ui/image_selector\",\"app/ui/typeahead/accounts_renderer\",\"app/ui/typeahead/saved_searches_renderer\",\"app/ui/typeahead/recent_searches_renderer\",\"app/ui/typeahead/topics_renderer\",\"app/ui/typeahead/trend_locations_renderer\",\"app/ui/typeahead/context_helpers_renderer\",\"app/utils/rtl_text\",\"app/ui/typeahead/typeahead_dropdown\",\"app/utils/event_support\",\"app/utils/string\",\"app/ui/typeahead/typeahead_input\",\"app/ui/with_click_outside\",\"app/ui/geo_picker\",\"app/ui/tweet_box_manager\",\"app/boot/tweet_boxes\",\"app/ui/user_dropdown\",\"app/ui/signin_dropdown\",\"app/ui/search_input\",\"app/utils/animate_window_scrolltop\",\"app/ui/global_nav\",\"app/ui/navigation_links\",\"app/data/search_input_scribe\",\"app/boot/top_bar\",\"app/ui/keyboard_shortcuts\",\"app/ui/dialogs/keyboard_shortcuts_dialog\",\"app/ui/dialogs/with_modal_tweet\",\"app/ui/dialogs/retweet_dialog\",\"app/ui/dialogs/delete_tweet_dialog\",\"app/ui/dialogs/block_user_dialog\",\"app/ui/dialogs/confirm_dialog\",\"app/ui/dialogs/confirm_email_dialog\",\"app/ui/dialogs/list_membership_dialog\",\"app/ui/dialogs/list_operations_dialog\",\"app/data/direct_messages\",\"app/data/direct_messages_scribe\",\"app/ui/direct_message_link_handler\",\"app/ui/with_timestamp_updating\",\"app/ui/direct_message_dialog\",\"app/boot/direct_messages\",\"app/data/profile_popup\",\"app/data/profile_popup_scribe\",\"app/ui/with_user_actions\",\"app/ui/with_item_actions\",\"app/ui/with_profile_stats\",\"app/ui/with_handle_overflow\",\"app/ui/profile_popup\",\"app/data/profile_edit_btn_scribe\",\"app/data/user\",\"app/data/lists\",\"app/boot/profile_popup\",\"app/data/typeahead/with_cache\",\"app/utils/typeahead_helpers\",\"app/data/with_datasource_helpers\",\"app/data/typeahead/accounts_datasource\",\"app/data/typeahead/saved_searches_datasource\",\"app/data/typeahead/recent_searches_datasource\",\"app/data/typeahead/with_external_event_listeners\",\"app/data/typeahead/topics_datasource\",\"app/data/typeahead/context_helper_datasource\",\"app/data/typeahead/trend_locations_datasource\",\"app/data/typeahead/typeahead\",\"app/data/typeahead_scribe\",\"app/ui/dialogs/goto_user_dialog\",\"app/utils/setup_polling_with_backoff\",\"app/ui/page_title\",\"app/ui/feedback/with_feedback_tweet\",\"app/ui/feedback/feedback_stories\",\"app/ui/feedback/with_feedback_discover\",\"app/ui/feedback/feedback_dialog\",\"app/ui/feedback/feedback_report_link_handler\",\"app/data/feedback/feedback\",\"app/ui/search_query_source\",\"app/ui/banners/email_banner\",\"app/data/email_banner\",\"app/ui/media/phoenix_shim\",\"app/utils/twt\",\"app/ui/media/types\",\"$lib/easyXDM.js\",\"app/utils/easy_xdm\",\"app/utils/sandboxed_ajax\",\"app/ui/media/with_legacy_icons\",\"app/utils/third_party_application\",\"app/ui/media/legacy_embed\",\"app/ui/media/with_legacy_embeds\",\"app/ui/media/with_flag_action\",\"app/ui/media/with_hidden_display\",\"app/ui/media/with_legacy_media\",\"app/utils/image/image_loader\",\"app/ui/with_tweet_actions\",\"app/ui/gallery/gallery\",\"app/data/gallery_scribe\",\"app/data/share_via_email_dialog_data\",\"app/ui/dialogs/share_via_email_dialog\",\"app/data/with_widgets\",\"app/ui/dialogs/embed_tweet\",\"app/data/embed_scribe\",\"app/data/oembed\",\"app/data/oembed_scribe\",\"app/ui/with_drag_events\",\"app/ui/drag_state\",\"app/data/notification_listener\",\"app/data/dm_poll\",\"app/boot/app\",],\n        \"$bundle/frontpage.4fadf7a73f7269b9c27c826f2ebf9bed67255e74.js\": [\"app/data/frontpage_scribe\",\"app/ui/cookie_warning\",\"app/pages/frontpage\",\"app/data/login_scribe\",\"app/pages/login\",],\n        \"$bundle/signup.990c69542ff942eb94bd30c41f9c7c6d04997ca3.js\": [\"app/ui/signup/with_captcha\",\"app/utils/common_regexp\",\"app/ui/signup/with_signup_validation\",\"app/ui/signup/signup_form\",\"app/ui/with_password_strength\",\"app/data/signup_data\",\"app/data/settings\",\"app/data/signup_scribe\",\"app/ui/signup/suggestions\",\"app/ui/signup/small_print_expander\",\"app/ui/signup_download/us_phone_number_checker\",\"app/pages/signup/signup\",],\n        \"$bundle/timeline.b98b3cb4be7ab03238736d9d12f3be01e878d262.js\": [\"app/data/tweet_actions\",\"app/ui/expando/with_expanding_containers\",\"app/ui/expando/expando_helpers\",\"app/ui/gallery/with_gallery\",\"app/ui/with_tweet_translation\",\"app/ui/tweets\",\"app/ui/tweet_injector\",\"app/ui/expando/with_expanding_social_activity\",\"app/ui/expando/expanding_tweets\",\"app/ui/embed_stats\",\"app/data/url_resolver\",\"app/ui/media/with_native_media\",\"app/ui/media/media_tweets\",\"app/data/trends\",\"app/data/trends/location_dialog\",\"app/data/trends/recent_locations\",\"app/utils/scribe_event_initiators\",\"app/data/trends_scribe\",\"app/ui/trends/trends\",\"app/ui/trends/trends_dialog\",\"app/ui/trends/dialog/with_location_info\",\"app/ui/trends/dialog/location_dropdown\",\"app/ui/trends/dialog/location_search\",\"app/ui/trends/dialog/current_location\",\"app/ui/trends/dialog/with_location_list_picker\",\"app/ui/trends/dialog/nearby_trends\",\"app/ui/trends/dialog/recent_trends\",\"app/ui/trends/dialog/dialog\",\"app/boot/trends\",\"app/ui/infinite_scroll_watcher\",\"app/data/timeline\",\"app/boot/timeline\",\"app/data/activity_popup\",\"app/ui/dialogs/activity_popup\",\"app/data/activity_popup_scribe\",\"app/boot/activity_popup\",\"app/data/tweet_translation\",\"app/data/conversations\",\"app/data/media_settings\",\"app/ui/dialogs/sensitive_flag_confirmation\",\"app/ui/user_actions\",\"app/data/prompt_mobile_app_scribe\",\"app/boot/tweets\",\"app/boot/help_pips_enable\",\"app/data/help_pips\",\"app/data/help_pips_scribe\",\"app/ui/help_pip\",\"app/ui/help_pips_injector\",\"app/boot/help_pips\",\"app/ui/expando/close_all_button\",\"app/ui/timelines/with_keyboard_navigation\",\"app/ui/with_focus_highlight\",\"app/ui/timelines/with_base_timeline\",\"app/ui/timelines/with_old_items\",\"app/utils/chrome\",\"app/ui/timelines/with_traveling_ptw\",\"app/ui/timelines/with_autoplaying_timeline\",\"app/ui/timelines/with_polling\",\"app/ui/timelines/with_new_items\",\"app/ui/timelines/with_tweet_pagination\",\"app/ui/timelines/with_preserved_scroll_position\",\"app/ui/timelines/with_activity_supplements\",\"app/ui/with_conversation_actions\",\"app/ui/timelines/with_pinned_stream_items\",\"app/ui/timelines/tweet_timeline\",\"app/boot/tweet_timeline\",\"app/ui/user_completion_module\",\"app/data/user_completion_module_scribe\",\"app/boot/user_completion_module\",\"app/ui/who_to_follow/with_user_recommendations\",\"app/ui/who_to_follow/who_to_follow_dashboard\",\"app/ui/who_to_follow/who_to_follow_timeline\",\"app/data/who_to_follow\",\"app/data/who_to_follow_scribe\",\"app/ui/profile/recent_connections_module\",\"app/ui/promptbird/with_invite_contacts\",\"app/ui/promptbird\",\"app/utils/oauth_popup\",\"app/data/promptbird\",\"app/data/promptbird_scribe\",\"app/ui/with_select_all\",\"app/ui/who_to_follow/with_invite_messages\",\"app/ui/who_to_follow/with_invite_preview\",\"app/ui/who_to_follow/with_unmatched_contacts\",\"app/ui/dialogs/promptbird_invite_contacts_dialog\",\"app/data/contact_import\",\"app/data/contact_import_scribe\",\"app/ui/with_import_services\",\"app/ui/who_to_follow/import_services\",\"app/ui/who_to_follow/import_loading_dialog\",\"app/ui/dashboard_tweetbox\",\"app/utils/boomerang\",\"app/ui/profile_stats\",\"app/pages/home\",\"app/boot/wtf_module\",\"app/data/who_to_tweet\",\"app/boot/connect\",\"app/ui/who_to_follow/with_list_resizing\",\"app/ui/who_to_follow/matched_contacts_list\",\"app/ui/who_to_follow/unmatched_contacts_list\",\"app/ui/who_to_tweet\",\"app/ui/with_loading_indicator\",\"app/ui/who_to_follow/find_friends\",\"app/pages/connect/interactions\",\"app/pages/connect/mentions\",\"app/pages/connect/network_activity\",\"app/ui/inline_edit\",\"app/data/async_profile\",\"$lib/jquery_ui.profile.js\",\"$lib/jquery_webcam.js\",\"app/ui/settings/with_cropper\",\"app/ui/settings/with_webcam\",\"app/utils/is_showing_avatar_options\",\"app/ui/dialogs/profile_image_upload_dialog\",\"app/ui/dialogs/profile_edit_error_dialog\",\"app/ui/dialogs/profile_confirm_image_delete_dialog\",\"app/ui/droppable_image\",\"app/ui/profile_image_monitor\",\"app/data/inline_edit_scribe\",\"app/data/settings/profile_image_upload_scribe\",\"app/data/drag_and_drop_scribe\",\"app/ui/settings/change_photo\",\"app/ui/image_uploader\",\"app/ui/inline_profile_editing_initializor\",\"app/utils/hide_or_show_divider\",\"app/ui/with_inline_image_options\",\"app/ui/with_inline_image_editing\",\"app/ui/inline_profile_editing\",\"app/data/settings\",\"app/ui/profile_edit_param\",\"app/ui/alert_banner_to_message_drawer\",\"app/boot/inline_edit\",\"app/ui/profile/canopy\",\"app/data/profile_canopy_scribe\",\"app/ui/profile/head\",\"app/data/profile_head_scribe\",\"app/ui/profile/social_proof\",\"app/data/profile_social_proof_scribe\",\"app/ui/media/card_thumbnails\",\"app/data/media_timeline\",\"app/data/media_thumbnails_scribe\",\"app/ui/suggested_users\",\"app/data/suggested_users\",\"app/ui/gallery/grid\",\"app/boot/profile\",\"app/pages/profile/tweets\",\"app/ui/timelines/with_cursor_pagination\",\"app/ui/with_stream_users\",\"app/ui/timelines/user_timeline\",\"app/boot/user_timeline\",\"app/ui/timelines/follower_request_timeline\",\"app/data/follower_request\",\"app/pages/profile/follower_requests\",\"app/pages/profile/followers\",\"app/pages/profile/following\",\"app/pages/profile/favorites\",\"app/ui/timelines/list_timeline\",\"app/boot/list_timeline\",\"app/pages/profile/lists\",\"app/ui/with_removable_stream_items\",\"app/ui/similar_to\",\"app/pages/profile/similar_to\",\"app/ui/facets\",\"app/data/facets_timeline\",\"app/ui/dialogs/iph_search_result_dialog\",\"app/ui/search/archive_navigator\",\"app/data/archive_navigator_scribe\",\"app/boot/search\",\"app/ui/timelines/with_story_pagination\",\"app/ui/gallery/with_grid\",\"app/ui/timelines/universal_timeline\",\"app/boot/universal_timeline\",\"app/data/user_search\",\"app/data/user_search_scribe\",\"app/ui/user_search\",\"app/data/saved_searches\",\"app/ui/search_dropdown\",\"app/data/story_scribe\",\"app/data/onebox_scribe\",\"app/ui/with_story_clicks\",\"$lib/jquery_autoellipsis.js\",\"app/utils/ellipsis\",\"app/ui/with_story_ellipsis\",\"app/ui/search/news_onebox\",\"app/ui/search/user_onebox\",\"app/ui/search/event_onebox\",\"app/ui/search/media_onebox\",\"app/ui/search/spelling_corrections\",\"app/ui/search/related_queries\",\"app/data/search_assistance_scribe\",\"app/data/timeline_controls_scribe\",\"app/pages/search/search\",\"app/ui/timelines/with_search_media_pagination\",\"app/ui/timelines/media_timeline\",\"app/boot/media_timeline\",\"app/pages/search/media\",\"app/pages/simple_t1\",],\n        \"$bundle/permalink.db92252904761daedf68bf11bbb2750235e32ce7.js\": [\"app/ui/permalink_keyboard_support\",\"app/ui/hidden_ancestors\",\"app/ui/hidden_descendants\",\"app/ui/dialogs/sms_codes\",\"app/ui/timelines/conversations/descendant_timeline\",\"app/ui/timelines/conversations/ancestor_timeline\",\"app/data/embed_stats_scribe\",\"app/data/permalink_scribe\",\"app/pages/permalink\",\"app/pages/permalink_photo\",],\n        \"$bundle/lists_permalink.6e3de5369fc1b6a20122d38d988602ec8ea6a3e1.js\": [\"app/ui/list_members_dashboard\",\"app/data/list_members_dashboard\",\"app/ui/list_follow_card\",\"app/data/list_follow_card\",\"app/boot/list_permalink\",\"app/pages/list/permalink_tweets\",\"app/pages/list/permalink_users\",],\n        \"$bundle/discover.814fb8dadcc0776c9fc9424643d16957d677e3c2.js\": [\"app/ui/discover_nav\",\"app/boot/discover\",\"app/ui/timelines/with_most_recent_story_pagination\",\"app/ui/timelines/discover_timeline\",\"app/boot/discover_timeline\",\"app/ui/with_discover_expando\",\"app/ui/discover\",\"app/pages/discover/discover\",\"app/ui/people_search_input\",\"app/boot/who_to_follow\",\"app/utils/common_regexp\",\"app/ui/who_to_follow/invite_form\",\"app/ui/who_to_follow/pymk_kicker\",\"app/ui/who_to_follow/wipe_addressbook_dialog\",\"app/pages/who_to_follow/import\",\"app/pages/who_to_follow/interests\",\"app/pages/who_to_follow/invite\",\"app/pages/who_to_follow/lifeline\",\"app/pages/who_to_follow/matches\",\"app/pages/who_to_follow/suggestions\",\"app/data/who_to_follow/web_personalized_scribe\",\"app/data/who_to_follow/web_personalized_proxy\",\"app/ui/who_to_follow/web_personalized_settings\",\"app/ui/who_to_follow/web_personalized_signup\",\"app/pages/who_to_follow/web_personalized\",],\n        \"$bundle/settings.746ec42b535d98004e7c1b839e01418210fb34ed.js\": [\"app/ui/alert_banner\",\"app/ui/forms/with_submit_disable\",\"app/ui/forms/form_value_modification\",\"app/boot/settings\",\"app/data/settings/account_scribe\",\"app/data/settings/login_verification_test_run\",\"app/data/form_scribe\",\"app/ui/with_forgot_password\",\"app/ui/password_dialog\",\"app/ui/settings/login_verification_sms_check\",\"app/ui/login_verification_confirmation_dialog\",\"app/ui/protected_verified_dialog\",\"app/ui/email_field_highlight\",\"app/ui/validating_fieldset\",\"app/ui/email_confirmation\",\"app/ui/settings/tweet_export\",\"app/ui/dialogs/tweet_export_dialog\",\"app/ui/timezone_detector\",\"app/ui/deactivated\",\"app/ui/geo_deletion\",\"app/ui/settings_controls\",\"app/pages/settings/account\",\"app/data/temporary_password\",\"app/data/settings/applications_scribe\",\"app/ui/dialogs/temporary_password_dialog\",\"app/ui/temporary_password_button\",\"app/ui/oauth_revoker\",\"app/pages/settings/applications\",\"app/data/settings/confirm_deactivation_scribe\",\"app/pages/settings/confirm_deactivation\",\"app/data/settings/design_scribe\",\"$lib/jquery_color_picker.js\",\"app/ui/color_picker\",\"app/ui/design\",\"app/ui/theme_preview\",\"app/ui/theme_picker\",\"app/pages/settings/design\",\"app/pages/settings/email_follow\",\"app/ui/settings/tweet_export_download\",\"app/pages/settings/tweet_export_download\",\"app/ui/settings/notifications\",\"app/pages/settings/notifications\",\"app/ui/password\",\"app/ui/password_match_pair\",\"app/ui/with_password_strength\",\"app/ui/password_strength\",\"app/pages/settings/password\",\"app/boot/avatar_uploading\",\"app/data/settings/profile_scribe\",\"app/ui/settings/facebook_iframe_height_adjuster\",\"app/ui/field_edit_warning\",\"app/ui/dialogs/in_product_help_dialog\",\"app/boot/header_upload\",\"app/ui/bio_box\",\"app/pages/settings/profile\",\"app/data/settings/facebook_proxy\",\"app/ui/settings/with_facebook_container\",\"app/ui/settings/facebook_spinner\",\"app/ui/settings/with_facebook_banner\",\"app/ui/settings/facebook_login\",\"app/ui/settings/facebook_connect\",\"app/ui/settings/facebook_missing_permissions\",\"app/ui/settings/facebook_mismatched_connection\",\"app/ui/settings/facebook_connection_conflict\",\"app/ui/settings/facebook_connected\",\"app/data/settings/facebook_scribe\",\"app/pages/settings/facebook\",\"app/data/settings/sms_scribe\",\"app/ui/forms/select_box\",\"app/ui/settings/sms_phone_create_form\",\"app/ui/forms/element_group_toggler\",\"app/ui/settings/device_verified_form\",\"app/ui/settings/sms_phone_verify_form\",\"app/pages/settings/sms\",\"app/ui/settings/widgets\",\"app/pages/settings/widgets\",\"app/ui/settings/widgets_configurator\",\"app/pages/settings/widgets_configurator\",],\n        \"$bundle/events.d9845cf638173afdb25220e5ab241f0f6c09021a.js\": [\"app/ui/media/media_thumbnails\",\"app/ui/timelines/event_timeline\",\"app/ui/page_visibility\",\"app/data/page_visibility_scribe\",\"app/pages/events/hashtag\",],\n        \"$bundle/accounts.0ca4815a3944f19c9eaeef0c85bf7984b25d3632.js\": [\"app/ui/account/password_reset_controls\",\"app/ui/password_match_pair\",\"app/ui/with_password_strength\",\"app/ui/password_strength\",\"app/pages/account/password_reset\",\"app/ui/captcha_dialog\",\"app/ui/account/resend_password_controls\",\"app/ui/validating_fieldset\",\"app/data/resend_password\",\"app/pages/account/resend_password\",\"app/ui/account/verify_personal_information_controls\",\"app/pages/account/verify_personal_information\",\"app/ui/account/verify_device_token_controls\",\"app/pages/account/verify_device_token\",\"app/ui/account/resend_password_help_controls\",\"app/data/resend_password_help\",\"app/data/resend_password_help_scribe\",\"app/pages/account/resend_password_help\",\"app/pages/account/errors\",],\n        \"$bundle/search.b7757a9e20dfb014aacc3cd4959de0a8058f4006.js\": [\"app/ui/dialogs/search_operators_dialog\",\"app/pages/search/home\",\"app/ui/advanced_search\",\"app/pages/search/advanced\",\"app/pages/search/users\",],\n        \"$bundle/vitonboarding.bc3a6ee0b7d3407a82a383148a420a678f6925af.js\": [\"$lib/jquery.hashchange.js\",\"app/ui/vit/verification_step\",\"app/ui/vit/mobile_topbar\",\"app/pages/vit/onboarding\",],\n        \"$bundle/mobile_gallery.db430b6898f0144b313838368d3e6edcee89eb6f.js\": [\"app/ui/dialogs/mobile_gallery_download_dialog\",\"app/ui/mobile_gallery/gallery_buttons\",\"app/ui/forms/mobile_gallery_email_form\",\"app/data/mobile_gallery/send_download_link\",\"app/pages/mobile_gallery/gallery\",\"app/pages/mobile_gallery/apps\",\"app/ui/mobile_gallery/firefox_tweet_button\",\"app/pages/mobile_gallery/firefox\",\"app/data/mobile_gallery/download_links_scribe\",\"app/pages/mobile_gallery/splash\",],\n        \"$bundle/signup_download.8c964a5fd99e25aca3f0844968e0379e4a42ed59.js\": [\"app/ui/signup_download/next_and_skip_buttons\",\"app/ui/signup_download/us_phone_number_checker\",\"app/pages/signup_download/download\",\"app/ui/signup_download/signup_phone_verify_form\",\"app/pages/signup_download/verify\",],\n        \"$bundle/welcome.0a6e0a3608c754e79a2a771e71faf0945c0627ad.js\": [\"app/data/welcome/invitations_scribe\",\"app/data/welcome/welcome_cards_scribe\",\"app/data/welcome/flow_nav_scribe\",\"app/data/welcome/preview_stream\",\"app/ui/welcome/invite_dialog\",\"app/ui/welcome/with_nav_buttons\",\"app/ui/welcome/header_progress\",\"app/ui/welcome/internal_link_disabler\",\"app/ui/welcome/learn_dashboard\",\"app/ui/welcome/learn_preview_timeline\",\"app/boot/welcome\",\"app/pages/welcome/import\",\"app/data/welcome/intro_scribe\",\"app/ui/welcome/flow_nav\",\"app/ui/welcome/intro_video\",\"app/ui/welcome/lifeline_device_follow_dialog\",\"app/pages/welcome/intro\",\"app/data/welcome/interests_picker_scribe\",\"app/ui/welcome/with_interests\",\"app/ui/welcome/custom_interest\",\"app/ui/welcome/interests_header_search\",\"app/ui/welcome/interests_picker\",\"app/data/welcome/welcome_data\",\"app/pages/welcome/interests\",\"app/data/welcome/users_cards\",\"app/ui/welcome/import_services_cards\",\"app/ui/welcome/with_card_scribe_context\",\"app/ui/welcome/with_more_results\",\"app/ui/welcome/with_welcome_search\",\"app/ui/welcome/users_cards\",\"app/pages/welcome/interests_category\",\"app/data/welcome/lifeline_scribe\",\"app/pages/welcome/lifeline\",\"app/boot/avatar_uploading\",\"app/ui/alert_banner\",\"app/ui/welcome/profile_flow_nav\",\"app/ui/welcome/profile_form\",\"app/pages/welcome/profile\",\"app/pages/welcome/recommendations\",],\n        \"$bundle/directory.5bb8717366f875004b902864cc429411910c67f8.js\": [\"app/ui/history_back\",\"app/pages/directory/directory\",],\n        \"$bundle/boomerang.ce977240704bc785401822f8d5486667b860593d.js\": [\"$lib/boomerang.js\",\"app/utils/boomerang_lib\",],\n        \"$bundle/sandbox.1a1d8d9e5b807e92548fba6d79824ebe5104b03a.js\": [\"$components/jquery/jquery.js\",\"$lib/easyXDM.js\",\"app/boot/sandbox\",],\n        \"$bundle/html2canvas.82a64ea2711e964e829140881de78438319774a0.js\": [\"$lib/html2canvas.js\",],\n        \"$bundle/loginverification.c610b4269b6c7632a1176cc616d0766fdfdcef42.js\": [\"app/ui/login_verification_form\",\"app/data/login_verification\",\"app/pages/login_verification_page\",]\n    };\n    define(\"components/flight/lib/utils\", [], function() {\n        var a = [], b = 100, c = {\n            isDomObj: function(a) {\n                return ((!!a.nodeType || ((a === window))));\n            },\n            toArray: function(b, c) {\n                return a.slice.call(b, c);\n            },\n            merge: function() {\n                var a = arguments.length, b = 0, c = new Array(((a + 1)));\n                for (; ((b < a)); b++) {\n                    c[((b + 1))] = arguments[b];\n                ;\n                };\n            ;\n                return ((((a === 0)) ? {\n                } : (c[0] = {\n                }, ((((c[((c.length - 1))] === !0)) && (c.pop(), c.unshift(!0)))), $.extend.apply(undefined, c))));\n            },\n            push: function(a, b, c) {\n                return ((a && Object.keys(((b || {\n                }))).forEach(function(d) {\n                    if (((a[d] && c))) {\n                        throw Error(((((\"utils.push attempted to overwrite '\" + d)) + \"' while running in protected mode\")));\n                    }\n                ;\n                ;\n                    ((((((typeof a[d] == \"object\")) && ((typeof b[d] == \"object\")))) ? this.push(a[d], b[d]) : a[d] = b[d]));\n                }, this))), a;\n            },\n            isEnumerable: function(a, b) {\n                return ((Object.keys(a).indexOf(b) > -1));\n            },\n            compose: function() {\n                var a = arguments;\n                return function() {\n                    var b = arguments;\n                    for (var c = ((a.length - 1)); ((c >= 0)); c--) {\n                        b = [a[c].apply(this, b),];\n                    ;\n                    };\n                ;\n                    return b[0];\n                };\n            },\n            uniqueArray: function(a) {\n                var b = {\n                }, c = [];\n                for (var d = 0, e = a.length; ((d < e)); ++d) {\n                    if (b.hasOwnProperty(a[d])) {\n                        continue;\n                    }\n                ;\n                ;\n                    c.push(a[d]), b[a[d]] = 1;\n                };\n            ;\n                return c;\n            },\n            debounce: function(a, c, d) {\n                ((((typeof c != \"number\")) && (c = b)));\n                var e, f;\n                return function() {\n                    var b = this, g = arguments, h = function() {\n                        e = null, ((d || (f = a.apply(b, g))));\n                    }, i = ((d && !e));\n                    return JSBNG__clearTimeout(e), e = JSBNG__setTimeout(h, c), ((i && (f = a.apply(b, g)))), f;\n                };\n            },\n            throttle: function(a, c) {\n                ((((typeof c != \"number\")) && (c = b)));\n                var d, e, f, g, h, i, j = this.debounce(function() {\n                    h = g = !1;\n                }, c);\n                return function() {\n                    d = this, e = arguments;\n                    var b = function() {\n                        f = null, ((h && (i = a.apply(d, e)))), j();\n                    };\n                    return ((f || (f = JSBNG__setTimeout(b, c)))), ((g ? h = !0 : (g = !0, i = a.apply(d, e)))), j(), i;\n                };\n            },\n            countThen: function(a, b) {\n                return function() {\n                    if (!--a) {\n                        return b.apply(this, arguments);\n                    }\n                ;\n                ;\n                };\n            },\n            delegate: function(a) {\n                return function(b, c) {\n                    var d = $(b.target), e;\n                    Object.keys(a).forEach(function(f) {\n                        if ((e = d.closest(f)).length) {\n                            return c = ((c || {\n                            })), c.el = e[0], a[f].apply(this, [b,c,]);\n                        }\n                    ;\n                    ;\n                    }, this);\n                };\n            }\n        };\n        return c;\n    });\n    define(\"components/flight/lib/registry\", [\"./utils\",], function(a) {\n        function b(a, b) {\n            var c, d, e, f = b.length;\n            return ((((typeof b[((f - 1))] == \"function\")) && (f -= 1, e = b[f]))), ((((typeof b[((f - 1))] == \"object\")) && (f -= 1))), ((((f == 2)) ? (c = b[0], d = b[1]) : (c = a.node, d = b[0]))), {\n                element: c,\n                type: d,\n                callback: e\n            };\n        };\n    ;\n        function c(a, b) {\n            return ((((((a.element == b.element)) && ((a.type == b.type)))) && ((((b.callback == null)) || ((a.callback == b.callback))))));\n        };\n    ;\n        function d() {\n            function d(b) {\n                this.component = b, this.attachedTo = [], this.instances = {\n                }, this.addInstance = function(a) {\n                    var b = new e(a);\n                    return this.instances[a.identity] = b, this.attachedTo.push(a.node), b;\n                }, this.removeInstance = function(b) {\n                    delete this.instances[b.identity];\n                    var c = this.attachedTo.indexOf(b.node);\n                    ((((c > -1)) && this.attachedTo.splice(c, 1))), ((Object.keys(this.instances).length || a.removeComponentInfo(this)));\n                }, this.isAttachedTo = function(a) {\n                    return ((this.attachedTo.indexOf(a) > -1));\n                };\n            };\n        ;\n            function e(b) {\n                this.instance = b, this.events = [], this.addBind = function(b) {\n                    this.events.push(b), a.events.push(b);\n                }, this.removeBind = function(a) {\n                    for (var b = 0, d; d = this.events[b]; b++) {\n                        ((c(d, a) && this.events.splice(b, 1)));\n                    ;\n                    };\n                ;\n                };\n            };\n        ;\n            var a = this;\n            (this.reset = function() {\n                this.components = [], this.allInstances = {\n                }, this.events = [];\n            }).call(this), this.addInstance = function(a) {\n                var b = this.findComponentInfo(a);\n                ((b || (b = new d(a.constructor), this.components.push(b))));\n                var c = b.addInstance(a);\n                return this.allInstances[a.identity] = c, b;\n            }, this.removeInstance = function(a) {\n                var b, c = this.findInstanceInfo(a), d = this.findComponentInfo(a);\n                ((d && d.removeInstance(a))), delete this.allInstances[a.identity];\n            }, this.removeComponentInfo = function(a) {\n                var b = this.components.indexOf(a);\n                ((((b > -1)) && this.components.splice(b, 1)));\n            }, this.findComponentInfo = function(a) {\n                var b = ((a.attachTo ? a : a.constructor));\n                for (var c = 0, d; d = this.components[c]; c++) {\n                    if (((d.component === b))) {\n                        return d;\n                    }\n                ;\n                ;\n                };\n            ;\n                return null;\n            }, this.findInstanceInfo = function(a) {\n                return ((this.allInstances[a.identity] || null));\n            }, this.findInstanceInfoByNode = function(a) {\n                var b = [];\n                return Object.keys(this.allInstances).forEach(function(c) {\n                    var d = this.allInstances[c];\n                    ((((d.instance.node === a)) && b.push(d)));\n                }, this), b;\n            }, this.JSBNG__on = function(c) {\n                var d = a.findInstanceInfo(this), e, f = arguments.length, g = 1, h = new Array(((f - 1)));\n                for (; ((g < f)); g++) {\n                    h[((g - 1))] = arguments[g];\n                ;\n                };\n            ;\n                if (d) {\n                    e = c.apply(null, h), ((e && (h[((h.length - 1))] = e)));\n                    var i = b(this, h);\n                    d.addBind(i);\n                }\n            ;\n            ;\n            }, this.off = function(d, e, f) {\n                var g = b(this, arguments), h = a.findInstanceInfo(this);\n                ((h && h.removeBind(g)));\n                for (var i = 0, j; j = a.events[i]; i++) {\n                    ((c(j, g) && a.events.splice(i, 1)));\n                ;\n                };\n            ;\n            }, a.trigger = new Function, this.teardown = function() {\n                a.removeInstance(this);\n            }, this.withRegistration = function() {\n                this.before(\"initialize\", function() {\n                    a.addInstance(this);\n                }), this.around(\"JSBNG__on\", a.JSBNG__on), this.after(\"off\", a.off), ((((window.DEBUG && DEBUG.enabled)) && this.after(\"trigger\", a.trigger))), this.after(\"teardown\", {\n                    obj: a,\n                    fnName: \"teardown\"\n                });\n            };\n        };\n    ;\n        return new d;\n    });\n    define(\"components/flight/tools/debug/debug\", [\"../../lib/registry\",\"../../lib/utils\",], function(a, b) {\n        function d(a, b, c) {\n            var c = ((c || {\n            })), e = ((c.obj || window)), g = ((c.path || ((((e == window)) ? \"window\" : \"\")))), h = Object.keys(e);\n            h.forEach(function(c) {\n                ((((f[a] || a))(b, e, c) && JSBNG__console.log([g,\".\",c,].join(\"\"), \"-\\u003E\", [\"(\",typeof e[c],\")\",].join(\"\"), e[c]))), ((((((((Object.prototype.toString.call(e[c]) == \"[object Object]\")) && ((e[c] != e)))) && ((g.split(\".\").indexOf(c) == -1)))) && d(a, b, {\n                    obj: e[c],\n                    path: [g,c,].join(\".\")\n                })));\n            });\n        };\n    ;\n        function e(a, b, c, e) {\n            ((((!b || ((typeof c == b)))) ? d(a, c, e) : JSBNG__console.error([c,\"must be\",b,].join(\" \"))));\n        };\n    ;\n        function g(a, b) {\n            e(\"JSBNG__name\", \"string\", a, b);\n        };\n    ;\n        function h(a, b) {\n            e(\"nameContains\", \"string\", a, b);\n        };\n    ;\n        function i(a, b) {\n            e(\"type\", \"function\", a, b);\n        };\n    ;\n        function j(a, b) {\n            e(\"value\", null, a, b);\n        };\n    ;\n        function k(a, b) {\n            e(\"valueCoerced\", null, a, b);\n        };\n    ;\n        function l(a, b) {\n            d(a, null, b);\n        };\n    ;\n        function p() {\n            var a = [].slice.call(arguments);\n            ((c.eventNames.length || (c.eventNames = m))), c.actions = ((a.length ? a : m)), t();\n        };\n    ;\n        function q() {\n            var a = [].slice.call(arguments);\n            ((c.actions.length || (c.actions = m))), c.eventNames = ((a.length ? a : m)), t();\n        };\n    ;\n        function r() {\n            c.actions = [], c.eventNames = [], t();\n        };\n    ;\n        function s() {\n            c.actions = m, c.eventNames = m, t();\n        };\n    ;\n        function t() {\n            ((window.JSBNG__localStorage && (JSBNG__localStorage.setItem(\"logFilter_eventNames\", c.eventNames), JSBNG__localStorage.setItem(\"logFilter_actions\", c.actions))));\n        };\n    ;\n        function u() {\n            var a = {\n                eventNames: ((((window.JSBNG__localStorage && JSBNG__localStorage.getItem(\"logFilter_eventNames\"))) || n)),\n                actions: ((((window.JSBNG__localStorage && JSBNG__localStorage.getItem(\"logFilter_actions\"))) || o))\n            };\n            return Object.keys(a).forEach(function(b) {\n                var c = a[b];\n                ((((((typeof c == \"string\")) && ((c !== m)))) && (a[b] = c.split(\",\"))));\n            }), a;\n        };\n    ;\n        var c, f = {\n            JSBNG__name: function(a, b, c) {\n                return ((a == c));\n            },\n            nameContains: function(a, b, c) {\n                return ((c.indexOf(a) > -1));\n            },\n            type: function(a, b, c) {\n                return ((b[c] instanceof a));\n            },\n            value: function(a, b, c) {\n                return ((b[c] === a));\n            },\n            valueCoerced: function(a, b, c) {\n                return ((b[c] == a));\n            }\n        }, m = \"all\", n = [], o = [], c = u();\n        return {\n            enable: function(a) {\n                this.enabled = !!a, ((((a && window.JSBNG__console)) && (JSBNG__console.info(\"Booting in DEBUG mode\"), JSBNG__console.info(\"You can configure event logging with DEBUG.events.logAll()/logNone()/logByName()/logByAction()\")))), window.DEBUG = this;\n            },\n            JSBNG__find: {\n                byName: g,\n                byNameContains: h,\n                byType: i,\n                byValue: j,\n                byValueCoerced: k,\n                custom: l\n            },\n            events: {\n                logFilter: c,\n                logByAction: p,\n                logByName: q,\n                logAll: s,\n                logNone: r\n            }\n        };\n    });\n    define(\"components/flight/lib/compose\", [\"./utils\",\"../tools/debug/debug\",], function(a, b) {\n        function f(a, b) {\n            if (!c) {\n                return;\n            }\n        ;\n        ;\n            var e = Object.create(null);\n            Object.keys(a).forEach(function(c) {\n                if (((d.indexOf(c) < 0))) {\n                    var f = Object.getOwnPropertyDescriptor(a, c);\n                    f.writable = b, e[c] = f;\n                }\n            ;\n            ;\n            }), Object.defineProperties(a, e);\n        };\n    ;\n        function g(a, b, d) {\n            var e;\n            if (((!c || !a.hasOwnProperty(b)))) {\n                d.call(a);\n                return;\n            }\n        ;\n        ;\n            e = Object.getOwnPropertyDescriptor(a, b).writable, Object.defineProperty(a, b, {\n                writable: !0\n            }), d.call(a), Object.defineProperty(a, b, {\n                writable: e\n            });\n        };\n    ;\n        function h(a, b) {\n            a.mixedIn = ((a.hasOwnProperty(\"mixedIn\") ? a.mixedIn : [])), b.forEach(function(b) {\n                ((((a.mixedIn.indexOf(b) == -1)) && (f(a, !1), b.call(a), a.mixedIn.push(b))));\n            }), f(a, !0);\n        };\n    ;\n        var c = ((b.enabled && !a.isEnumerable(Object, \"getOwnPropertyDescriptor\"))), d = [\"mixedIn\",];\n        if (c) {\n            try {\n                Object.getOwnPropertyDescriptor(Object, \"keys\");\n            } catch (e) {\n                c = !1;\n            };\n        }\n    ;\n    ;\n        return {\n            mixin: h,\n            unlockProperty: g\n        };\n    });\n    define(\"components/flight/lib/advice\", [\"./utils\",\"./compose\",], function(a, b) {\n        var c = {\n            around: function(a, b) {\n                return function() {\n                    var d = 0, e = arguments.length, f = new Array(((e + 1)));\n                    f[0] = a.bind(this);\n                    for (; ((d < e)); d++) {\n                        f[((d + 1))] = arguments[d];\n                    ;\n                    };\n                ;\n                    return b.apply(this, f);\n                };\n            },\n            before: function(a, b) {\n                var c = ((((typeof b == \"function\")) ? b : b.obj[b.fnName]));\n                return function() {\n                    return c.apply(this, arguments), a.apply(this, arguments);\n                };\n            },\n            after: function(a, b) {\n                var c = ((((typeof b == \"function\")) ? b : b.obj[b.fnName]));\n                return function() {\n                    var d = ((a.unbound || a)).apply(this, arguments);\n                    return c.apply(this, arguments), d;\n                };\n            },\n            withAdvice: function() {\n                [\"before\",\"after\",\"around\",].forEach(function(a) {\n                    this[a] = function(d, e) {\n                        b.unlockProperty(this, d, function() {\n                            return ((((typeof this[d] == \"function\")) ? this[d] = c[a](this[d], e) : this[d] = e));\n                        });\n                    };\n                }, this);\n            }\n        };\n        return c;\n    });\n    define(\"components/flight/lib/logger\", [\"./compose\",\"./utils\",], function(a, b) {\n        function d(a) {\n            var b = ((a.tagName ? a.tagName.toLowerCase() : a.toString())), c = ((a.className ? ((\".\" + a.className)) : \"\")), d = ((b + c));\n            return ((a.tagName ? [\"'\",\"'\",].join(d) : d));\n        };\n    ;\n        function e(a, b, e) {\n            var f, g, h, i, j, k, l, m;\n            ((((typeof e[((e.length - 1))] == \"function\")) && (h = e.pop(), h = ((h.unbound || h))))), ((((typeof e[((e.length - 1))] == \"object\")) && e.pop())), ((((e.length == 2)) ? (g = e[0], f = e[1]) : (g = b.$node[0], f = e[0]))), ((((window.DEBUG && window.DEBUG.enabled)) && (j = DEBUG.events.logFilter, l = ((((j.actions == \"all\")) || ((j.actions.indexOf(a) > -1)))), k = function(a) {\n                return ((a.test ? a : new RegExp(((((\"^\" + a.replace(/\\*/g, \".*\"))) + \"$\")))));\n            }, m = ((((j.eventNames == \"all\")) || j.eventNames.some(function(a) {\n                return k(a).test(f);\n            }))), ((((l && m)) && JSBNG__console.info(c[a], a, ((((\"[\" + f)) + \"]\")), d(g), b.constructor.describe.split(\" \").slice(0, 3).join(\" \")))))));\n        };\n    ;\n        function f() {\n            this.before(\"trigger\", function() {\n                e(\"trigger\", this, b.toArray(arguments));\n            }), this.before(\"JSBNG__on\", function() {\n                e(\"JSBNG__on\", this, b.toArray(arguments));\n            }), this.before(\"off\", function(a) {\n                e(\"off\", this, b.toArray(arguments));\n            });\n        };\n    ;\n        var c = {\n            JSBNG__on: \"\\u003C-\",\n            trigger: \"-\\u003E\",\n            off: \"x \"\n        };\n        return f;\n    });\n    define(\"components/flight/lib/component\", [\"./advice\",\"./utils\",\"./compose\",\"./registry\",\"./logger\",\"../tools/debug/debug\",], function(a, b, c, d, e, f) {\n        function i(a) {\n            a.events.slice().forEach(function(a) {\n                var b = [a.type,];\n                ((a.element && b.unshift(a.element))), ((((typeof a.callback == \"function\")) && b.push(a.callback))), this.off.apply(this, b);\n            }, a.instance);\n        };\n    ;\n        function j() {\n            i(d.findInstanceInfo(this));\n        };\n    ;\n        function k() {\n            var a = d.findComponentInfo(this);\n            ((a && Object.keys(a.instances).forEach(function(b) {\n                var c = a.instances[b];\n                c.instance.teardown();\n            })));\n        };\n    ;\n        function l(a, b) {\n            try {\n                window.JSBNG__postMessage(b, \"*\");\n            } catch (c) {\n                throw JSBNG__console.log(\"unserializable data for event\", a, \":\", b), new Error([\"The event\",a,\"on component\",this.toString(),\"was triggered with non-serializable data\",].join(\" \"));\n            };\n        ;\n        };\n    ;\n        function m() {\n            this.trigger = function() {\n                var a, b, c, d, e, g = ((arguments.length - 1)), h = arguments[g];\n                return ((((((typeof h != \"string\")) && ((!h || !h.defaultBehavior)))) && (g--, c = h))), ((((g == 1)) ? (a = $(arguments[0]), d = arguments[1]) : (a = this.$node, d = arguments[0]))), ((d.defaultBehavior && (e = d.defaultBehavior, d = $.JSBNG__Event(d.type)))), b = ((d.type || d)), ((((f.enabled && window.JSBNG__postMessage)) && l.call(this, b, c))), ((((typeof this.attr.eventData == \"object\")) && (c = $.extend(!0, {\n                }, this.attr.eventData, c)))), a.trigger(((d || b)), c), ((((e && !d.isDefaultPrevented())) && ((this[e] || e)).call(this))), a;\n            }, this.JSBNG__on = function() {\n                var a, c, d, e, f = ((arguments.length - 1)), g = arguments[f];\n                ((((typeof g == \"object\")) ? e = b.delegate(this.resolveDelegateRules(g)) : e = g)), ((((f == 2)) ? (a = $(arguments[0]), c = arguments[1]) : (a = this.$node, c = arguments[0])));\n                if (((((typeof e != \"function\")) && ((typeof e != \"object\"))))) {\n                    throw new Error(((((\"Unable to bind to '\" + c)) + \"' because the given callback is not a function or an object\")));\n                }\n            ;\n            ;\n                return d = e.bind(this), d.target = e, ((e.guid && (d.guid = e.guid))), a.JSBNG__on(c, d), e.guid = d.guid, d;\n            }, this.off = function() {\n                var a, b, c, d = ((arguments.length - 1));\n                return ((((typeof arguments[d] == \"function\")) && (c = arguments[d], d -= 1))), ((((d == 1)) ? (a = $(arguments[0]), b = arguments[1]) : (a = this.$node, b = arguments[0]))), a.off(b, c);\n            }, this.resolveDelegateRules = function(a) {\n                var b = {\n                };\n                return Object.keys(a).forEach(function(c) {\n                    if (((!c in this.attr))) {\n                        throw new Error(((((((((\"Component \\\"\" + this.toString())) + \"\\\" wants to listen on \\\"\")) + c)) + \"\\\" but no such attribute was defined.\")));\n                    }\n                ;\n                ;\n                    b[this.attr[c]] = a[c];\n                }, this), b;\n            }, this.defaultAttrs = function(a) {\n                ((b.push(this.defaults, a, !0) || (this.defaults = a)));\n            }, this.select = function(a) {\n                return this.$node.JSBNG__find(this.attr[a]);\n            }, this.initialize = $.noop, this.teardown = j;\n        };\n    ;\n        function n(a) {\n            var c = arguments.length, e = new Array(((c - 1)));\n            for (var f = 1; ((f < c)); f++) {\n                e[((f - 1))] = arguments[f];\n            ;\n            };\n        ;\n            if (!a) {\n                throw new Error(\"Component needs to be attachTo'd a jQuery object, native node or selector string\");\n            }\n        ;\n        ;\n            var g = b.merge.apply(b, e);\n            $(a).each(function(a, b) {\n                var c = ((b.jQuery ? b[0] : b)), e = d.findComponentInfo(this);\n                if (((e && e.isAttachedTo(c)))) {\n                    return;\n                }\n            ;\n            ;\n                new this(b, g);\n            }.bind(this));\n        };\n    ;\n        function o() {\n            function l(a, b) {\n                b = ((b || {\n                })), this.identity = h++;\n                if (!a) {\n                    throw new Error(\"Component needs a node\");\n                }\n            ;\n            ;\n                ((a.jquery ? (this.node = a[0], this.$node = a) : (this.node = a, this.$node = $(a)))), this.toString = l.toString, ((f.enabled && (this.describe = this.toString())));\n                var c = Object.create(b);\n                {\n                    var fin48keys = ((window.top.JSBNG_Replay.forInKeys)((this.defaults))), fin48i = (0);\n                    var d;\n                    for (; (fin48i < fin48keys.length); (fin48i++)) {\n                        ((d) = (fin48keys[fin48i]));\n                        {\n                            ((b.hasOwnProperty(d) || (c[d] = this.defaults[d])));\n                        ;\n                        };\n                    };\n                };\n            ;\n                this.attr = c, this.initialize.call(this, b);\n            };\n        ;\n            var b = arguments.length, i = new Array(((b + 3)));\n            for (var j = 0; ((j < b)); j++) {\n                i[j] = arguments[j];\n            ;\n            };\n        ;\n            return l.toString = function() {\n                var a = i.map(function(a) {\n                    if (((a.JSBNG__name == null))) {\n                        var b = a.toString().match(g);\n                        return ((((b && b[1])) ? b[1] : \"\"));\n                    }\n                ;\n                ;\n                    return ((((a.JSBNG__name != \"withBaseComponent\")) ? a.JSBNG__name : \"\"));\n                }).filter(Boolean).join(\", \");\n                return a;\n            }, ((f.enabled && (l.describe = l.toString()))), l.attachTo = n, l.teardownAll = k, ((f.enabled && i.unshift(e))), i.unshift(m, a.withAdvice, d.withRegistration), c.mixin(l.prototype, i), l;\n        };\n    ;\n        var g = /function (.*?)\\s?\\(/, h = 0;\n        return o.teardownAll = function() {\n            d.components.slice().forEach(function(a) {\n                a.component.teardownAll();\n            }), d.reset();\n        }, o;\n    });\n    define(\"core/component\", [\"module\",\"require\",\"exports\",\"components/flight/lib/component\",], function(module, require, exports) {\n        var flightComponent = require(\"components/flight/lib/component\");\n        module.exports = flightComponent;\n    });\n    define(\"core/registry\", [\"module\",\"require\",\"exports\",\"components/flight/lib/registry\",], function(module, require, exports) {\n        var flightRegistry = require(\"components/flight/lib/registry\");\n        module.exports = flightRegistry;\n    });\n    provide(\"core/clock\", function(a) {\n        using(\"core/component\", \"core/registry\", function(b, c) {\n            function h() {\n            \n            };\n        ;\n            function i() {\n                this.timers = [], this.clockComponent = function() {\n                    if (((!this.currentClock || !c.findInstanceInfo(this.currentClock)))) {\n                        this.reset(), this.currentClock = new d(JSBNG__document);\n                    }\n                ;\n                ;\n                    return this.currentClock;\n                }, this.trigger = function(a, b) {\n                    this.clockComponent().trigger(a, b);\n                }, this.reset = function() {\n                    this.timers = [];\n                }, this.tick = function() {\n                    this.timers.forEach(function(a) {\n                        a.tick(f);\n                    });\n                }, this.setTicker = function() {\n                    this.pause(), this.ticker = window.JSBNG__setInterval(this.tick.bind(this), f);\n                }, this.init = function() {\n                    this.clockComponent(), ((this.ticker || this.setTicker()));\n                }, this.clear = function(a) {\n                    ((a && this.timers.splice(this.timers.indexOf(a), 1)));\n                }, this.setTimeoutEvent = function(a, b, c) {\n                    if (((typeof a != \"string\"))) {\n                        return JSBNG__console.error(\"clock.setTimeoutEvent was passed a function instead of a string.\");\n                    }\n                ;\n                ;\n                    this.init();\n                    var d = new k(a, b, c);\n                    return this.timers.push(d), d;\n                }, this.JSBNG__clearTimeout = function(a) {\n                    ((((a instanceof k)) && this.clear(a)));\n                }, this.setIntervalEvent = function(a, b, c) {\n                    if (((typeof a != \"string\"))) {\n                        return JSBNG__console.error(\"clock.setIntervalEvent was passed a function instead of a string.\");\n                    }\n                ;\n                ;\n                    this.init();\n                    var d = new m(a, b, c);\n                    return this.timers.push(d), d;\n                }, this.JSBNG__clearInterval = function(a) {\n                    ((((a instanceof m)) && this.clear(a)));\n                }, this.resume = this.restart = this.setTicker, this.pause = function(a, b) {\n                    JSBNG__clearInterval(((this.ticker || 0)));\n                };\n            };\n        ;\n            function j() {\n                this.callback = function() {\n                    e.trigger(this.eventName, this.data);\n                }, this.clear = function() {\n                    e.clear(this);\n                }, this.pause = function() {\n                    this.paused = !0;\n                }, this.resume = function() {\n                    this.paused = !1;\n                }, this.tickUnlessPaused = this.tick, this.tick = function() {\n                    if (this.paused) {\n                        return;\n                    }\n                ;\n                ;\n                    this.tickUnlessPaused.apply(this, arguments);\n                };\n            };\n        ;\n            function k(a, b, c) {\n                this.countdown = b, this.eventName = a, this.data = c;\n            };\n        ;\n            function m(a, b, c) {\n                this.countdown = this.interval = this.maxInterval = this.initialInterval = b, this.backoffFactor = g, this.eventName = a, this.data = c;\n            };\n        ;\n            var d = b(h), e = new i, f = 1000, g = 2, l = function() {\n                this.tick = function(a) {\n                    this.countdown -= a, ((((this.countdown <= 0)) && (this.clear(), this.callback())));\n                };\n            };\n            l.call(k.prototype), j.call(k.prototype);\n            var n = function() {\n                this.tick = function(a) {\n                    this.countdown -= a;\n                    if (((this.countdown <= 0))) {\n                        this.callback();\n                        if (((this.interval < this.maxInterval))) {\n                            var b = ((Math.ceil(((((this.interval * this.backoffFactor)) / f))) * f));\n                            this.interval = Math.min(b, this.maxInterval);\n                        }\n                    ;\n                    ;\n                        this.countdown = this.interval;\n                    }\n                ;\n                ;\n                }, this.backoff = function(a, b) {\n                    this.maxInterval = a, this.backoffFactor = ((b || g)), ((((this.interval > this.maxInterval)) && (this.interval = a)));\n                }, this.cancelBackoff = function() {\n                    this.interval = this.maxInterval = this.initialInterval, this.countdown = Math.min(this.countdown, this.interval), this.resume();\n                };\n            };\n            n.call(m.prototype), j.call(m.prototype), a(e);\n        });\n    });\n    define(\"core/compose\", [\"module\",\"require\",\"exports\",\"components/flight/lib/compose\",], function(module, require, exports) {\n        var flightCompose = require(\"components/flight/lib/compose\");\n        module.exports = flightCompose;\n    });\n    define(\"core/advice\", [\"module\",\"require\",\"exports\",\"components/flight/lib/advice\",], function(module, require, exports) {\n        var flightAdvice = require(\"components/flight/lib/advice\");\n        module.exports = flightAdvice;\n    });\n    provide(\"core/parameterize\", function(a) {\n        function c(a, c, d) {\n            return ((c ? a.replace(b, function(a, b) {\n                if (b) {\n                    if (c[b]) {\n                        return c[b];\n                    }\n                ;\n                ;\n                    if (d) {\n                        throw new Error(((\"Cannot parameterize string, no replacement found for \" + b)));\n                    }\n                ;\n                ;\n                    return \"\";\n                }\n            ;\n            ;\n                return a;\n            }) : a));\n        };\n    ;\n        var b = /\\{\\{(.+?)\\}\\}/g;\n        a(c);\n    });\n    provide(\"core/i18n\", function(a) {\n        using(\"core/parameterize\", function(b) {\n            a(b);\n        });\n    });\n    define(\"core/logger\", [\"module\",\"require\",\"exports\",\"components/flight/lib/logger\",], function(module, require, exports) {\n        var flightLogger = require(\"components/flight/lib/logger\");\n        module.exports = flightLogger;\n    });\n    define(\"core/utils\", [\"module\",\"require\",\"exports\",\"components/flight/lib/utils\",], function(module, require, exports) {\n        var flightUtils = require(\"components/flight/lib/utils\");\n        module.exports = flightUtils;\n    });\n    define(\"debug/debug\", [\"module\",\"require\",\"exports\",\"components/flight/tools/debug/debug\",], function(module, require, exports) {\n        var flightDebug = require(\"components/flight/tools/debug/debug\");\n        module.exports = flightDebug;\n    });\n    provide(\"app/utils/auth_token\", function(a) {\n        var b;\n        a({\n            get: function() {\n                if (!b) {\n                    throw new Error(\"authToken should have been set!\");\n                }\n            ;\n            ;\n                return b;\n            },\n            set: function(a) {\n                b = a;\n            },\n            addTo: function(a, c) {\n                return a.authenticity_token = b, ((c && (a.post_authenticity_token = b))), a;\n            }\n        });\n    });\n    define(\"app/data/scribe_transport\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        function ScribeTransport(a) {\n            this.SESSION_BUFFER_KEY = \"ScribeTransport\", this.SCRIBE_API_ENDPOINT = \"/i/jot\", this.options = {\n            }, ((a && (this.updateOptions(a), this.registerEventHandlers(a))));\n        };\n    ;\n        ScribeTransport.prototype = {\n            flush: function(a, b) {\n                if (((!a || !a.length))) {\n                    return;\n                }\n            ;\n            ;\n                ((((b === undefined)) && (b = !!this.options.sync)));\n                if (this.options.useAjax) {\n                    var c = {\n                        url: this.options.url,\n                        data: $.extend(this.ajaxParams(a), this.options.requestParameters),\n                        type: \"POST\",\n                        dataType: \"json\",\n                        async: !b\n                    };\n                    ((this.options.debug && (((this.options.debugHandler && (c.success = this.options.debugHandler))), c.data.debug = \"1\"))), $.ajax(c);\n                }\n                 else {\n                    var d = ((this.options.debug ? \"&debug=1\" : \"\"));\n                    (new JSBNG__Image).src = ((((((((((this.options.url + \"?q=\")) + (+(new JSBNG__Date)).toString().slice(-4))) + d)) + \"&\")) + this.imageParams(a)));\n                }\n            ;\n            ;\n                this.reset();\n            },\n            ajaxParams: function(a) {\n                if (((typeof a == \"string\"))) {\n                    return {\n                        log: ((((\"[\" + a)) + \"]\"))\n                    };\n                }\n            ;\n            ;\n                var b = this.options.encodeParameters;\n                return ((((b && ((typeof b == \"function\")))) ? b.apply(this, arguments) : {\n                    log: JSON.stringify(a)\n                }));\n            },\n            imageParams: function(a) {\n                if (((typeof a == \"string\"))) {\n                    return ((((\"log=%5B\" + a)) + \"%5D\"));\n                }\n            ;\n            ;\n                var b = this.options.encodeParameters;\n                return ((((b && ((typeof b == \"function\")))) ? b.apply(this, arguments) : ((\"log=\" + encodeURIComponent(JSON.stringify(a))))));\n            },\n            reset: function() {\n                ((this.options.bufferEvents && (this.skipUnloadFlush = !1, JSBNG__sessionStorage.removeItem(this.options.bufferKey))));\n            },\n            getBuffer: function() {\n                return ((JSBNG__sessionStorage.getItem(this.options.bufferKey) || \"\"));\n            },\n            send: function(a, b, c) {\n                if (((((!b || !a)) || ((this.options.bufferSize < 0))))) {\n                    return;\n                }\n            ;\n            ;\n                a._category_ = b;\n                if (((((c || !this.options.bufferEvents)) || !this.options.bufferSize))) this.flush([a,], c);\n                 else {\n                    var d = JSON.stringify(a);\n                    ((this.options.useAjax || (d = encodeURIComponent(d))));\n                    var e = this.getBuffer(), f = ((e + ((e ? ((this.SEPARATOR + d)) : d))));\n                    ((((this.options.bufferSize && this.fullBuffer(f))) ? ((this.options.useAjax ? this.flush(f) : (this.flush(e), JSBNG__sessionStorage.setItem(this.options.bufferKey, d)))) : JSBNG__sessionStorage.setItem(this.options.bufferKey, f)));\n                }\n            ;\n            ;\n                ((this.options.debug && $(JSBNG__document).trigger(((\"scribedata.\" + this.options.bufferKey)), a))), ((((this.options.metrics && ((a.event_info != \"debug\")))) && $(JSBNG__document).trigger(\"debugscribe\", a)));\n            },\n            fullBuffer: function(a) {\n                return ((a.length >= ((this.options.useAjax ? ((this.options.bufferSize * 2083)) : ((2050 - this.options.url.length))))));\n            },\n            updateOptions: function(a) {\n                this.options = $.extend({\n                }, this.options, a), ((this.options.requestParameters || (this.options.requestParameters = {\n                }))), ((((this.options.flushOnUnload === undefined)) && (this.options.flushOnUnload = !0))), ((this.options.bufferKey || (this.options.bufferKey = this.SESSION_BUFFER_KEY))), ((((this.options.bufferSize === 0)) && (this.options.bufferEvents = !1))), ((((this.options.useAjax === undefined)) && (this.options.useAjax = !0)));\n                if (((this.options.bufferEvents || ((this.options.bufferEvents == undefined))))) {\n                    try {\n                        JSBNG__sessionStorage.setItem(((this.SESSION_BUFFER_KEY + \".init\")), \"test\");\n                        var b = ((JSBNG__sessionStorage.getItem(((this.SESSION_BUFFER_KEY + \".init\"))) == \"test\"));\n                        JSBNG__sessionStorage.removeItem(((this.SESSION_BUFFER_KEY + \".init\"))), this.options.bufferEvents = b;\n                    } catch (c) {\n                        this.options.bufferEvents = !1;\n                    };\n                }\n            ;\n            ;\n                if (((this.options.debug && !this.options.debugHandler))) {\n                    var d = this;\n                    this.options.debugHandler = ((a.debugHandler || function(a) {\n                        $(JSBNG__document).trigger(((\"handlescribe.\" + d.options.bufferKey)), a);\n                    }));\n                }\n            ;\n            ;\n                var e = ((((window.JSBNG__location.protocol === \"https:\")) ? \"https:\" : \"http:\"));\n                ((((this.options.url === undefined)) ? ((this.options.useAjax ? this.options.url = this.SCRIBE_API_ENDPOINT : this.options.url = ((\"https://twitter.com\" + this.SCRIBE_API_ENDPOINT)))) : this.options.url = this.options.url.replace(/^[a-z]+:/g, e).replace(/\\/$/, \"\"))), ((((this.options.bufferEvents && ((this.options.bufferSize === undefined)))) && (this.options.bufferSize = 20)));\n            },\n            appHost: function() {\n                return window.JSBNG__location.host;\n            },\n            registerEventHandlers: function() {\n                var a = this, b = $(JSBNG__document);\n                if (this.options.bufferEvents) {\n                    b.JSBNG__on(((\"flushscribe.\" + a.options.bufferKey)), function(b) {\n                        a.flush(a.getBuffer(), !0);\n                    });\n                    if (this.options.flushOnUnload) {\n                        var c = function(b) {\n                            a.skipUnloadFlush = ((((!b || !b.match(/http/))) || !!b.match(new RegExp(((\"^https?://\" + a.appHost())), \"gi\")))), ((a.skipUnloadFlush && window.JSBNG__setTimeout(function() {\n                                a.skipUnloadFlush = !1;\n                            }, 3000)));\n                        };\n                        b.JSBNG__on(((\"mouseup.\" + this.options.bufferKey)), \"a\", function(a) {\n                            if (((((((((((this.getAttribute(\"target\") || a.button)) || a.metaKey)) || a.shiftKey)) || a.altKey)) || a.ctrlKey))) {\n                                return;\n                            }\n                        ;\n                        ;\n                            c(this.getAttribute(\"href\"));\n                        }), b.JSBNG__on(((\"submit.\" + this.options.bufferKey)), \"form\", function(a) {\n                            c(this.getAttribute(\"action\"));\n                        }), b.JSBNG__on(((\"uiNavigate.\" + this.options.bufferKey)), function(a, b) {\n                            c(b.url);\n                        }), $(window).JSBNG__on(((\"unload.\" + this.options.bufferKey)), function() {\n                            ((a.skipUnloadFlush || a.flush(a.getBuffer(), !0))), a.skipUnloadFlush = !1;\n                        });\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                this.SEPARATOR = ((this.options.useAjax ? \",\" : encodeURIComponent(\",\")));\n            },\n            destroy: function() {\n                this.flush(this.getBuffer()), $(JSBNG__document).off(((\"flushscribe.\" + this.options.bufferKey))), $(window).off(((\"unload.\" + this.options.bufferKey))), $(JSBNG__document).off(((\"mouseup.\" + this.options.bufferKey))), $(JSBNG__document).off(((\"submit.\" + this.options.bufferKey))), $(JSBNG__document).off(((\"uiNavigate.\" + this.options.bufferKey)));\n            }\n        }, module.exports = new ScribeTransport;\n    });\n    define(\"app/data/scribe_monitor\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n        function scribeMonitor() {\n            function a(a) {\n                if (((window.scribeConsole && window.scribeConsole.JSBNG__postMessage))) {\n                    var b = ((((window.JSBNG__location.protocol + \"//\")) + window.JSBNG__location.host));\n                    try {\n                        window.scribeConsole.JSBNG__postMessage(a, b);\n                    } catch (c) {\n                        var d = ((((\"ScribeMonitor.postToConsole - Scribe Console error or unserializable data [\" + a._category_)) + \"]\"));\n                        JSBNG__console.error(d, a);\n                    };\n                ;\n                }\n            ;\n            ;\n            };\n        ;\n            this.after(\"initialize\", function() {\n                this.JSBNG__on(\"keypress\", function(a) {\n                    if (((((((a.charCode == 205)) && a.shiftKey)) && a.altKey))) {\n                        var b = \"menubar=no,toolbar=no,personalbar=no,location=no,resizable=yes,status=no,dependent=yes,height=600,width=600,screenX=100,screenY=100,scrollbars=yes\", c = window.JSBNG__location.host;\n                        if (((!c || !c.match(/^(staging[0-9]+\\.[^\\.]+\\.twitter.com|twitter\\.com|localhost\\.twitter\\.com\\:[0-9]+)$/)))) {\n                            c = \"twitter.com\";\n                        }\n                    ;\n                    ;\n                        window.scribeConsole = window.open(((((((window.JSBNG__location.protocol + \"//\")) + c)) + \"/scribe/console\")), \"scribe_console\", b);\n                    }\n                ;\n                ;\n                }), this.JSBNG__on(\"scribedata.ScribeTransport handlescribe.ScribeTransport\", function(b, c) {\n                    a(c);\n                }), ((this.attr.scribesForScribeConsole && this.JSBNG__on(\"uiSwiftLoaded uiPageChanged\", function(b, c) {\n                    ((((((b.type == \"uiSwiftLoaded\")) || !c.fromCache)) && this.attr.scribesForScribeConsole.forEach(function(b) {\n                        b._category_ = \"client_event\", a(b);\n                    })));\n                })));\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\");\n        module.exports = defineComponent(scribeMonitor);\n    });\n    define(\"app/data/client_event\", [\"module\",\"require\",\"exports\",\"app/data/scribe_transport\",], function(module, require, exports) {\n        function ClientEvent(a) {\n            this.scribeContext = {\n            }, this.scribeData = {\n            }, this.scribe = function(b, c) {\n                var d = ((a || window.scribeTransport));\n                if (!d) {\n                    throw new Error(\"You must create a global scribeTransport variable or pass one into this constructor.\");\n                }\n            ;\n            ;\n                if (((((!b || ((typeof b != \"object\")))) || ((c && ((typeof c != \"object\"))))))) {\n                    throw new Error(\"Invalid terms or data hash argument when calling ClientEvent.scribe().\");\n                }\n            ;\n            ;\n                if (this.scribeContext) {\n                    var e = ((((typeof this.scribeContext == \"function\")) ? this.scribeContext() : this.scribeContext));\n                    b = $.extend({\n                    }, e, b);\n                }\n            ;\n            ;\n                {\n                    var fin49keys = ((window.top.JSBNG_Replay.forInKeys)((b))), fin49i = (0);\n                    var f;\n                    for (; (fin49i < fin49keys.length); (fin49i++)) {\n                        ((f) = (fin49keys[fin49i]));\n                        {\n                            b[f] = ((b[f] && ((\"\" + b[f])).toLowerCase().replace(/_?[^a-z0-9_]+_?/g, \"_\")));\n                        ;\n                        };\n                    };\n                };\n            ;\n                ((d.options.debug && $.each([\"client\",\"action\",], function(a, c) {\n                    if (!b[c]) {\n                        throw new Error(((((\"You must specify a \" + c)) + \" term in your client_event.\")));\n                    }\n                ;\n                ;\n                })));\n                var c = $.extend({\n                }, c);\n                if (this.scribeData) {\n                    var g = ((((typeof this.scribeData == \"function\")) ? this.scribeData() : this.scribeData));\n                    c = $.extend({\n                    }, g, c);\n                }\n            ;\n            ;\n                c.event_namespace = b, c.triggered_on = ((c.triggered_on || +(new JSBNG__Date))), c.format_version = ((c.format_version || 2)), d.send(c, \"client_event\");\n            };\n        };\n    ;\n        var scribeTransport = require(\"app/data/scribe_transport\");\n        module.exports = new ClientEvent(scribeTransport);\n    });\n    define(\"app/data/ddg\", [\"module\",\"require\",\"exports\",\"app/data/client_event\",], function(module, require, exports) {\n        function DDG(a, b) {\n            this.experiments = ((a || {\n            })), this.impressions = {\n            }, this.scribeExperiment = function(a, c, d) {\n                var e = $.extend({\n                    page: \"ddg\",\n                    section: a.experiment_key,\n                    component: \"\",\n                    element: \"\"\n                }, c);\n                d = ((d || {\n                })), d.experiment_key = a.experiment_key, d.bucket = a.bucket, d.version = a.version, ((b || window.clientEvent)).scribe(e, d);\n            }, this.impression = function(a) {\n                var b = this.experiments[a];\n                ((b && (a = b.experiment_key, ((this.impressions[a] || (this.scribeExperiment(b, {\n                    action: \"experiment\"\n                }), this.impressions[a] = !0))))));\n            }, this.track = function(a, b, c) {\n                if (!b) {\n                    throw new Error(\"You must specify an event name to track custom DDG events. Event names should be lower-case, snake_cased strings.\");\n                }\n            ;\n            ;\n                var d = this.experiments[a];\n                ((d && this.scribeExperiment(d, {\n                    element: b,\n                    action: \"track\"\n                }, c)));\n            }, this.bucket = function(a) {\n                var b = this.experiments[a];\n                return ((b ? b.bucket : \"\"));\n            };\n        };\n    ;\n        var clientEvent = require(\"app/data/client_event\");\n        module.exports = new DDG({\n        }, clientEvent);\n    });\n    define(\"app/utils/scribe_association_types\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        module.exports = {\n            associatedTweet: 1,\n            platformCardPublisher: 2,\n            platformCardCreator: 3,\n            conversationOrigin: 4,\n            associatedUser: 5,\n            associatedTimeline: 6\n        };\n    });\n    define(\"app/data/with_scribe\", [\"module\",\"require\",\"exports\",\"app/data/client_event\",\"core/utils\",], function(module, require, exports) {\n        function withScribe() {\n            function a(a) {\n                if (!a) {\n                    return;\n                }\n            ;\n            ;\n                a = ((a.sourceEventData ? a.sourceEventData : a));\n                if (((a.scribeContext || a.scribeData))) {\n                    return a;\n                }\n            ;\n            ;\n            };\n        ;\n            this.scribe = function() {\n                var b = Array.prototype.slice.call(arguments), c, d, e, f, g;\n                c = ((((typeof b[0] == \"string\")) ? {\n                    action: b[0]\n                } : b[0])), b.shift();\n                if (b[0]) {\n                    e = b[0], ((e.sourceEventData && (e = e.sourceEventData)));\n                    if (((e.scribeContext || e.scribeData))) {\n                        f = e.scribeContext, g = e.scribeData;\n                    }\n                ;\n                ;\n                    ((((((((b[0].scribeContext || b[0].scribeData)) || b[0].sourceEventData)) || ((b.length === 2)))) && b.shift()));\n                }\n            ;\n            ;\n                c = utils.merge({\n                }, f, c), d = ((((typeof b[0] == \"function\")) ? b[0].bind(this)(e) : b[0])), d = utils.merge({\n                }, g, d), this.transport(c, d);\n            }, this.scribeOnEvent = function(b, c, d) {\n                this.JSBNG__on(b, function(a, b) {\n                    b = ((b || {\n                    })), this.scribe(c, ((b.sourceEventData || b)), d);\n                });\n            }, this.transport = function(b, c) {\n                clientEvent.scribe(b, c);\n            };\n        };\n    ;\n        var clientEvent = require(\"app/data/client_event\"), utils = require(\"core/utils\");\n        module.exports = withScribe;\n    });\n    define(\"app/utils/with_session\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        function withSession() {\n            this.setSessionItem = function(a, b) {\n                ((window.JSBNG__sessionStorage && JSBNG__sessionStorage.setItem(a, b)));\n            }, this.removeSessionItem = function(a) {\n                ((window.JSBNG__sessionStorage && JSBNG__sessionStorage.removeItem(a)));\n            }, this.getSessionItem = function(a) {\n                return ((window.JSBNG__sessionStorage && JSBNG__sessionStorage.getItem(a)));\n            }, this.setSessionObject = function(a, b) {\n                ((((b === undefined)) ? this.removeSessionItem(a) : this.setSessionItem(a, JSON.stringify(b))));\n            }, this.getSessionObject = function(a) {\n                var b = this.getSessionItem(a);\n                return ((((b === undefined)) ? b : JSON.parse(b)));\n            };\n        };\n    ;\n        module.exports = withSession;\n    });\n    define(\"app/utils/scribe_item_types\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        module.exports = {\n            tweet: 0,\n            promotedTweet: 1,\n            popularTweet: 2,\n            retweet: 10,\n            user: 3,\n            promotedUser: 4,\n            message: 6,\n            story: 7,\n            trend: 8,\n            promotedTrend: 9,\n            popularTrend: 15,\n            list: 11,\n            search: 12,\n            savedSearch: 13,\n            peopleSearch: 14\n        };\n    });\n    define(\"app/data/with_interaction_data_scribe\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/data/with_scribe\",\"app/utils/with_session\",\"app/utils/scribe_item_types\",\"app/utils/scribe_association_types\",\"app/data/client_event\",\"core/utils\",], function(module, require, exports) {\n        function withInteractionDataScribe() {\n            this.defaultAttrs({\n                profileClickContextExpirationMs: 600000,\n                profileClickContextSessionKey: \"profileClickContext\"\n            }), compose.mixin(this, [withScribe,withSession,]), this.scribeInteraction = function(a, b, c) {\n                if (((!a || !b))) {\n                    return;\n                }\n            ;\n            ;\n                ((((typeof a == \"string\")) && (a = {\n                    action: a\n                })));\n                var d = a.action;\n                if (!d) {\n                    return;\n                }\n            ;\n            ;\n                b = utils.merge(b, b.sourceEventData), a = this.getInteractionScribeContext(a, b);\n                var e = {\n                };\n                ((b.url && (e.url = b.url))), ((b.query && (e.query = b.query))), ((b.impressionId && (e.promoted = !0)));\n                var f = this.interactionItem(b);\n                ((f && (e.items = [f,])));\n                var g = this.interactionTarget(b, a);\n                ((g && (e.targets = [g,]))), c = utils.merge(e, c, b.scribeData), ((b.conversationOriginTweetId && (c.associations = ((c.associations || {\n                })), c.associations[associationTypes.conversationOrigin] = {\n                    association_id: b.conversationOriginTweetId,\n                    association_type: itemTypes.tweet\n                }))), ((((((d == \"profile_click\")) || ((d == \"mention_click\")))) && this.saveProfileClickContext(b)));\n                if (((((d == \"report_as_spam\")) || ((d == \"block\"))))) {\n                    var h = this.getUserActionAssociations(b);\n                    ((h && (c.associations = utils.merge(c.associations, h))));\n                }\n            ;\n            ;\n                this.scribe(a, b, c);\n            }, this.interactionItem = function(a) {\n                var b = {\n                };\n                if (((((a.position === 0)) || a.position))) {\n                    b.position = a.position;\n                }\n            ;\n            ;\n                ((a.impressionId && (b.promoted_id = a.impressionId)));\n                switch (a.itemType) {\n                  case \"user\":\n                    this.userDetails(b, a);\n                    break;\n                  case \"tweet\":\n                    this.tweetDetails(b, a), this.cardDetails(b, a), this.translationDetails(b, a), this.conversationDetails(b, a);\n                    break;\n                  case \"activity\":\n                    this.activityDetails(b, a), ((((a.activityType == \"follow\")) ? (this.userDetails(b, a), ((a.isNetworkActivity || (b.id = this.attr.userId)))) : ((a.listId ? this.listDetails(b, a) : (this.tweetDetails(b, a), this.cardDetails(b, a))))));\n                    break;\n                  case \"story\":\n                    this.storyDetails(b, a), ((a.tweetId ? this.tweetDetails(b, a) : ((a.userId ? this.userDetails(b, a) : b.item_type = itemTypes.story))));\n                };\n            ;\n                return b;\n            }, this.interactionTarget = function(a, b) {\n                if (this.isUserTarget(b.action)) {\n                    var c = ((((a.isMentionClick ? a.userId : a.targetUserId)) || a.userId));\n                    return this.userDetails({\n                    }, {\n                        userId: c\n                    });\n                }\n            ;\n            ;\n            }, this.tweetDetails = function(a, b) {\n                return a.id = b.tweetId, a.item_type = itemTypes.tweet, ((b.relevanceType && (a.is_popular_tweet = !0))), ((b.retweetId && (a.retweeting_tweet_id = b.retweetId))), a;\n            }, this.cardDetails = function(a, b) {\n                return ((b.cardItem && utils.push(a, b.cardItem))), a;\n            }, this.translationDetails = function(a, b) {\n                return a.dest = b.dest, a;\n            }, this.conversationDetails = function(a, b) {\n                ((b.isConversation && (a.description = \"focal\"))), ((b.isConversationComponent && (a.description = b.description, a.id = b.tweetId)));\n            }, this.userDetails = function(a, b) {\n                return a.id = ((b.containerUserId || b.userId)), a.item_type = itemTypes.user, ((b.feedbackToken && (a.token = b.feedbackToken))), a;\n            }, this.listDetails = function(a, b) {\n                return a.id = b.listId, a.item_type = itemTypes.list, a;\n            }, this.activityDetails = function(a, b) {\n                return a.activity_type = b.activityType, ((b.actingUserIds && (a.acting_user_ids = b.actingUserIds))), a;\n            }, this.storyDetails = function(a, b) {\n                return a.story_type = b.storyType, a.story_source = b.storySource, a.social_proof_type = b.socialProofType, a;\n            }, this.isUserTarget = function(a) {\n                return (([\"mention_click\",\"profile_click\",\"follow\",\"unfollow\",\"block\",\"unblock\",\"report_as_spam\",\"add_to_list\",\"dm\",].indexOf(a) != -1));\n            }, this.getInteractionScribeContext = function(a, b) {\n                return ((((((a.action == \"profile_click\")) && ((a.element === undefined)))) && (a.element = ((b.isPromotedBadgeClick ? \"promoted_badge\" : b.profileClickTarget))))), a;\n            }, this.scribeInteractiveResults = function(a, b, c, d) {\n                var e = [], f = !1;\n                ((((typeof a == \"string\")) && (a = {\n                    action: a\n                })));\n                if (((!a.action || !b))) {\n                    return;\n                }\n            ;\n            ;\n                ((b.length || (a.action = \"no_results\"))), b.forEach(function(a) {\n                    ((f || (f = !!a.impressionId))), e.push(this.interactionItem(a));\n                }.bind(this)), a = this.getInteractionScribeContext(a, c);\n                var g = {\n                };\n                ((((e && e.length)) && (g.items = e))), ((f && (g.promoted = !0))), this.scribe(a, c, utils.merge(g, d));\n            }, this.associationNamespace = function(a, b) {\n                var c = {\n                    page: a.page,\n                    section: a.section\n                };\n                return (((([\"conversation\",\"replies\",\"in_reply_to\",].indexOf(b) >= 0)) && (c.component = b))), c;\n            }, this.getProfileUserAssociations = function() {\n                var a = ((this.attr.profile_user && this.attr.profile_user.id_str)), b = null;\n                return ((a && (b = {\n                }, b[associationTypes.associatedUser] = {\n                    association_id: a,\n                    association_type: itemTypes.user,\n                    association_namespace: this.associationNamespace(clientEvent.scribeContext)\n                }))), b;\n            }, this.getProfileClickContextAssociations = function(a) {\n                var b = ((this.getSessionObject(this.attr.profileClickContextSessionKey) || null));\n                return ((((((((b && ((b.userId == a)))) && ((b.expires > (new JSBNG__Date).getTime())))) && b.associations)) || null));\n            }, this.saveProfileClickContext = function(a) {\n                var b = {\n                };\n                ((a.tweetId ? (b[associationTypes.associatedTweet] = {\n                    association_id: a.tweetId,\n                    association_type: itemTypes.tweet,\n                    association_namespace: this.associationNamespace(clientEvent.scribeContext, a.scribeContext.component)\n                }, ((a.conversationOriginTweetId && (b[associationTypes.conversationOrigin] = {\n                    association_id: a.conversationOriginTweetId,\n                    association_type: itemTypes.tweet\n                })))) : b = this.getProfileUserAssociations())), this.setSessionObject(this.attr.profileClickContextSessionKey, {\n                    userId: a.userId,\n                    associations: b,\n                    expires: (((new JSBNG__Date).getTime() + this.attr.profileClickContextExpirationMs))\n                });\n            }, this.getUserActionAssociations = function(a) {\n                var b = a.scribeContext.component, c;\n                return ((((((b == \"profile_dialog\")) || ((b == \"profile_follow_card\")))) ? c = this.getProfileClickContextAssociations(a.userId) : ((((b == \"user\")) ? c = this.getProfileUserAssociations() : c = null)))), c;\n            };\n        };\n    ;\n        var compose = require(\"core/compose\"), withScribe = require(\"app/data/with_scribe\"), withSession = require(\"app/utils/with_session\"), itemTypes = require(\"app/utils/scribe_item_types\"), associationTypes = require(\"app/utils/scribe_association_types\"), clientEvent = require(\"app/data/client_event\"), utils = require(\"core/utils\");\n        module.exports = withInteractionDataScribe;\n    });\n    define(\"app/utils/scribe_card_types\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        module.exports = {\n            photoTweet: 1,\n            photoCard: 2,\n            playerCard: 3,\n            summaryCard: 4,\n            promotionCard: 5,\n            plusCard: 6\n        };\n    });\n    define(\"app/data/with_card_metadata\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/utils/scribe_association_types\",\"app/data/with_interaction_data_scribe\",\"app/utils/scribe_item_types\",\"app/utils/scribe_card_types\",], function(module, require, exports) {\n        function withCardMetadata() {\n            compose.mixin(this, [withInteractionDataScribe,]);\n            var a = \"Swift-1\";\n            this.cardAssociationsForData = function(a) {\n                var b = {\n                    associations: {\n                    }\n                };\n                return b.associations[associationTypes.platformCardPublisher] = {\n                    association_id: a.publisherUserId,\n                    association_type: itemTypes.user\n                }, b.associations[associationTypes.platformCardCreator] = {\n                    association_id: a.creatorUserId,\n                    association_type: itemTypes.user\n                }, b.message = a.cardUrl, b;\n            }, this.getCardDataFromTweet = function(a) {\n                var b = {\n                }, c = a.closest(\".tweet\"), d, e, f, g;\n                return (((d = c.closest(\".permalink-tweet-container\")).length || (d = $(c.attr(\"data-expanded-footer\"))))), b.tweetHasCard = c.hasClass(\"has-cards\"), g = !!d.JSBNG__find(\".card2\").length, b.interactionInsideCard = !1, ((g ? (b.tweetHasCard2 = g, b.tweetPreExpanded = c.hasClass(\"preexpanded\"), b.itemId = ((c.attr(\"data-item-id\") || null)), b.promotedId = ((c.attr(\"data-impression-id\") || null)), f = d.JSBNG__find(\".card2\"), b.cardName = f.attr(\"data-card2-name\"), b.cardUrl = f.JSBNG__find(\".card2-holder\").attr(\"data-card2-url\"), b.publisherUserId = this.getUserIdFromElement(f.JSBNG__find(\".card2-attribution\").JSBNG__find(\".js-user-profile-link\")), b.creatorUserId = this.getUserIdFromElement(f.JSBNG__find(\".card2-byline\").JSBNG__find(\".js-user-profile-link\")), b.interactionInsideCard = !!a.closest(\".card2\").length) : ((b.tweetHasCard && (e = d.JSBNG__find(\".cards-base\"), ((((e.length > 0)) && (b.cardType = e.data(\"card-type\"), b.cardUrl = e.data(\"card-url\"), b.publisherUserId = this.getUserIdFromElement(e.JSBNG__find(\".source .js-user-profile-link\")), b.creatorUserId = this.getUserIdFromElement(e.JSBNG__find(\".byline .js-user-profile-link\")), b.interactionInsideCard = this.interactionInsideCard(a))))))))), b;\n            }, this.interactionInsideCard = function(a) {\n                return !!a.closest(\".cards-base\").length;\n            }, this.scribeCardInteraction = function(a, b) {\n                ((b.tweetHasCard2 ? this.scribeCard2Interaction(a, b) : ((b.tweetHasCard && this.scribeClassicCardInteraction(a, b)))));\n            }, this.scribeClassicCardInteraction = function(a, b) {\n                var c = this.cardAssociationsForData(b);\n                this.scribeInteraction({\n                    element: ((((\"platform_\" + b.cardType)) + \"_card\")),\n                    action: a\n                }, b, c);\n            }, this.getCard2Item = function(b) {\n                return {\n                    item_type: itemTypes.tweet,\n                    id: b.itemId,\n                    promoted_id: b.promotedId,\n                    pre_expanded: ((b.tweetPreExpanded || !1)),\n                    card_type: cardTypes.plusCard,\n                    card_name: b.cardName,\n                    card_url: b.cardUrl,\n                    card_platform_key: a,\n                    publisher_id: b.publisherUserId\n                };\n            }, this.scribeCard2Interaction = function(a, b) {\n                var c = {\n                    items: [this.getCard2Item(b),]\n                };\n                this.scribeInteraction({\n                    element: \"platform_card\",\n                    action: a\n                }, b, c);\n            }, this.getUserIdFromElement = function(a) {\n                return ((a.length ? a.attr(\"data-user-id\") : null));\n            };\n        };\n    ;\n        var compose = require(\"core/compose\"), associationTypes = require(\"app/utils/scribe_association_types\"), withInteractionDataScribe = require(\"app/data/with_interaction_data_scribe\"), itemTypes = require(\"app/utils/scribe_item_types\"), cardTypes = require(\"app/utils/scribe_card_types\");\n        module.exports = withCardMetadata;\n    });\n    define(\"app/data/with_conversation_metadata\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        module.exports = function() {\n            this.defaultAttrs({\n                hasConversationModuleClassAlt: \"has-conversation-module\",\n                conversationModuleSelectorAlt: \".conversation-module\",\n                rootClass: \"root\",\n                conversationRootTweetSelector: \".conversation-module .conversation-tweet-item.root .tweet\",\n                conversationAncestorTweetSelector: \".conversation-module .conversation-tweet-item:not(root) .tweet\"\n            }), this.getConversationAttrs = function(a) {\n                var b = {\n                };\n                if (a.hasClass(this.attr.hasConversationModuleClass)) {\n                    var c = a.closest(this.attr.conversationModuleSelector);\n                    b.isConversation = !0, b.conversationAncestors = c.attr(\"data-ancestors\").split(\",\");\n                }\n                 else ((a.hasClass(\"conversation-tweet\") && (b.isConversationComponent = !0, b.description = ((a.hasClass(this.attr.rootClass) ? \"root\" : \"ancestor\")))));\n            ;\n            ;\n                return b;\n            }, this.conversationComponentInteractionData = function(a, b) {\n                return {\n                    itemType: \"tweet\",\n                    tweetId: $(a).attr(\"data-item-id\"),\n                    description: b,\n                    isConversationComponent: !0\n                };\n            }, this.extraInteractionData = function(a) {\n                if (((a.JSBNG__find(this.attr.conversationModuleSelector).length > 0))) {\n                    var b = a.JSBNG__find(this.conversationRootTweetSelector).map(function(a, b) {\n                        return this.conversationComponentInteractionData(b, \"root\");\n                    }.bind(this)).get(), c = a.JSBNG__find(this.attr.conversationAncestorTweetSelector).map(function(a, b) {\n                        return this.conversationComponentInteractionData(b, \"ancestor\");\n                    }.bind(this)).get();\n                    return b.concat(c);\n                }\n            ;\n            ;\n                return [];\n            }, this.addConversationScribeContext = function(a, b) {\n                return ((((b && b.isConversation)) ? (a.component = \"conversation\", a.element = \"tweet\") : ((((b && b.isConversationComponent)) && (a.component = \"conversation\", a.element = b.description))))), a;\n            }, this.after(\"initialize\", function() {\n                ((this.attr.conversationModuleSelector || (this.attr.conversationModuleSelector = this.attr.conversationModuleSelectorAlt))), ((this.attr.hasConversationModuleClass || (this.attr.hasConversationModuleClass = this.attr.hasConversationModuleClassAlt)));\n            });\n        };\n    });\n    define(\"app/ui/with_interaction_data\", [\"module\",\"require\",\"exports\",\"core/compose\",\"core/utils\",\"app/data/with_card_metadata\",\"app/data/with_conversation_metadata\",], function(module, require, exports) {\n        function withInteractionData() {\n            compose.mixin(this, [withCardMetadata,withConversationMetadata,]), this.defaultAttrs({\n                genericInteractionItemSelector: \".js-stream-item\",\n                expandoContainerSelector: \".expanded-conversation\",\n                expandoAncestorSelector: \".ancestor\",\n                expandoDescendantSelector: \".descendant\",\n                streamItemContainerSelector: \".js-stream-item, .permalink\",\n                activityTargetSelector: \".activity-truncated-tweet .js-actionable-tweet, .js-activity-list_member_added [data-list-id]\",\n                activityItemSelector: \".js-activity\",\n                itemAvatarSelector: \".js-action-profile-avatar, .avatar.size48\",\n                itemSmallAvatarSelector: \".avatar.size24, .avatar.size32\",\n                itemMentionSelector: \".twitter-atreply\",\n                discoveryStoryItemSelector: \".js-story-item\",\n                discoveryStoryHeadlineSelector: \".js-news-headline a\",\n                originalTweetSelector: \".js-original-tweet[data-tweet-id]\",\n                promotedBadgeSelector: \".js-promoted-badge\",\n                elementContextSelector: \"[data-element-context]\",\n                componentContextSelector: \"[data-component-context]\",\n                scribeContextSelector: \"[data-scribe-context]\",\n                userTargetSelector: \".js-user-profile-link, .twitter-atreply\"\n            });\n            var a = {\n                feedbackToken: \"data-feedback-token\",\n                impressionId: \"data-impression-id\",\n                disclosureType: \"data-disclosure-type\",\n                impressionCookie: \"data-impression-cookie\",\n                relevanceType: \"data-relevance-type\",\n                associatedTweetId: \"data-associated-tweet-id\"\n            }, b = utils.merge({\n                tweetId: \"data-tweet-id\",\n                retweetId: \"data-retweet-id\",\n                isReplyTo: \"data-is-reply-to\",\n                hasParentTweet: \"data-has-parent-tweet\"\n            }, a), c = utils.merge({\n                activityType: \"data-activity-type\"\n            }, b), d = utils.merge({\n                storyType: \"data-story-type\",\n                query: \"data-query\",\n                url: \"data-url\",\n                storySource: \"data-source\",\n                storyMediaType: \"data-card-media-type\",\n                socialProofType: \"data-social-proof-type\"\n            }, b);\n            this.interactionDataWithCard = function(a, b) {\n                return this.interactionData(a, b, !0);\n            }, this.interactionData = function(a, b, c) {\n                var d = {\n                }, e = {\n                }, f = !!c, g = ((a.target ? $(a.target) : $(a)));\n                ((this.setItemType && this.setItemType(g))), b = ((b || {\n                })), ((this.attr.eventData && (d = this.attr.eventData.scribeContext, e = this.attr.eventData.scribeData)));\n                var h = utils.merge(this.getEventData(g, f), b), i = g.closest(this.attr.scribeContextSelector).data(\"scribe-context\");\n                ((i && (e = utils.merge(i, e)))), d = utils.merge({\n                }, d, this.getScribeContext(g, h));\n                if (((((this.attr.itemType == \"tweet\")) && (([\"replies\",\"conversation\",\"in_reply_to\",].indexOf(d.component) >= 0))))) {\n                    var j = g.closest(this.attr.streamItemContainerSelector).JSBNG__find(this.attr.originalTweetSelector);\n                    ((j.length && (h.conversationOriginTweetId = j.attr(\"data-tweet-id\"))));\n                }\n            ;\n            ;\n                return utils.merge({\n                    scribeContext: d,\n                    scribeData: e\n                }, h);\n            }, this.getScribeContext = function(a, b) {\n                var c = {\n                }, d = a.closest(this.attr.componentContextSelector).attr(\"data-component-context\");\n                ((d && (c.component = d)));\n                var e = a.closest(this.attr.elementContextSelector).attr(\"data-element-context\");\n                ((e && (c.element = e)));\n                if (((c.element || c.component))) {\n                    return c;\n                }\n            ;\n            ;\n            }, this.getInteractionItemPosition = function(a, b) {\n                if (((b && ((b.position >= 0))))) {\n                    return b.position;\n                }\n            ;\n            ;\n                var c = ((this.getItemPosition && this.getItemPosition(a)));\n                return ((((c >= 0)) ? c : (c = this.getExpandoPosition(a), ((((c != -1)) ? c : ((((a.attr(\"data-is-tweet-proof\") === \"true\")) ? this.getTweetProofPosition(a) : this.getStreamPosition(a))))))));\n            }, this.getExpandoPosition = function(a) {\n                var b, c = -1, d = a.closest(this.attr.expandoAncestorSelector), e = a.closest(this.attr.expandoDescendantSelector);\n                return ((d.length && (b = d.closest(this.attr.expandoContainerSelector), c = b.JSBNG__find(this.attr.expandoAncestorSelector).index(d)))), ((e.length && (b = e.closest(this.attr.expandoContainerSelector), c = b.JSBNG__find(this.attr.expandoDescendantSelector).index(e)))), ((a.closest(\".in-reply-to,.replies-to\").length && (b = a.closest(\".in-reply-to,.replies-to\"), c = b.JSBNG__find(\".tweet\").index(a.closest(\".tweet\"))))), c;\n            }, this.getTweetProofPosition = function(a) {\n                var b = a.closest(this.attr.trendItemSelector).index();\n                return ((((b != -1)) ? b : -1));\n            }, this.getStreamPosition = function(a) {\n                var b = a.closest(this.attr.genericInteractionItemSelector).index();\n                if (((b != -1))) {\n                    return b;\n                }\n            ;\n            ;\n            }, this.getEventData = function(c, d) {\n                var e, f;\n                switch (this.attr.itemType) {\n                  case \"activity\":\n                    return this.getActivityEventData(c);\n                  case \"story\":\n                    return this.getStoryEventData(c);\n                  case \"user\":\n                    return this.getDataAttrs(c, a);\n                  case \"tweet\":\n                    return f = utils.merge(this.getDataAttrs(c, b), this.getConversationAttrs(c)), ((d ? utils.merge(this.getCardAttrs(c), f) : f));\n                  case \"list\":\n                    return this.getDataAttrs(c, a);\n                  case \"trend\":\n                    return this.getDataAttrs(c, b);\n                  default:\n                    return JSBNG__console.warn(\"You must configure your UI component with an \\\"itemType\\\" attribute of activity, story, user, tweet, list, or trend in order for it to scribe properly.\"), {\n                    };\n                };\n            ;\n            }, this.getActivityEventData = function(a) {\n                var b = a.closest(this.attr.activityItemSelector), d = b.JSBNG__find(this.attr.activityTargetSelector);\n                ((d.length || (d = a)));\n                var e = this.getDataAttrs(a, c, d);\n                e.isNetworkActivity = !!a.closest(\".discover-stream\").length, ((e.activityType || ((e.isReplyTo ? e.activityType = \"reply\" : e.activityType = ((e.retweetId ? \"retweet\" : \"mention\"))))));\n                var f = [], g = ((e.isNetworkActivity ? \".stream-item-activity-header\" : \"ol.activity-supplement\"));\n                return b.JSBNG__find(((g + \" a[data-user-id]\"))).each(function() {\n                    f.push($(this).data(\"user-id\"));\n                }), ((f.length && (e.actingUserIds = f))), e;\n            }, this.getStoryEventData = function(a) {\n                var b = this.getDataAttrs(a, d), c = a.closest(this.attr.discoveryStoryItemSelector), e = c.JSBNG__find(this.attr.discoveryStoryHeadlineSelector).text();\n                return b.storyTitle = e.replace(/^\\s+|\\s+$/g, \"\"), b;\n            }, this.getTargetUserId = function(a) {\n                var b = a.closest(this.attr.userTargetSelector);\n                if (b.length) {\n                    return ((b.closest(\"[data-user-id]\").attr(\"data-user-id\") || b.JSBNG__find(\"[data-user-id]\").attr(\"data-user-id\")));\n                }\n            ;\n            ;\n            }, this.getDataAttrs = function(a, b, c) {\n                var d = {\n                };\n                c = ((c || a)), $.each(b, function(a, b) {\n                    ((c.is(((((\"[\" + b)) + \"]\"))) ? d[a] = c.attr(b) : d[a] = c.closest(((((\"[\" + b)) + \"]\"))).attr(b)));\n                }), d.isReplyTo = ((d.isReplyTo === \"true\")), d = utils.merge(d, {\n                    position: this.getInteractionItemPosition(a, d),\n                    isMentionClick: ((a.closest(this.attr.itemMentionSelector).length > 0)),\n                    isPromotedBadgeClick: ((a.closest(this.attr.promotedBadgeSelector).length > 0)),\n                    itemType: this.attr.itemType\n                }), ((a.is(this.attr.itemAvatarSelector) ? d.profileClickTarget = \"avatar\" : ((a.is(this.attr.itemSmallAvatarSelector) ? d.profileClickTarget = \"mini_avatar\" : d.profileClickTarget = \"screen_name\"))));\n                var e = this.getTargetUserId(a);\n                return ((e && (d.targetUserId = e))), d.userId = a.closest(\"[data-user-id]\").attr(\"data-user-id\"), d.containerUserId = c.closest(\"[data-user-id]\").attr(\"data-user-id\"), d;\n            }, this.getCardAttrs = function(a) {\n                var b = this.getCardDataFromTweet(a);\n                return ((b.tweetHasCard2 ? {\n                    cardItem: this.getCard2Item(b)\n                } : {\n                }));\n            };\n        };\n    ;\n        var compose = require(\"core/compose\"), utils = require(\"core/utils\"), withCardMetadata = require(\"app/data/with_card_metadata\"), withConversationMetadata = require(\"app/data/with_conversation_metadata\");\n        module.exports = withInteractionData;\n    });\n    define(\"app/data/tweet_actions_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/ui/with_interaction_data\",\"app/data/with_conversation_metadata\",\"app/data/with_interaction_data_scribe\",], function(module, require, exports) {\n        function tweetActionsScribe() {\n            this.scribeTweet = function(a) {\n                return function(b, c) {\n                    var d = this.addConversationScribeContext({\n                        action: a\n                    }, c.sourceEventData);\n                    this.scribeInteraction(d, utils.merge(c, c.sourceEventData));\n                }.bind(this);\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"uiReplyButtonTweetSuccess\", this.scribeTweet(\"reply\")), this.JSBNG__on(\"uiDidRetweetSuccess\", this.scribeTweet(\"retweet\")), this.JSBNG__on(\"uiDidDeleteTweet\", this.scribeTweet(\"delete\")), this.JSBNG__on(\"dataDidFavoriteTweet\", this.scribeTweet(\"favorite\")), this.JSBNG__on(\"dataDidUnfavoriteTweet\", this.scribeTweet(\"unfavorite\")), this.JSBNG__on(\"dataDidUnretweet\", this.scribeTweet(\"unretweet\")), this.JSBNG__on(\"uiPermalinkClick\", this.scribeTweet(\"permalink\")), this.JSBNG__on(\"uiDidShareViaEmailSuccess\", this.scribeTweet(\"share_via_email\")), this.JSBNG__on(\"dataTweetTranslationSuccess\", this.scribeTweet(\"translate\"));\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withInteractionData = require(\"app/ui/with_interaction_data\"), withConversationMetadata = require(\"app/data/with_conversation_metadata\"), withInteractionDataScribe = require(\"app/data/with_interaction_data_scribe\");\n        module.exports = defineComponent(tweetActionsScribe, withInteractionData, withConversationMetadata, withInteractionDataScribe);\n    });\n    define(\"app/data/user_actions_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/scribe_item_types\",\"app/utils/scribe_association_types\",\"app/data/with_interaction_data_scribe\",], function(module, require, exports) {\n        function userActionsScribe() {\n            function a(a) {\n                var b = ((a && a.associatedTweetId)), c = {\n                };\n                if (!b) {\n                    return;\n                }\n            ;\n            ;\n                return c[associationTypes.associatedTweet] = {\n                    association_type: itemTypes.tweet,\n                    association_id: b\n                }, {\n                    associations: c\n                };\n            };\n        ;\n            this.defaultAttrs({\n                urlToActionMap: {\n                    \"/i/user/follow\": \"follow\",\n                    \"/i/user/unfollow\": \"unfollow\",\n                    \"/i/user/block\": \"block\",\n                    \"/i/user/unblock\": \"unblock\",\n                    \"/i/user/report_spam\": \"report_as_spam\",\n                    \"/i/user/hide\": \"dismiss\"\n                },\n                userActionToActionMap: {\n                    uiMentionAction: \"reply\",\n                    uiDmAction: \"dm\",\n                    uiListAction: \"add_to_list\",\n                    uiRetweetOnAction: {\n                        element: \"allow_retweets\",\n                        action: \"JSBNG__on\"\n                    },\n                    uiRetweetOffAction: {\n                        element: \"allow_retweets\",\n                        action: \"off\"\n                    },\n                    uiDeviceNotificationsOnAction: {\n                        element: \"mobile_notifications\",\n                        action: \"JSBNG__on\"\n                    },\n                    uiDeviceNotificationsOffAction: {\n                        element: \"mobile_notifications\",\n                        action: \"off\"\n                    },\n                    uiShowMobileNotificationsConfirm: {\n                        element: \"mobile_notifications\",\n                        action: \"failure\"\n                    },\n                    uiShowPushTweetsNotificationsConfirm: {\n                        element: \"mobile_notifications\",\n                        action: \"failure\"\n                    },\n                    uiEmailFollowAction: {\n                        element: \"email_follow\",\n                        action: \"email_follow\"\n                    },\n                    uiEmailUnfollowAction: {\n                        element: \"email_follow\",\n                        action: \"email_unfollow\"\n                    }\n                }\n            }), this.handleUserEvent = function(b, c) {\n                this.scribeInteraction(this.attr.urlToActionMap[c.requestUrl], c, a(c.sourceEventData)), ((c.isFollowBack && this.scribeInteraction(\"follow_back\", c, a(c.sourceEventData))));\n            }, this.handleAction = function(b, c) {\n                this.scribeInteraction(this.attr.userActionToActionMap[b.type], c, a(c));\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(JSBNG__document, \"dataFollowStateChange dataUserActionSuccess dataEmailFollow dataEmailUnfollow\", this.handleUserEvent), this.JSBNG__on(JSBNG__document, \"uiMentionAction uiListAction uiDmAction uiRetweetOnAction uiRetweetOffAction uiDeviceNotificationsOnAction uiDeviceNotificationsOffAction uiShowMobileNotificationsConfirm uiShowPushTweetsNotificationsConfirm uiEmailFollowAction uiEmailUnfollowAction\", this.handleAction);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), itemTypes = require(\"app/utils/scribe_item_types\"), associationTypes = require(\"app/utils/scribe_association_types\"), withInteractionDataScribe = require(\"app/data/with_interaction_data_scribe\");\n        module.exports = defineComponent(userActionsScribe, withInteractionDataScribe);\n    });\n    define(\"app/data/item_actions_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_interaction_data_scribe\",\"app/data/with_conversation_metadata\",\"app/data/with_card_metadata\",], function(module, require, exports) {\n        function itemActionsScribe() {\n            this.handleNewerTimelineItems = function(a, b) {\n                this.scribeInteractiveResults({\n                    element: \"newer\",\n                    action: \"results\"\n                }, b.items, b);\n            }, this.handleRangeTimelineItems = function(a, b) {\n                this.scribeInteractiveResults({\n                    element: \"range\",\n                    action: \"results\"\n                }, b.items, b);\n            }, this.handleProfilePopup = function(a, b) {\n                var c = b.sourceEventData, d = ((c.isMentionClick ? \"mention_click\" : \"profile_click\"));\n                c.userId = b.user_id, ((c.interactionInsideCard ? this.scribeCardAction(d, a, c) : this.scribeInteraction(d, c)));\n            }, this.scribeItemAction = function(a, b, c) {\n                var d = this.addConversationScribeContext({\n                    action: a\n                }, c);\n                this.scribeInteraction(d, c);\n            }, this.scribeSearchTagClick = function(a, b) {\n                var c = ((((a.type == \"uiCashtagClick\")) ? \"cashtag\" : \"hashtag\"));\n                this.scribeInteraction({\n                    element: c,\n                    action: \"search\"\n                }, b);\n            }, this.scribeLinkClick = function(a, b) {\n                var c = {\n                };\n                ((b.tcoUrl && (c.message = b.tcoUrl))), ((((b.text && ((b.text.indexOf(\"pic.twitter.com\") == 0)))) && (b.url = ((\"http://\" + b.text))))), this.scribeInteraction(\"open_link\", b, c);\n            }, this.scribeCardAction = function(a, b, c) {\n                ((((c && c.tweetHasCard)) && this.scribeCardInteraction(a, c)));\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(JSBNG__document, \"uiHasInjectedNewTimeline\", this.handleNewerTimelineItems), this.JSBNG__on(JSBNG__document, \"uiHasInjectedRangeTimelineItems\", this.handleRangeTimelineItems), this.JSBNG__on(JSBNG__document, \"dataProfilePopupSuccess\", this.handleProfilePopup), this.JSBNG__on(JSBNG__document, \"uiItemSelected\", this.scribeItemAction.bind(this, \"select\")), this.JSBNG__on(JSBNG__document, \"uiItemDeselected\", this.scribeItemAction.bind(this, \"deselect\")), this.JSBNG__on(JSBNG__document, \"uiHashtagClick uiCashtagClick\", this.scribeSearchTagClick), this.JSBNG__on(JSBNG__document, \"uiItemLinkClick\", this.scribeLinkClick), this.JSBNG__on(JSBNG__document, \"uiCardInteractionLinkClick\", this.scribeCardAction.bind(this, \"click\")), this.JSBNG__on(JSBNG__document, \"uiCardExternalLinkClick\", this.scribeCardAction.bind(this, \"open_link\")), this.JSBNG__on(JSBNG__document, \"uiItemSelected\", this.scribeCardAction.bind(this, \"show\")), this.JSBNG__on(JSBNG__document, \"uiItemDeselected\", this.scribeCardAction.bind(this, \"hide\")), this.JSBNG__on(JSBNG__document, \"uiMapShow\", this.scribeItemAction.bind(this, \"show\")), this.JSBNG__on(JSBNG__document, \"uiMapClick\", this.scribeItemAction.bind(this, \"click\")), this.JSBNG__on(JSBNG__document, \"uiShareViaEmailDialogOpened\", this.scribeItemAction.bind(this, \"open\"));\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), withInteractionDataScribe = require(\"app/data/with_interaction_data_scribe\"), withConversationMetadata = require(\"app/data/with_conversation_metadata\"), withCardMetadata = require(\"app/data/with_card_metadata\");\n        module.exports = defineComponent(itemActionsScribe, withInteractionDataScribe, withConversationMetadata, withCardMetadata);\n    });\n    define(\"app/utils/full_path\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        function fullPath() {\n            return [JSBNG__location.pathname,JSBNG__location.search,].join(\"\");\n        };\n    ;\n        module.exports = fullPath;\n    });\n    define(\"app/data/navigation_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/client_event\",\"app/data/with_scribe\",\"app/utils/full_path\",], function(module, require, exports) {\n        function navigationScribe() {\n            this.scribeNav = function(a, b) {\n                this.scribe(\"JSBNG__navigate\", b, {\n                    url: b.url\n                });\n            }, this.scribeCachedImpression = function(a, b) {\n                ((b.fromCache && this.scribe(\"impression\")));\n            }, this.after(\"initialize\", function() {\n                clientEvent.internalReferer = fullPath(), this.JSBNG__on(\"uiNavigationLinkClick\", this.scribeNav), this.JSBNG__on(\"uiPageChanged\", this.scribeCachedImpression);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), clientEvent = require(\"app/data/client_event\"), withScribe = require(\"app/data/with_scribe\"), fullPath = require(\"app/utils/full_path\");\n        module.exports = defineComponent(navigationScribe, withScribe);\n    });\n    define(\"app/data/simple_event_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n        function simpleEventScribe() {\n            this.defaultAttrs({\n                eventToActionMap: {\n                    uiEnableEmailFollowAction: {\n                        action: \"enable\"\n                    },\n                    uiDisableEmailFollowAction: {\n                        action: \"disable\"\n                    }\n                }\n            }), this.scribeSimpleEvent = function(a, b) {\n                this.scribe(this.attr.eventToActionMap[a.type], b);\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"uiEnableEmailFollowAction\", this.scribeSimpleEvent), this.JSBNG__on(\"uiDisableEmailFollowAction\", this.scribeSimpleEvent);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n        module.exports = defineComponent(simpleEventScribe, withScribe);\n    });\n    define(\"app/boot/scribing\", [\"module\",\"require\",\"exports\",\"app/data/scribe_transport\",\"app/data/scribe_monitor\",\"app/data/client_event\",\"app/data/ddg\",\"app/data/tweet_actions_scribe\",\"app/data/user_actions_scribe\",\"app/data/item_actions_scribe\",\"app/data/navigation_scribe\",\"app/data/simple_event_scribe\",], function(module, require, exports) {\n        function initialize(a) {\n            var b = {\n                useAjax: !0,\n                bufferEvents: ((((((a.environment != \"development\")) && ((a.environment != \"staging\")))) && !a.preflight)),\n                flushOnUnload: ((a.environment != \"selenium\")),\n                bufferSize: ((((a.environment == \"selenium\")) ? ((1000 * a.scribeBufferSize)) : a.scribeBufferSize)),\n                debug: !!a.debugAllowed,\n                requestParameters: a.scribeParameters\n            };\n            scribeTransport.updateOptions(b), scribeTransport.registerEventHandlers(), clientEvent.scribeContext = {\n                client: \"web\",\n                page: a.pageName,\n                section: a.sectionName\n            }, clientEvent.scribeData = {\n                internal_referer: ((clientEvent.internalReferer || a.internalReferer)),\n                client_version: ((a.macawSwift ? \"macaw-swift\" : \"swift\"))\n            }, delete clientEvent.internalReferer, ((a.loggedIn || (clientEvent.scribeData.user_id = 0))), ddg.experiments = a.experiments, ((((((((a.environment != \"production\")) || a.preflight)) || a.scribesForScribeConsole)) && ScribeMonitor.attachTo(JSBNG__document, {\n                scribesForScribeConsole: a.scribesForScribeConsole\n            }))), TweetActionsScribe.attachTo(JSBNG__document, a), UserActionsScribe.attachTo(JSBNG__document, a), ItemActionsScribe.attachTo(JSBNG__document, a), NavigationScribe.attachTo(JSBNG__document, a), SimpleEventScribe.attachTo(JSBNG__document, a);\n        };\n    ;\n        var scribeTransport = require(\"app/data/scribe_transport\"), ScribeMonitor = require(\"app/data/scribe_monitor\"), clientEvent = require(\"app/data/client_event\"), ddg = require(\"app/data/ddg\"), TweetActionsScribe = require(\"app/data/tweet_actions_scribe\"), UserActionsScribe = require(\"app/data/user_actions_scribe\"), ItemActionsScribe = require(\"app/data/item_actions_scribe\"), NavigationScribe = require(\"app/data/navigation_scribe\"), SimpleEventScribe = require(\"app/data/simple_event_scribe\");\n        module.exports = initialize;\n    });\n    define(\"app/ui/navigation\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/full_path\",], function(module, require, exports) {\n        function navigation() {\n            this.defaultAttrs({\n                spinnerContainer: \"body\",\n                pushStateSelector: \"a.js-nav\",\n                pageContainer: \"#page-container\",\n                docContainer: \"#doc\",\n                globalHeadingSelector: \".global-nav h1\",\n                spinnerClass: \"pushing-state\",\n                spinnerSelector: \".pushstate-spinner\",\n                baseFoucClass: \"swift-loading\"\n            }), this.JSBNG__navigate = function(a) {\n                var b, c;\n                if (((((((a.shiftKey || a.ctrlKey)) || a.metaKey)) || ((((a.which != undefined)) && ((a.which > 1))))))) {\n                    return;\n                }\n            ;\n            ;\n                b = $(a.target), c = b.closest(this.attr.pushStateSelector), ((((c.length && !a.isDefaultPrevented())) && (this.trigger(c, \"uiNavigate\", {\n                    href: c.attr(\"href\")\n                }), a.preventDefault(), a.stopImmediatePropagation())));\n            }, this.updatePage = function(a, b, c) {\n                this.hideSpinner(), this.trigger(\"uiBeforePageChanged\", b), this.trigger(\"uiTeardown\", b), $(\"html\").attr(\"class\", ((((b.init_data.htmlClassNames + \" \")) + b.init_data.htmlFoucClassNames))), $(\"body\").attr(\"class\", b.body_class_names), this.select(\"docContainer\").attr(\"class\", b.doc_class_names), this.select(\"pageContainer\").attr(\"class\", b.page_container_class_names);\n                var d = ((((b.banners && !b.fromCache)) ? ((b.banners + b.page)) : b.page));\n                this.$node.JSBNG__find(b.init_data.viewContainer).html(d), ((b.isPopState || $(window).scrollTop(0))), using(b.module, function(a) {\n                    a(b.init_data), $(\"html\").removeClass(this.attr.baseFoucClass), this.trigger(\"uiPageChanged\", b);\n                }.bind(this));\n            }, this.showSpinner = function(a, b) {\n                this.select(\"spinnerContainer\").addClass(this.attr.spinnerClass);\n            }, this.hideSpinner = function(a, b) {\n                this.select(\"spinnerContainer\").removeClass(this.attr.spinnerClass);\n            }, this.addSpinner = function() {\n                ((this.select(\"spinnerSelector\").length || $(\"\\u003Cdiv class=\\\"pushstate-spinner\\\"\\u003E\\u003C/div\\u003E\").insertAfter(this.select(\"globalHeadingSelector\"))));\n            }, this.onPopState = function(a) {\n                ((a.originalEvent.state && (((isSafari && (JSBNG__document.body.style.display = \"none\", JSBNG__document.body.offsetHeight, JSBNG__document.body.style.display = \"block\"))), this.trigger(\"uiNavigate\", {\n                    isPopState: !0,\n                    href: fullPath()\n                }))));\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"click\", this.JSBNG__navigate), this.JSBNG__on(window, \"popstate\", this.onPopState), this.JSBNG__on(\"uiSwiftLoaded\", this.addSpinner), this.JSBNG__on(\"dataPageRefresh\", this.updatePage), this.JSBNG__on(\"dataPageFetch\", this.showSpinner);\n            });\n        };\n    ;\n        var component = require(\"core/component\"), fullPath = require(\"app/utils/full_path\"), Navigation = component(navigation), isSafari = (($.browser.safari === !0));\n        module.exports = Navigation;\n    });\n    provide(\"app/utils/time\", function(a) {\n        function b(a) {\n            this.ms = a;\n        };\n    ;\n        function c(a) {\n            var c = {\n                seconds: new b(((a * 1000))),\n                minutes: new b(((((a * 1000)) * 60))),\n                hours: new b(((((((a * 1000)) * 60)) * 60))),\n                days: new b(((((((((a * 1000)) * 60)) * 60)) * 24)))\n            };\n            return c.second = c.seconds, c.minute = c.minutes, c.hour = c.hours, c.day = c.days, c;\n        };\n    ;\n        c.now = function() {\n            return (new JSBNG__Date).getTime();\n        }, b.prototype.fromNow = function() {\n            return new JSBNG__Date(((c.now() + this.ms)));\n        }, b.prototype.ago = function() {\n            return new JSBNG__Date(((c.now() - this.ms)));\n        }, b.prototype.getTime = b.prototype.valueOf = function() {\n            return this.ms;\n        }, a(c);\n    });\n    define(\"app/utils/storage/core\", [\"module\",\"require\",\"exports\",\"core/compose\",\"core/advice\",], function(module, require, exports) {\n        function JSBNG__localStorage() {\n            this.initialize = function(a) {\n                this.namespace = a, this.prefix = [\"__\",this.namespace,\"__:\",].join(\"\"), this.matcher = new RegExp(((\"^\" + this.prefix)));\n            }, this.getItem = function(a) {\n                return this.decode(window.JSBNG__localStorage.getItem(((this.prefix + a))));\n            }, this.setItem = function(a, b) {\n                try {\n                    return window.JSBNG__localStorage.setItem(((this.prefix + a)), this.encode(b));\n                } catch (c) {\n                    return ((((window.DEBUG && window.DEBUG.enabled)) && JSBNG__console.error(c))), undefined;\n                };\n            ;\n            }, this.removeItem = function(a) {\n                return window.JSBNG__localStorage.removeItem(((this.prefix + a)));\n            }, this.keys = function() {\n                var a = [];\n                for (var b = 0, c = window.JSBNG__localStorage.length, d; ((b < c)); b++) {\n                    d = window.JSBNG__localStorage.key(b), ((d.match(this.matcher) && a.push(d.replace(this.matcher, \"\"))));\n                ;\n                };\n            ;\n                return a;\n            }, this.clear = function() {\n                this.keys().forEach(function(a) {\n                    this.removeItem(a);\n                }, this);\n            }, this.clearAll = function() {\n                window.JSBNG__localStorage.clear();\n            };\n        };\n    ;\n        function userData() {\n            function b(b, c) {\n                var d = c.xmlDocument.documentElement;\n                a[b] = {\n                };\n                while (d.firstChild) {\n                    d.removeChild(d.firstChild);\n                ;\n                };\n            ;\n                c.save(b);\n            };\n        ;\n            function c(a) {\n                return JSBNG__document.getElementById(((\"__storage_\" + a)));\n            };\n        ;\n            var a = {\n            };\n            this.initialize = function(b) {\n                this.namespace = b, (((this.dataStore = c(this.namespace)) || this.createStorageElement())), this.xmlDoc = this.dataStore.xmlDocument, this.xmlDocEl = this.xmlDoc.documentElement, a[this.namespace] = ((a[this.namespace] || {\n                }));\n            }, this.createStorageElement = function() {\n                this.dataStore = JSBNG__document.createElement(\"div\"), this.dataStore.id = ((\"__storage_\" + this.namespace)), this.dataStore.style.display = \"none\", JSBNG__document.appendChild(this.dataStore), this.dataStore.addBehavior(\"#default#userData\"), this.dataStore.load(this.namespace);\n            }, this.getNodeByKey = function(b) {\n                var c = this.xmlDocEl.childNodes, d;\n                if (d = a[this.namespace][b]) {\n                    return d;\n                }\n            ;\n            ;\n                for (var e = 0, f = c.length; ((e < f)); e++) {\n                    d = c.item(e);\n                    if (((d.getAttribute(\"key\") == b))) {\n                        return a[this.namespace][b] = d, d;\n                    }\n                ;\n                ;\n                };\n            ;\n                return null;\n            }, this.getItem = function(a) {\n                var b = this.getNodeByKey(a), c = null;\n                return ((b && (c = b.getAttribute(\"value\")))), this.decode(c);\n            }, this.setItem = function(b, c) {\n                var d = this.getNodeByKey(b);\n                return ((d ? d.setAttribute(\"value\", this.encode(c)) : (d = this.xmlDoc.createNode(1, \"item\", \"\"), d.setAttribute(\"key\", b), d.setAttribute(\"value\", this.encode(c)), this.xmlDocEl.appendChild(d), a[this.namespace][b] = d))), this.dataStore.save(this.namespace), c;\n            }, this.removeItem = function(b) {\n                var c = this.getNodeByKey(b);\n                ((c && (this.xmlDocEl.removeChild(c), delete a[this.namespace][b]))), this.dataStore.save(this.namespace);\n            }, this.keys = function() {\n                var a = this.xmlDocEl.childNodes.length, b = [];\n                for (var c = 0; ((c < a)); c++) {\n                    b.push(this.xmlDocEl.childNodes[c].getAttribute(\"key\"));\n                ;\n                };\n            ;\n                return b;\n            }, this.clear = function() {\n                b(this.namespace, this.dataStore);\n            }, this.clearAll = function() {\n                {\n                    var fin50keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin50i = (0);\n                    var d;\n                    for (; (fin50i < fin50keys.length); (fin50i++)) {\n                        ((d) = (fin50keys[fin50i]));\n                        {\n                            b(d, c(d)), a[d] = {\n                            };\n                        ;\n                        };\n                    };\n                };\n            ;\n            };\n        };\n    ;\n        function noStorage() {\n            this.initialize = $.noop, this.getNodeByKey = function(a) {\n                return null;\n            }, this.getItem = function(a) {\n                return null;\n            }, this.setItem = function(a, b) {\n                return b;\n            }, this.removeItem = function(a) {\n                return null;\n            }, this.keys = function() {\n                return [];\n            }, this.clear = $.noop, this.clearAll = $.noop;\n        };\n    ;\n        function memory() {\n            this.initialize = function(a) {\n                this.namespace = a, ((memoryStore[this.namespace] || (memoryStore[this.namespace] = {\n                }))), this.store = memoryStore[this.namespace];\n            }, this.getItem = function(a) {\n                return ((this.store[a] ? this.decode(this.store[a]) : undefined));\n            }, this.setItem = function(a, b) {\n                return this.store[a] = this.encode(b);\n            }, this.removeItem = function(a) {\n                delete this.store[a];\n            }, this.keys = function() {\n                return Object.keys(this.store);\n            }, this.clear = function() {\n                this.store = memoryStore[this.namespace] = {\n                };\n            }, this.clearAll = function() {\n                memoryStore = {\n                };\n            };\n        };\n    ;\n        function browserStore() {\n            ((supportsLocalStorage() ? JSBNG__localStorage.call(this) : ((JSBNG__document.documentElement.addBehavior ? noStorage.call(this) : memory.call(this)))));\n        };\n    ;\n        function supportsLocalStorage() {\n            if (((doesLocalStorage === undefined))) {\n                try {\n                    window.JSBNG__localStorage.setItem(\"~~~~\", 1), window.JSBNG__localStorage.removeItem(\"~~~~\"), doesLocalStorage = !0;\n                } catch (a) {\n                    doesLocalStorage = !1;\n                };\n            }\n        ;\n        ;\n            return doesLocalStorage;\n        };\n    ;\n        function encoding() {\n            this.encode = function(a) {\n                return ((((a === undefined)) && (a = null))), JSON.stringify(a);\n            }, this.decode = function(a) {\n                return JSON.parse(a);\n            };\n        };\n    ;\n        function CoreStorage() {\n            ((arguments.length && this.initialize.apply(this, arguments)));\n        };\n    ;\n        var compose = require(\"core/compose\"), advice = require(\"core/advice\"), memoryStore = {\n        }, doesLocalStorage;\n        compose.mixin(CoreStorage.prototype, [encoding,browserStore,advice.withAdvice,]), CoreStorage.clearAll = CoreStorage.prototype.clearAll, module.exports = CoreStorage;\n    });\n    define(\"app/data/notifications\", [\"module\",\"require\",\"exports\",\"core/clock\",\"app/utils/storage/core\",\"app/utils/time\",], function(module, require, exports) {\n        function JSBNG__Notification(a, b, c, d) {\n            this.key = b, this.timestamp = 0, this.active = a, this.seenFirstResponse = !1, this.pollEvent = c, this.paramAdder = d;\n        };\n    ;\n        function Notifications() {\n            this.entries = [];\n        };\n    ;\n        var clock = require(\"core/clock\"), JSBNG__Storage = require(\"app/utils/storage/core\"), time = require(\"app/utils/time\"), pollDelay = 20000, storage = new JSBNG__Storage(\"DM\"), filteredEndpoints = [\"/i/users/recommendations\",\"/i/timeline\",\"/i/profiles/show\",\"/messages\",];\n        JSBNG__Notification.prototype = {\n            reset: function() {\n                this.timestamp = time.now();\n            },\n            isResponseValid: function(a) {\n                return ((((((((((this.active && a)) && a[this.key])) && a.notCached)) && ((a[this.key].JSBNG__status == \"ok\")))) && ((a[this.key].response !== null))));\n            },\n            update: function(a) {\n                ((this.isResponseValid(a) ? this.reset() : ((((!this.seenFirstResponse && this.pollEvent)) && $(JSBNG__document).trigger(this.pollEvent))))), this.seenFirstResponse = !0;\n            },\n            shouldPoll: function() {\n                return ((((time.now() - this.timestamp)) > pollDelay));\n            },\n            addParam: function(a) {\n                this.paramAdder(a);\n            }\n        }, Notifications.prototype = {\n            init: function(a) {\n                this.initialized = !0, this.dm = new JSBNG__Notification(a.notifications_dm, \"d\", \"uiDMPoll\", this.addDMData), this.connect = new JSBNG__Notification(a.notifications_timeline, \"t\", null, function() {\n                \n                }), this.spoonbill = new JSBNG__Notification(a.notifications_spoonbill, \"n\", null, function() {\n                \n                }), this.entries = [this.dm,this.connect,this.spoonbill,], ((a.notifications_dm_poll_scale && (pollDelay = ((a.notifications_dm_poll_scale * 1000)))));\n            },\n            getPollDelay: function() {\n                return pollDelay;\n            },\n            addDMData: function(a) {\n                a.oldest_unread_id = ((storage.getItem(\"oldestUnreadMessageId\") || 0));\n            },\n            updateNotificationState: function(a) {\n                this.entries.forEach(function(b) {\n                    b.update(a);\n                });\n            },\n            resetDMState: function(a, b) {\n                this.dm.reset();\n            },\n            shouldPoll: function() {\n                return ((this.initialized ? ((this.dm.active ? this.dm.shouldPoll() : !1)) : !1));\n            },\n            extraParameters: function(a) {\n                if (((!a || !this.shouldPoll()))) {\n                    return {\n                    };\n                }\n            ;\n            ;\n                var b = {\n                };\n                return ((filteredEndpoints.some(function(b) {\n                    return ((a.indexOf(b) == 0));\n                }) && this.entries.forEach(function(a) {\n                    a.addParam(b);\n                }))), b;\n            }\n        }, module.exports = new Notifications;\n    });\n    provide(\"app/utils/querystring\", function(a) {\n        function b(a) {\n            return encodeURIComponent(a).replace(/\\+/g, \"%2B\");\n        };\n    ;\n        function c(a) {\n            return decodeURIComponent(a.replace(/\\+/g, \" \"));\n        };\n    ;\n        function d(a) {\n            var c = [];\n            {\n                var fin51keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin51i = (0);\n                var d;\n                for (; (fin51i < fin51keys.length); (fin51i++)) {\n                    ((d) = (fin51keys[fin51i]));\n                    {\n                        ((((((a[d] !== null)) && ((typeof a[d] != \"undefined\")))) && c.push(((((b(d) + \"=\")) + b(a[d]))))));\n                    ;\n                    };\n                };\n            };\n        ;\n            return c.sort().join(\"&\");\n        };\n    ;\n        function e(a) {\n            var b = {\n            }, d, e, f, g;\n            if (a) {\n                d = a.split(\"&\");\n                for (g = 0; f = d[g]; g++) {\n                    e = f.split(\"=\"), ((((e.length == 2)) && (b[c(e[0])] = c(e[1]))));\n                ;\n                };\n            ;\n            }\n        ;\n        ;\n            return b;\n        };\n    ;\n        a({\n            decode: e,\n            encode: d,\n            encodePart: b,\n            decodePart: c\n        });\n    });\n    define(\"app/utils/params\", [\"module\",\"require\",\"exports\",\"app/utils/querystring\",], function(module, require, exports) {\n        var qs = require(\"app/utils/querystring\"), fromQuery = function(a) {\n            var b = a.search.substr(1);\n            return qs.decode(b);\n        }, fromFragment = function(a) {\n            var b = a.href, c = b.indexOf(\"#\"), d = ((((c < 0)) ? \"\" : b.substring(((c + 1)))));\n            return qs.decode(d);\n        }, combined = function(a) {\n            var b = {\n            }, c = fromQuery(a), d = fromFragment(a);\n            {\n                var fin52keys = ((window.top.JSBNG_Replay.forInKeys)((c))), fin52i = (0);\n                var e;\n                for (; (fin52i < fin52keys.length); (fin52i++)) {\n                    ((e) = (fin52keys[fin52i]));\n                    {\n                        ((c.hasOwnProperty(e) && (b[e] = c[e])));\n                    ;\n                    };\n                };\n            };\n        ;\n            {\n                var fin53keys = ((window.top.JSBNG_Replay.forInKeys)((d))), fin53i = (0);\n                var e;\n                for (; (fin53i < fin53keys.length); (fin53i++)) {\n                    ((e) = (fin53keys[fin53i]));\n                    {\n                        ((d.hasOwnProperty(e) && (b[e] = d[e])));\n                    ;\n                    };\n                };\n            };\n        ;\n            return b;\n        };\n        module.exports = {\n            combined: combined,\n            fromQuery: fromQuery,\n            fromFragment: fromFragment\n        };\n    });\n    define(\"app/data/with_auth_token\", [\"module\",\"require\",\"exports\",\"app/utils/auth_token\",\"core/utils\",], function(module, require, exports) {\n        function withAuthToken() {\n            this.addAuthToken = function(b) {\n                if (!authToken.get()) {\n                    throw \"addAuthToken requires a formAuthenticityToken\";\n                }\n            ;\n            ;\n                return b = ((b || {\n                })), utils.merge(b, {\n                    authenticity_token: authToken.get()\n                });\n            }, this.addPHXAuthToken = function(b) {\n                if (!authToken.get()) {\n                    throw \"addPHXAuthToken requires a formAuthenticityToken\";\n                }\n            ;\n            ;\n                return b = ((b || {\n                })), utils.merge(b, {\n                    post_authenticity_token: authToken.get()\n                });\n            }, this.getAuthToken = function() {\n                return this.attr.formAuthenticityToken;\n            };\n        };\n    ;\n        var authToken = require(\"app/utils/auth_token\"), utils = require(\"core/utils\");\n        module.exports = withAuthToken;\n    });\n    deferred(\"$lib/gibberish-aes.js\", function() {\n        (function(a) {\n            var b = function() {\n                var a = 14, c = 8, d = !1, e = function(a) {\n                    try {\n                        return unescape(encodeURIComponent(a));\n                    } catch (b) {\n                        throw \"Error on UTF-8 encode\";\n                    };\n                ;\n                }, f = function(a) {\n                    try {\n                        return decodeURIComponent(escape(a));\n                    } catch (b) {\n                        throw \"Bad Key\";\n                    };\n                ;\n                }, g = function(a) {\n                    var b = [], c, d;\n                    ((((a.length < 16)) && (c = ((16 - a.length)), b = [c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,])));\n                    for (d = 0; ((d < a.length)); d++) {\n                        b[d] = a[d];\n                    ;\n                    };\n                ;\n                    return b;\n                }, h = function(a, b) {\n                    var c = \"\", d, e;\n                    if (b) {\n                        d = a[15];\n                        if (((d > 16))) {\n                            throw \"Decryption error: Maybe bad key\";\n                        }\n                    ;\n                    ;\n                        if (((d == 16))) {\n                            return \"\";\n                        }\n                    ;\n                    ;\n                        for (e = 0; ((e < ((16 - d)))); e++) {\n                            c += String.fromCharCode(a[e]);\n                        ;\n                        };\n                    ;\n                    }\n                     else for (e = 0; ((e < 16)); e++) {\n                        c += String.fromCharCode(a[e]);\n                    ;\n                    }\n                ;\n                ;\n                    return c;\n                }, i = function(a) {\n                    var b = \"\", c;\n                    for (c = 0; ((c < a.length)); c++) {\n                        b += ((((((a[c] < 16)) ? \"0\" : \"\")) + a[c].toString(16)));\n                    ;\n                    };\n                ;\n                    return b;\n                }, j = function(a) {\n                    var b = [];\n                    return a.replace(/(..)/g, function(a) {\n                        b.push(parseInt(a, 16));\n                    }), b;\n                }, k = function(a) {\n                    a = e(a);\n                    var b = [], c;\n                    for (c = 0; ((c < a.length)); c++) {\n                        b[c] = a.charCodeAt(c);\n                    ;\n                    };\n                ;\n                    return b;\n                }, l = function(b) {\n                    switch (b) {\n                      case 128:\n                        a = 10, c = 4;\n                        break;\n                      case 192:\n                        a = 12, c = 6;\n                        break;\n                      case 256:\n                        a = 14, c = 8;\n                        break;\n                      default:\n                        throw ((\"Invalid Key Size Specified:\" + b));\n                    };\n                ;\n                }, m = function(a) {\n                    var b = [], c;\n                    for (c = 0; ((c < a)); c++) {\n                        b = b.concat(Math.floor(((Math.JSBNG__random() * 256))));\n                    ;\n                    };\n                ;\n                    return b;\n                }, n = function(d, e) {\n                    var f = ((((a >= 12)) ? 3 : 2)), g = [], h = [], i = [], j = [], k = d.concat(e), l;\n                    i[0] = b.Hash.MD5(k), j = i[0];\n                    for (l = 1; ((l < f)); l++) {\n                        i[l] = b.Hash.MD5(i[((l - 1))].concat(k)), j = j.concat(i[l]);\n                    ;\n                    };\n                ;\n                    return g = j.slice(0, ((4 * c))), h = j.slice(((4 * c)), ((((4 * c)) + 16))), {\n                        key: g,\n                        iv: h\n                    };\n                }, o = function(a, b, c) {\n                    b = x(b);\n                    var d = Math.ceil(((a.length / 16))), e = [], f, h = [];\n                    for (f = 0; ((f < d)); f++) {\n                        e[f] = g(a.slice(((f * 16)), ((((f * 16)) + 16))));\n                    ;\n                    };\n                ;\n                    ((((((a.length % 16)) === 0)) && (e.push([16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,]), d++)));\n                    for (f = 0; ((f < e.length)); f++) {\n                        e[f] = ((((f === 0)) ? w(e[f], c) : w(e[f], h[((f - 1))]))), h[f] = q(e[f], b);\n                    ;\n                    };\n                ;\n                    return h;\n                }, p = function(a, b, c, d) {\n                    b = x(b);\n                    var e = ((a.length / 16)), g = [], i, j = [], k = \"\";\n                    for (i = 0; ((i < e)); i++) {\n                        g.push(a.slice(((i * 16)), ((((i + 1)) * 16))));\n                    ;\n                    };\n                ;\n                    for (i = ((g.length - 1)); ((i >= 0)); i--) {\n                        j[i] = r(g[i], b), j[i] = ((((i === 0)) ? w(j[i], c) : w(j[i], g[((i - 1))])));\n                    ;\n                    };\n                ;\n                    for (i = 0; ((i < ((e - 1)))); i++) {\n                        k += h(j[i]);\n                    ;\n                    };\n                ;\n                    return k += h(j[i], !0), ((d ? k : f(k)));\n                }, q = function(b, c) {\n                    d = !1;\n                    var e = v(b, c, 0), f;\n                    for (f = 1; ((f < ((a + 1)))); f++) {\n                        e = s(e), e = t(e), ((((f < a)) && (e = u(e)))), e = v(e, c, f);\n                    ;\n                    };\n                ;\n                    return e;\n                }, r = function(b, c) {\n                    d = !0;\n                    var e = v(b, c, a), f;\n                    for (f = ((a - 1)); ((f > -1)); f--) {\n                        e = t(e), e = s(e), e = v(e, c, f), ((((f > 0)) && (e = u(e))));\n                    ;\n                    };\n                ;\n                    return e;\n                }, s = function(a) {\n                    var b = ((d ? B : A)), c = [], e;\n                    for (e = 0; ((e < 16)); e++) {\n                        c[e] = b[a[e]];\n                    ;\n                    };\n                ;\n                    return c;\n                }, t = function(a) {\n                    var b = [], c = ((d ? [0,13,10,7,4,1,14,11,8,5,2,15,12,9,6,3,] : [0,5,10,15,4,9,14,3,8,13,2,7,12,1,6,11,])), e;\n                    for (e = 0; ((e < 16)); e++) {\n                        b[e] = a[c[e]];\n                    ;\n                    };\n                ;\n                    return b;\n                }, u = function(a) {\n                    var b = [], c;\n                    if (!d) {\n                        for (c = 0; ((c < 4)); c++) {\n                            b[((c * 4))] = ((((((D[a[((c * 4))]] ^ E[a[((1 + ((c * 4))))]])) ^ a[((2 + ((c * 4))))])) ^ a[((3 + ((c * 4))))])), b[((1 + ((c * 4))))] = ((((((a[((c * 4))] ^ D[a[((1 + ((c * 4))))]])) ^ E[a[((2 + ((c * 4))))]])) ^ a[((3 + ((c * 4))))])), b[((2 + ((c * 4))))] = ((((((a[((c * 4))] ^ a[((1 + ((c * 4))))])) ^ D[a[((2 + ((c * 4))))]])) ^ E[a[((3 + ((c * 4))))]])), b[((3 + ((c * 4))))] = ((((((E[a[((c * 4))]] ^ a[((1 + ((c * 4))))])) ^ a[((2 + ((c * 4))))])) ^ D[a[((3 + ((c * 4))))]]));\n                        ;\n                        };\n                    }\n                     else {\n                        for (c = 0; ((c < 4)); c++) {\n                            b[((c * 4))] = ((((((I[a[((c * 4))]] ^ G[a[((1 + ((c * 4))))]])) ^ H[a[((2 + ((c * 4))))]])) ^ F[a[((3 + ((c * 4))))]])), b[((1 + ((c * 4))))] = ((((((F[a[((c * 4))]] ^ I[a[((1 + ((c * 4))))]])) ^ G[a[((2 + ((c * 4))))]])) ^ H[a[((3 + ((c * 4))))]])), b[((2 + ((c * 4))))] = ((((((H[a[((c * 4))]] ^ F[a[((1 + ((c * 4))))]])) ^ I[a[((2 + ((c * 4))))]])) ^ G[a[((3 + ((c * 4))))]])), b[((3 + ((c * 4))))] = ((((((G[a[((c * 4))]] ^ H[a[((1 + ((c * 4))))]])) ^ F[a[((2 + ((c * 4))))]])) ^ I[a[((3 + ((c * 4))))]]));\n                        ;\n                        };\n                    }\n                ;\n                ;\n                    return b;\n                }, v = function(a, b, c) {\n                    var d = [], e;\n                    for (e = 0; ((e < 16)); e++) {\n                        d[e] = ((a[e] ^ b[c][e]));\n                    ;\n                    };\n                ;\n                    return d;\n                }, w = function(a, b) {\n                    var c = [], d;\n                    for (d = 0; ((d < 16)); d++) {\n                        c[d] = ((a[d] ^ b[d]));\n                    ;\n                    };\n                ;\n                    return c;\n                }, x = function(b) {\n                    var d = [], e = [], f, g, h, i = [], j;\n                    for (f = 0; ((f < c)); f++) {\n                        g = [b[((4 * f))],b[((((4 * f)) + 1))],b[((((4 * f)) + 2))],b[((((4 * f)) + 3))],], d[f] = g;\n                    ;\n                    };\n                ;\n                    for (f = c; ((f < ((4 * ((a + 1)))))); f++) {\n                        d[f] = [];\n                        for (h = 0; ((h < 4)); h++) {\n                            e[h] = d[((f - 1))][h];\n                        ;\n                        };\n                    ;\n                        ((((((f % c)) === 0)) ? (e = y(z(e)), e[0] ^= C[((((f / c)) - 1))]) : ((((((c > 6)) && ((((f % c)) == 4)))) && (e = y(e))))));\n                        for (h = 0; ((h < 4)); h++) {\n                            d[f][h] = ((d[((f - c))][h] ^ e[h]));\n                        ;\n                        };\n                    ;\n                    };\n                ;\n                    for (f = 0; ((f < ((a + 1)))); f++) {\n                        i[f] = [];\n                        for (j = 0; ((j < 4)); j++) {\n                            i[f].push(d[((((f * 4)) + j))][0], d[((((f * 4)) + j))][1], d[((((f * 4)) + j))][2], d[((((f * 4)) + j))][3]);\n                        ;\n                        };\n                    ;\n                    };\n                ;\n                    return i;\n                }, y = function(a) {\n                    for (var b = 0; ((b < 4)); b++) {\n                        a[b] = A[a[b]];\n                    ;\n                    };\n                ;\n                    return a;\n                }, z = function(a) {\n                    var b = a[0], c;\n                    for (c = 0; ((c < 4)); c++) {\n                        a[c] = a[((c + 1))];\n                    ;\n                    };\n                ;\n                    return a[3] = b, a;\n                }, A = [99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22,], B = [82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125,], C = [1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145,], D = [0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,27,25,31,29,19,17,23,21,11,9,15,13,3,1,7,5,59,57,63,61,51,49,55,53,43,41,47,45,35,33,39,37,91,89,95,93,83,81,87,85,75,73,79,77,67,65,71,69,123,121,127,125,115,113,119,117,107,105,111,109,99,97,103,101,155,153,159,157,147,145,151,149,139,137,143,141,131,129,135,133,187,185,191,189,179,177,183,181,171,169,175,173,163,161,167,165,219,217,223,221,211,209,215,213,203,201,207,205,195,193,199,197,251,249,255,253,243,241,247,245,235,233,239,237,227,225,231,229,], E = [0,3,6,5,12,15,10,9,24,27,30,29,20,23,18,17,48,51,54,53,60,63,58,57,40,43,46,45,36,39,34,33,96,99,102,101,108,111,106,105,120,123,126,125,116,119,114,113,80,83,86,85,92,95,90,89,72,75,78,77,68,71,66,65,192,195,198,197,204,207,202,201,216,219,222,221,212,215,210,209,240,243,246,245,252,255,250,249,232,235,238,237,228,231,226,225,160,163,166,165,172,175,170,169,184,187,190,189,180,183,178,177,144,147,150,149,156,159,154,153,136,139,142,141,132,135,130,129,155,152,157,158,151,148,145,146,131,128,133,134,143,140,137,138,171,168,173,174,167,164,161,162,179,176,181,182,191,188,185,186,251,248,253,254,247,244,241,242,227,224,229,230,239,236,233,234,203,200,205,206,199,196,193,194,211,208,213,214,223,220,217,218,91,88,93,94,87,84,81,82,67,64,69,70,79,76,73,74,107,104,109,110,103,100,97,98,115,112,117,118,127,124,121,122,59,56,61,62,55,52,49,50,35,32,37,38,47,44,41,42,11,8,13,14,7,4,1,2,19,16,21,22,31,28,25,26,], F = [0,9,18,27,36,45,54,63,72,65,90,83,108,101,126,119,144,153,130,139,180,189,166,175,216,209,202,195,252,245,238,231,59,50,41,32,31,22,13,4,115,122,97,104,87,94,69,76,171,162,185,176,143,134,157,148,227,234,241,248,199,206,213,220,118,127,100,109,82,91,64,73,62,55,44,37,26,19,8,1,230,239,244,253,194,203,208,217,174,167,188,181,138,131,152,145,77,68,95,86,105,96,123,114,5,12,23,30,33,40,51,58,221,212,207,198,249,240,235,226,149,156,135,142,177,184,163,170,236,229,254,247,200,193,218,211,164,173,182,191,128,137,146,155,124,117,110,103,88,81,74,67,52,61,38,47,16,25,2,11,215,222,197,204,243,250,225,232,159,150,141,132,187,178,169,160,71,78,85,92,99,106,113,120,15,6,29,20,43,34,57,48,154,147,136,129,190,183,172,165,210,219,192,201,246,255,228,237,10,3,24,17,46,39,60,53,66,75,80,89,102,111,116,125,161,168,179,186,133,140,151,158,233,224,251,242,205,196,223,214,49,56,35,42,21,28,7,14,121,112,107,98,93,84,79,70,], G = [0,11,22,29,44,39,58,49,88,83,78,69,116,127,98,105,176,187,166,173,156,151,138,129,232,227,254,245,196,207,210,217,123,112,109,102,87,92,65,74,35,40,53,62,15,4,25,18,203,192,221,214,231,236,241,250,147,152,133,142,191,180,169,162,246,253,224,235,218,209,204,199,174,165,184,179,130,137,148,159,70,77,80,91,106,97,124,119,30,21,8,3,50,57,36,47,141,134,155,144,161,170,183,188,213,222,195,200,249,242,239,228,61,54,43,32,17,26,7,12,101,110,115,120,73,66,95,84,247,252,225,234,219,208,205,198,175,164,185,178,131,136,149,158,71,76,81,90,107,96,125,118,31,20,9,2,51,56,37,46,140,135,154,145,160,171,182,189,212,223,194,201,248,243,238,229,60,55,42,33,16,27,6,13,100,111,114,121,72,67,94,85,1,10,23,28,45,38,59,48,89,82,79,68,117,126,99,104,177,186,167,172,157,150,139,128,233,226,255,244,197,206,211,216,122,113,108,103,86,93,64,75,34,41,52,63,14,5,24,19,202,193,220,215,230,237,240,251,146,153,132,143,190,181,168,163,], H = [0,13,26,23,52,57,46,35,104,101,114,127,92,81,70,75,208,221,202,199,228,233,254,243,184,181,162,175,140,129,150,155,187,182,161,172,143,130,149,152,211,222,201,196,231,234,253,240,107,102,113,124,95,82,69,72,3,14,25,20,55,58,45,32,109,96,119,122,89,84,67,78,5,8,31,18,49,60,43,38,189,176,167,170,137,132,147,158,213,216,207,194,225,236,251,246,214,219,204,193,226,239,248,245,190,179,164,169,138,135,144,157,6,11,28,17,50,63,40,37,110,99,116,121,90,87,64,77,218,215,192,205,238,227,244,249,178,191,168,165,134,139,156,145,10,7,16,29,62,51,36,41,98,111,120,117,86,91,76,65,97,108,123,118,85,88,79,66,9,4,19,30,61,48,39,42,177,188,171,166,133,136,159,146,217,212,195,206,237,224,247,250,183,186,173,160,131,142,153,148,223,210,197,200,235,230,241,252,103,106,125,112,83,94,73,68,15,2,21,24,59,54,33,44,12,1,22,27,56,53,34,47,100,105,126,115,80,93,74,71,220,209,198,203,232,229,242,255,180,185,174,163,128,141,154,151,], I = [0,14,28,18,56,54,36,42,112,126,108,98,72,70,84,90,224,238,252,242,216,214,196,202,144,158,140,130,168,166,180,186,219,213,199,201,227,237,255,241,171,165,183,185,147,157,143,129,59,53,39,41,3,13,31,17,75,69,87,89,115,125,111,97,173,163,177,191,149,155,137,135,221,211,193,207,229,235,249,247,77,67,81,95,117,123,105,103,61,51,33,47,5,11,25,23,118,120,106,100,78,64,82,92,6,8,26,20,62,48,34,44,150,152,138,132,174,160,178,188,230,232,250,244,222,208,194,204,65,79,93,83,121,119,101,107,49,63,45,35,9,7,21,27,161,175,189,179,153,151,133,139,209,223,205,195,233,231,245,251,154,148,134,136,162,172,190,176,234,228,246,248,210,220,206,192,122,116,102,104,66,76,94,80,10,4,22,24,50,60,46,32,236,226,240,254,212,218,200,198,156,146,128,142,164,170,184,182,12,2,16,30,52,58,40,38,124,114,96,110,68,74,88,86,55,57,43,37,15,1,19,29,71,73,91,85,127,113,99,109,215,217,203,197,239,225,243,253,167,169,187,181,159,145,131,141,], J = function(a, b, c) {\n                    var d = m(8), e = n(k(b), d), f = e.key, g = e.iv, h, i = [[83,97,108,116,101,100,95,95,].concat(d),];\n                    return ((c || (a = k(a)))), h = o(a, f, g), h = i.concat(h), M.encode(h);\n                }, K = function(a, b, c) {\n                    var d = M.decode(a), e = d.slice(8, 16), f = n(k(b), e), g = f.key, h = f.iv;\n                    return d = d.slice(16, d.length), a = p(d, g, h, c), a;\n                }, L = function(a) {\n                    function b(a, b) {\n                        return ((((a << b)) | ((a >>> ((32 - b))))));\n                    };\n                ;\n                    function c(a, b) {\n                        var c, d, e, f, g;\n                        return e = ((a & 2147483648)), f = ((b & 2147483648)), c = ((a & 1073741824)), d = ((b & 1073741824)), g = ((((a & 1073741823)) + ((b & 1073741823)))), ((((c & d)) ? ((((((g ^ 2147483648)) ^ e)) ^ f)) : ((((c | d)) ? ((((g & 1073741824)) ? ((((((g ^ 3221225472)) ^ e)) ^ f)) : ((((((g ^ 1073741824)) ^ e)) ^ f)))) : ((((g ^ e)) ^ f))))));\n                    };\n                ;\n                    function d(a, b, c) {\n                        return ((((a & b)) | ((~a & c))));\n                    };\n                ;\n                    function e(a, b, c) {\n                        return ((((a & c)) | ((b & ~c))));\n                    };\n                ;\n                    function f(a, b, c) {\n                        return ((((a ^ b)) ^ c));\n                    };\n                ;\n                    function g(a, b, c) {\n                        return ((b ^ ((a | ~c))));\n                    };\n                ;\n                    function h(a, e, f, g, h, i, j) {\n                        return a = c(a, c(c(d(e, f, g), h), j)), c(b(a, i), e);\n                    };\n                ;\n                    function i(a, d, f, g, h, i, j) {\n                        return a = c(a, c(c(e(d, f, g), h), j)), c(b(a, i), d);\n                    };\n                ;\n                    function j(a, d, e, g, h, i, j) {\n                        return a = c(a, c(c(f(d, e, g), h), j)), c(b(a, i), d);\n                    };\n                ;\n                    function k(a, d, e, f, h, i, j) {\n                        return a = c(a, c(c(g(d, e, f), h), j)), c(b(a, i), d);\n                    };\n                ;\n                    function l(a) {\n                        var b, c = a.length, d = ((c + 8)), e = ((((d - ((d % 64)))) / 64)), f = ((((e + 1)) * 16)), g = [], h = 0, i = 0;\n                        while (((i < c))) {\n                            b = ((((i - ((i % 4)))) / 4)), h = ((((i % 4)) * 8)), g[b] = ((g[b] | ((a[i] << h)))), i++;\n                        ;\n                        };\n                    ;\n                        return b = ((((i - ((i % 4)))) / 4)), h = ((((i % 4)) * 8)), g[b] = ((g[b] | ((128 << h)))), g[((f - 2))] = ((c << 3)), g[((f - 1))] = ((c >>> 29)), g;\n                    };\n                ;\n                    function m(a) {\n                        var b, c, d = [];\n                        for (c = 0; ((c <= 3)); c++) {\n                            b = ((((a >>> ((c * 8)))) & 255)), d = d.concat(b);\n                        ;\n                        };\n                    ;\n                        return d;\n                    };\n                ;\n                    var n = [], o, p, q, r, s, t, u, v, w, x = 7, y = 12, z = 17, A = 22, B = 5, C = 9, D = 14, E = 20, F = 4, G = 11, H = 16, I = 23, J = 6, K = 10, L = 15, M = 21;\n                    n = l(a), t = 1732584193, u = 4023233417, v = 2562383102, w = 271733878;\n                    for (o = 0; ((o < n.length)); o += 16) {\n                        p = t, q = u, r = v, s = w, t = h(t, u, v, w, n[((o + 0))], x, 3614090360), w = h(w, t, u, v, n[((o + 1))], y, 3905402710), v = h(v, w, t, u, n[((o + 2))], z, 606105819), u = h(u, v, w, t, n[((o + 3))], A, 3250441966), t = h(t, u, v, w, n[((o + 4))], x, 4118548399), w = h(w, t, u, v, n[((o + 5))], y, 1200080426), v = h(v, w, t, u, n[((o + 6))], z, 2821735955), u = h(u, v, w, t, n[((o + 7))], A, 4249261313), t = h(t, u, v, w, n[((o + 8))], x, 1770035416), w = h(w, t, u, v, n[((o + 9))], y, 2336552879), v = h(v, w, t, u, n[((o + 10))], z, 4294925233), u = h(u, v, w, t, n[((o + 11))], A, 2304563134), t = h(t, u, v, w, n[((o + 12))], x, 1804603682), w = h(w, t, u, v, n[((o + 13))], y, 4254626195), v = h(v, w, t, u, n[((o + 14))], z, 2792965006), u = h(u, v, w, t, n[((o + 15))], A, 1236535329), t = i(t, u, v, w, n[((o + 1))], B, 4129170786), w = i(w, t, u, v, n[((o + 6))], C, 3225465664), v = i(v, w, t, u, n[((o + 11))], D, 643717713), u = i(u, v, w, t, n[((o + 0))], E, 3921069994), t = i(t, u, v, w, n[((o + 5))], B, 3593408605), w = i(w, t, u, v, n[((o + 10))], C, 38016083), v = i(v, w, t, u, n[((o + 15))], D, 3634488961), u = i(u, v, w, t, n[((o + 4))], E, 3889429448), t = i(t, u, v, w, n[((o + 9))], B, 568446438), w = i(w, t, u, v, n[((o + 14))], C, 3275163606), v = i(v, w, t, u, n[((o + 3))], D, 4107603335), u = i(u, v, w, t, n[((o + 8))], E, 1163531501), t = i(t, u, v, w, n[((o + 13))], B, 2850285829), w = i(w, t, u, v, n[((o + 2))], C, 4243563512), v = i(v, w, t, u, n[((o + 7))], D, 1735328473), u = i(u, v, w, t, n[((o + 12))], E, 2368359562), t = j(t, u, v, w, n[((o + 5))], F, 4294588738), w = j(w, t, u, v, n[((o + 8))], G, 2272392833), v = j(v, w, t, u, n[((o + 11))], H, 1839030562), u = j(u, v, w, t, n[((o + 14))], I, 4259657740), t = j(t, u, v, w, n[((o + 1))], F, 2763975236), w = j(w, t, u, v, n[((o + 4))], G, 1272893353), v = j(v, w, t, u, n[((o + 7))], H, 4139469664), u = j(u, v, w, t, n[((o + 10))], I, 3200236656), t = j(t, u, v, w, n[((o + 13))], F, 681279174), w = j(w, t, u, v, n[((o + 0))], G, 3936430074), v = j(v, w, t, u, n[((o + 3))], H, 3572445317), u = j(u, v, w, t, n[((o + 6))], I, 76029189), t = j(t, u, v, w, n[((o + 9))], F, 3654602809), w = j(w, t, u, v, n[((o + 12))], G, 3873151461), v = j(v, w, t, u, n[((o + 15))], H, 530742520), u = j(u, v, w, t, n[((o + 2))], I, 3299628645), t = k(t, u, v, w, n[((o + 0))], J, 4096336452), w = k(w, t, u, v, n[((o + 7))], K, 1126891415), v = k(v, w, t, u, n[((o + 14))], L, 2878612391), u = k(u, v, w, t, n[((o + 5))], M, 4237533241), t = k(t, u, v, w, n[((o + 12))], J, 1700485571), w = k(w, t, u, v, n[((o + 3))], K, 2399980690), v = k(v, w, t, u, n[((o + 10))], L, 4293915773), u = k(u, v, w, t, n[((o + 1))], M, 2240044497), t = k(t, u, v, w, n[((o + 8))], J, 1873313359), w = k(w, t, u, v, n[((o + 15))], K, 4264355552), v = k(v, w, t, u, n[((o + 6))], L, 2734768916), u = k(u, v, w, t, n[((o + 13))], M, 1309151649), t = k(t, u, v, w, n[((o + 4))], J, 4149444226), w = k(w, t, u, v, n[((o + 11))], K, 3174756917), v = k(v, w, t, u, n[((o + 2))], L, 718787259), u = k(u, v, w, t, n[((o + 9))], M, 3951481745), t = c(t, p), u = c(u, q), v = c(v, r), w = c(w, s);\n                    ;\n                    };\n                ;\n                    return m(t).concat(m(u), m(v), m(w));\n                }, M = function() {\n                    var a = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\", b = a.split(\"\"), c = function(a, c) {\n                        var d = [], e = \"\", f, g;\n                        totalChunks = Math.floor(((((a.length * 16)) / 3)));\n                        for (f = 0; ((f < ((a.length * 16)))); f++) {\n                            d.push(a[Math.floor(((f / 16)))][((f % 16))]);\n                        ;\n                        };\n                    ;\n                        for (f = 0; ((f < d.length)); f += 3) {\n                            e += b[((d[f] >> 2))], e += b[((((((d[f] & 3)) << 4)) | ((d[((f + 1))] >> 4))))], ((((d[((f + 1))] !== undefined)) ? e += b[((((((d[((f + 1))] & 15)) << 2)) | ((d[((f + 2))] >> 6))))] : e += \"=\")), ((((d[((f + 2))] !== undefined)) ? e += b[((d[((f + 2))] & 63))] : e += \"=\"));\n                        ;\n                        };\n                    ;\n                        g = ((e.slice(0, 64) + \"\\u000a\"));\n                        for (f = 1; ((f < Math.ceil(((e.length / 64))))); f++) {\n                            g += ((e.slice(((f * 64)), ((((f * 64)) + 64))) + ((((Math.ceil(((e.length / 64))) == ((f + 1)))) ? \"\" : \"\\u000a\"))));\n                        ;\n                        };\n                    ;\n                        return g;\n                    }, d = function(b) {\n                        b = b.replace(/\\n/g, \"\");\n                        var c = [], d = [], e = [], f;\n                        for (f = 0; ((f < b.length)); f += 4) {\n                            d[0] = a.indexOf(b.charAt(f)), d[1] = a.indexOf(b.charAt(((f + 1)))), d[2] = a.indexOf(b.charAt(((f + 2)))), d[3] = a.indexOf(b.charAt(((f + 3)))), e[0] = ((((d[0] << 2)) | ((d[1] >> 4)))), e[1] = ((((((d[1] & 15)) << 4)) | ((d[2] >> 2)))), e[2] = ((((((d[2] & 3)) << 6)) | d[3])), c.push(e[0], e[1], e[2]);\n                        ;\n                        };\n                    ;\n                        return c = c.slice(0, ((c.length - ((c.length % 16))))), c;\n                    };\n                    return ((((typeof Array.indexOf == \"function\")) && (a = b))), {\n                        encode: c,\n                        decode: d\n                    };\n                }();\n                return {\n                    size: l,\n                    h2a: j,\n                    expandKey: x,\n                    encryptBlock: q,\n                    decryptBlock: r,\n                    Decrypt: d,\n                    s2a: k,\n                    rawEncrypt: o,\n                    dec: K,\n                    openSSLKey: n,\n                    a2h: i,\n                    enc: J,\n                    Hash: {\n                        MD5: L\n                    },\n                    Base64: M\n                };\n            }();\n            a.GibberishAES = b;\n        })(window);\n    });\n    provide(\"app/utils/crypto/aes\", function(a) {\n        using(\"$lib/gibberish-aes.js\", function() {\n            var b = GibberishAES;\n            window.GibberishAES = null, a(b);\n        });\n    });\n    define(\"app/utils/storage/with_crypto\", [\"module\",\"require\",\"exports\",\"app/utils/crypto/aes\",], function(module, require, exports) {\n        function withCrypto() {\n            this.after(\"initialize\", function(a, b) {\n                this.secret = b;\n            }), this.around(\"getItem\", function(a, b) {\n                try {\n                    return a(b);\n                } catch (c) {\n                    return this.removeItem(b), null;\n                };\n            ;\n            }), this.around(\"decode\", function(a, b) {\n                return a(aes.dec(b, this.secret));\n            }), this.around(\"encode\", function(a, b) {\n                return aes.enc(a(b), this.secret);\n            });\n        };\n    ;\n        var aes = require(\"app/utils/crypto/aes\");\n        module.exports = withCrypto;\n    });\n    define(\"app/utils/storage/with_expiry\", [\"module\",\"require\",\"exports\",\"app/utils/storage/core\",], function(module, require, exports) {\n        function withExpiry() {\n            this.now = function() {\n                return (new JSBNG__Date).getTime();\n            }, this.isExpired = function(a) {\n                var b = this.ttl.getItem(a);\n                return ((((((typeof b == \"number\")) && ((this.now() > b)))) ? !0 : !1));\n            }, this.updateTTL = function(a, b) {\n                ((((typeof b == \"number\")) && this.ttl.setItem(a, ((this.now() + b)))));\n            }, this.getCacheAge = function(a, b) {\n                var c = this.ttl.getItem(a);\n                if (((c == null))) {\n                    return -1;\n                }\n            ;\n            ;\n                var d = ((c - b)), e = ((this.now() - d));\n                return ((((e < 0)) ? -1 : Math.floor(((e / 3600000)))));\n            }, this.after(\"initialize\", function() {\n                this.ttl = new JSBNG__Storage(((this.namespace + \"_ttl\")));\n            }), this.around(\"setItem\", function(a, b, c, d) {\n                return ((((typeof d == \"number\")) ? this.ttl.setItem(b, ((this.now() + d))) : this.ttl.removeItem(b))), a(b, c);\n            }), this.around(\"getItem\", function(a, b) {\n                var c = this.ttl.getItem(b);\n                return ((((((typeof c == \"number\")) && ((this.now() > c)))) && this.removeItem(b))), a(b);\n            }), this.after(\"removeItem\", function(a) {\n                this.ttl.removeItem(a);\n            }), this.after(\"clear\", function() {\n                this.ttl.clear();\n            });\n        };\n    ;\n        var JSBNG__Storage = require(\"app/utils/storage/core\");\n        module.exports = withExpiry;\n    });\n    define(\"app/utils/storage/array/with_array\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        function withArray() {\n            this.getArray = function(a) {\n                return ((this.getItem(a) || []));\n            }, this.push = function(a, b) {\n                var c = this.getArray(a), d = c.push(b);\n                return this.setItem(a, c), d;\n            }, this.pushAll = function(a, b) {\n                var c = this.getArray(a);\n                return c.push.apply(c, b), this.setItem(a, c), c;\n            };\n        };\n    ;\n        module.exports = withArray;\n    });\n    define(\"app/utils/storage/array/with_max_elements\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/utils/storage/array/with_array\",], function(module, require, exports) {\n        function withMaxElements() {\n            compose.mixin(this, [withArray,]), this.maxElements = {\n            }, this.getMaxElements = function(a) {\n                return ((this.maxElements[a] || 0));\n            }, this.setMaxElements = function(a, b) {\n                this.maxElements[a] = b;\n            }, this.before(\"push\", function(a, b) {\n                this.makeRoomFor(a, 1);\n            }), this.around(\"pushAll\", function(a, b, c) {\n                return c = ((c || [])), this.makeRoomFor(b, c.length), a(b, c.slice(Math.max(0, ((c.length - this.getMaxElements(b))))));\n            }), this.makeRoomFor = function(a, b) {\n                var c = this.getArray(a), d = ((((c.length + b)) - this.getMaxElements(a)));\n                ((((d > 0)) && (c.splice(0, d), this.setItem(a, c))));\n            };\n        };\n    ;\n        var compose = require(\"core/compose\"), withArray = require(\"app/utils/storage/array/with_array\");\n        module.exports = withMaxElements;\n    });\n    define(\"app/utils/storage/array/with_unique_elements\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/utils/storage/array/with_array\",], function(module, require, exports) {\n        function withUniqueElements() {\n            compose.mixin(this, [withArray,]), this.before(\"push\", function(a, b) {\n                var c = this.getArray(a);\n                ((this.deleteElement(c, b) && this.setItem(a, c)));\n            }), this.around(\"pushAll\", function(a, b, c) {\n                c = ((c || []));\n                var d = this.getArray(b), e = !1, f = [], g = {\n                };\n                return c.forEach(function(a) {\n                    ((g[a] || (e = ((this.deleteElement(d, a) || e)), g[a] = !0, f.push(a))));\n                }, this), ((e && this.setItem(b, d))), a(b, f);\n            }), this.deleteElement = function(a, b) {\n                var c = -1;\n                return (((((c = a.indexOf(b)) >= 0)) ? (a.splice(c, 1), !0) : !1));\n            };\n        };\n    ;\n        var compose = require(\"core/compose\"), withArray = require(\"app/utils/storage/array/with_array\");\n        module.exports = withUniqueElements;\n    });\n    define(\"app/utils/storage/custom\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/utils/storage/core\",\"app/utils/storage/with_crypto\",\"app/utils/storage/with_expiry\",\"app/utils/storage/array/with_array\",\"app/utils/storage/array/with_max_elements\",\"app/utils/storage/array/with_unique_elements\",], function(module, require, exports) {\n        function storageConstr(a) {\n            var b = Object.keys(a).filter(function(b) {\n                return a[b];\n            }).sort().join(\",\"), c;\n            if (c = lookup[b]) {\n                return c;\n            }\n        ;\n        ;\n            c = function() {\n                CoreStorage.apply(this, arguments);\n            }, c.prototype = new CoreStorage;\n            var d = [];\n            return ((a.withCrypto && d.push(withCrypto))), ((a.withExpiry && d.push(withExpiry))), ((a.withArray && d.push(withArray))), ((a.withUniqueElements && d.push(withUniqueElements))), ((a.withMaxElements && d.push(withMaxElements))), ((((d.length > 0)) && compose.mixin(c.prototype, d))), lookup[b] = c, c;\n        };\n    ;\n        var compose = require(\"core/compose\"), CoreStorage = require(\"app/utils/storage/core\"), withCrypto = require(\"app/utils/storage/with_crypto\"), withExpiry = require(\"app/utils/storage/with_expiry\"), withArray = require(\"app/utils/storage/array/with_array\"), withMaxElements = require(\"app/utils/storage/array/with_max_elements\"), withUniqueElements = require(\"app/utils/storage/array/with_unique_elements\"), lookup = {\n        };\n        module.exports = storageConstr;\n    });\n    define(\"app/data/with_data\", [\"module\",\"require\",\"exports\",\"core/compose\",\"core/i18n\",\"app/data/notifications\",\"app/utils/params\",\"app/data/with_auth_token\",\"app/utils/storage/custom\",\"app/utils/storage/core\",], function(module, require, exports) {\n        function initializeXhrStorage() {\n            ((xhrStorage || (xhrStorage = new CoreStorage(\"XHRNotes\"))));\n        };\n    ;\n        function withData() {\n            compose.mixin(this, [withAuthToken,]);\n            var a = [];\n            this.composeData = function(a, b) {\n                return a = ((a || {\n                })), ((b.eventData && (a.sourceEventData = b.eventData))), a;\n            }, this.callSuccessHandler = function(a, b, c) {\n                ((((typeof a == \"function\")) ? a(b) : this.trigger(a, b)));\n            }, this.callErrorHandler = function(a, b, c) {\n                ((((typeof a == \"function\")) ? a(b) : this.trigger(a, b)));\n            }, this.createSuccessHandler = function(b, c) {\n                return initializeXhrStorage(), function(d, e, f) {\n                    a.slice(a.indexOf(f), 1);\n                    var g = d, h = null, i = encodeURIComponent(c.url);\n                    if (((((d && d.hasOwnProperty(\"note\"))) && d.hasOwnProperty(\"JSBNG__inner\")))) {\n                        g = d.JSBNG__inner, h = d.note;\n                        var j = f.getResponseHeader(\"x-transaction\");\n                        ((((j && ((j != xhrStorage.getItem(i))))) && (h.notCached = !0, xhrStorage.setItem(i, j))));\n                    }\n                ;\n                ;\n                    g = this.composeData(g, c), ((c.cache_ttl && storage.setItem(i, {\n                        data: g,\n                        time: (new JSBNG__Date).getTime()\n                    }, c.cache_ttl))), this.callSuccessHandler(b, g, c), ((h && (notifications.updateNotificationState(h), ((h.notCached && this.trigger(\"dataNotificationsReceived\", h)))))), ((g.debug && this.trigger(\"dataSetDebugData\", g.debug)));\n                }.bind(this);\n            }, this.createErrorHandler = function(b, c) {\n                return function(d) {\n                    a.slice(a.indexOf(d), 1);\n                    var e;\n                    try {\n                        e = JSON.parse(d.responseText), ((((((e && e.message)) && !this.attr.noShowError)) && this.trigger(\"uiShowError\", e)));\n                    } catch (f) {\n                        e = {\n                            xhr: {\n                            }\n                        }, ((((d && d.statusText)) && (e.xhr.statusText = d.statusText)));\n                    };\n                ;\n                    ((e.message || (e.message = _(\"Internal server error.\")))), e = this.composeData(e, c), this.callErrorHandler(b, e, c);\n                }.bind(this);\n            }, this.sortData = function(a) {\n                if (((!a || ((typeof a != \"object\"))))) {\n                    return a;\n                }\n            ;\n            ;\n                var b = {\n                }, c = Object.keys(a).sort();\n                return c.forEach(function(c) {\n                    b[c] = a[c];\n                }), b;\n            }, this.extractParams = function(a, b) {\n                var c = {\n                }, d = params.fromQuery(b);\n                return Object.keys(d).forEach(function(b) {\n                    ((a[b] && (c[b] = d[b])));\n                }), c;\n            }, this.JSONRequest = function(b, c) {\n                var d;\n                if (b.cache_ttl) {\n                    ((storage || (storage = new StorageConstr(\"with_data\")))), d = storage.getItem(encodeURIComponent(b.url));\n                    if (((d && ((((new JSBNG__Date - d.time)) <= b.cache_ttl))))) {\n                        ((b.success && this.callSuccessHandler(b.success, d.data)));\n                        return;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                var e = ((((c == \"POST\")) || ((c == \"DELETE\"))));\n                ((((e && ((b.isMutation === !1)))) && (e = !1))), delete b.isMutation, ((((this.trigger && e)) && this.trigger(\"dataPageMutated\"))), [\"url\",].forEach(function(a) {\n                    if (!b.hasOwnProperty(a)) {\n                        throw new Error(((\"getJSONRequest called without required option: \" + a)), arguments);\n                    }\n                ;\n                ;\n                });\n                var f = ((b.data || {\n                })), g = b.headers;\n                (((([\"GET\",\"POST\",].indexOf(c) < 0)) && (f = $.extend({\n                    _method: c\n                }, f), c = \"POST\"))), ((((c == \"POST\")) && (f = this.addAuthToken(f), ((((g && g[\"X-PHX\"])) && (f = this.addPHXAuthToken(f)))))));\n                var h = $.extend({\n                    lang: !0\n                }, b.echoParams);\n                f = $.extend(f, this.extractParams(h, window.JSBNG__location)), ((b.success && (b.success = this.createSuccessHandler(b.success, b)))), ((b.error && (b.error = this.createErrorHandler(b.error, b)))), $.extend(f, notifications.extraParameters(b.url));\n                var i = $.ajax($.extend(b, {\n                    url: b.url,\n                    data: this.sortData(f),\n                    dataType: ((b.dataType || \"json\")),\n                    type: c\n                }));\n                return ((b.noAbortOnNavigate || a.push(i))), i;\n            }, this.get = function(a) {\n                return this.JSONRequest(a, \"GET\");\n            }, this.post = function(a) {\n                return this.JSONRequest(a, \"POST\");\n            }, this.destroy = function(a) {\n                return this.JSONRequest(a, \"DELETE\");\n            }, this.abortAllXHR = function() {\n                a.forEach(function(a) {\n                    ((((a && a.abort)) && a.abort()));\n                }), a = [];\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(JSBNG__document, \"dataBeforeNavigate\", this.abortAllXHR);\n            });\n        };\n    ;\n        var compose = require(\"core/compose\"), _ = require(\"core/i18n\"), notifications = require(\"app/data/notifications\"), params = require(\"app/utils/params\"), withAuthToken = require(\"app/data/with_auth_token\"), customStorage = require(\"app/utils/storage/custom\"), CoreStorage = require(\"app/utils/storage/core\"), StorageConstr = customStorage({\n            withExpiry: !0\n        }), storage, xhrStorage;\n        module.exports = withData;\n    });\n    define(\"app/data/navigation\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"core/registry\",\"app/utils/time\",\"app/utils/full_path\",\"app/data/with_data\",], function(module, require, exports) {\n        function navigationData() {\n            this.defaultAttrs({\n                viewContainer: \"#page-container\",\n                pushStateRequestHeaders: {\n                    \"X-Push-State-Request\": !0\n                },\n                pushState: !0,\n                pushStateSupported: !0,\n                pushStatePageLimit: 500000,\n                assetsBasePath: \"/\",\n                noTeardown: !0,\n                init_data: {\n                }\n            });\n            var a = /\\/a\\/(\\d+)/, b, c, d;\n            this.pageCache = {\n            }, this.pageCacheTTLs = {\n            }, this.pageCacheScroll = {\n            }, this.navigateUsingPushState = function(a, b) {\n                var e = fullPath();\n                d = b.href, c = b.isPopState;\n                if (((((!c && ((b.href == e)))) && this.pageCache[e]))) {\n                    return;\n                }\n            ;\n            ;\n                this.getPageData(b.href);\n            }, this.sweepPageCache = function() {\n                var a = time.now();\n                {\n                    var fin54keys = ((window.top.JSBNG_Replay.forInKeys)((this.pageCacheTTLs))), fin54i = (0);\n                    var b;\n                    for (; (fin54i < fin54keys.length); (fin54i++)) {\n                        ((b) = (fin54keys[fin54i]));\n                        {\n                            ((((a > this.pageCacheTTLs[b])) && (delete this.pageCache[b], delete this.pageCacheTTLs[b])));\n                        ;\n                        };\n                    };\n                };\n            ;\n            }, this.hasDeployTimestampChanged = function(b) {\n                var c = ((this.attr.assetsBasePath && this.attr.assetsBasePath.match(a))), d = ((b.init_data.assetsBasePath && b.init_data.assetsBasePath.match(a)));\n                return ((((c && d)) && ((d[1] != c[1]))));\n            }, this.getPageData = function(a) {\n                var b;\n                this.trigger(\"dataBeforeNavigate\"), ((this.attr.init_data.initialState && this.createInitialState())), this.sweepPageCache(), this.trigger(\"uiBeforeNewPageLoad\");\n                if (b = this.pageCache[a]) b.fromCache = !0, this.pageDataReceived(a, b);\n                 else {\n                    this.trigger(\"dataPageFetch\");\n                    var c = this.attr.pushStateRequestHeaders, e = this.pageCacheScroll[a];\n                    ((e && (c = utils.merge(c, {\n                        TopViewportItem: e.topItem\n                    })))), this.get({\n                        headers: c,\n                        url: a,\n                        success: function(b) {\n                            var c;\n                            if (((((b.init_data && b.page)) && b.module))) {\n                                c = b.init_data.href, b.href = c;\n                                if (!b.init_data.pushState) {\n                                    this.navigateTo(c);\n                                    return;\n                                }\n                            ;\n                            ;\n                                if (this.hasDeployTimestampChanged(b)) {\n                                    this.navigateTo(c);\n                                    return;\n                                }\n                            ;\n                            ;\n                                if (((b.init_data.viewContainer != this.attr.viewContainer))) {\n                                    this.attr.viewContainer = b.init_data.viewContainer, this.navigateTo(c);\n                                    return;\n                                }\n                            ;\n                            ;\n                                this.cacheState(c, b);\n                                if (((d != a))) {\n                                    return;\n                                }\n                            ;\n                            ;\n                                ((e && (b.scrollPosition = e))), this.pageDataReceived(c, b);\n                            }\n                             else this.navigateTo(((b.href || a)));\n                        ;\n                        ;\n                        }.bind(this),\n                        error: function(b) {\n                            this.navigateTo(a);\n                        }.bind(this)\n                    });\n                }\n            ;\n            ;\n            }, this.setTimelineScrollPosition = function(a, c) {\n                this.pageCacheScroll[b] = c;\n            }, this.updatePageState = function() {\n                var a = this.pageCache[b];\n                ((a && (a.page = this.select(\"viewContainer\").html(), this.pageCacheTTLs[b] = time(a.cache_ttl).seconds.fromNow().getTime(), ((((a.page.length > this.attr.pushStatePageLimit)) && (delete this.pageCache[b], delete this.pageCacheTTLs[b]))))));\n            }, this.cacheState = function(a, b) {\n                this.pageCache[a] = b, this.pageCacheTTLs[a] = time(b.cache_ttl).seconds.fromNow().getTime();\n            }, this.pageDataReceived = function(a, b) {\n                ((((a != fullPath())) && JSBNG__history.pushState({\n                }, b.title, a))), b.isPopState = c, this.trigger(\"dataPageRefresh\", b);\n            }, this.swiftTeardownAll = function() {\n                Object.keys(registry.allInstances).forEach(function(a) {\n                    var b = registry.allInstances[a].instance;\n                    ((b.attr.noTeardown || b.teardown()));\n                });\n            }, this.doTeardown = function(a, c) {\n                this.swiftTeardownAll(), ((((c.href != b)) && this.updatePageState()));\n            }, this.createInitialState = function() {\n                var a = utils.merge(this.attr.init_data.initialState, !0);\n                a.init_data = utils.merge(this.attr.init_data, !0), delete a.init_data.initialState, this.attr.init_data.initialState = null, this.cacheState(b, a), JSBNG__history.replaceState({\n                }, a.title, b);\n            }, this.resetPageCache = function(a, b) {\n                this.pageCache = {\n                }, this.pageCacheTTLs = {\n                };\n            }, this.removePageFromCache = function(a, b) {\n                var c = b.href;\n                ((this.pageCache[c] && (delete this.pageCache[c], delete this.pageCacheTTLs[c])));\n            }, this.navigateTo = function(a) {\n                JSBNG__location.href = a;\n            }, this.navigateUsingRedirect = function(a, c) {\n                var d = c.href;\n                ((((d != b)) && this.navigateTo(d)));\n            }, this.destroyCurrentPageState = function() {\n                JSBNG__history.replaceState(null, JSBNG__document.title, b);\n            }, this.resetStateVariables = function() {\n                b = fullPath(), c = !1, d = null;\n            }, this.after(\"initialize\", function() {\n                ((((this.attr.pushState && this.attr.pushStateSupported)) ? (this.JSBNG__on(\"uiSwiftLoaded uiPageChanged\", this.resetStateVariables), this.JSBNG__on(\"uiNavigate\", this.navigateUsingPushState), this.JSBNG__on(JSBNG__document, \"uiTimelineScrollSet\", this.setTimelineScrollPosition), this.JSBNG__on(\"uiTeardown\", this.doTeardown), this.JSBNG__on(JSBNG__document, \"dataPageMutated\", this.resetPageCache), this.JSBNG__on(JSBNG__document, \"uiPromotedLinkClick\", this.removePageFromCache), this.JSBNG__on(window, \"beforeunload\", this.destroyCurrentPageState)) : (this.JSBNG__on(\"uiSwiftLoaded\", this.resetStateVariables), this.JSBNG__on(\"uiNavigate\", this.navigateUsingRedirect))));\n            });\n        };\n    ;\n        var component = require(\"core/component\"), utils = require(\"core/utils\"), registry = require(\"core/registry\"), time = require(\"app/utils/time\"), fullPath = require(\"app/utils/full_path\"), withData = require(\"app/data/with_data\"), NavigationData = component(navigationData, withData);\n        module.exports = NavigationData;\n    });\n    define(\"app/ui/with_dropdown\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        function withDropdown() {\n            this.toggleDisplay = function(a) {\n                this.$node.toggleClass(\"open\"), ((this.$node.hasClass(\"open\") && (this.activeEl = JSBNG__document.activeElement, this.trigger(\"uiDropdownOpened\")))), ((a && a.preventDefault()));\n            }, this.ignoreCloseEvent = !1, this.closeDropdown = function() {\n                this.$node.removeClass(\"open\");\n            }, this.closeAndRestoreFocus = function(a) {\n                this.closeDropdown(), ((this.activeEl && (a.preventDefault(), this.activeEl.JSBNG__focus(), this.activeEl = null)));\n            }, this.close = function(a) {\n                var b = $(this.attr.toggler);\n                if (((((((a.target === this.$node)) || ((this.$node.has(a.target).length > 0)))) && !this.isItemClick(a)))) {\n                    return;\n                }\n            ;\n            ;\n                if (((this.isItemClick(a) && this.ignoreCloseEvent))) {\n                    return;\n                }\n            ;\n            ;\n                this.closeDropdown();\n            }, this.isItemClick = function(a) {\n                return ((((!this.attr.itemSelector || !a)) ? !1 : (($(a.target).closest(this.attr.itemSelector).length > 0))));\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"click\", {\n                    toggler: this.toggleDisplay\n                }), this.JSBNG__on(JSBNG__document, \"click\", this.close), this.JSBNG__on(JSBNG__document, \"uiCloseDropdowns uiNavigate\", this.closeDropdown), this.JSBNG__on(JSBNG__document, \"uiShortcutEsc\", this.closeAndRestoreFocus);\n            });\n        };\n    ;\n        module.exports = withDropdown;\n    });\n    define(\"app/ui/language_dropdown\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_dropdown\",], function(module, require, exports) {\n        function languageDropdown() {\n            this.defaultAttrs({\n                toggler: \".dropdown-toggle\"\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), withDropdown = require(\"app/ui/with_dropdown\"), LanguageDropdown = defineComponent(languageDropdown, withDropdown);\n        module.exports = LanguageDropdown;\n    });\n    define(\"app/ui/google\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n        function googleAnalytics() {\n            this.defaultAttrs({\n                gaPageName: window.JSBNG__location.pathname\n            }), this.initGoogle = function() {\n                window._gaq = ((window._gaq || [])), window._gaq.push([\"_setAccount\",\"UA-30775-6\",], [\"_trackPageview\",this.attr.gaPageName,], [\"_setDomainName\",\"twitter.com\",]);\n                var a = JSBNG__document.getElementsByTagName(\"script\")[0], b = JSBNG__document.createElement(\"script\");\n                b.async = !0, b.src = ((((((JSBNG__document.JSBNG__location.protocol == \"https:\")) ? \"https://ssl\" : \"http://www\")) + \".google-analytics.com/ga.js\")), a.parentNode.insertBefore(b, a), this.off(\"uiSwiftLoaded\", this.initGoogle);\n            }, this.trackPageChange = function(a, b) {\n                b = b.init_data, window._gaq.push([\"_trackPageview\",((((b && b.gaPageName)) || window.JSBNG__location.pathname)),]);\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"uiSwiftLoaded\", this.initGoogle), this.JSBNG__on(\"uiPageChanged\", this.trackPageChange);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), GoogleAnalytics = defineComponent(googleAnalytics);\n        module.exports = GoogleAnalytics;\n    });\n    define(\"app/utils/cookie\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        module.exports = function(b, c, d) {\n            var e = $.extend({\n            }, d);\n            if (((((arguments.length > 1)) && ((String(c) !== \"[object Object]\"))))) {\n                if (((((c === null)) || ((c === undefined))))) {\n                    e.expires = -1, c = \"\";\n                }\n            ;\n            ;\n                if (((typeof e.expires == \"number\"))) {\n                    var f = e.expires, g = new JSBNG__Date((((new JSBNG__Date).getTime() + ((((((((f * 24)) * 60)) * 60)) * 1000)))));\n                    e.expires = g;\n                }\n            ;\n            ;\n                return c = String(c), JSBNG__document.cookie = [encodeURIComponent(b),\"=\",((e.raw ? c : encodeURIComponent(c))),((e.expires ? ((\"; expires=\" + e.expires.toUTCString())) : \"\")),((\"; path=\" + ((e.path || \"/\")))),((e.domain ? ((\"; domain=\" + e.domain)) : \"\")),((e.secure ? \"; secure\" : \"\")),].join(\"\");\n            }\n        ;\n        ;\n            e = ((c || {\n            }));\n            var h, i = ((e.raw ? function(a) {\n                return a;\n            } : decodeURIComponent));\n            return (((h = (new RegExp(((((\"(?:^|; )\" + encodeURIComponent(b))) + \"=([^;]*)\")))).exec(JSBNG__document.cookie)) ? i(h[1]) : null));\n        };\n    });\n    define(\"app/ui/impression_cookies\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/cookie\",], function(module, require, exports) {\n        function impressionCookies() {\n            this.defaultAttrs({\n                sendImpressionCookieSelector: \"a[data-send-impression-cookie]\",\n                link: \"a\"\n            }), this.setCookie = function(a, b) {\n                cookie(\"ic\", a, {\n                    expires: b\n                });\n            }, this.sendImpressionCookie = function(a, b) {\n                var c = b.el;\n                if (((((((!c || ((c.hostname != window.JSBNG__location.hostname)))) || !c.pathname)) || ((c.pathname.indexOf(\"/#!/\") == 0))))) {\n                    return;\n                }\n            ;\n            ;\n                var d = $(c), e = d.closest(\"[data-impression-cookie]\").attr(\"data-impression-cookie\");\n                if (!e) {\n                    return;\n                }\n            ;\n            ;\n                this.trigger(\"uiPromotedLinkClick\", {\n                    href: d.attr(\"href\")\n                });\n                var f = new JSBNG__Date, g = 60000, h = new JSBNG__Date(((f.getTime() + g)));\n                this.setCookie(e, h);\n            }, this.after(\"initialize\", function(a) {\n                this.JSBNG__on(\"click\", {\n                    sendImpressionCookieSelector: this.sendImpressionCookie\n                }), this.JSBNG__on(\"uiShowProfileNewWindow\", {\n                    link: this.sendImpressionCookie\n                });\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), cookie = require(\"app/utils/cookie\");\n        module.exports = defineComponent(impressionCookies);\n    });\n    define(\"app/data/promoted_logger\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n        function promotedLogger() {\n            this.defaultAttrs({\n                tweetHashtagLinkSelector: \".tweet .twitter-hashtag\",\n                tweetLinkSelector: \".tweet .twitter-timeline-link\"\n            }), this.logEvent = function(a, b) {\n                this.get({\n                    url: \"/i/promoted_content/log.json\",\n                    data: a,\n                    eventData: {\n                    },\n                    headers: {\n                        \"X-PHX\": !0\n                    },\n                    success: \"dataLogEventSuccess\",\n                    error: \"dataLogEventError\",\n                    async: !b,\n                    noAbortOnNavigate: !0\n                });\n            }, this.isEarnedMedia = function(a) {\n                return ((a == \"earned\"));\n            }, this.logPromotedTrendImpression = function(a, b) {\n                var c = b.items, d = b.source;\n                if (((d == \"clock\"))) {\n                    return;\n                }\n            ;\n            ;\n                var e = c.filter(function(a) {\n                    return !!a.promotedTrendId;\n                });\n                if (!e.length) {\n                    return;\n                }\n            ;\n            ;\n                this.logEvent({\n                    JSBNG__event: \"i\",\n                    promoted_trend_id: e[0].promotedTrendId\n                });\n            }, this.logPromotedTrendClick = function(a, b) {\n                if (!b.promotedTrendId) {\n                    return;\n                }\n            ;\n            ;\n                this.logEvent({\n                    JSBNG__event: \"c\",\n                    promoted_trend_id: b.promotedTrendId\n                }, !0);\n            }, this.logPromotedTweetImpression = function(a, b) {\n                var c = b.tweets.filter(function(a) {\n                    return a.impressionId;\n                });\n                c.forEach(function(a) {\n                    this.logEvent({\n                        JSBNG__event: \"impression\",\n                        impression_id: a.impressionId,\n                        earned: this.isEarnedMedia(a.disclosureType)\n                    });\n                }, this);\n            }, this.logPromotedTweetLinkClick = function(a) {\n                var b = $(a.target).closest(\"[data-impression-id]\").attr(\"data-impression-id\"), c = $(a.target).closest(\"[data-impression-id]\").attr(\"data-disclosure-type\");\n                if (!b) {\n                    return;\n                }\n            ;\n            ;\n                this.logEvent({\n                    JSBNG__event: \"url_click\",\n                    impression_id: b,\n                    earned: this.isEarnedMedia(c)\n                }, !0);\n            }, this.logPromotedTweetHashtagClick = function(a) {\n                var b = $(a.target).closest(\"[data-impression-id]\").attr(\"data-impression-id\"), c = $(a.target).closest(\"[data-impression-id]\").attr(\"data-disclosure-type\");\n                if (!b) {\n                    return;\n                }\n            ;\n            ;\n                this.logEvent({\n                    JSBNG__event: \"hashtag_click\",\n                    impression_id: b,\n                    earned: this.isEarnedMedia(c)\n                }, !0);\n            }, this.logPromotedUserImpression = function(a, b) {\n                var c = b.users.filter(function(a) {\n                    return a.impressionId;\n                });\n                c.forEach(function(a) {\n                    this.logEvent({\n                        JSBNG__event: \"impression\",\n                        impression_id: a.impressionId\n                    });\n                }, this);\n            }, this.logPromotedTweetShareViaEmail = function(a, b) {\n                var c = b.impressionId;\n                if (!c) {\n                    return;\n                }\n            ;\n            ;\n                var d = this.isEarnedMedia(b.disclosureType);\n                this.logEvent({\n                    JSBNG__event: \"email_tweet\",\n                    impression_id: c,\n                    earned: d\n                });\n            }, this.logPromotedUserClick = function(a, b) {\n                var c = b.impressionId;\n                if (!c) {\n                    return;\n                }\n            ;\n            ;\n                var d = this.isEarnedMedia(b.disclosureType);\n                ((((b.profileClickTarget === \"avatar\")) ? this.logEvent({\n                    JSBNG__event: \"profile_image_click\",\n                    impression_id: c,\n                    earned: d\n                }) : ((b.isMentionClick ? this.logEvent({\n                    JSBNG__event: \"user_mention_click\",\n                    impression_id: c,\n                    earned: d\n                }) : ((b.isPromotedBadgeClick ? this.logEvent({\n                    JSBNG__event: \"footer_profile\",\n                    impression_id: c,\n                    earned: d\n                }) : this.logEvent({\n                    JSBNG__event: \"screen_name_click\",\n                    impression_id: c,\n                    earned: d\n                })))))));\n            }, this.logPromotedUserDismiss = function(a, b) {\n                var c = b.impressionId;\n                if (!c) {\n                    return;\n                }\n            ;\n            ;\n                this.logEvent({\n                    JSBNG__event: \"dismiss\",\n                    impression_id: c\n                });\n            }, this.logPromotedTweetDismiss = function(a, b) {\n                var c = b.impressionId, d = b.disclosureType;\n                if (!c) {\n                    return;\n                }\n            ;\n            ;\n                this.logEvent({\n                    JSBNG__event: \"dismiss\",\n                    impression_id: c,\n                    earned: this.isEarnedMedia(d)\n                });\n            }, this.logPromotedTweetDetails = function(a, b) {\n                var c = b.impressionId, d = b.disclosureType;\n                if (!c) {\n                    return;\n                }\n            ;\n            ;\n                this.logEvent({\n                    JSBNG__event: \"view_details\",\n                    impression_id: c,\n                    earned: this.isEarnedMedia(d)\n                });\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"uiTrendsDisplayed\", this.logPromotedTrendImpression), this.JSBNG__on(\"uiTrendSelected\", this.logPromotedTrendClick), this.JSBNG__on(\"uiTweetsDisplayed\", this.logPromotedTweetImpression), this.JSBNG__on(\"click\", {\n                    tweetLinkSelector: this.logPromotedTweetLinkClick,\n                    tweetHashtagLinkSelector: this.logPromotedTweetHashtagClick\n                }), this.JSBNG__on(\"uiHasExpandedTweet\", this.logPromotedTweetDetails), this.JSBNG__on(\"uiTweetDismissed\", this.logPromotedTweetDismiss), this.JSBNG__on(\"uiDidShareViaEmailSuccess\", this.logPromotedTweetShareViaEmail), this.JSBNG__on(\"uiUsersDisplayed\", this.logPromotedUserImpression), this.JSBNG__on(\"uiDismissUserRecommendation\", this.logPromotedUserDismiss), this.JSBNG__on(\"uiShowProfilePopup uiShowProfileNewWindow\", this.logPromotedUserClick);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), PromotedLogger = defineComponent(promotedLogger, withData);\n        module.exports = PromotedLogger;\n    });\n    define(\"app/ui/message_drawer\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n        function messageDrawer() {\n            this.defaultAttrs({\n                fadeTimeout: 2000,\n                closeSelector: \".dismiss\",\n                reloadSelector: \".js-reload\",\n                textSelector: \".message-text\",\n                bannersSelector: \"#banners\",\n                topOffset: 47\n            });\n            var a = function() {\n                this.$node.css(\"opacity\", 1).animate({\n                    opacity: 0\n                }, 1000, function() {\n                    this.closeMessage();\n                }.bind(this));\n            };\n            this.calculateFadeTimeout = function(a) {\n                var b = a.split(\" \").length, c = ((((((b * 1000)) / 5)) + 225));\n                return ((((c < this.attr.fadeTimeout)) ? this.attr.fadeTimeout : c));\n            }, this.showMessage = function(b, c) {\n                this.$node.css({\n                    opacity: 1,\n                    JSBNG__top: ((this.attr.topOffset + $(this.attr.bannersSelector).height()))\n                }), this.select(\"textSelector\").html(c.message), this.select(\"closeSelector\").hide(), this.$node.removeClass(\"hidden\"), JSBNG__clearTimeout(this.messageTimeout), this.$node.JSBNG__stop(), this.messageTimeout = JSBNG__setTimeout(a.bind(this), this.calculateFadeTimeout(c.message));\n            }, this.showError = function(a, b) {\n                this.$node.css(\"opacity\", 1), this.select(\"textSelector\").html(b.message), this.select(\"closeSelector\").show(), this.$node.removeClass(\"hidden\");\n            }, this.closeMessage = function(a) {\n                ((a && a.preventDefault())), this.$node.addClass(\"hidden\");\n            }, this.reloadPageHandler = function() {\n                this.reloadPage();\n            }, this.reloadPage = function() {\n                window.JSBNG__location.reload();\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(JSBNG__document, \"uiShowMessage\", this.showMessage), this.JSBNG__on(JSBNG__document, \"uiShowError\", this.showError), this.JSBNG__on(\"click\", {\n                    reloadSelector: this.reloadPageHandler,\n                    closeSelector: this.closeMessage\n                }), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.closeMessage);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), MessageDrawer = defineComponent(messageDrawer);\n        module.exports = MessageDrawer;\n    });\n    deferred(\"$lib/bootstrap_tooltip.js\", function() {\n        !function($) {\n            \"use strict\";\n            var a = function(a, b) {\n                this.init(\"tooltip\", a, b);\n            };\n            a.prototype = {\n                constructor: a,\n                init: function(a, b, c) {\n                    var d, e;\n                    this.type = a, this.$element = $(b), this.options = this.getOptions(c), this.enabled = !0, ((((this.options.trigger != \"manual\")) && (d = ((((this.options.trigger == \"hover\")) ? \"mouseenter\" : \"JSBNG__focus\")), e = ((((this.options.trigger == \"hover\")) ? \"mouseleave\" : \"JSBNG__blur\")), this.$element.JSBNG__on(d, this.options.selector, $.proxy(this.enter, this)), this.$element.JSBNG__on(e, this.options.selector, $.proxy(this.leave, this))))), ((this.options.selector ? this._options = $.extend({\n                    }, this.options, {\n                        trigger: \"manual\",\n                        selector: \"\"\n                    }) : this.fixTitle()));\n                },\n                getOptions: function(a) {\n                    return a = $.extend({\n                    }, $.fn[this.type].defaults, a, this.$element.data()), ((((a.delay && ((typeof a.delay == \"number\")))) && (a.delay = {\n                        show: a.delay,\n                        hide: a.delay\n                    }))), a;\n                },\n                enter: function(a) {\n                    var b = $(a.currentTarget)[this.type](this._options).data(this.type);\n                    ((((!b.options.delay || !b.options.delay.show)) ? b.show() : (b.hoverState = \"in\", JSBNG__setTimeout(function() {\n                        ((((b.hoverState == \"in\")) && b.show()));\n                    }, b.options.delay.show))));\n                },\n                leave: function(a) {\n                    var b = $(a.currentTarget)[this.type](this._options).data(this.type);\n                    ((((!b.options.delay || !b.options.delay.hide)) ? b.hide() : (b.hoverState = \"out\", JSBNG__setTimeout(function() {\n                        ((((b.hoverState == \"out\")) && b.hide()));\n                    }, b.options.delay.hide))));\n                },\n                show: function() {\n                    var a, b, c, d, e, f, g;\n                    if (((this.hasContent() && this.enabled))) {\n                        a = this.tip(), this.setContent(), ((this.options.animation && a.addClass(\"fade\"))), f = ((((typeof this.options.placement == \"function\")) ? this.options.placement.call(this, a[0], this.$element[0]) : this.options.placement)), b = /in/.test(f), a.remove().css({\n                            JSBNG__top: 0,\n                            left: 0,\n                            display: \"block\"\n                        }).appendTo(((b ? this.$element : JSBNG__document.body))), c = this.getPosition(b), d = a[0].offsetWidth, e = a[0].offsetHeight;\n                        switch (((b ? f.split(\" \")[1] : f))) {\n                          case \"bottom\":\n                            g = {\n                                JSBNG__top: ((c.JSBNG__top + c.height)),\n                                left: ((((c.left + ((c.width / 2)))) - ((d / 2))))\n                            };\n                            break;\n                          case \"JSBNG__top\":\n                            g = {\n                                JSBNG__top: ((c.JSBNG__top - e)),\n                                left: ((((c.left + ((c.width / 2)))) - ((d / 2))))\n                            };\n                            break;\n                          case \"left\":\n                            g = {\n                                JSBNG__top: ((((c.JSBNG__top + ((c.height / 2)))) - ((e / 2)))),\n                                left: ((c.left - d))\n                            };\n                            break;\n                          case \"right\":\n                            g = {\n                                JSBNG__top: ((((c.JSBNG__top + ((c.height / 2)))) - ((e / 2)))),\n                                left: ((c.left + c.width))\n                            };\n                        };\n                    ;\n                        a.css(g).addClass(f).addClass(\"in\");\n                    }\n                ;\n                ;\n                },\n                setContent: function() {\n                    var a = this.tip();\n                    a.JSBNG__find(\".tooltip-inner\").html(this.getTitle()), a.removeClass(\"fade in top bottom left right\");\n                },\n                hide: function() {\n                    function c() {\n                        var a = JSBNG__setTimeout(function() {\n                            b.off($.support.transition.end).remove();\n                        }, 500);\n                        b.one($.support.transition.end, function() {\n                            JSBNG__clearTimeout(a), b.remove();\n                        });\n                    };\n                ;\n                    var a = this, b = this.tip();\n                    b.removeClass(\"in\"), (((($.support.transition && this.$tip.hasClass(\"fade\"))) ? c() : b.remove()));\n                },\n                fixTitle: function() {\n                    var a = this.$element;\n                    ((((a.attr(\"title\") || ((typeof a.attr(\"data-original-title\") != \"string\")))) && a.attr(\"data-original-title\", ((a.attr(\"title\") || \"\"))).removeAttr(\"title\")));\n                },\n                hasContent: function() {\n                    return this.getTitle();\n                },\n                getPosition: function(a) {\n                    return $.extend({\n                    }, ((a ? {\n                        JSBNG__top: 0,\n                        left: 0\n                    } : this.$element.offset())), {\n                        width: this.$element[0].offsetWidth,\n                        height: this.$element[0].offsetHeight\n                    });\n                },\n                getTitle: function() {\n                    var a, b = this.$element, c = this.options;\n                    return a = ((b.attr(\"data-original-title\") || ((((typeof c.title == \"function\")) ? c.title.call(b[0]) : c.title)))), a = ((a || \"\")).toString().replace(/(^\\s*|\\s*$)/, \"\"), a;\n                },\n                tip: function() {\n                    return this.$tip = ((this.$tip || $(this.options.template)));\n                },\n                validate: function() {\n                    ((this.$element[0].parentNode || (this.hide(), this.$element = null, this.options = null)));\n                },\n                enable: function() {\n                    this.enabled = !0;\n                },\n                disable: function() {\n                    this.enabled = !1;\n                },\n                toggleEnabled: function() {\n                    this.enabled = !this.enabled;\n                },\n                toggle: function() {\n                    this[((this.tip().hasClass(\"in\") ? \"hide\" : \"show\"))]();\n                }\n            }, $.fn.tooltip = function(b) {\n                return this.each(function() {\n                    var c = $(this), d = c.data(\"tooltip\"), e = ((((typeof b == \"object\")) && b));\n                    ((d || c.data(\"tooltip\", d = new a(this, e)))), ((((typeof b == \"string\")) && d[b]()));\n                });\n            }, $.fn.tooltip.Constructor = a, $.fn.tooltip.defaults = {\n                animation: !0,\n                delay: 0,\n                selector: !1,\n                placement: \"JSBNG__top\",\n                trigger: \"hover\",\n                title: \"\",\n                template: \"\\u003Cdiv class=\\\"tooltip\\\"\\u003E\\u003Cdiv class=\\\"tooltip-arrow\\\"\\u003E\\u003C/div\\u003E\\u003Cdiv class=\\\"tooltip-inner\\\"\\u003E\\u003C/div\\u003E\\u003C/div\\u003E\"\n            };\n        }(window.jQuery);\n    });\n    define(\"app/ui/tooltips\", [\"module\",\"require\",\"exports\",\"core/component\",\"$lib/bootstrap_tooltip.js\",], function(module, require, exports) {\n        function tooltips() {\n            this.defaultAttrs({\n                tooltipSelector: \".js-tooltip\"\n            }), this.hide = function() {\n                this.select(\"tooltipSelector\").tooltip(\"hide\");\n            }, this.after(\"initialize\", function() {\n                this.$node.tooltip({\n                    selector: this.attr.tooltipSelector\n                }), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged uiShowProfilePopup\", this.hide);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\");\n        require(\"$lib/bootstrap_tooltip.js\"), module.exports = defineComponent(tooltips);\n    });\n    define(\"app/data/ttft_navigation\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/scribe_transport\",], function(module, require, exports) {\n        function ttftNavigate() {\n            this.beforeNewPageLoad = function(a, b) {\n                this.log(\"beforeNewPageLoad\", a, b), time = {\n                    beforeNewPageLoad: +(new JSBNG__Date),\n                    source: {\n                        page: this.attr.pageName,\n                        action: this.attr.sectionName,\n                        path: window.JSBNG__location.pathname\n                    }\n                };\n            }, this.afterPageChanged = function(a, b) {\n                this.log(\"afterPageChanged\", a, b), time.afterPageChanged = +(new JSBNG__Date), this.fromCache = !!b.fromCache, this.hookTimelineListener(!0), this.timelineListener = JSBNG__setTimeout(function() {\n                    this.hookTimelineListener(!1), this.report();\n                }.bind(this), 1), time.ajaxCount = this.ajaxCountdown = $.active, (($.active && this.hookAjaxListener(!0)));\n            }, this.timelineRefreshRequest = function(a, b) {\n                JSBNG__clearTimeout(this.timelineListener), this.hookTimelineListener(!1), ((b.navigated && (this.listeningForTimeline = !0, this.hookTimelineResults(!0))));\n            }, this.timelineSuccess = function(a, b) {\n                this.log(\"timelineSuccess\", a, b), this.listeningForTimeline = !1, this.hookTimelineResults(!1), time.timelineSuccess = +(new JSBNG__Date), this.report();\n            }, this.timelineError = function(a, b) {\n                this.log(\"timelineError\", a, b), this.listeningForTimeline = !1, this.hookTimelineResults(!1), this.report();\n            }, this.ajaxComplete = function(a, b) {\n                ((--this.ajaxCountdown || (this.log(\"ajaxComplete\", a, b), this.hookAjaxListener(!1), time.ajaxComplete = +(new JSBNG__Date), this.report())));\n            }, this.report = function() {\n                if (((this.ajaxCountdown && time.ajaxCount))) {\n                    return;\n                }\n            ;\n            ;\n                if (((this.listeningForTimeline && !time.timelineSuccess))) {\n                    return;\n                }\n            ;\n            ;\n                var a = {\n                    event_name: \"route_time\",\n                    source_page: time.source.page,\n                    source_action: time.source.action,\n                    source_path: time.source.path,\n                    dest_page: this.attr.pageName,\n                    dest_action: this.attr.sectionName,\n                    dest_path: window.JSBNG__location.pathname,\n                    cached: this.fromCache,\n                    start_time: time.beforeNewPageLoad,\n                    stream_switch_time: time.afterPageChanged,\n                    stream_complete_time: ((time.timelineSuccess || time.afterPageChanged)),\n                    ajax_count: time.ajaxCount\n                };\n                ((time.ajaxCount && (a.ajax_complete_time = time.ajaxComplete))), this.scribeTransport.send(a, \"route_timing\"), this.log(a);\n            }, this.log = function() {\n            \n            }, this.time = function() {\n                return time;\n            }, this.scribeTransport = scribeTransport, this.hookAjaxListener = function(a) {\n                this[((a ? \"JSBNG__on\" : \"off\"))](\"ajaxComplete\", this.ajaxComplete);\n            }, this.hookTimelineListener = function(a) {\n                this[((a ? \"JSBNG__on\" : \"off\"))](\"uiTimelineShouldRefresh\", this.timelineRefreshRequest);\n            }, this.hookTimelineResults = function(a) {\n                this[((a ? \"JSBNG__on\" : \"off\"))](\"dataGotMoreTimelineItems\", this.timelineSuccess), this[((a ? \"JSBNG__on\" : \"off\"))](\"dataGotMoreTimelineItemsError\", this.timelineError);\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"uiBeforeNewPageLoad\", this.beforeNewPageLoad), this.JSBNG__on(\"uiPageChanged\", this.afterPageChanged);\n            });\n        };\n    ;\n        var component = require(\"core/component\"), scribeTransport = require(\"app/data/scribe_transport\");\n        module.exports = component(ttftNavigate);\n        var time = {\n        };\n    });\n    define(\"app/data/user_info\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        var user = {\n        }, userInfo = {\n            set: function(a) {\n                user.screenName = a.screenName, user.deciders = ((a.deciders || {\n                })), user.experiments = ((a.experiments || {\n                }));\n            },\n            reset: function() {\n                this.set({\n                    screenName: null,\n                    deciders: {\n                    },\n                    experiments: {\n                    }\n                });\n            },\n            user: user,\n            getDecider: function(a) {\n                return !!user.deciders[a];\n            },\n            getExperimentGroup: function(a) {\n                return user.experiments[a];\n            }\n        };\n        userInfo.reset(), module.exports = userInfo;\n    });\n    define(\"app/ui/aria_event_logger\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",], function(module, require, exports) {\n        function ariaEventLogger() {\n            this.MESSAGES = {\n                FAVORITED: _(\"Favorited\"),\n                UNFAVORITED: _(\"Unfavorited\"),\n                RETWEETED: _(\"Retweeted\"),\n                UNRETWEETED: _(\"Unretweeted\"),\n                EXPANDED: _(\"Expanded\"),\n                COLLAPSED: _(\"Collapsed\"),\n                RENDERING_CONVERSATION: _(\"Loading conversation.\"),\n                CONVERSATION_RENDERED: _(\"Conversation loaded. Press j or k to review Tweets.\"),\n                CONVERSATION_START: _(\"Conversation start.\"),\n                CONVERSATION_END: _(\"Conversation end.\"),\n                NEW_ITEMS_BAR_VISIBLE: _(\"New Tweets available. Press period to review them.\")\n            }, this.CLEAR_LOG_EVENTS = [\"uiPageChanged\",\"uiShortcutSelectPrev\",\"uiShortcutSelectNext\",\"uiSelectNext\",\"uiSelectItem\",\"uiShortcutGotoTopOfScreen\",\"uiSelectTopTweet\",].join(\" \"), this.createLog = function() {\n                var a = $(\"\\u003Cdiv id=\\\"sr-event-log\\\" class=\\\"visuallyhidden\\\" aria-live=\\\"assertive\\\"\\u003E\\u003C/div\\u003E\");\n                $(\"body\").append(a), this.$log = a;\n            }, this.logMessage = function(a, b) {\n                ((this.$log && (((b || (b = \"assertive\"))), ((((b != this.$log.attr(\"aria-live\"))) && this.$log.attr(\"aria-live\", b))), this.$log.append(((((\"\\u003Cp\\u003E\" + a)) + \"\\u003C/p\\u003E\"))), ((((this.$log.children().length > 3)) && this.$log.children().first().remove())))));\n            }, this.logEvent = function(a, b) {\n                return function() {\n                    this.logMessage(this.MESSAGES[a], b);\n                }.bind(this);\n            }, this.logConversationStart = function(a) {\n                var b = $(a.target);\n                ((((((b.closest(\".expanded-conversation\").length && !b.prev().length)) && b.next().length)) && this.logMessage(this.MESSAGES.CONVERSATION_START, \"polite\")));\n            }, this.logConversationEnd = function(a) {\n                var b = $(a.target);\n                ((((((b.closest(\".expanded-conversation\").length && !b.next().length)) && b.prev().length)) && this.logMessage(this.MESSAGES.CONVERSATION_END, \"polite\")));\n            }, this.logCharCountWarning = function(a, b) {\n                this.clearLog(), this.logMessage(b.charCount, \"polite\");\n            }, this.clearLog = function() {\n                ((this.$log && this.$log.html(\"\")));\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded\", this.createLog), this.JSBNG__on(JSBNG__document, \"uiDidFavoriteTweet dataFailedToUnfavoriteTweet\", this.logEvent(\"FAVORITED\")), this.JSBNG__on(JSBNG__document, \"uiDidUnfavoriteTweet dataFailedToFavoriteTweet\", this.logEvent(\"UNFAVORITED\")), this.JSBNG__on(JSBNG__document, \"uiDidRetweet dataFailedToUnretweet\", this.logEvent(\"RETWEETED\")), this.JSBNG__on(JSBNG__document, \"uiDidUnretweet dataFailedToRetweet\", this.logEvent(\"UNRETWEETED\")), this.JSBNG__on(JSBNG__document, \"uiHasExpandedTweet\", this.logEvent(\"EXPANDED\")), this.JSBNG__on(JSBNG__document, \"uiHasCollapsedTweet\", this.logEvent(\"COLLAPSED\")), this.JSBNG__on(JSBNG__document, \"uiRenderingExpandedConversation\", this.logEvent(\"RENDERING_CONVERSATION\", \"polite\")), this.JSBNG__on(JSBNG__document, \"uiExpandedConversationRendered\", this.logEvent(\"CONVERSATION_RENDERED\", \"polite\")), this.JSBNG__on(JSBNG__document, \"uiNextItemSelected\", this.logConversationEnd), this.JSBNG__on(JSBNG__document, \"uiPreviousItemSelected\", this.logConversationStart), this.JSBNG__on(JSBNG__document, \"uiNewItemsBarVisible\", this.logEvent(\"NEW_ITEMS_BAR_VISIBLE\")), this.JSBNG__on(JSBNG__document, \"uiCharCountWarningVisible\", this.logCharCountWarning), this.JSBNG__on(JSBNG__document, this.CLEAR_LOG_EVENTS, this.clearLog);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), ARIAEventLogger = defineComponent(ariaEventLogger);\n        module.exports = ARIAEventLogger;\n    });\n    define(\"app/boot/common\", [\"module\",\"require\",\"exports\",\"app/utils/auth_token\",\"app/boot/scribing\",\"app/ui/navigation\",\"app/data/navigation\",\"app/ui/language_dropdown\",\"app/ui/google\",\"app/ui/impression_cookies\",\"app/data/promoted_logger\",\"app/ui/message_drawer\",\"app/ui/tooltips\",\"app/data/ttft_navigation\",\"app/utils/cookie\",\"app/utils/querystring\",\"app/data/user_info\",\"app/ui/aria_event_logger\",], function(module, require, exports) {\n        function shimConsole(a) {\n            ((window.JSBNG__console || (window.JSBNG__console = {\n            }))), LOG_METHODS.forEach(function(b) {\n                if (((a || !JSBNG__console[b]))) {\n                    JSBNG__console[b] = NO_OP;\n                }\n            ;\n            ;\n            });\n        };\n    ;\n        function getLoginTime() {\n            return ((parseInt(querystring.decode(cookie(\"twll\")).l, 10) || 0));\n        };\n    ;\n        function verifySession() {\n            ((((getLoginTime() !== initialLoginTime)) && window.JSBNG__location.reload(!0)));\n        };\n    ;\n        var authToken = require(\"app/utils/auth_token\"), scribing = require(\"app/boot/scribing\"), NavigationUI = require(\"app/ui/navigation\"), NavigationData = require(\"app/data/navigation\"), LanguageDropdown = require(\"app/ui/language_dropdown\"), GoogleAnalytics = require(\"app/ui/google\"), ImpressionCookies = require(\"app/ui/impression_cookies\"), PromotedLogger = require(\"app/data/promoted_logger\"), MessageDrawer = require(\"app/ui/message_drawer\"), Tooltips = require(\"app/ui/tooltips\"), TTFTNavigation = require(\"app/data/ttft_navigation\"), cookie = require(\"app/utils/cookie\"), querystring = require(\"app/utils/querystring\"), userInfo = require(\"app/data/user_info\"), ARIAEventLogger = require(\"app/ui/aria_event_logger\"), ttftNavigationEnabled = !1, LOG_METHODS = [\"log\",\"warn\",\"debug\",\"info\",], NO_OP = function() {\n        \n        }, initialLoginTime = 0;\n        module.exports = function(b) {\n            var c = b.environment, d = (([\"production\",\"preflight\",].indexOf(c) > -1));\n            shimConsole(d), authToken.set(b.formAuthenticityToken), userInfo.set(b), ImpressionCookies.attachTo(JSBNG__document, {\n                noTeardown: !0\n            }), GoogleAnalytics.attachTo(JSBNG__document, {\n                noTeardown: !0\n            }), scribing(b), PromotedLogger.attachTo(JSBNG__document, {\n                noTeardown: !0\n            });\n            var e = ((!!window.JSBNG__history && !!JSBNG__history.pushState));\n            ((((b.pushState && e)) && NavigationUI.attachTo(JSBNG__document, {\n                viewContainer: b.viewContainer,\n                noTeardown: !0\n            }))), NavigationData.attachTo(JSBNG__document, {\n                init_data: b,\n                pushState: b.pushState,\n                pushStateSupported: e,\n                pushStatePageLimit: b.pushStatePageLimit,\n                assetsBasePath: b.assetsBasePath,\n                pushStateRequestHeaders: b.pushStateRequestHeaders,\n                viewContainer: b.viewContainer,\n                noTeardown: !0\n            }), Tooltips.attachTo(JSBNG__document, {\n                noTeardown: !0\n            }), MessageDrawer.attachTo(\"#message-drawer\", {\n                noTeardown: !0\n            }), ARIAEventLogger.attachTo(JSBNG__document, {\n                noTeardown: !0\n            }), ((b.loggedIn || LanguageDropdown.attachTo(\".js-language-dropdown\"))), ((((b.initialState && b.initialState.ttft_navigation)) && (ttftNavigationEnabled = !0))), ((ttftNavigationEnabled && TTFTNavigation.attachTo(JSBNG__document, {\n                pageName: b.pageName,\n                sectionName: b.sectionName\n            }))), ((b.loggedIn && (initialLoginTime = getLoginTime(), JSBNG__setInterval(verifySession, 10000))));\n        };\n    });\n    define(\"app/ui/with_position\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        function Position() {\n            this.adjacent = function(a, b, c) {\n                var d, e;\n                c = ((c || {\n                })), d = e = b.offset(), e.gravity = c.gravity, e.weight = c.weight;\n                var f = {\n                    height: b.JSBNG__outerHeight(),\n                    width: b.JSBNG__outerWidth()\n                }, g = {\n                    height: a.JSBNG__outerHeight(),\n                    width: a.JSBNG__outerWidth()\n                }, h = {\n                    height: $(window).height(),\n                    width: $(window).width()\n                }, i = {\n                    height: $(\"body\").height(),\n                    width: $(\"body\").width()\n                };\n                return ((e.gravity || (e.gravity = \"vertical\"))), ((((\"vertical,north,south\".indexOf(e.gravity) != -1)) && (((((\"right,left,center\".indexOf(e.weight) == -1)) && (e.weight = ((((d.left > ((h.width / 2)))) ? \"right\" : \"left\"))))), ((((e.gravity == \"vertical\")) && (e.gravity = ((((((d.JSBNG__top + g.height)) > (($(window).scrollTop() + h.height)))) ? \"south\" : \"north\"))))), ((((c.position == \"relative\")) && (d = {\n                    left: 0,\n                    JSBNG__top: 0\n                }, e.left = 0))), ((((e.weight == \"right\")) ? e.left = ((((d.left - g.width)) + f.width)) : ((((e.weight == \"center\")) && (e.left = ((d.left - ((((g.width - f.width)) / 2))))))))), e.JSBNG__top = ((((e.gravity == \"north\")) ? ((d.JSBNG__top + f.height)) : ((d.JSBNG__top - g.height))))))), ((((\"horizontal,east,west\".indexOf(e.gravity) != -1)) && (((((\"top,bottom,center\".indexOf(e.weight) == -1)) && ((((((d.JSBNG__top - ((g.height / 2)))) < 0)) ? e.weight = \"JSBNG__top\" : ((((((d.JSBNG__top + ((g.height / 2)))) > Math.max(h.height, i.height))) ? e.weight = \"bottom\" : e.weight = \"center\")))))), ((((e.gravity == \"horizontal\")) && (e.gravity = ((((((d.left + ((f.width / 2)))) > ((h.width / 2)))) ? \"east\" : \"west\"))))), ((((c.position == \"relative\")) && (d = {\n                    left: 0,\n                    JSBNG__top: 0\n                }, e.JSBNG__top = 0))), ((((e.weight == \"center\")) ? e.JSBNG__top = ((((d.JSBNG__top + ((f.height / 2)))) - ((g.height / 2)))) : ((((e.weight == \"bottom\")) && (e.JSBNG__top = ((((d.JSBNG__top - g.height)) + f.height))))))), e.left = ((((e.gravity == \"west\")) ? ((d.left + f.width)) : ((d.left - g.width))))))), e;\n            };\n        };\n    ;\n        module.exports = Position;\n    });\n    define(\"app/ui/with_scrollbar_width\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n        function ScrollbarWidth() {\n            this.calculateScrollbarWidth = function() {\n                if ((($(\"#scrollbar-width\").length > 0))) {\n                    return;\n                }\n            ;\n            ;\n                var a = $(\"\\u003Cdiv class=\\\"modal-measure-scrollbar\\\"/\\u003E\").prependTo($(\"body\")), b = $(\"\\u003Cdiv class=\\\"inner\\\"/\\u003E\").appendTo(a), c = ((a.width() - b.width()));\n                a.remove(), $(\"head\").append(((((((((\"\\u003Cstyle id=\\\"scrollbar-width\\\"\\u003E        .compensate-for-scrollbar,        .modal-enabled,        .modal-enabled .global-nav-inner,        .profile-editing,        .profile-editing .global-nav-inner,        .gallery-enabled,        .grid-enabled,        .grid-enabled .global-nav-inner,        .gallery-enabled .global-nav-inner {          margin-right: \" + c)) + \"px      }         .grid-header {          right: \")) + c)) + \"px      }      \\u003C/style\\u003E\")));\n            };\n        };\n    ;\n        module.exports = ScrollbarWidth;\n    });\n    deferred(\"$lib/jquery.JSBNG__event.drag.js\", function() {\n        (function($) {\n            $.fn.drag = function(a, b, c) {\n                var d = ((((typeof a == \"string\")) ? a : \"\")), e = (($.isFunction(a) ? a : (($.isFunction(b) ? b : null))));\n                return ((((d.indexOf(\"drag\") !== 0)) && (d = ((\"drag\" + d))))), c = ((((((a == e)) ? b : c)) || {\n                })), ((e ? this.bind(d, c, e) : this.trigger(d)));\n            };\n            var a = $.JSBNG__event, b = a.special, c = b.drag = {\n                defaults: {\n                    which: 1,\n                    distance: 0,\n                    not: \":input\",\n                    handle: null,\n                    relative: !1,\n                    drop: !0,\n                    click: !1\n                },\n                datakey: \"dragdata\",\n                livekey: \"livedrag\",\n                add: function(b) {\n                    var d = $.data(this, c.datakey), e = ((b.data || {\n                    }));\n                    d.related += 1, ((((!d.live && b.selector)) && (d.live = !0, a.add(this, ((\"draginit.\" + c.livekey)), c.delegate)))), $.each(c.defaults, function(a, b) {\n                        ((((e[a] !== undefined)) && (d[a] = e[a])));\n                    });\n                },\n                remove: function() {\n                    $.data(this, c.datakey).related -= 1;\n                },\n                setup: function() {\n                    if ($.data(this, c.datakey)) {\n                        return;\n                    }\n                ;\n                ;\n                    var b = $.extend({\n                        related: 0\n                    }, c.defaults);\n                    $.data(this, c.datakey, b), a.add(this, \"mousedown\", c.init, b), ((this.JSBNG__attachEvent && this.JSBNG__attachEvent(\"JSBNG__ondragstart\", c.dontstart)));\n                },\n                teardown: function() {\n                    if ($.data(this, c.datakey).related) {\n                        return;\n                    }\n                ;\n                ;\n                    $.removeData(this, c.datakey), a.remove(this, \"mousedown\", c.init), a.remove(this, \"draginit\", c.delegate), c.textselect(!0), ((this.JSBNG__detachEvent && this.JSBNG__detachEvent(\"JSBNG__ondragstart\", c.dontstart)));\n                },\n                init: function(d) {\n                    var e = d.data, f;\n                    if (((((e.which > 0)) && ((d.which != e.which))))) {\n                        return;\n                    }\n                ;\n                ;\n                    if ($(d.target).is(e.not)) {\n                        return;\n                    }\n                ;\n                ;\n                    if (((e.handle && !$(d.target).closest(e.handle, d.currentTarget).length))) {\n                        return;\n                    }\n                ;\n                ;\n                    e.propagates = 1, e.interactions = [c.interaction(this, e),], e.target = d.target, e.pageX = d.pageX, e.pageY = d.pageY, e.dragging = null, f = c.hijack(d, \"draginit\", e);\n                    if (!e.propagates) {\n                        return;\n                    }\n                ;\n                ;\n                    return f = c.flatten(f), ((((f && f.length)) && (e.interactions = [], $.each(f, function() {\n                        e.interactions.push(c.interaction(this, e));\n                    })))), e.propagates = e.interactions.length, ((((((e.drop !== !1)) && b.drop)) && b.drop.handler(d, e))), c.textselect(!1), a.add(JSBNG__document, \"mousemove mouseup\", c.handler, e), !1;\n                },\n                interaction: function(a, b) {\n                    return {\n                        drag: a,\n                        callback: new c.callback,\n                        droppable: [],\n                        offset: (($(a)[((b.relative ? \"position\" : \"offset\"))]() || {\n                            JSBNG__top: 0,\n                            left: 0\n                        }))\n                    };\n                },\n                handler: function(d) {\n                    var e = d.data;\n                    switch (d.type) {\n                      case ((!e.dragging && \"mousemove\")):\n                        if (((((Math.pow(((d.pageX - e.pageX)), 2) + Math.pow(((d.pageY - e.pageY)), 2))) < Math.pow(e.distance, 2)))) {\n                            break;\n                        }\n                    ;\n                    ;\n                        d.target = e.target, c.hijack(d, \"dragstart\", e), ((e.propagates && (e.dragging = !0)));\n                      case \"mousemove\":\n                        if (e.dragging) {\n                            c.hijack(d, \"drag\", e);\n                            if (e.propagates) {\n                                ((((((e.drop !== !1)) && b.drop)) && b.drop.handler(d, e)));\n                                break;\n                            }\n                        ;\n                        ;\n                            d.type = \"mouseup\";\n                        }\n                    ;\n                    ;\n                    ;\n                      case \"mouseup\":\n                        a.remove(JSBNG__document, \"mousemove mouseup\", c.handler), ((e.dragging && (((((((e.drop !== !1)) && b.drop)) && b.drop.handler(d, e))), c.hijack(d, \"dragend\", e)))), c.textselect(!0), ((((((e.click === !1)) && e.dragging)) && ($.JSBNG__event.triggered = !0, JSBNG__setTimeout(function() {\n                            $.JSBNG__event.triggered = !1;\n                        }, 20), e.dragging = !1)));\n                    };\n                ;\n                },\n                delegate: function(b) {\n                    var d = [], e, f = (($.data(this, \"events\") || {\n                    }));\n                    return $.each(((f.live || [])), function(f, g) {\n                        if (((g.preType.indexOf(\"drag\") !== 0))) {\n                            return;\n                        }\n                    ;\n                    ;\n                        e = $(b.target).closest(g.selector, b.currentTarget)[0];\n                        if (!e) {\n                            return;\n                        }\n                    ;\n                    ;\n                        a.add(e, ((((g.origType + \".\")) + c.livekey)), g.origHandler, g.data), (((($.inArray(e, d) < 0)) && d.push(e)));\n                    }), ((d.length ? $(d).bind(((\"dragend.\" + c.livekey)), function() {\n                        a.remove(this, ((\".\" + c.livekey)));\n                    }) : !1));\n                },\n                hijack: function(b, d, e, f, g) {\n                    if (!e) {\n                        return;\n                    }\n                ;\n                ;\n                    var h = {\n                        JSBNG__event: b.originalEvent,\n                        type: b.type\n                    }, i = ((d.indexOf(\"drop\") ? \"drag\" : \"drop\")), j, k = ((f || 0)), l, m, n, o = ((isNaN(f) ? e.interactions.length : f));\n                    b.type = d, b.originalEvent = null, e.results = [];\n                    do if (l = e.interactions[k]) {\n                        if (((((d !== \"dragend\")) && l.cancelled))) {\n                            continue;\n                        }\n                    ;\n                    ;\n                        n = c.properties(b, e, l), l.results = [], $(((((g || l[i])) || e.droppable))).each(function(f, g) {\n                            n.target = g, j = ((g ? a.handle.call(g, b, n) : null)), ((((j === !1)) ? (((((i == \"drag\")) && (l.cancelled = !0, e.propagates -= 1))), ((((d == \"drop\")) && (l[i][f] = null)))) : ((((d == \"dropinit\")) && l.droppable.push(((c.element(j) || g))))))), ((((d == \"dragstart\")) && (l.proxy = $(((c.element(j) || l.drag)))[0]))), l.results.push(j), delete b.result;\n                            if (((d !== \"dropinit\"))) {\n                                return j;\n                            }\n                        ;\n                        ;\n                        }), e.results[k] = c.flatten(l.results), ((((d == \"dropinit\")) && (l.droppable = c.flatten(l.droppable)))), ((((((d == \"dragstart\")) && !l.cancelled)) && n.update()));\n                    }\n                     while (((++k < o)));\n                    return b.type = h.type, b.originalEvent = h.JSBNG__event, c.flatten(e.results);\n                },\n                properties: function(a, b, d) {\n                    var e = d.callback;\n                    return e.drag = d.drag, e.proxy = ((d.proxy || d.drag)), e.startX = b.pageX, e.startY = b.pageY, e.deltaX = ((a.pageX - b.pageX)), e.deltaY = ((a.pageY - b.pageY)), e.originalX = d.offset.left, e.originalY = d.offset.JSBNG__top, e.offsetX = ((a.pageX - ((b.pageX - e.originalX)))), e.offsetY = ((a.pageY - ((b.pageY - e.originalY)))), e.drop = c.flatten(((d.drop || [])).slice()), e.available = c.flatten(((d.droppable || [])).slice()), e;\n                },\n                element: function(a) {\n                    if (((a && ((a.jquery || ((a.nodeType == 1))))))) {\n                        return a;\n                    }\n                ;\n                ;\n                },\n                flatten: function(a) {\n                    return $.map(a, function(a) {\n                        return ((((a && a.jquery)) ? $.makeArray(a) : ((((a && a.length)) ? c.flatten(a) : a))));\n                    });\n                },\n                textselect: function(a) {\n                    $(JSBNG__document)[((a ? \"unbind\" : \"bind\"))](\"selectstart\", c.dontstart).attr(\"unselectable\", ((a ? \"off\" : \"JSBNG__on\"))).css(\"MozUserSelect\", ((a ? \"\" : \"none\")));\n                },\n                dontstart: function() {\n                    return !1;\n                },\n                callback: function() {\n                \n                }\n            };\n            c.callback.prototype = {\n                update: function() {\n                    ((((b.drop && this.available.length)) && $.each(this.available, function(a) {\n                        b.drop.locate(this, a);\n                    })));\n                }\n            }, b.draginit = b.dragstart = b.dragend = c;\n        })(jQuery);\n    });\n    define(\"app/ui/with_dialog\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/ui/with_scrollbar_width\",\"$lib/jquery.JSBNG__event.drag.js\",], function(module, require, exports) {\n        function withDialog() {\n            compose.mixin(this, [withScrollbarWidth,]), this.center = function(a) {\n                var b = $(window), c = {\n                    JSBNG__top: parseInt(((((b.height() - a.JSBNG__outerHeight())) / 2))),\n                    left: parseInt(((((b.width() - a.JSBNG__outerWidth())) / 2)))\n                };\n                return c;\n            }, this.windowHeight = function() {\n                return $(window).height();\n            }, this.scrollTop = function() {\n                return $(window).scrollTop();\n            }, this.position = function() {\n                var a = this.center(this.$dialog);\n                ((((this.attr.JSBNG__top != null)) && (a.JSBNG__top = this.attr.JSBNG__top))), ((((this.attr.left != null)) && (a.left = this.attr.left))), ((((this.attr.maxTop != null)) && (a.JSBNG__top = Math.min(a.JSBNG__top, this.attr.maxTop)))), ((((this.attr.maxLeft != null)) && (a.left = Math.min(a.left, this.attr.maxLeft)))), (((($(\"body\").attr(\"dir\") === \"rtl\")) ? this.$dialog.css({\n                    JSBNG__top: a.JSBNG__top,\n                    right: a.left\n                }) : this.$dialog.css({\n                    JSBNG__top: a.JSBNG__top,\n                    left: a.left\n                }))), ((((this.windowHeight() < this.$dialog.JSBNG__outerHeight())) ? (this.$dialog.css(\"position\", \"absolute\"), this.$dialog.css(\"JSBNG__top\", ((this.scrollTop() + \"px\")))) : ((((this.attr.fixed === !1)) && this.$dialog.css(\"JSBNG__top\", ((a.JSBNG__top + this.scrollTop())))))));\n            }, this.resize = function() {\n                ((this.attr.width && this.$dialog.css(\"width\", this.attr.width))), ((this.attr.height && this.$dialog.css(\"height\", this.attr.height)));\n            }, this.applyDraggability = function() {\n                if (!this.$dialog.hasClass(\"draggable\")) {\n                    return;\n                }\n            ;\n            ;\n                var a = this, b = {\n                    relative: !0,\n                    handle: \".modal-header\"\n                }, c = function(a, b) {\n                    (((($(\"body\").attr(\"dir\") === \"rtl\")) ? this.$dialog.css({\n                        JSBNG__top: b.offsetY,\n                        right: ((b.originalX - b.deltaX))\n                    }) : this.$dialog.css({\n                        JSBNG__top: b.offsetY,\n                        left: b.offsetX\n                    })));\n                };\n                this.$dialog.drag(\"start\", function() {\n                    a.$dialog.addClass(\"unselectable\"), $(\"#doc\").addClass(\"unselectable\");\n                }), this.$dialog.drag(\"end\", function() {\n                    a.$dialog.removeClass(\"unselectable\"), $(\"#doc\").removeClass(\"unselectable\");\n                }), this.$dialog.drag(c.bind(this), b);\n            }, this.setFocus = function() {\n                var a = this.$dialog.JSBNG__find(\".primary-btn\");\n                ((((a.length && a.is(\":not(:disabled)\"))) && a.JSBNG__focus()));\n            }, this.hasFocus = function() {\n                return (($.contains(this.node, JSBNG__document.activeElement) || ((this.node == JSBNG__document.activeElement))));\n            }, this.JSBNG__blur = function() {\n                ((this.hasFocus() && JSBNG__document.activeElement.JSBNG__blur()));\n            }, this.isOpen = function() {\n                if (((((window.DEBUG && window.DEBUG.enabled)) && ((this.openState !== this.$dialogContainer.is(\":visible\")))))) {\n                    throw new Error(\"Dialog markup and internal openState variable are out of sync.\");\n                }\n            ;\n            ;\n                return this.openState;\n            }, this.dialogVisible = function() {\n                this.trigger(\"uiDialogFadeInComplete\");\n            }, this.open = function() {\n                ((this.isOpen() || (this.openState = !0, this.$dialogContainer.fadeIn(\"fast\", this.dialogVisible.bind(this)), this.calculateScrollbarWidth(), $(\"body\").addClass(\"modal-enabled\"), this.resize(), this.position(), this.applyDraggability(), this.setFocus(), this.trigger(\"uiCloseDropdowns\"), this.trigger(\"uiDialogOpened\"))));\n            }, this.afterClose = function() {\n                (($(\".modal-container:visible\").length || $(\"body\").removeClass(\"modal-enabled\"))), this.openState = !1, this.trigger(\"uiDialogClosed\");\n            }, this.blurAndClose = function() {\n                this.JSBNG__blur(), this.$dialogContainer.fadeOut(\"fast\", this.afterClose.bind(this));\n            }, this.blurAndCloseImmediately = function() {\n                this.JSBNG__blur(), this.$dialogContainer.hide(), this.afterClose();\n            }, this.close = function() {\n                if (!this.isOpen()) {\n                    return;\n                }\n            ;\n            ;\n                this.trigger(this.node, {\n                    type: \"uiDialogCloseRequested\",\n                    defaultBehavior: \"blurAndClose\"\n                });\n            }, this.closeImmediately = function() {\n                ((this.isOpen() && this.blurAndCloseImmediately()));\n            }, this.triggerClicked = function(a) {\n                a.preventDefault(), this.open();\n            }, this.after(\"initialize\", function() {\n                this.openState = !1, this.$dialogContainer = ((this.$dialog || this.$node)), this.$dialog = this.$dialogContainer.JSBNG__find(\"div.modal\"), this.attr.closeSelector = ((this.attr.closeSelector || \".modal-close, .close-modal-background-target\")), this.JSBNG__on(this.select(\"closeSelector\"), \"click\", this.close), this.JSBNG__on(JSBNG__document, \"uiShortcutEsc uiCloseDialog\", this.close), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.closeImmediately), ((this.attr.triggerSelector && this.JSBNG__on(this.attr.triggerSelector, \"click\", this.triggerClicked)));\n            });\n        };\n    ;\n        var compose = require(\"core/compose\"), withScrollbarWidth = require(\"app/ui/with_scrollbar_width\");\n        require(\"$lib/jquery.JSBNG__event.drag.js\"), module.exports = withDialog;\n    });\n    define(\"app/ui/dialogs/signin_or_signup\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_position\",\"app/ui/with_dialog\",], function(module, require, exports) {\n        function signinOrSignupDialog() {\n            this.defaultAttrs({\n                dialogSelector: \"#signin-or-signup\",\n                signupOnlyScreenNameSelector: \".modal-title.signup-only span\"\n            }), this.openSigninDialog = function(a, b) {\n                ((b.signUpOnly ? (this.$node.addClass(\"signup-only-dialog\"), this.select(\"dialogSelector\").addClass(\"signup-only\").removeClass(\"not-signup-only\"), ((b.screenName && this.select(\"signupOnlyScreenNameSelector\").text(b.screenName)))) : (this.$node.removeClass(\"signup-only-dialog\"), this.select(\"dialogSelector\").addClass(\"not-signup-only\").removeClass(\"signup-only\")))), this.open(), this.trigger(\"uiSigninOrSignupDialogOpened\");\n            }, this.notifyClosed = function() {\n                this.trigger(\"uiSigninOrSignupDialogClosed\");\n            }, this.after(\"initialize\", function(a) {\n                this.$dialog = this.select(\"dialogSelector\"), this.$dialog.JSBNG__find(\"form.signup\").bind(\"submit\", function() {\n                    this.trigger(\"uiSignupButtonClicked\");\n                }.bind(this)), this.JSBNG__on(JSBNG__document, \"uiOpenSigninOrSignupDialog\", this.openSigninDialog), this.JSBNG__on(JSBNG__document, \"uiCloseSigninOrSignupDialog\", this.close), this.JSBNG__on(this.$node, \"uiDialogClosed\", this.notifyClosed);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), withPosition = require(\"app/ui/with_position\"), withDialog = require(\"app/ui/with_dialog\"), SigninOrSignupDialog = defineComponent(signinOrSignupDialog, withDialog, withPosition);\n        module.exports = SigninOrSignupDialog;\n    });\n    define(\"app/ui/forms/input_with_placeholder\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n        function inputWithPlaceholder() {\n            this.defaultAttrs({\n                hidePlaceholderClassName: \"hasome\",\n                placeholder: \".holder\",\n                elementType: \"input\"\n            }), this.focusInput = function(a) {\n                this.$input.JSBNG__focus();\n            }, this.inputBlurred = function(a) {\n                if (((this.$input.val() == \"\"))) {\n                    return this.$node.removeClass(this.attr.hidePlaceholderClassName), !0;\n                }\n            ;\n            ;\n            }, this.checkForChange = function() {\n                ((this.inputBlurred() || this.inputChanged()));\n            }, this.inputChanged = function(a) {\n                this.$node.addClass(this.attr.hidePlaceholderClassName);\n            }, this.after(\"initialize\", function() {\n                this.$input = this.select(\"elementType\");\n                if (((this.$input.length != 1))) {\n                    throw new Error(\"InputWithPlaceholder must be attached to a container with exactly one input element inside of it\");\n                }\n            ;\n            ;\n                this.$placeholder = this.select(\"placeholder\");\n                if (((this.$placeholder.length != 1))) {\n                    throw new Error(\"InputWithPlaceholder must be attached to a container with exactly one placeholder element inside of it\");\n                }\n            ;\n            ;\n                this.JSBNG__on(this.$input, \"JSBNG__blur\", this.inputBlurred), this.JSBNG__on(this.$input, \"keydown paste\", this.inputChanged), this.JSBNG__on(this.$placeholder, \"click\", this.focusInput), this.JSBNG__on(this.$input, \"uiInputChanged\", this.checkForChange), this.checkForChange();\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), InputWithPlaceholder = defineComponent(inputWithPlaceholder);\n        module.exports = InputWithPlaceholder;\n    });\n    define(\"app/ui/signup_call_out\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n        function signupCallOut() {\n            this.after(\"initialize\", function() {\n                this.$node.bind(\"submit\", function() {\n                    this.trigger(\"uiSignupButtonClicked\");\n                }.bind(this));\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), SignupCallOut = defineComponent(signupCallOut);\n        module.exports = SignupCallOut;\n    });\n    define(\"app/data/signup_click_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n        function loggedOutScribe() {\n            this.scribeSignupClick = function(a, b) {\n                this.scribe({\n                    action: \"signup_click\"\n                }, b);\n            }, this.scribeSigninOrSignupDialogOpened = function(a, b) {\n                this.scribe({\n                    action: \"open\"\n                }, b);\n            }, this.scribeSigninOrSignupDialogClosed = function(a, b) {\n                this.scribe({\n                    action: \"close\"\n                }, b);\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"uiSignupButtonClicked\", this.scribeSignupClick), this.JSBNG__on(\"uiSigninOrSignupDialogOpened\", this.scribeSigninOrSignupDialogOpened), this.JSBNG__on(\"uiSigninOrSignupDialogClosed\", this.scribeSigninOrSignupDialogClosed);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n        module.exports = defineComponent(loggedOutScribe, withScribe);\n    });\n    define(\"app/ui/signup/stream_end_signup_module\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n        function streamEndSignupModule() {\n            this.triggerSignupClick = function() {\n                this.trigger(\"uiSignupButtonClicked\");\n            }, this.after(\"initialize\", function() {\n                this.JSBNG__on(\"click\", this.triggerSignupClick);\n            });\n        };\n    ;\n        var defineComponent = require(\"core/component\");\n        module.exports = defineComponent(streamEndSignupModule);\n    });\n    define(\"app/boot/logged_out\", [\"module\",\"require\",\"exports\",\"app/ui/dialogs/signin_or_signup\",\"app/ui/forms/input_with_placeholder\",\"app/ui/signup_call_out\",\"app/data/signup_click_scribe\",\"app/ui/signup/stream_end_signup_module\",], function(module, require, exports) {\n        var SigninOrSignupDialog = require(\"app/ui/dialogs/signin_or_signup\"), InputWithPlaceholder = require(\"app/ui/forms/input_with_placeholder\"), SignupCallOut = require(\"app/ui/signup_call_out\"), LoggedOutScribe = require(\"app/data/signup_click_scribe\"), StreamEndSignupModule = require(\"app/ui/signup/stream_end_signup_module\");\n        module.exports = function(b) {\n            InputWithPlaceholder.attachTo(\"#signin-or-signup-dialog .holding, .profile-signup-call-out .holding, .search-signup-call-out .holding\"), SigninOrSignupDialog.attachTo(\"#signin-or-signup-dialog\", {\n                eventData: {\n                    scribeContext: {\n                        component: \"auth_dialog\",\n                        element: \"unauth_follow\"\n                    }\n                }\n            }), SignupCallOut.attachTo(\".signup-call-out form.signup\", {\n                eventData: {\n                    scribeContext: {\n                        component: \"signup_callout\",\n                        element: \"form\"\n                    }\n                }\n            }), StreamEndSignupModule.attachTo(\".stream-end .signup-btn\", {\n                eventData: {\n                    scribeContext: {\n                        component: \"stream_end\",\n                        element: \"signup_button\"\n                    }\n                }\n            }), LoggedOutScribe.attachTo(JSBNG__document);\n        };\n    });\n    define(\"app/utils/ttft\", [\"module\",\"require\",\"exports\",\"app/data/scribe_transport\",], function(module, require, exports) {\n        function scribeTTFTData(a, b) {\n            if (((((!recorded && window.JSBNG__performance)) && a))) {\n                recorded = !0;\n                var c = a;\n                c.did_load = b, c.web_timings = $.extend({\n                }, window.JSBNG__performance.timing), ((c.web_timings.toJSON && delete c.web_timings.toJSON)), c.navigation = {\n                    type: window.JSBNG__performance.navigation.type,\n                    redirectCount: window.JSBNG__performance.navigation.redirectCount\n                }, c.referrer = JSBNG__document.referrer, scribeTransport.send(c, \"swift_time_to_first_tweet\", !1), using(\"app/utils/params\", function(a) {\n                    if (a.fromQuery(window.JSBNG__location).show_ttft) {\n                        var b = c.web_timings;\n                        $(JSBNG__document).trigger(\"uiShowError\", {\n                            message: ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((\"\\u003Ctable width=80%\\u003E\\u003Cthead\\u003E\\u003Cth\\u003Emilestone\\u003Cth\\u003Etime\\u003Cth\\u003Ecumulative\\u003C/thead\\u003E\\u003Ctbody\\u003E\\u003Ctr\\u003E\\u003Ctd\\u003Econnect:       \\u003Ctd\\u003E\" + ((b.connectEnd - b.navigationStart)))) + \"\\u003Ctd\\u003E\")) + ((b.connectEnd - b.navigationStart)))) + \"\\u003C/tr\\u003E\")) + \"\\u003Ctr\\u003E\\u003Ctd\\u003Eprocess:       \\u003Ctd\\u003E\")) + ((b.responseStart - b.connectEnd)))) + \"\\u003Ctd\\u003E\")) + ((b.responseStart - b.navigationStart)))) + \"\\u003C/tr\\u003E\")) + \"\\u003Ctr\\u003E\\u003Ctd\\u003Eresponse:      \\u003Ctd\\u003E\")) + ((b.responseEnd - b.responseStart)))) + \"\\u003Ctd\\u003E\")) + ((b.responseEnd - b.navigationStart)))) + \"\\u003C/tr\\u003E\")) + \"\\u003Ctr\\u003E\\u003Ctd\\u003Erender:        \\u003Ctd\\u003E\")) + ((c.client_record_time - b.responseEnd)))) + \"\\u003Ctd\\u003E\")) + ((c.client_record_time - b.navigationStart)))) + \"\\u003C/tr\\u003E\")) + \"\\u003Ctr\\u003E\\u003Ctd\\u003Einteractivity: \\u003Ctd\\u003E\")) + ((c.aq_empty_time - c.client_record_time)))) + \"\\u003Ctd\\u003E\")) + ((c.aq_empty_time - b.navigationStart)))) + \"\\u003C/tr\\u003E\")) + \"\\u003Ctr\\u003E\\u003Ctd\\u003Eajax_complete: \\u003Ctd\\u003E\")) + ((c.ajax_complete_time - c.aq_empty_time)))) + \"\\u003Ctd\\u003E\")) + ((c.ajax_complete_time - b.navigationStart)))) + \"\\u003C/tr\\u003E\")) + \"\\u003Ctr\\u003E\\u003Ctd\\u003Eajax_count:    \\u003Ctd\\u003E\")) + c.ajax_count)) + \"\\u003C/tr\\u003E\")) + \"\\u003C/tbody\\u003E\\u003C/table\\u003E\"))\n                        });\n                    }\n                ;\n                ;\n                });\n                try {\n                    delete window.ttft;\n                } catch (d) {\n                    window.ttft = undefined;\n                };\n            ;\n            }\n        ;\n        ;\n        };\n    ;\n        function scribeMilestones(a) {\n            if (!window.ttftData) {\n                return;\n            }\n        ;\n        ;\n            var b = !0;\n            for (var c = 0; ((c < requiredMilestones.length)); ++c) {\n                if (!((requiredMilestones[c] in window.ttftData))) {\n                    b = !1;\n                    break;\n                }\n            ;\n            ;\n            };\n        ;\n            ((((a || b)) && scribeTTFTData(window.ttftData, b)));\n        };\n    ;\n        function onAjaxComplete(a, b, c) {\n            if (((c && ((c.url in newAjaxRequests))))) {\n                for (var d = 0; ((d < newAjaxRequests[c.url].length)); d++) {\n                    if (((c === newAjaxRequests[c.url][d]))) {\n                        newAjaxRequests[c.url].splice(d, 1);\n                        return;\n                    }\n                ;\n                ;\n                };\n            }\n        ;\n        ;\n            pendingAjaxCount--;\n            if (((((pendingAjaxCount == 0)) || (($.active == 0))))) {\n                unbindAjaxHandlers(), recordPendingAjaxComplete();\n            }\n        ;\n        ;\n        };\n    ;\n        function onAjaxSend(a, b, c) {\n            ((((c && c.url)) && (((newAjaxRequests[c.url] || (newAjaxRequests[c.url] = []))), newAjaxRequests[c.url].push(c))));\n        };\n    ;\n        function recordPendingAjaxComplete() {\n            recordMilestone(\"ajax_complete_time\", (new JSBNG__Date).getTime());\n        };\n    ;\n        function bindAjaxHandlers() {\n            $(JSBNG__document).bind(\"ajaxComplete\", onAjaxComplete), $(JSBNG__document).bind(\"ajaxSend\", onAjaxSend);\n        };\n    ;\n        function unbindAjaxHandlers() {\n            $(JSBNG__document).unbind(\"ajaxComplete\", onAjaxComplete), $(JSBNG__document).unbind(\"ajaxSend\", onAjaxSend);\n        };\n    ;\n        function startAjaxTracking() {\n            startingAjaxCount = pendingAjaxCount = $.active, recordMilestone(\"ajax_count\", startingAjaxCount), ((((startingAjaxCount == 0)) ? recordPendingAjaxComplete() : (unbindAjaxHandlers(), bindAjaxHandlers())));\n        };\n    ;\n        function recordMilestone(a, b) {\n            ((((window.ttftData && !window.ttftData[a])) && (window.ttftData[a] = b))), scribeMilestones(!1);\n        };\n    ;\n        var scribeTransport = require(\"app/data/scribe_transport\"), recorded = !1, requiredMilestones = [\"page\",\"client_record_time\",\"aq_empty_time\",\"ajax_complete_time\",\"ajax_count\",], startingAjaxCount = 0, pendingAjaxCount = 0, newAjaxRequests = {\n        };\n        window.ttft = {\n            recordMilestone: recordMilestone\n        }, scribeMilestones(!1), JSBNG__setTimeout(function() {\n            scribeMilestones(!0);\n        }, 45000), module.exports = {\n            startAjaxTracking: startAjaxTracking\n        };\n    });\n    function makePromptSpanPage(a) {\n        ((a.length && a.prependTo(\"#page-container\").css({\n            padding: 0,\n            border: 0\n        })));\n    };\n;\n    using.path = $(\"#swift-module-path\").val();\n    makePromptSpanPage($(\"div[data-prompt-id=\\\"262\\\"]\"));\n    ((using.aliases && using.bundles.push(using.aliases)));\n    $(\".loadrunner-alias\").each(function(a, b) {\n        using.bundles.push(JSON.parse($(b).val()));\n    });\n    using(\"debug/debug\", function(a) {\n        function b() {\n            function d() {\n                c.forEach(function(a) {\n                    a(b);\n                });\n                var a = $(JSBNG__document);\n                a.JSBNG__on(\"uiSwiftLoaded uiPageChanged\", function() {\n                    window.__swift_loaded = !0;\n                });\n                a.JSBNG__on(\"uiBeforeNewPageLoad\", function() {\n                    window.__swift_loaded = !1;\n                });\n                $(\"html\").removeClass(b.baseFoucClass);\n                a.trigger(\"uiSwiftLoaded\");\n                ((window.swiftActionQueue && window.swiftActionQueue.flush($)));\n                if (window.ttftData) {\n                    ((window.ttft && window.ttft.recordMilestone(\"aq_empty_time\", (new JSBNG__Date).getTime())));\n                    using(\"app/utils/ttft\", function(a) {\n                        a.startAjaxTracking();\n                    });\n                }\n            ;\n            ;\n            };\n        ;\n            var a = $(\"#init-data\").val(), b = JSON.parse(a), c = $.makeArray(arguments);\n            ((b.moreCSSBundle ? using(((\"css!\" + b.moreCSSBundle)), d) : d()));\n        };\n    ;\n        if ($(\"html\").hasClass(\"debug\")) {\n            window.DEBUG = a;\n            a.enable(!0);\n        }\n         else a.enable(!1);\n    ;\n    ;\n        var c = $(\"input.swift-boot-module\").map(function(a, b) {\n            return $(b).val();\n        }).toArray();\n        using.apply(this, c.concat(b));\n    });\n} catch (JSBNG_ex) {\n\n};");
+// 1375
+fpc.call(JSBNG_Replay.s19277ddcd28db6dd01a1d67d562dfbbffa3c6a17_1[0], o0,o5);
+// undefined
+o5 = null;
+// 1393
+fpc.call(JSBNG_Replay.s19277ddcd28db6dd01a1d67d562dfbbffa3c6a17_1[0], o0,o4);
+// undefined
+o4 = null;
+// 1410
+fpc.call(JSBNG_Replay.s19277ddcd28db6dd01a1d67d562dfbbffa3c6a17_1[0], o0,o8);
+// undefined
+o8 = null;
+// 1427
+fpc.call(JSBNG_Replay.s19277ddcd28db6dd01a1d67d562dfbbffa3c6a17_1[0], o0,o9);
+// undefined
+o0 = null;
+// undefined
+o9 = null;
+// 1443
+JSBNG_Replay.s19277ddcd28db6dd01a1d67d562dfbbffa3c6a17_4[0]();
+// 1487
+o2["0"] = o3;
+// undefined
+o2 = null;
+// undefined
+o3 = null;
+// 1448
+geval("define(\"app/data/tweet_actions\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function tweetActions() {\n        this.defaultAttrs({\n            successFromEndpoints: {\n                destroy: \"dataDidDeleteTweet\",\n                retweet: \"dataDidRetweet\",\n                favorite: \"dataDidFavoriteTweet\",\n                unretweet: \"dataDidUnretweet\",\n                unfavorite: \"dataDidUnfavoriteTweet\"\n            },\n            errorsFromEndpoints: {\n                destroy: \"dataFailedToDeleteTweet\",\n                retweet: \"dataFailedToRetweet\",\n                favorite: \"dataFailedToFavoriteTweet\",\n                unretweet: \"dataFailedToUnretweet\",\n                unfavorite: \"dataFailedToUnfavoriteTweet\"\n            }\n        }), this.takeAction = function(a, b, c) {\n            var d = function(b) {\n                ((((b && b.message)) && this.trigger(\"uiShowMessage\", {\n                    message: b.message\n                }))), this.trigger(this.attr.successFromEndpoints[a], b), this.trigger(JSBNG__document, \"dataGotProfileStats\", {\n                    stats: b.profile_stats\n                });\n            }, e;\n            ((((((((a === \"favorite\")) || ((a === \"retweet\")))) && ((\"retweetId\" in c)))) ? e = {\n                id: c.retweetId\n            } : e = {\n                id: c.id\n            })), ((c.impressionId && (e.impression_id = c.impressionId, ((c.disclosureType && (e.earned = ((c.disclosureType == \"earned\"))))))));\n            var f = {\n                destroy: \"DELETE\",\n                unretweet: \"DELETE\"\n            };\n            this.JSONRequest({\n                url: ((\"/i/tweet/\" + a)),\n                data: e,\n                eventData: c,\n                success: d.bind(this),\n                error: this.attr.errorsFromEndpoints[a]\n            }, ((f[a] || \"POST\")));\n        }, this.hitEndpoint = function(a) {\n            return this.takeAction.bind(this, a);\n        }, this.getTweet = function(a, b) {\n            var c = {\n                id: b.id\n            };\n            this.get({\n                url: \"/i/tweet/html\",\n                data: c,\n                eventData: b,\n                success: \"dataGotTweet\",\n                error: $.noop\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiDidRetweet\", this.hitEndpoint(\"retweet\")), this.JSBNG__on(\"uiDidUnretweet\", this.hitEndpoint(\"unretweet\")), this.JSBNG__on(\"uiDidDeleteTweet\", this.hitEndpoint(\"destroy\")), this.JSBNG__on(\"uiDidFavoriteTweet\", this.hitEndpoint(\"favorite\")), this.JSBNG__on(\"uiDidUnfavoriteTweet\", this.hitEndpoint(\"unfavorite\")), this.JSBNG__on(\"uiGetTweet\", this.getTweet);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), TweetActions = defineComponent(tweetActions, withData);\n    module.exports = TweetActions;\n});\ndefine(\"app/ui/expando/with_expanding_containers\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withExpandingContainers() {\n        this.MARGIN_ANIMATION_SPEED = 85, this.DETACHED_MARGIN = 8, this.defaultAttrs({\n            openClass: \"open\",\n            openSelector: \".open\",\n            afterExpandedClass: \"after-expanded\",\n            beforeExpandedClass: \"before-expanded\",\n            marginBreaking: !0\n        }), this.flipClassState = function(a, b, c) {\n            a.filter(((\".\" + b))).removeClass(b).addClass(c);\n        }, this.fixMarginForAdjacentItem = function(a) {\n            $(a.target).next().filter(this.attr.openSelector).css(\"margin-top\", this.DETACHED_MARGIN).prev().addClass(this.attr.beforeExpandedClass);\n        }, this.enterDetachedState = function(a, b) {\n            var c = a.prev(), d = a.next();\n            a.addClass(this.attr.openClass), ((this.attr.marginBreaking && a.animate({\n                marginTop: ((c.length ? this.DETACHED_MARGIN : 0)),\n                marginBottom: ((d.length ? this.DETACHED_MARGIN : 0))\n            }, {\n                duration: ((b ? 0 : this.MARGIN_ANIMATION_SPEED))\n            }))), c.addClass(this.attr.beforeExpandedClass), d.addClass(this.attr.afterExpandedClass);\n        }, this.exitDetachedState = function(a, b) {\n            var c = function() {\n                a.prev().removeClass(this.attr.beforeExpandedClass).end().next().removeClass(this.attr.afterExpandedClass);\n            }.bind(this);\n            a.removeClass(this.attr.openClass), ((this.attr.marginBreaking ? a.animate({\n                marginTop: 0,\n                marginBottom: 0\n            }, {\n                duration: ((b ? 0 : this.MARGIN_ANIMATION_SPEED)),\n                complete: c\n            }) : c()));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiHasInjectedTimelineItem uiShouldFixMargins\", this.fixMarginForAdjacentItem);\n        });\n    };\n;\n    module.exports = withExpandingContainers;\n});\ndefine(\"app/ui/expando/expando_helpers\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    var SPEED_COEFFICIENT = 105, expandoHelpers = {\n        buildExpandoStruct: function(a) {\n            var b = a.$tweet, c = b.hasClass(a.originalClass), d = a.preexpanded, e = ((c ? b.closest(a.containingSelector) : b)), f = ((c ? e.get(0) : b.closest(\"li\").get(0))), g = b.closest(a.expansionSelector, f).get(0), h = ((g ? $(g) : $())), i = {\n                $tweet: b,\n                $container: e,\n                $scaffold: h,\n                $ancestors: $(),\n                $descendants: $(),\n                auto_expanded: b.hasClass(\"auto-expanded\"),\n                isTopLevel: c,\n                originalHeight: null,\n                animating: !1,\n                preexpanded: d,\n                skipAnimation: a.skipAnimation,\n                open: ((b.hasClass(a.openedTweetClass) && !d))\n            };\n            return i;\n        },\n        guessGoodSpeed: function() {\n            var a = Math.max.apply(Math, arguments);\n            return Math.round(((((4045 * Math.log(a))) * SPEED_COEFFICIENT)));\n        },\n        getNaturalHeight: function(a) {\n            var b = a.height(), c = a.height(\"auto\").height();\n            return a.height(b), c;\n        },\n        closeAllButPreserveScroll: function(a) {\n            var b = a.$scope.JSBNG__find(a.openSelector);\n            if (!b.length) {\n                return !1;\n            }\n        ;\n        ;\n            var c = $(window).scrollTop(), d = expandoHelpers.firstVisibleItemBelow(a.$scope, a.itemSelector, c);\n            if (((!d || !d.length))) {\n                return !1;\n            }\n        ;\n        ;\n            var e = d.offset().JSBNG__top;\n            b.each(a.callback);\n            var f = d.offset().JSBNG__top, g = ((e - f));\n            return $(window).scrollTop(((c - g))), g;\n        },\n        firstVisibleItemBelow: function(a, b, c) {\n            var d;\n            return a.JSBNG__find(b).each(function() {\n                var a = $(this);\n                if (((a.offset().JSBNG__top >= c))) {\n                    return d = a, !1;\n                }\n            ;\n            ;\n            }), d;\n        }\n    };\n    module.exports = expandoHelpers;\n});\ndefine(\"app/ui/gallery/with_gallery\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    module.exports = function() {\n        this.defaultAttrs({\n            mediaThumbnailSelector: \".media-thumbnail\",\n            previewClass: \"is-preview\"\n        }), this.expandPreview = function(a) {\n            var b = a.closest(this.attr.mediaThumbnailSelector);\n            if (b.hasClass(this.attr.previewClass)) {\n                var c = a.parents(\".tweet.with-media-preview:not(.opened-tweet)\");\n                if (c.length) {\n                    return this.trigger(c, \"uiExpandTweet\"), !0;\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            return !1;\n        }, this.openMediaGallery = function(a) {\n            a.preventDefault(), a.stopPropagation();\n            var b = $(a.target);\n            ((this.expandPreview(b) || this.trigger(a.target, \"uiOpenGallery\", {\n                title: \"Photo\"\n            }))), this.trigger(\"uiMediaThumbnailClick\", {\n                url: b.attr(\"data-url\"),\n                mediaType: ((b.hasClass(\"video\") ? \"video\" : \"photo\"))\n            });\n        }, this.after(\"initialize\", function(a) {\n            ((((a.permalinkCardsGallery || a.timelineCardsGallery)) && this.JSBNG__on(\"click\", {\n                mediaThumbnailSelector: this.openMediaGallery\n            })));\n        });\n    };\n});\ndefine(\"app/ui/with_tweet_translation\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/utils/tweet_helper\",\"app/ui/with_interaction_data\",\"app/utils/rtl_text\",\"core/i18n\",], function(module, require, exports) {\n    function withTweetTranslation() {\n        compose.mixin(this, [withInteractionData,]), this.defaultAttrs({\n            tweetSelector: \"div.tweet\",\n            tweetTranslationSelector: \".tweet-translation\",\n            tweetTranslationTextSelector: \".tweet-translation-text\",\n            translateTweetSelector: \".js-translate-tweet\",\n            translateLabelSelector: \".translate-label\",\n            permalinkContainerSelector: \".permalink-tweet-container\",\n            permalinkClass: \"permalink-tweet-container\"\n        }), this.handleTranslateTweetClick = function(a, b) {\n            var c, d;\n            c = $(a.target).closest(this.attr.tweetSelector);\n            if (((((a.type === \"uiTimelineNeedsTranslation\")) && c.closest(this.attr.permalinkContainerSelector).length))) {\n                return;\n            }\n        ;\n        ;\n            ((c.JSBNG__find(this.attr.tweetTranslationSelector).is(\":hidden\") && (d = this.interactionData(c), d.dest = JSBNG__document.documentElement.getAttribute(\"lang\"), this.trigger(c, \"uiNeedsTweetTranslation\", d))));\n        }, this.showTweetTranslation = function(a, b) {\n            var c;\n            ((b.item_html && (c = this.findTweetTranslation(b.id_str), c.JSBNG__find(this.attr.tweetTranslationTextSelector).html(b.item_html), c.show(), ((this.$node.hasClass(this.attr.permalinkClass) && this.$node.JSBNG__find(this.attr.translateTweetSelector).hide())))));\n        }, this.findTweetTranslation = function(a) {\n            var b = this.$node.JSBNG__find(((((((this.attr.tweetSelector + \"[data-tweet-id=\")) + a.replace(/\\D/g, \"\"))) + \"]\")));\n            return b.JSBNG__find(this.attr.tweetTranslationSelector);\n        }, this.showError = function(a, b) {\n            this.trigger(\"uiShowMessage\", {\n                message: _(\"Unable to translate this Tweet. Please try again later.\")\n            });\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"dataTweetTranslationSuccess\", this.showTweetTranslation), this.JSBNG__on(JSBNG__document, \"dataTweetTranslationError\", this.showError), this.JSBNG__on(JSBNG__document, \"uiTimelineNeedsTranslation\", this.handleTranslateTweetClick), this.JSBNG__on(\"click\", {\n                translateTweetSelector: this.handleTranslateTweetClick\n            });\n        });\n    };\n;\n    var compose = require(\"core/compose\"), tweetHelper = require(\"app/utils/tweet_helper\"), withInteractionData = require(\"app/ui/with_interaction_data\"), RTLText = require(\"app/utils/rtl_text\"), _ = require(\"core/i18n\");\n    module.exports = withTweetTranslation;\n});\ndefine(\"app/ui/tweets\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_tweet_actions\",\"app/ui/with_user_actions\",\"app/ui/gallery/with_gallery\",\"app/ui/with_item_actions\",\"app/ui/with_tweet_translation\",], function(module, require, exports) {\n    var defineComponent = require(\"core/component\"), withTweetActions = require(\"app/ui/with_tweet_actions\"), withUserActions = require(\"app/ui/with_user_actions\"), withGallery = require(\"app/ui/gallery/with_gallery\"), withItemActions = require(\"app/ui/with_item_actions\"), withTweetTranslation = require(\"app/ui/with_tweet_translation\");\n    module.exports = defineComponent(withUserActions, withTweetActions, withGallery, withItemActions, withTweetTranslation);\n});\ndefine(\"app/ui/tweet_injector\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function tweetInjector() {\n        this.defaultAttrs({\n            descendantClass: \"descendant\",\n            descendantScribeContext: \"replies\",\n            tweetSelector: \".tweet\"\n        }), this.insertTweet = function(a, b) {\n            var c = this.$node.closest(\".permalink\");\n            ((c.length && (c.addClass(\"has-replies\"), this.$node.closest(\".replies-to\").removeClass(\"hidden\"))));\n            var d = $(b.tweet_html);\n            d.JSBNG__find(this.attr.tweetSelector).addClass(this.attr.descendantClass).attr(\"data-component-context\", this.attr.descendantScribeContext);\n            var e;\n            ((this.attr.guard(b) && (e = this.$node.JSBNG__find(\".view-more-container\"), ((e.length ? d.insertBefore(e.closest(\"li\")) : this.$node.append(d))), this.trigger(\"uiTweetInserted\", b))));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataTweetSuccess\", this.insertTweet);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(tweetInjector);\n});\ndefine(\"app/ui/expando/with_expanding_social_activity\", [\"module\",\"require\",\"exports\",\"app/ui/expando/expando_helpers\",\"core/i18n\",\"app/utils/tweet_helper\",\"app/ui/tweets\",\"app/ui/tweet_injector\",], function(module, require, exports) {\n    function withExpandingSocialActivity() {\n        this.defaultAttrs({\n            animating: \"animating\",\n            socialProofSelector: \".js-tweet-stats-container\",\n            requestRetweetedSelector: \".request-retweeted-popup\",\n            requestFavoritedSelector: \".request-favorited-popup\",\n            targetTweetSelector: \".tweet\",\n            targetTitleSelector: \"[data-activity-popup-title]\",\n            inlineReplyTweetBoxFormSelector: \".inline-reply-tweetbox .tweet-form\",\n            inlineReplyTweetBoxFormCloneSrcSelector: \"#inline-reply-tweetbox .tweet-form\",\n            inlineReplyTweetboxSelector: \".inline-reply-tweetbox\",\n            inlineReplyUserImageSelector: \".inline-reply-user-image\",\n            permalinkTweetClasses: \"opened-tweet permalink-tweet\",\n            parentStreamItemSelector: \".stream-item\",\n            viewMoreContainerSelector: \".view-more-container\",\n            ancestorsSelector: \".ancestor-items\\u003Eli\",\n            descendantsSelector: \".tweets-wrapper\\u003Eli\"\n        }), this.calculateMargins = function(a) {\n            var b, c, d = 0, e = 0;\n            ((a.$ancestors.length && (c = a.$ancestors.first(), d = Math.abs(parseInt(c.css(\"marginTop\"), 10)), ((d || (d = ((a.$tweet.offset().JSBNG__top - c.offset().JSBNG__top))))))));\n            var f, g, h;\n            return ((a.$descendants.length && (f = a.$descendants.last(), e = Math.abs(parseInt(f.css(\"marginBottom\"), 10)), ((e || (b = a.$tweet.JSBNG__outerHeight(), g = f.JSBNG__outerHeight(), h = f.offset().JSBNG__top, e = ((((h + g)) - ((b + a.$tweet.offset().JSBNG__top)))))))))), {\n                JSBNG__top: d,\n                bottom: e\n            };\n        }, this.animateScaffoldHeight = function(a) {\n            var b = a.expando, c = a.marginTop, d = a.marginBottom, e = b.$ancestors.length, f = b.$descendants.length, g;\n            ((((a.noAnimation || ((!b.open && !b.animating)))) ? g = 0 : ((((e || f)) ? g = a.speed : g = expandoHelpers.guessGoodSpeed(Math.abs(((b.$scaffold.height() - a.height))))))));\n            var h = 1;\n            ((e && h++)), ((f && h++));\n            var i = function() {\n                h--, ((((h == 0)) && (b.animating = !1, ((e && b.$ancestors.first().css(\"marginTop\", \"\"))), ((f && b.$descendants.last().css(\"marginBottom\", \"\"))), ((a.complete && a.complete())))));\n            }.bind(this);\n            b.$scaffold.animate({\n                height: a.height\n            }, {\n                duration: g,\n                complete: i\n            }), ((e && b.$ancestors.first().animate({\n                marginTop: c\n            }, {\n                duration: g,\n                step: a.stepFn,\n                complete: i\n            }))), ((f && b.$descendants.last().animate({\n                marginBottom: d\n            }, {\n                duration: g,\n                complete: i\n            })));\n        }, this.animateTweetOpen = function(a) {\n            var b = a.expando, c = expandoHelpers.getNaturalHeight(b.$scaffold), d = this.calculateMargins(b), e = a.complete;\n            b.animating = !0, ((b.$ancestors.length && b.$ancestors.first().css(\"margin-top\", -d.JSBNG__top))), ((b.$descendants.length && b.$descendants.last().css(\"margin-bottom\", -d.bottom))), this.animateScaffoldHeight({\n                expando: b,\n                height: c,\n                noAnimation: a.noAnimation,\n                speed: expandoHelpers.guessGoodSpeed(d.JSBNG__top, d.bottom),\n                marginTop: 0,\n                marginBottom: 0,\n                complete: function() {\n                    b.$scaffold.height(\"auto\"), ((e && e()));\n                }.bind(this)\n            });\n        }, this.animateTweetClosed = function(a) {\n            var b = a.expando, c = this.calculateMargins(b), d = a.complete;\n            b.animating = !0, this.animateScaffoldHeight({\n                expando: b,\n                height: b.originalHeight,\n                noAnimation: a.noAnimation,\n                speed: expandoHelpers.guessGoodSpeed(c.JSBNG__top, c.bottom),\n                stepFn: a.stepFn,\n                marginTop: -c.JSBNG__top,\n                marginBottom: -c.bottom,\n                complete: function() {\n                    b.$scaffold.height(b.originalHeight), b.$container.css({\n                        \"margin-top\": \"\",\n                        \"margin-bottom\": \"\"\n                    }), ((d && d()));\n                }\n            });\n        }, this.initTweetsInConversation = function(a) {\n            ((((a.$container.closest(this.attr.parentStreamItemSelector).length && a.$scaffold.JSBNG__find(this.attr.inlineReplyTweetboxSelector).length)) && (Tweets.attachTo(a.$scaffold, {\n                screenName: this.attr.screenName,\n                loggedIn: this.attr.loggedIn,\n                itemType: a.$container.attr(\"data-item-type\")\n            }), ((this.attr.loggedIn && TweetInjector.attachTo(a.$scaffold, {\n                guard: function(b) {\n                    return ((b.in_reply_to_status_id == a.$tweet.attr(\"data-tweet-id\")));\n                }\n            }))))));\n        }, this.animateConversationEntrance = function(a, b) {\n            var c = $(a.target).data(\"expando\"), d = $(a.target).attr(\"focus-reply\");\n            $(a.target).removeAttr(\"focus-reply\"), ((c.$tweet.data(\"is-reply-to\") || (b.ancestors = \"\"))), c.$scaffold.height(c.$scaffold.JSBNG__outerHeight());\n            var e = $(b.ancestors), f = $(b.descendants);\n            c.$ancestors = e.JSBNG__find(this.attr.ancestorsSelector), c.$descendants = f.JSBNG__find(this.attr.descendantsSelector);\n            var g = ((c.$ancestors.length || c.$descendants.length));\n            ((g && this.trigger(c.$tweet, \"uiRenderingExpandedConversation\"))), c.$tweet.after(f.JSBNG__find(this.attr.inlineReplyTweetboxSelector)), c.$scaffold.prepend(c.$ancestors), c.$scaffold.append(c.$descendants);\n            var h = f.JSBNG__find(this.attr.viewMoreContainerSelector), i;\n            ((h.length && (i = $(\"\\u003Cli/\\u003E\"), h.appendTo(i), c.$scaffold.append(i), c.$descendants = c.$descendants.add(i))));\n            var j = this.renderInlineTweetbox(c, b.sourceEventData);\n            this.animateTweetOpen({\n                expando: c,\n                complete: function() {\n                    c.open = !0, c.$scaffold.removeClass(this.attr.animating), c.$scaffold.css(\"height\", \"auto\"), this.trigger(c.$tweet, \"uiTimelineNeedsTranslation\"), ((((d && j)) && this.trigger(j, \"uiExpandFocus\")));\n                }.bind(this)\n            }), this.initTweetsInConversation(c), ((g && this.trigger(c.$tweet, \"uiExpandedConversationRendered\")));\n        }, this.renderConversation = function(a, b) {\n            var c = $(a.target).data(\"expando\");\n            if (!c) {\n                return;\n            }\n        ;\n        ;\n            ((c.animating ? c.$scaffold.queue(function() {\n                this.animateConversationEntrance(a, b), c.$scaffold.dequeue();\n            }.bind(this)) : this.animateConversationEntrance(a, b)));\n        }, this.renderInlineTweetbox = function(a, b) {\n            var c, d = a.$scaffold.JSBNG__find(this.attr.inlineReplyTweetBoxFormSelector);\n            ((((d.length === 0)) && (d = $(this.attr.inlineReplyTweetBoxFormCloneSrcSelector).clone(), c = ((\"tweet-box-reply-to-\" + a.$tweet.attr(\"data-tweet-id\"))), d.JSBNG__find(\"textarea\").attr(\"id\", c), d.JSBNG__find(\"label\").attr(\"for\", c), a.$scaffold.JSBNG__find(this.attr.inlineReplyTweetboxSelector).empty(), d.appendTo(a.$scaffold.JSBNG__find(this.attr.inlineReplyTweetboxSelector)))));\n            var e = tweetHelper.extractMentionsForReply(a.$tweet, this.attr.screenName), f = ((((\"@\" + e.join(\" @\"))) + \" \"));\n            b = ((b || {\n            }));\n            var g = {\n                condensable: !0,\n                defaultText: f,\n                condensedText: _(\"Reply to {{screen_names}}\", {\n                    screen_names: f\n                }),\n                inReplyToTweetData: b,\n                inReplyToStatusId: a.$tweet.attr(\"data-tweet-id\"),\n                impressionId: a.$tweet.attr(\"data-impression-id\"),\n                disclosureType: a.$tweet.attr(\"data-disclosure-type\"),\n                eventData: {\n                    scribeContext: {\n                        component: \"tweet_box_inline_reply\"\n                    }\n                }\n            };\n            return ((b.itemType && (g.itemType = b.itemType))), this.trigger(d, \"uiInitTweetbox\", g), d;\n        }, this.renderEmptyConversation = function(a, b) {\n            this.renderConversation(a);\n        }, this.requestActivityPopup = function(a) {\n            var b = $(a.target), c = b.closest(this.attr.targetTweetSelector), d = !!b.closest(this.attr.requestRetweetedSelector).length;\n            a.preventDefault(), a.stopPropagation(), this.trigger(\"uiRequestActivityPopup\", {\n                titleHtml: b.closest(this.attr.targetTitleSelector).attr(\"data-activity-popup-title\"),\n                tweetHtml: $(\"\\u003Cdiv\\u003E\").html(c.clone().removeClass(this.attr.permalinkTweetClasses)).html(),\n                isRetweeted: d\n            });\n        }, this.renderSocialProof = function(a, b) {\n            var c = $(a.target).JSBNG__find(this.attr.socialProofSelector);\n            ((c.JSBNG__find(\".stats\").length || c.append(b.social_proof))), $(a.target).trigger(\"uiHasRenderedTweetSocialProof\");\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataTweetConversationResult\", this.renderConversation), this.JSBNG__on(JSBNG__document, \"dataTweetSocialProofResult\", this.renderSocialProof), this.JSBNG__on(\"click\", {\n                requestRetweetedSelector: this.requestActivityPopup,\n                requestFavoritedSelector: this.requestActivityPopup\n            });\n        });\n    };\n;\n    var expandoHelpers = require(\"app/ui/expando/expando_helpers\"), _ = require(\"core/i18n\"), tweetHelper = require(\"app/utils/tweet_helper\"), Tweets = require(\"app/ui/tweets\"), TweetInjector = require(\"app/ui/tweet_injector\");\n    module.exports = withExpandingSocialActivity;\n});\ndefine(\"app/ui/expando/expanding_tweets\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/ui/expando/with_expanding_containers\",\"app/ui/expando/with_expanding_social_activity\",\"app/ui/expando/expando_helpers\",\"app/utils/caret\",], function(module, require, exports) {\n    function expandingTweets() {\n        this.defaultAttrs({\n            playerCardIframeSelector: \".cards-base.cards-multimedia iframe, .card2 iframe\",\n            insideProxyTweet: \".proxy-tweet-container *\",\n            expandingTweetSelector: \".js-stream-tweet\",\n            topLevelTweetSelector: \".js-stream-tweet.original-tweet\",\n            tweetSelector: \".tweet\",\n            detailsSelector: \".js-tweet-details-dropdown\",\n            expansionSelector: \".expansion-container\",\n            expandedContentSelector: \".expanded-content\",\n            expansionClasses: \"expansion-container js-expansion-container animating\",\n            openedTweetClass: \"opened-tweet\",\n            originalTweetClass: \"original-tweet\",\n            withSocialProofClass: \"with-social-proof\",\n            expandoHandleSelector: \".js-open-close-tweet span\",\n            containingItemSelector: \".js-stream-item\",\n            preexpandedOpenTweetSelector: \"li.js-preexpanded div.opened-tweet\",\n            preexpandedTweetClass: \"preexpanded\",\n            expandedIframeDataStash: \"data-expando-iframe-media-url\",\n            jsLinkSelector: \".js-link\",\n            tweetFormSelector: \".tweet-form\",\n            withheldTweetClass: \"withheld-tweet\",\n            jsDetailsSelector: \".js-details\",\n            jsStreamItemSelector: \".js-stream-item\",\n            jsTranslateTweetSelector: \".js-translate-tweet\",\n            openedOriginalTweetSelector: \".js-original-tweet.opened-tweet\",\n            expandedConversationSelector: \".expanded-conversation\",\n            expandedConversationClass: \"expanded-conversation\",\n            inlineReplyTweetBoxSelector: \".inline-reply-tweetbox\",\n            openChildrenSelector: \".ancestor.opened-tweet,.descendant.opened-tweet\",\n            enableAnimation: !0,\n            SCROLL_TOP_OFFSET: 55,\n            MAX_PLAYER_WIDTH_IN_PIXELS: 435,\n            hasConversationModuleClass: \"has-conversation-module\",\n            conversationModuleSelector: \".conversation-module\",\n            conversationRootClass: \"conversation-root\",\n            hadConversationClass: \"had-conversation\",\n            animatingClass: \"animating\"\n        }), this.handleTweetClick = function(a, b) {\n            var c = $(b.el);\n            ((this.shouldExpandWhenTargetIs($(a.target), c) && (a.preventDefault(), ((this.handleConversationExpansion(c) || this.expandTweet(c))))));\n        }, this.handleConversationExpansion = function(a) {\n            if (a.hasClass(this.attr.conversationRootClass)) {\n                return a.trigger(\"uiExpandConversationRoot\"), !0;\n            }\n        ;\n        ;\n            if (a.closest(this.attr.containingItemSelector).hasClass(this.attr.hadConversationClass)) {\n                return a.trigger(\"uiRestoreConversationModule\"), !0;\n            }\n        ;\n        ;\n        }, this.shouldExpandWhenTargetIs = function(a, b) {\n            var c = b.hasClass(this.attr.withheldTweetClass), d = a.is(this.attr.expandoHandleSelector), e = ((a.closest(this.attr.jsDetailsSelector, b).length > 0)), f = ((a.closest(this.attr.jsTranslateTweetSelector, b).length > 0)), g = ((((!a.closest(\"a\", b).length && !a.closest(\"button\", b).length)) && !a.closest(this.attr.jsLinkSelector, b).length));\n            return ((((((((((d || g)) || e)) || f)) && !c)) && !this.selectedText()));\n        }, this.selectedText = function() {\n            return caret.JSBNG__getSelection();\n        }, this.resetCard = function(a, b) {\n            b = ((((b || a.data(\"expando\"))) || this.loadTweet(a)));\n            if (b.auto_expanded) {\n                return;\n            }\n        ;\n        ;\n            var c = this;\n            a.JSBNG__find(this.attr.playerCardIframeSelector).each(function(a, b) {\n                b.setAttribute(c.attr.expandedIframeDataStash, b.src), b.src = \"\";\n            });\n        }, this.expandItem = function(a, b) {\n            this.expandTweet($(a.target).JSBNG__find(this.attr.tweetSelector).eq(0), b);\n        }, this.expandTweetByReply = function(a, b) {\n            var c = $(a.target);\n            c.attr(\"focus-reply\", !0), b.focusReply = !0, this.expandTweet(c, b);\n        }, this.focusReplyTweetbox = function(a) {\n            var b = a.parent().JSBNG__find(this.attr.tweetFormSelector);\n            ((((b.length > 0)) && this.trigger(b, \"uiExpandFocus\")));\n        }, this.expandTweet = function(a, b) {\n            b = ((b || {\n            }));\n            var c = ((a.data(\"expando\") || this.loadTweet(a, b)));\n            if (c.open) {\n                if (b.focusReply) {\n                    this.focusReplyTweetbox(a);\n                    return;\n                }\n            ;\n            ;\n                this.closeTweet(a, c, b);\n            }\n             else this.openTweet(a, c, b);\n        ;\n        ;\n        }, this.collapseTweet = function(a, b) {\n            (($(b).hasClass(this.attr.openedTweetClass) && this.expandTweet($(b), {\n                noAnimation: !0\n            })));\n        }, this.loadTweet = function(a, b) {\n            b = ((b || {\n            }));\n            var c = ((b.expando || expandoHelpers.buildExpandoStruct({\n                $tweet: a,\n                preexpanded: b.preexpanded,\n                openedTweetClass: this.attr.openedTweetClass,\n                expansionSelector: this.attr.expansionSelector,\n                originalClass: this.attr.originalTweetClass,\n                containingSelector: this.attr.containingItemSelector\n            })));\n            a.data(\"expando\", c);\n            var d;\n            this.setOriginalHeight(a, c);\n            if (((((((!c.$descendants.length || !c.$ancestors.length)) || c.preexpanded)) || c.auto_expanded))) {\n                this.scaffoldForAnimation(a, c), delete b.focusReply, this.loadHtmlFragmentsFromAttributes(a, c, b), this.resizePlayerCards(a);\n            }\n        ;\n        ;\n            return c;\n        }, this.setOriginalHeight = function(a, b) {\n            a.removeClass(this.attr.openedTweetClass), b.originalHeight = a.JSBNG__outerHeight(), a.addClass(this.attr.openedTweetClass);\n        }, this.resizePlayerCard = function(a, b) {\n            var c = $(b), d = parseFloat(c.attr(\"width\"));\n            if (((d > this.attr.MAX_PLAYER_WIDTH_IN_PIXELS))) {\n                var e = parseFloat(c.attr(\"height\")), f = ((d / e)), g = ((this.attr.MAX_PLAYER_WIDTH_IN_PIXELS / f));\n                c.attr(\"width\", this.attr.MAX_PLAYER_WIDTH_IN_PIXELS), c.attr(\"height\", Math.floor(g));\n            }\n        ;\n        ;\n        }, this.resizePlayerCards = function(a) {\n            var b = a.JSBNG__find(this.attr.playerCardIframeSelector);\n            b.each(this.resizePlayerCard.bind(this));\n        }, this.loadPreexpandedTweet = function(a, b) {\n            var c = $(b), d = this.loadTweet(c, {\n                preexpanded: !0\n            });\n            this.openTweet(c, d, {\n                skipAnimation: !0\n            });\n            var e = $.trim(c.JSBNG__find(this.attr.expandedContentSelector).html());\n            ((e && c.attr(\"data-expanded-footer\", e))), this.JSBNG__on(b, \"uiHasAddedLegacyMediaIcon\", function() {\n                this.setOriginalHeight(c, d), this.trigger(b, \"uiWantsMediaForTweet\", {\n                });\n            });\n        }, this.createStepFn = function(a) {\n            var b = $(window), c = Math.abs(((a.from - a.to))), d = Math.min(a.from, a.to), e = a.expando.$container.offset().JSBNG__top, f = b.scrollTop(), g = ((((f + this.attr.SCROLL_TOP_OFFSET)) - e)), h = function(a) {\n                var e = ((a - d)), h = ((e / c));\n                ((((g > 0)) && b.scrollTop(((f - ((g * ((1 - h)))))))));\n            };\n            return h;\n        }, this.openTweet = function(a, b, c) {\n            ((b.isTopLevel && this.enterDetachedState(b.$container, c.skipAnimation))), this.beforeOpeningTweet(b);\n            if (((!this.attr.enableAnimation || c.skipAnimation))) {\n                return this.afterOpeningTweet(b);\n            }\n        ;\n        ;\n            this.trigger(a, \"uiHasExpandedTweet\", {\n                organicExpansion: !c.focusReply,\n                impressionId: a.closest(\"[data-impression-id]\").attr(\"data-impression-id\"),\n                disclosureType: a.closest(\"[data-impression-id]\").attr(\"data-disclosure-type\")\n            });\n            var d = {\n                expando: b\n            };\n            ((a.hasClass(this.attr.originalTweetClass) || (d.complete = function() {\n                this.afterOpeningTweet(b);\n            }.bind(this)))), this.animateTweetOpen(d);\n        }, this.beforeOpeningTweet = function(a) {\n            if (a.$tweet.is(this.attr.insideProxyTweet)) {\n                return;\n            }\n        ;\n        ;\n            ((a.auto_expanded || a.$tweet.JSBNG__find(((((\"iframe[\" + this.attr.expandedIframeDataStash)) + \"]\"))).each(function(a, b) {\n                var c = b.getAttribute(this.attr.expandedIframeDataStash);\n                ((!c || (b.src = c)));\n            }.bind(this)))), a.$tweet.addClass(this.attr.openedTweetClass);\n        }, this.afterOpeningTweet = function(a) {\n            if (a.$tweet.is(this.attr.insideProxyTweet)) {\n                return;\n            }\n        ;\n        ;\n            a.open = !0, a.$scaffold.removeClass(this.attr.animatingClass), a.$scaffold.css(\"height\", \"auto\"), a.$container.removeClass(this.attr.preexpandedTweetClass), this.trigger(a.$tweet, \"uiTimelineNeedsTranslation\");\n        }, this.removeExpando = function(a, b) {\n            var c = a.JSBNG__find(this.attr.jsDetailsSelector).is(JSBNG__document.activeElement), d, e;\n            ((((a.closest(\".supplement\").length || !b.isTopLevel)) ? d = b.$scaffold.parent() : d = a.closest(this.attr.jsStreamItemSelector))), ((a.hasClass(this.attr.hasConversationModuleClass) ? (e = a.closest(this.attr.conversationModuleSelector), e.JSBNG__find(\".descendant\").closest(\"li\").remove(), e.JSBNG__find(\".view-more-container\").closest(\"li\").remove(), e.JSBNG__find(this.attr.inlineReplyTweetBoxSelector).remove(), b.$scaffold.css(\"height\", \"auto\"), a.data(\"expando\", null)) : (e = a, d.html(e)))), d.removeClass(\"js-has-navigable-stream\"), ((c && d.JSBNG__find(this.attr.jsDetailsSelector).JSBNG__focus())), this.trigger(d, \"uiSelectItem\", {\n                setFocus: !c\n            });\n        }, this.closeTweet = function(a, b, c) {\n            ((b.isTopLevel && this.exitDetachedState(b.$container, c.noAnimation)));\n            var d = function() {\n                this.resetCard(a, b), b.open = !1, a.removeClass(this.attr.openedTweetClass), b.$scaffold.removeClass(this.attr.animatingClass), this.removeExpando(a, b), this.trigger(a, \"uiHasCollapsedTweet\");\n            }.bind(this), e = this.createStepFn({\n                expando: b,\n                to: b.originalHeight,\n                from: b.$scaffold.height()\n            });\n            b.$scaffold.addClass(this.attr.animatingClass), this.animateTweetClosed({\n                expando: b,\n                complete: d,\n                stepFn: e,\n                noAnimation: c.noAnimation\n            });\n        }, this.hasConversationModule = function(a) {\n            return a.hasClass(this.attr.hasConversationModuleClass);\n        }, this.shouldLoadFullConversation = function(a, b) {\n            return ((((b.isTopLevel && !b.preexpanded)) && !this.hasConversationModule(a)));\n        }, this.loadHtmlFragmentsFromAttributes = function(a, b, c) {\n            ((a.JSBNG__find(this.attr.detailsSelector).children().length || (a.JSBNG__find(this.attr.detailsSelector).append($(a.data(\"expanded-footer\"))), this.trigger(a, \"uiWantsMediaForTweet\"))));\n            var d = utils.merge(c, {\n                fullConversation: this.shouldLoadFullConversation(a, b),\n                descendantsOnly: this.hasConversationModule(a),\n                facepileMax: ((b.isTopLevel ? 7 : 6))\n            });\n            ((((b.isTopLevel && b.preexpanded)) && a.attr(\"data-use-reply-dialog\", \"true\"))), delete d.expando, this.trigger(a, \"uiNeedsTweetExpandedContent\", d);\n        }, this.scaffoldForAnimation = function(a, b) {\n            if (!this.attr.enableAnimation) {\n                return;\n            }\n        ;\n        ;\n            var c = a.JSBNG__find(this.attr.jsDetailsSelector).is(JSBNG__document.activeElement), d;\n            ((c && (d = JSBNG__document.activeElement)));\n            var e, f, g, h = {\n                class: this.attr.expansionClasses,\n                height: b.originalHeight\n            };\n            ((a.closest(this.attr.topLevelTweetSelector).length ? ((a.closest(this.attr.conversationModuleSelector).length ? (e = a.closest(this.attr.conversationModuleSelector), e.addClass(this.attr.expansionClasses), e.height(e.JSBNG__outerHeight()), b.originalHeight = e.JSBNG__outerHeight()) : (h[\"class\"] = [this.attr.expandedConversationClass,this.attr.expansionClasses,\"js-navigable-stream\",].join(\" \"), e = $(\"\\u003Col/\\u003E\", h), e.appendTo(a.parent()), f = $(\"\\u003Cli class=\\\"original-tweet-container\\\"/\\u003E\"), f.appendTo(e), b.$container.addClass(\"js-has-navigable-stream\"), a.appendTo(f), this.trigger(e.JSBNG__find(\".original-tweet-container\"), \"uiSelectItem\", {\n                setFocus: !c\n            })))) : (e = $(\"\\u003Cdiv/\\u003E\", h), e.appendTo(a.parent()), a.appendTo(e), g = e.parent().JSBNG__find(this.attr.inlineReplyTweetBoxSelector), ((g.length && g.appendTo(e)))))), ((d && d.JSBNG__focus())), b.$scaffold = e;\n        }, this.indicateSocialProof = function(a, b) {\n            var c = $(a.target);\n            ((b.social_proof && c.addClass(this.attr.withSocialProofClass)));\n        }, this.closeAllChildTweets = function(a) {\n            a.$scaffold.JSBNG__find(this.attr.openChildrenSelector).each(this.collapseTweet.bind(this));\n        }, this.closeAllTopLevelTweets = function() {\n            expandoHelpers.closeAllButPreserveScroll({\n                $scope: this.$node,\n                openSelector: this.attr.openedOriginalTweetSelector,\n                itemSelector: this.attr.jsStreamItemSelector,\n                callback: this.collapseTweet.bind(this)\n            });\n        }, this.fullyLoadPreexpandedTweets = function() {\n            this.select(\"preexpandedOpenTweetSelector\").each(this.loadPreexpandedTweet.bind(this));\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(\"dataTweetSocialProofResult\", this.indicateSocialProof), this.JSBNG__on(\"uiShouldToggleExpandedState\", this.expandItem), this.JSBNG__on(\"uiPromotionCardUrlClick\", this.expandItem), this.JSBNG__on(\"click uiExpandTweet\", {\n                expandingTweetSelector: this.handleTweetClick\n            }), this.JSBNG__on(\"expandTweetByReply\", this.expandTweetByReply), this.JSBNG__on(\"uiWantsToCloseAllTweets\", this.closeAllTopLevelTweets), this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded uiPageChanged uiHasInjectedNewTimeline\", this.fullyLoadPreexpandedTweets), this.before(\"teardown\", this.closeAllTopLevelTweets);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withExpandingContainers = require(\"app/ui/expando/with_expanding_containers\"), withExpandingSocialActivity = require(\"app/ui/expando/with_expanding_social_activity\"), expandoHelpers = require(\"app/ui/expando/expando_helpers\"), caret = require(\"app/utils/caret\");\n    module.exports = defineComponent(expandingTweets, withExpandingContainers, withExpandingSocialActivity);\n});\ndefine(\"app/ui/embed_stats\", [\"module\",\"require\",\"exports\",\"app/ui/with_item_actions\",\"core/component\",], function(module, require, exports) {\n    function embedStats() {\n        this.defaultAttrs({\n            permalinkSelector: \".permalink-tweet\",\n            embeddedLinkSelector: \".embed-stats-url-link\",\n            moreButtonSelector: \".embed-stats-more-button\",\n            moreStatsContainerSelector: \".embed-stats-more\",\n            itemType: \"user\"\n        }), this.expandMoreResults = function(a) {\n            this.select(\"moreButtonSelector\").hide(), this.select(\"moreStatsContainerSelector\").show(), this.trigger(\"uiExpandedMoreEmbeddedTweetLinks\", {\n                tweetId: this.tweetId\n            }), a.preventDefault();\n        }, this.clickLink = function(a) {\n            this.trigger(\"uiClickedEmbeddedTweetLink\", {\n                tweetId: this.tweetId,\n                url: (($(a.target).data(\"expanded-url\") || a.target.href))\n            });\n        }, this.after(\"initialize\", function() {\n            this.tweetId = this.select(\"permalinkSelector\").data(\"tweet-id\"), this.JSBNG__on(\"click\", {\n                embeddedLinkSelector: this.clickLink,\n                moreButtonSelector: this.expandMoreResults\n            });\n        });\n    };\n;\n    var withItemActions = require(\"app/ui/with_item_actions\"), defineComponent = require(\"core/component\");\n    module.exports = defineComponent(embedStats, withItemActions);\n});\ndefine(\"app/data/url_resolver\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function urlResolver() {\n        this.resolveLink = function(a, b) {\n            JSBNG__clearTimeout(this.batch);\n            var c = this.linksToResolve[b.url];\n            c = ((c || [])), c.push(a.target), this.linksToResolve[b.url] = c, this.batch = JSBNG__setTimeout(this.sendBatchRequest.bind(this), 0);\n        }, this.sendBatchRequest = function() {\n            var a = Object.keys(this.linksToResolve);\n            if (((a.length === 0))) {\n                return;\n            }\n        ;\n        ;\n            this.get({\n                data: {\n                    urls: a\n                },\n                eventData: {\n                },\n                url: \"/i/resolve.json\",\n                headers: {\n                    \"X-PHX\": !0\n                },\n                type: \"JSON\",\n                success: this.handleBatch.bind(this),\n                error: \"dataBatchRequestError\"\n            });\n        }, this.handleBatch = function(a) {\n            delete a.sourceEventData, Object.keys(a).forEach(function(b) {\n                ((this.linksToResolve[b] && this.linksToResolve[b].forEach(function(c) {\n                    this.trigger(c, \"dataDidResolveUrl\", {\n                        url: a[b]\n                    });\n                }, this))), delete this.linksToResolve[b];\n            }, this);\n        }, this.after(\"initialize\", function() {\n            this.linksToResolve = {\n            }, this.JSBNG__on(\"uiWantsLinkResolution\", this.resolveLink);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), UrlResolver = defineComponent(urlResolver, withData);\n    module.exports = UrlResolver;\n});\ndefine(\"app/ui/media/with_native_media\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withNativeMedia() {\n        this.defaultAttrs({\n            expandedContentHolderWithPreloadableMedia: \"div[data-expanded-footer].has-preloadable-media\"\n        }), this.preloadEmbeddedMedia = function(a) {\n            $(a.target).JSBNG__find(this.attr.expandedContentHolderWithPreloadableMedia).each(function(a, b) {\n                $(\"\\u003Cdiv/\\u003E\").append($(b).data(\"expanded-footer\")).remove();\n            });\n        }, this.after(\"initialize\", function() {\n            this.preloadEmbeddedMedia({\n                target: this.$node\n            }), this.JSBNG__on(\"uiHasInjectedTimelineItem\", this.preloadEmbeddedMedia);\n        });\n    };\n;\n    module.exports = withNativeMedia;\n});\nprovide(\"app/ui/media/media_tweets\", function(a) {\n    using(\"core/component\", \"app/ui/media/with_legacy_media\", \"app/ui/media/with_native_media\", function(b, c, d) {\n        var e = b(c, d);\n        a(e);\n    });\n});\ndefine(\"app/data/trends\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/setup_polling_with_backoff\",\"app/data/with_data\",], function(module, require, exports) {\n    function trendsData() {\n        this.defaultAttrs({\n            src: \"module\",\n            $backoffNode: $(window),\n            trendsPollingOptions: {\n                focusedInterval: 300000,\n                blurredInterval: 1200000,\n                eventData: {\n                    source: \"clock\"\n                }\n            }\n        }), this.makeTrendsRequest = function(a) {\n            var b = a.woeid, c = a.source, d = function(a) {\n                a.source = c, this.trigger(\"dataTrendsRefreshed\", a);\n            };\n            this.get({\n                url: \"/trends\",\n                eventData: a,\n                data: {\n                    k: this.currentCacheKey,\n                    woeid: b,\n                    pc: !0,\n                    personalized: a.personalized,\n                    src: this.attr.src\n                },\n                success: d.bind(this),\n                error: \"dataTrendsRefreshedError\"\n            });\n        }, this.makeTrendsDialogRequest = function(a, b) {\n            var c = {\n                woeid: a.woeid,\n                personalized: a.personalized,\n                pc: !0\n            }, d = function(a) {\n                this.trigger(\"dataGotTrendsDialog\", a), ((((this.currentWoeid && ((this.currentWoeid !== a.woeid)))) && this.trigger(\"dataTrendsLocationChanged\"))), this.currentWoeid = a.woeid, ((a.trends_cache_key && (this.currentCacheKey = a.trends_cache_key, this.trigger(\"dataPageMutated\")))), ((a.module_html && this.trigger(\"dataTrendsRefreshed\", a)));\n            }, e = ((b ? this.post : this.get));\n            e.call(this, {\n                url: \"/trends/dialog\",\n                eventData: a,\n                data: c,\n                success: d.bind(this),\n                error: \"dataGotTrendsDialogError\"\n            });\n        }, this.changeTrendsLocation = function(a, b) {\n            this.makeTrendsDialogRequest(b, !0);\n        }, this.refreshTrends = function(a, b) {\n            b = ((b || {\n            })), this.makeTrendsRequest(b);\n        }, this.getTrendsDialog = function(a, b) {\n            b = ((b || {\n            })), this.makeTrendsDialogRequest(b);\n        }, this.updateTrendsCacheKey = function(a, b) {\n            this.currentCacheKey = b.trendsCacheKey;\n        }, this.after(\"initialize\", function(a) {\n            this.currentCacheKey = a.trendsCacheKey, this.timer = setupPollingWithBackoff(\"uiRefreshTrends\", this.attr.$backoffNode, this.attr.trendsPollingOptions), this.JSBNG__on(\"uiWantsTrendsDialog\", this.getTrendsDialog), this.JSBNG__on(\"uiChangeTrendsLocation\", this.changeTrendsLocation), this.JSBNG__on(\"uiRefreshTrends\", this.refreshTrends), this.JSBNG__on(\"dataTempTrendsCacheKeyChanged\", this.updateTrendsCacheKey);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), setupPollingWithBackoff = require(\"app/utils/setup_polling_with_backoff\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(trendsData, withData);\n});\ndefine(\"app/data/trends/location_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function trendsLocationDialogData() {\n        this.getTrendsLocationDialog = function(a, b) {\n            var c = function(a) {\n                this.trigger(\"dataGotTrendsLocationDialog\", a), ((a.trendLocations && this.trigger(\"dataLoadedTrendLocations\", {\n                    trendLocations: a.trendLocations\n                })));\n            };\n            this.get({\n                url: \"/trends/location_dialog\",\n                eventData: b,\n                success: c.bind(this),\n                error: \"dataGotTrendsLocationDialogError\"\n            });\n        }, this.updateTrendsLocation = function(a, b) {\n            var c = ((b.JSBNG__location || {\n            })), d = {\n                woeid: c.woeid,\n                personalized: b.personalized,\n                pc: !0\n            }, e = function(a) {\n                this.trigger(\"dataChangedTrendLocation\", {\n                    personalized: a.personalized,\n                    JSBNG__location: c\n                }), ((a.trends_cache_key && (this.trigger(\"dataTempTrendsCacheKeyChanged\", {\n                    trendsCacheKey: a.trends_cache_key\n                }), this.trigger(\"dataPageMutated\")))), ((a.module_html && this.trigger(\"dataTrendsRefreshed\", a)));\n            };\n            this.post({\n                url: \"/trends/dialog\",\n                eventData: b,\n                data: d,\n                success: e.bind(this),\n                error: \"dataGotTrendsLocationDialogError\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiWantsTrendsLocationDialog\", this.getTrendsLocationDialog), this.JSBNG__on(\"uiChangeLocation\", this.updateTrendsLocation);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(trendsLocationDialogData, withData);\n});\ndefine(\"app/data/trends/recent_locations\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/storage/custom\",\"app/data/with_data\",], function(module, require, exports) {\n    function trendsRecentLocations() {\n        this.defaultAttrs({\n            storageName: \"recent_trend_locations\",\n            storageKey: \"locations\",\n            maxRecentLocations: 5\n        }), this.initializeStorage = function() {\n            var a = customStorage({\n                withArray: !0,\n                withMaxElements: !0\n            });\n            this.storage = new a(this.attr.storageName), this.storage.setMaxElements(this.attr.storageKey, this.attr.maxRecentLocations);\n        }, this.getRecentTrendLocations = function() {\n            this.trigger(\"dataGotRecentTrendLocations\", {\n                trendLocations: this.storage.getArray(this.attr.storageKey)\n            });\n        }, this.saveRecentLocation = function(a, b) {\n            var c = ((b.JSBNG__location || {\n            }));\n            if (((!c.woeid || this.hasRecentLocation(c.woeid)))) {\n                return;\n            }\n        ;\n        ;\n            this.storage.push(this.attr.storageKey, c), this.getRecentTrendLocations();\n        }, this.hasRecentLocation = function(a) {\n            var b = this.storage.getArray(this.attr.storageKey);\n            return b.some(function(b) {\n                return ((b.woeid === a));\n            });\n        }, this.after(\"initialize\", function() {\n            this.initializeStorage(), this.JSBNG__on(\"uiWantsRecentTrendLocations\", this.getRecentTrendLocations), this.JSBNG__on(\"dataChangedTrendLocation\", this.saveRecentLocation);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), customStorage = require(\"app/utils/storage/custom\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(trendsRecentLocations, withData);\n});\ndefine(\"app/utils/scribe_event_initiators\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    module.exports = {\n        clientSideUser: 0,\n        serverSideUser: 1,\n        clientSideApp: 2,\n        serverSideApp: 3\n    };\n});\ndefine(\"app/data/trends_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",\"app/utils/scribe_item_types\",\"app/utils/scribe_event_initiators\",], function(module, require, exports) {\n    function trendsScribe() {\n        this.scribeTrendClick = function(a, b) {\n            this.scribe(\"search\", b);\n        }, this.scribeTrendsResults = function(a, b) {\n            var c = [], d = ((b.initial ? \"initial\" : \"newer\")), e = {\n                element: d,\n                action: ((((b.items && b.items.length)) ? \"results\" : \"no_results\"))\n            }, f = {\n                referring_event: d\n            }, g = !1;\n            f.items = b.items.map(function(a, b) {\n                var c = {\n                    JSBNG__name: a.JSBNG__name,\n                    item_type: itemTypes.trend,\n                    item_query: a.JSBNG__name,\n                    position: b\n                };\n                return ((a.promotedTrendId && (c.promoted_id = a.promotedTrendId, g = !0))), c;\n            }), ((g && (f.promoted = g))), ((((b.source === \"clock\")) && (f.event_initiator = eventInitiators.clientSideApp))), this.scribe(e, b, f), ((b.initial && this.scribeTrendsImpression(b)));\n        }, this.scribeTrendsImpression = function(a) {\n            this.scribe(\"impression\", a);\n        }, this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiTrendsDialogOpened\", \"open\"), this.JSBNG__on(\"uiTrendSelected\", this.scribeTrendClick), this.JSBNG__on(\"uiTrendsDisplayed\", this.scribeTrendsResults);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\"), itemTypes = require(\"app/utils/scribe_item_types\"), eventInitiators = require(\"app/utils/scribe_event_initiators\");\n    module.exports = defineComponent(trendsScribe, withScribe);\n});\ndefine(\"app/ui/trends/trends\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/ddg\",\"app/utils/scribe_item_types\",\"app/ui/with_tweet_actions\",\"app/ui/with_item_actions\",], function(module, require, exports) {\n    function trendsModule() {\n        this.defaultAttrs({\n            changeLinkSelector: \".change-trends\",\n            trendsInnerSelector: \".trends-inner\",\n            trendItemSelector: \".js-trend-item\",\n            promotedTweetProofSelector: \".tweet-proof-container.promoted-tweet\",\n            trendLinkItemSelector: \".js-trend-item a\",\n            eventTrendClass: \"event-trend\",\n            itemType: \"trend\"\n        }), this.openChangeTrendsDialog = function(a) {\n            this.trigger(\"uiShowTrendsLocationDialog\"), a.preventDefault();\n        }, this.updateModuleContent = function(a, b) {\n            var c = this.$node.hasClass(\"hidden\"), d = b.source;\n            this.select(\"trendsInnerSelector\").html(b.module_html), this.currentWoeid = b.woeid, this.$node.removeClass(\"hidden\");\n            var e = this.getTrendData(this.select(\"trendItemSelector\"));\n            this.trigger(\"uiTrendsDisplayed\", {\n                items: e,\n                initial: c,\n                source: d,\n                scribeData: {\n                    woeid: this.currentWoeid\n                }\n            });\n            var f = this.getPromotedTweetProofData(this.select(\"promotedTweetProofSelector\"));\n            this.trigger(\"uiTweetsDisplayed\", {\n                tweets: f\n            });\n        }, this.trendSelected = function(a, b) {\n            var c = $(b.el).closest(this.attr.trendItemSelector), d = this.getTrendData(c)[0], e = c.index(), f = {\n                JSBNG__name: d.JSBNG__name,\n                item_query: d.JSBNG__name,\n                position: e,\n                item_type: itemTypes.trend\n            }, g = {\n                position: e,\n                query: d.JSBNG__name,\n                url: c.JSBNG__find(\"a\").attr(\"href\"),\n                woeid: this.currentWoeid\n            };\n            ((d.promotedTrendId && (f.promoted_id = d.promotedTrendId, g.promoted = !0))), g.items = [f,], this.trigger(\"uiTrendSelected\", {\n                isPromoted: !!d.promotedTrendId,\n                promotedTrendId: d.promotedTrendId,\n                scribeContext: {\n                    element: \"trend\"\n                },\n                scribeData: g\n            }), this.trackTrendSelected(!!d.promotedTrendId, c.hasClass(this.attr.eventTrendClass));\n        }, this.trackTrendSelected = function(a, b) {\n            var c = ((b ? \"event_trend_click\" : ((a ? \"promoted_trend_click\" : \"trend_click\"))));\n            ddg.track(\"olympic_trends_320\", c);\n        }, this.getTrendData = function(a) {\n            return a.map(function() {\n                var a = $(this);\n                return {\n                    JSBNG__name: a.data(\"trend-name\"),\n                    promotedTrendId: a.data(\"promoted-trend-id\"),\n                    trendingEvent: a.hasClass(\"event-trend\")\n                };\n            }).toArray();\n        }, this.getPromotedTweetProofData = function(a) {\n            return a.map(function(a, b) {\n                return {\n                    impressionId: $(b).data(\"impression-id\")\n                };\n            }).toArray();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataTrendsRefreshed\", this.updateModuleContent), this.JSBNG__on(\"click\", {\n                changeLinkSelector: this.openChangeTrendsDialog,\n                trendLinkItemSelector: this.trendSelected\n            }), this.trigger(\"uiRefreshTrends\");\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), ddg = require(\"app/data/ddg\"), itemTypes = require(\"app/utils/scribe_item_types\"), withTweetActions = require(\"app/ui/with_tweet_actions\"), withItemActions = require(\"app/ui/with_item_actions\");\n    module.exports = defineComponent(trendsModule, withTweetActions, withItemActions);\n});\ndefine(\"app/ui/trends/trends_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_dialog\",\"app/ui/with_position\",], function(module, require, exports) {\n    function trendsDialog() {\n        this.defaultAttrs({\n            contentSelector: \"#trends_dialog_content\",\n            trendItemSelector: \".js-trend-link\",\n            toggleSelector: \".customize-by-location\",\n            personalizedSelector: \".trends-personalized\",\n            byLocationSelector: \".trends-by-location\",\n            doneSelector: \".done\",\n            selectDefaultSelector: \".select-default\",\n            errorSelector: \".trends-dialog-error p\",\n            loadingSelector: \".loading\",\n            deciderPersonalizedTrends: !1\n        }), this.openTrendsDialog = function(a, b) {\n            this.trigger(\"uiTrendsDialogOpened\"), ((this.hasContent() ? this.selectActiveView() : this.trigger(\"uiWantsTrendsDialog\"))), this.$node.removeClass(\"has-error\"), this.open();\n        }, this.showPersonalizedView = function() {\n            this.select(\"byLocationSelector\").hide(), this.select(\"personalizedSelector\").show();\n        }, this.showLocationView = function() {\n            this.select(\"personalizedSelector\").hide(), this.select(\"byLocationSelector\").show();\n        }, this.updateDialogContent = function(a, b) {\n            var c = ((this.personalized && b.personalized));\n            this.personalized = b.personalized, this.currentWoeid = b.woeid;\n            if (((c && !this.hasError()))) {\n                return;\n            }\n        ;\n        ;\n            this.select(\"contentSelector\").html(b.dialog_html), this.selectActiveView(), ((!b.personalized && this.markSelected(b.woeid)));\n        }, this.selectActiveView = function() {\n            ((this.isPersonalized() ? this.showPersonalizedView() : this.showLocationView()));\n        }, this.showError = function(a, b) {\n            this.select(\"byLocationSelector\").hide(), this.select(\"personalizedSelector\").hide(), this.$node.addClass(\"has-error\"), this.select(\"errorSelector\").html(b.message);\n        }, this.hasContent = function() {\n            return ((((this.select(\"loadingSelector\").length == 0)) && !this.hasError()));\n        }, this.hasError = function() {\n            return this.$node.hasClass(\"has-error\");\n        }, this.markSelected = function(a) {\n            this.select(\"trendItemSelector\").removeClass(\"selected\").filter(((((\"[data-woeid=\" + a)) + \"]\"))).addClass(\"selected\");\n        }, this.clearSelectedBreadcrumb = function() {\n            this.select(\"selectedBreadCrumbSelector\").removeClass(\"checkmark\");\n        }, this.changeSelectedItem = function(a, b) {\n            var c = $(b.el).data(\"woeid\");\n            if (((this.isPersonalized() || ((c !== this.currentWoeid))))) {\n                this.markSelected(c), this.trigger(\"uiChangeTrendsLocation\", {\n                    woeid: c\n                });\n            }\n        ;\n        ;\n            a.preventDefault();\n        }, this.selectDefault = function(a, b) {\n            var c = !!$(a.target).data(\"personalized\"), b = {\n            };\n            ((c ? b.personalized = !0 : b.woeid = 1)), this.trigger(\"uiChangeTrendsLocation\", b), this.close();\n        }, this.toggleView = function(a, b) {\n            ((this.select(\"personalizedSelector\").is(\":visible\") ? this.showLocationView() : this.showPersonalizedView()));\n        }, this.isPersonalized = function() {\n            return ((this.attr.deciderPersonalizedTrends && this.personalized));\n        }, this.after(\"initialize\", function() {\n            this.select(\"byLocationSelector\").hide(), this.select(\"personalizedSelector\").hide(), this.JSBNG__on(JSBNG__document, \"uiShowTrendsLocationDialog\", this.openTrendsDialog), this.JSBNG__on(JSBNG__document, \"dataGotTrendsDialog\", this.updateDialogContent), this.JSBNG__on(JSBNG__document, \"dataGotTrendsDialogError\", this.showError), this.JSBNG__on(\"click\", {\n                trendItemSelector: this.changeSelectedItem,\n                toggleSelector: this.toggleView,\n                doneSelector: this.close,\n                selectDefaultSelector: this.selectDefault\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withDialog = require(\"app/ui/with_dialog\"), withPosition = require(\"app/ui/with_position\");\n    module.exports = defineComponent(trendsDialog, withDialog, withPosition);\n});\ndefine(\"app/ui/trends/dialog/with_location_info\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withLocationInfo() {\n        this.defaultAttrs({\n            JSBNG__location: {\n            },\n            personalized: !1\n        }), this.setLocationInfo = function(a, b) {\n            this.personalized = !!b.personalized, this.JSBNG__location = ((b.JSBNG__location || {\n            })), this.trigger(\"uiLocationInfoUpdated\");\n        }, this.changeLocationInfo = function(a) {\n            this.trigger(\"uiChangeLocation\", {\n                JSBNG__location: a\n            });\n        }, this.setPersonalizedTrends = function() {\n            this.trigger(\"uiChangeLocation\", {\n                personalized: !0\n            });\n        }, this.before(\"initialize\", function() {\n            this.personalized = this.attr.personalized, this.JSBNG__location = this.attr.JSBNG__location;\n        }), this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataChangedTrendLocation\", this.setLocationInfo);\n        });\n    };\n;\n    module.exports = withLocationInfo;\n});\ndefine(\"app/ui/trends/dialog/location_dropdown\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/trends/dialog/with_location_info\",], function(module, require, exports) {\n    function trendsLocationDropdown() {\n        this.defaultAttrs({\n            regionsSelector: \"select[name=\\\"regions\\\"]\",\n            citiesSelector: \"select[name=\\\"cities\\\"]\"\n        }), this.initializeCities = function() {\n            this.citiesByRegionWoeid = {\n            };\n            var a = this.$cities.JSBNG__find(\"option\");\n            a.each(function(a, b) {\n                var c = $(b), d = c.data(\"woeid\");\n                ((this.citiesByRegionWoeid[d] || (this.citiesByRegionWoeid[d] = []))), this.citiesByRegionWoeid[d].push(c);\n            }.bind(this));\n        }, this.updateDropdown = function() {\n            var a = this.$regions.val(), b = ((this.citiesByRegionWoeid[a] || \"\"));\n            this.$cities.empty(), this.$cities.html(b);\n        }, this.updateRegion = function() {\n            this.updateDropdown();\n            var a = this.$cities.children().first();\n            ((a.length && (a.prop(\"selected\", !0), a.change())));\n        }, this.updateCity = function() {\n            var a = this.$cities.JSBNG__find(\"option:selected\"), b = parseInt(a.val(), 10), c = a.data(\"JSBNG__name\");\n            this.currentSelection = b, this.changeLocationInfo({\n                woeid: b,\n                JSBNG__name: c\n            });\n        }, this.possiblyClearSelection = function() {\n            ((((this.currentSelection != this.JSBNG__location.woeid)) && this.reset()));\n        }, this.reset = function() {\n            this.currentSelection = null;\n            var a = this.$regions.JSBNG__find(\"option[value=\\\"\\\"]\");\n            a.prop(\"selected\", !0), this.updateDropdown();\n        }, this.after(\"initialize\", function() {\n            this.$regions = this.select(\"regionsSelector\"), this.$cities = this.select(\"citiesSelector\"), this.initializeCities(), this.JSBNG__on(this.$regions, \"change\", this.updateRegion), this.JSBNG__on(this.$cities, \"change\", this.updateCity), this.JSBNG__on(JSBNG__document, \"uiTrendsDialogReset\", this.reset), this.JSBNG__on(\"uiLocationInfoUpdated\", this.possiblyClearSelection), this.updateDropdown();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withLocationInfo = require(\"app/ui/trends/dialog/with_location_info\");\n    module.exports = defineComponent(trendsLocationDropdown, withLocationInfo);\n});\ndefine(\"app/ui/trends/dialog/location_search\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/trends/dialog/with_location_info\",\"app/ui/typeahead/typeahead_dropdown\",\"app/ui/typeahead/typeahead_input\",], function(module, require, exports) {\n    function trendsLocationSearch() {\n        this.defaultAttrs({\n            inputSelector: \"input.trends-location-search-input\"\n        }), this.executeTypeaheadSelection = function(a, b) {\n            if (((b.item.woeid == -1))) {\n                this.trigger(\"uiTrendsLocationSearchNoResults\");\n                return;\n            }\n        ;\n        ;\n            this.currentSelection = b.item, this.changeLocationInfo({\n                woeid: b.item.woeid,\n                JSBNG__name: b.item.JSBNG__name\n            });\n        }, this.possiblyClearSelection = function() {\n            ((((this.currentSelection && ((this.currentSelection.woeid != this.JSBNG__location.woeid)))) && this.reset()));\n        }, this.reset = function(a, b) {\n            this.currentSelection = null, this.$input.val(\"\");\n        }, this.after(\"initialize\", function() {\n            this.$input = this.select(\"inputSelector\"), this.JSBNG__on(\"uiTypeaheadItemSelected uiTypeaheadItemComplete\", this.executeTypeaheadSelection), this.JSBNG__on(\"uiLocationInfoUpdated\", this.possiblyClearSelection), this.JSBNG__on(JSBNG__document, \"uiTrendsDialogReset\", this.reset), TypeaheadInput.attachTo(this.$node, {\n                inputSelector: this.attr.inputSelector\n            }), TypeaheadDropdown.attachTo(this.$node, {\n                inputSelector: this.attr.inputSelector,\n                blockLinkActions: !0,\n                datasourceRenders: [[\"trendLocations\",[\"trendLocations\",],],],\n                deciders: this.attr.typeaheadData,\n                eventData: {\n                    scribeContext: {\n                        component: \"trends_location_search\"\n                    }\n                }\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withLocationInfo = require(\"app/ui/trends/dialog/with_location_info\"), TypeaheadDropdown = require(\"app/ui/typeahead/typeahead_dropdown\"), TypeaheadInput = require(\"app/ui/typeahead/typeahead_input\");\n    module.exports = defineComponent(trendsLocationSearch, withLocationInfo);\n});\ndefine(\"app/ui/trends/dialog/current_location\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/trends/dialog/with_location_info\",], function(module, require, exports) {\n    function trendsCurrentLocation() {\n        this.defaultAttrs({\n            personalizedSelector: \".js-location-personalized\",\n            nonpersonalizedSelector: \".js-location-nonpersonalized\",\n            currentLocationSelector: \".current-location\"\n        }), this.updateView = function() {\n            var a = !!this.personalized;\n            ((a || this.select(\"currentLocationSelector\").text(this.JSBNG__location.JSBNG__name))), this.select(\"nonpersonalizedSelector\").toggle(!a), this.select(\"personalizedSelector\").toggle(a);\n        }, this.after(\"initialize\", function() {\n            this.updateView(), this.JSBNG__on(\"uiLocationInfoUpdated\", this.updateView);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withLocationInfo = require(\"app/ui/trends/dialog/with_location_info\");\n    module.exports = defineComponent(trendsCurrentLocation, withLocationInfo);\n});\ndefine(\"app/ui/trends/dialog/with_location_list_picker\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/ui/trends/dialog/with_location_info\",], function(module, require, exports) {\n    function withLocationListPicker() {\n        compose.mixin(this, [withLocationInfo,]), this.defaultAttrs({\n            locationSelector: \".trend-location-picker-item\",\n            selectedAttr: \"selected\"\n        }), this.selectLocation = function(a, b) {\n            a.preventDefault();\n            var c = $(b.el), d = {\n                woeid: c.data(\"woeid\"),\n                JSBNG__name: c.data(\"JSBNG__name\")\n            };\n            this.changeLocationInfo(d), this.showSelected(d.woeid, !1);\n        }, this.showSelected = function(a, b) {\n            var c = this.select(\"locationSelector\");\n            c.removeClass(this.attr.selectedAttr), ((((!b && a)) && c.filter(((((\"[data-woeid=\\\"\" + a)) + \"\\\"]\"))).addClass(this.attr.selectedAttr)));\n        }, this.locationInfoUpdated = function() {\n            this.showSelected(this.JSBNG__location.woeid, this.personalized);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiLocationInfoUpdated\", this.locationInfoUpdated), this.JSBNG__on(\"click\", {\n                locationSelector: this.selectLocation\n            }), this.showSelected(this.JSBNG__location.woeid, this.personalized);\n        });\n    };\n;\n    var compose = require(\"core/compose\"), withLocationInfo = require(\"app/ui/trends/dialog/with_location_info\");\n    module.exports = withLocationListPicker;\n});\ndefine(\"app/ui/trends/dialog/nearby_trends\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/trends/dialog/with_location_list_picker\",], function(module, require, exports) {\n    function trendsNearby() {\n    \n    };\n;\n    var defineComponent = require(\"core/component\"), withLocationListPicker = require(\"app/ui/trends/dialog/with_location_list_picker\");\n    module.exports = defineComponent(trendsNearby, withLocationListPicker);\n});\ndefine(\"app/ui/trends/dialog/recent_trends\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/trends/dialog/with_location_list_picker\",], function(module, require, exports) {\n    function trendsRecent() {\n        this.defaultAttrs({\n            listContainerSelector: \".trend-location-picker\"\n        }), this.loadTrendLocations = function(a, b) {\n            var c = b.trendLocations;\n            this.$list.empty(), c.forEach(function(a) {\n                var b = this.$template.clone(!1), c = b.JSBNG__find(\"button\");\n                c.text(a.JSBNG__name), c.attr(\"data-woeid\", a.woeid), c.attr(\"data-name\", a.JSBNG__name), this.$list.append(b);\n            }, this), this.$node.toggle(((c.length > 0)));\n        }, this.after(\"initialize\", function() {\n            this.$list = this.select(\"listContainerSelector\"), this.$template = this.$list.JSBNG__find(\"li:first\").clone(!1), this.JSBNG__on(JSBNG__document, \"dataGotRecentTrendLocations\", this.loadTrendLocations), this.trigger(\"uiWantsRecentTrendLocations\");\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withLocationListPicker = require(\"app/ui/trends/dialog/with_location_list_picker\");\n    module.exports = defineComponent(trendsRecent, withLocationListPicker);\n});\ndefine(\"app/ui/trends/dialog/dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_dialog\",\"app/ui/with_position\",\"app/ui/trends/dialog/location_dropdown\",\"app/ui/trends/dialog/location_search\",\"app/ui/trends/dialog/current_location\",\"app/ui/trends/dialog/nearby_trends\",\"app/ui/trends/dialog/recent_trends\",\"app/ui/trends/dialog/with_location_info\",], function(module, require, exports) {\n    function trendsLocationDialog() {\n        this.defaultAttrs({\n            contentSelector: \"#trends_dialog_content\",\n            quickSelectSelector: \"#trend-locations-quick-select\",\n            dropdownSelector: \"#trend-locations-dropdown-select\",\n            personalizedSelector: \".trends-personalized\",\n            nonPersonalizedSelector: \".trends-by-location\",\n            changeTrendsSelector: \".customize-by-location\",\n            showDropdownSelector: \".js-show-dropdown-select\",\n            showQuickSelectSelector: \".js-show-quick-select\",\n            searchSelector: \".trends-search-locations\",\n            nearbySelector: \".trends-nearby-locations\",\n            recentSelector: \".trends-recent-locations\",\n            currentLocationSelector: \".trends-current-location\",\n            loadingSelector: \"#trend-locations-loading\",\n            defaultSelector: \".select-default\",\n            doneSelector: \".done\",\n            errorSelector: \".trends-dialog-error p\",\n            errorClass: \"has-error\"\n        }), this.JSBNG__openDialog = function(a, b) {\n            this.trigger(\"uiTrendsDialogOpened\"), ((this.initialized ? this.setCurrentView() : (this.trigger(\"uiWantsTrendsLocationDialog\"), this.initialized = !0))), this.$node.removeClass(\"has-error\"), this.open();\n        }, this.setCurrentView = function() {\n            ((this.personalized ? this.showPersonalizedView() : this.showNonpersonalizedView()));\n        }, this.showPersonalizedView = function() {\n            this.select(\"nonPersonalizedSelector\").hide(), this.select(\"personalizedSelector\").show();\n        }, this.showNonpersonalizedView = function() {\n            this.select(\"personalizedSelector\").hide(), this.select(\"nonPersonalizedSelector\").show();\n        }, this.showQuickSelectContainer = function(a, b) {\n            this.showNonpersonalizedView(), this.select(\"dropdownSelector\").hide(), this.select(\"quickSelectSelector\").show();\n        }, this.showDropdownContainer = function(a, b) {\n            this.showNonpersonalizedView(), this.select(\"quickSelectSelector\").hide(), this.select(\"dropdownSelector\").show();\n        }, this.hideViews = function() {\n            this.select(\"personalizedSelector\").hide(), this.select(\"nonPersonalizedSelector\").hide();\n        }, this.showError = function(a, b) {\n            this.hideViews(), this.hideLoading(), this.initialized = !1, this.$node.addClass(this.attr.errorClass), this.select(\"errorSelector\").html(b.message);\n        }, this.selectDefault = function(a, b) {\n            var c = $(a.target), d = !!c.data(\"personalized\");\n            ((d ? this.setPersonalizedTrends() : this.changeLocationInfo({\n                JSBNG__name: c.data(\"JSBNG__name\"),\n                woeid: c.data(\"woeid\")\n            }))), this.close();\n        }, this.reset = function(a, b) {\n            this.showQuickSelectContainer(), this.trigger(\"uiTrendsDialogReset\");\n        }, this.initializeDialog = function(a, b) {\n            this.select(\"contentSelector\").html(b.dialog_html), this.setLocationInfo(a, b), this.initializeComponents(), this.setCurrentView();\n        }, this.showLoading = function() {\n            this.select(\"loadingSelector\").show();\n        }, this.hideLoading = function() {\n            this.select(\"loadingSelector\").hide();\n        }, this.initializeComponents = function(a, b) {\n            CurrentLocation.attachTo(this.attr.currentLocationSelector, {\n                JSBNG__location: this.JSBNG__location,\n                personalized: this.personalized\n            }), LocationSearch.attachTo(this.attr.searchSelector, {\n                typeaheadData: this.attr.typeaheadData\n            }), LocationDropdown.attachTo(this.attr.dropdownSelector), NearbyTrends.attachTo(this.attr.nearbySelector, {\n                JSBNG__location: this.JSBNG__location,\n                personalized: this.personalized\n            }), RecentTrends.attachTo(this.attr.recentSelector, {\n                JSBNG__location: this.JSBNG__location,\n                personalized: this.personalized\n            });\n        }, this.after(\"initialize\", function() {\n            this.hideViews(), this.JSBNG__on(\"uiChangeLocation\", this.showLoading), this.JSBNG__on(\"uiTrendsLocationSearchNoResults\", this.showDropdownContainer), this.JSBNG__on(JSBNG__document, \"uiShowTrendsLocationDialog\", this.JSBNG__openDialog), this.JSBNG__on(JSBNG__document, \"uiDialogClosed\", this.reset), this.JSBNG__on(JSBNG__document, \"dataGotTrendsLocationDialog\", this.initializeDialog), this.JSBNG__on(JSBNG__document, \"dataGotTrendsLocationDialogError\", this.showError), this.JSBNG__on(\"uiLocationInfoUpdated\", this.hideLoading), this.JSBNG__on(\"click\", {\n                doneSelector: this.close,\n                defaultSelector: this.selectDefault,\n                changeTrendsSelector: this.showNonpersonalizedView,\n                showDropdownSelector: this.showDropdownContainer,\n                showQuickSelectSelector: this.showQuickSelectContainer\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withDialog = require(\"app/ui/with_dialog\"), withPosition = require(\"app/ui/with_position\"), LocationDropdown = require(\"app/ui/trends/dialog/location_dropdown\"), LocationSearch = require(\"app/ui/trends/dialog/location_search\"), CurrentLocation = require(\"app/ui/trends/dialog/current_location\"), NearbyTrends = require(\"app/ui/trends/dialog/nearby_trends\"), RecentTrends = require(\"app/ui/trends/dialog/recent_trends\"), withLocationInfo = require(\"app/ui/trends/dialog/with_location_info\");\n    module.exports = defineComponent(trendsLocationDialog, withDialog, withPosition, withLocationInfo);\n});\ndefine(\"app/boot/trends\", [\"module\",\"require\",\"exports\",\"app/data/trends\",\"app/data/trends/location_dialog\",\"app/data/trends/recent_locations\",\"app/data/trends_scribe\",\"app/ui/trends/trends\",\"app/ui/trends/trends_dialog\",\"app/ui/trends/dialog/dialog\",], function(module, require, exports) {\n    var TrendsData = require(\"app/data/trends\"), TrendsLocationDialogData = require(\"app/data/trends/location_dialog\"), TrendsRecentLocationsData = require(\"app/data/trends/recent_locations\"), TrendsScribe = require(\"app/data/trends_scribe\"), TrendsModule = require(\"app/ui/trends/trends\"), TrendsDialog = require(\"app/ui/trends/trends_dialog\"), TrendsLocationDialog = require(\"app/ui/trends/dialog/dialog\");\n    module.exports = function(b) {\n        TrendsScribe.attachTo(JSBNG__document, b), TrendsData.attachTo(JSBNG__document, b), TrendsModule.attachTo(\".module.trends\", {\n            loggedIn: b.loggedIn,\n            eventData: {\n                scribeContext: {\n                    component: \"trends\"\n                }\n            }\n        }), ((b.trendsLocationDialogEnabled ? (TrendsLocationDialogData.attachTo(JSBNG__document, b), TrendsRecentLocationsData.attachTo(JSBNG__document, b), TrendsLocationDialog.attachTo(\"#trends_dialog\", {\n            typeaheadData: b.typeaheadData,\n            eventData: {\n                scribeContext: {\n                    component: \"trends_location_dialog\"\n                }\n            }\n        })) : TrendsDialog.attachTo(\"#trends_dialog\", {\n            deciderPersonalizedTrends: b.decider_personalized_trends,\n            eventData: {\n                scribeContext: {\n                    component: \"trends_dialog\"\n                }\n            }\n        })));\n    };\n});\ndefine(\"app/ui/infinite_scroll_watcher\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",], function(module, require, exports) {\n    function infiniteScrollWatcher() {\n        var a = 0, b = 1;\n        this.checkScrollPosition = function() {\n            var c = this.$content.height(), d = !1;\n            ((((this.inTriggerRange(a) && ((((c > this.lastTriggeredHeight)) || this.lastTriggeredFrom(b))))) ? (this.trigger(\"uiNearTheTop\"), this.lastTriggerFrom = a, d = !0) : ((((this.inTriggerRange(b) && ((((c > this.lastTriggeredHeight)) || this.lastTriggeredFrom(a))))) && (this.trigger(\"uiNearTheBottom\"), this.lastTriggerFrom = b, d = !0))))), ((d && (this.lastTriggeredHeight = c)));\n        }, this.inTriggerRange = function(c) {\n            var d = this.$content.height(), e = this.$node.scrollTop(), f = ((e + this.$node.height())), g = Math.abs(Math.min(((f - d)), 0)), h = ((this.$node.height() / 2));\n            return ((((((e < h)) && ((c == a)))) || ((((g < h)) && ((c == b))))));\n        }, this.lastTriggeredFrom = function(a) {\n            return ((this.lastTriggerFrom === a));\n        }, this.resetScrollState = function() {\n            this.lastTriggeredHeight = 0, this.lastTriggerFrom = -1;\n        }, this.after(\"initialize\", function(a) {\n            this.resetScrollState(), this.$content = ((a.contentSelector ? this.select(\"contentSelector\") : $(JSBNG__document))), this.JSBNG__on(\"JSBNG__scroll\", utils.throttle(this.checkScrollPosition.bind(this), 100)), this.JSBNG__on(\"uiTimelineReset\", this.resetScrollState);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), InfiniteScrollWatcher = defineComponent(infiniteScrollWatcher);\n    module.exports = InfiniteScrollWatcher;\n});\ndefine(\"app/data/timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_data\",], function(module, require, exports) {\n    function timeline() {\n        this.defaultAttrs({\n            defaultAjaxData: {\n                include_entities: 1,\n                include_available_features: 1\n            },\n            noShowError: !0\n        }), this.requestItems = function(a, b) {\n            var c = function(b) {\n                this.trigger(a.target, \"dataGotMoreTimelineItems\", b);\n            }, d = function(b) {\n                this.trigger(a.target, \"dataGotMoreTimelineItemsError\", b);\n            }, e = {\n            };\n            ((((b && b.fromPolling)) && (e[\"X-Twitter-Polling\"] = !0)));\n            var f = {\n                since_id: b.since_id,\n                max_id: b.max_id,\n                cursor: b.cursor,\n                is_forward: b.is_forward,\n                latent_count: b.latent_count,\n                composed_count: b.composed_count,\n                include_new_items_bar: b.include_new_items_bar,\n                preexpanded_id: b.preexpanded_id,\n                interval: b.interval,\n                count: b.count,\n                timeline_empty: b.timeline_empty\n            };\n            ((b.query && (f.q = b.query))), ((b.curated_timeline_since_id && (f.curated_timeline_since_id = b.curated_timeline_since_id))), ((b.scroll_cursor && (f.scroll_cursor = b.scroll_cursor))), ((b.refresh_cursor && (f.refresh_cursor = b.refresh_cursor))), this.get({\n                url: this.attr.endpoint,\n                headers: e,\n                data: utils.merge(this.attr.defaultAjaxData, f),\n                eventData: b,\n                success: c.bind(this),\n                error: d.bind(this)\n            });\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(\"uiWantsMoreTimelineItems\", this.requestItems);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(timeline, withData);\n});\ndefine(\"app/boot/timeline\", [\"module\",\"require\",\"exports\",\"app/ui/infinite_scroll_watcher\",\"app/data/timeline\",], function(module, require, exports) {\n    function initialize(a) {\n        ((a.no_global_infinite_scroll || InfiniteScrollWatcher.attachTo(window))), TimelineData.attachTo(JSBNG__document, a);\n    };\n;\n    var InfiniteScrollWatcher = require(\"app/ui/infinite_scroll_watcher\"), TimelineData = require(\"app/data/timeline\");\n    module.exports = initialize;\n});\ndefine(\"app/data/activity_popup\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function activityPopupData() {\n        this.defaultAttrs({\n            noShowError: !0\n        }), this.getUsers = function(a, b) {\n            var c = ((b.isRetweeted ? \"/i/activity/retweeted_popup\" : \"/i/activity/favorited_popup\"));\n            this.get({\n                url: c,\n                data: {\n                    id: b.tweetId\n                },\n                eventData: b,\n                success: \"dataActivityPopupSuccess\",\n                error: \"dataActivityPopupError\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiFetchActivityPopup\", this.getUsers);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(activityPopupData, withData);\n});\ndefine(\"app/ui/dialogs/activity_popup\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/ui/with_position\",\"app/ui/with_dialog\",\"app/ui/with_user_actions\",\"app/ui/with_item_actions\",], function(module, require, exports) {\n    function activityPopup() {\n        this.defaultAttrs({\n            itemType: \"user\",\n            titleSelector: \".modal-title\",\n            tweetSelector: \".activity-tweet\",\n            contentSelector: \".activity-content\",\n            openDropdownSelector: \".user-dropdown.open .dropdown-menu\",\n            usersSelector: \".activity-popup-users\"\n        }), this.setTitle = function(a) {\n            this.select(\"titleSelector\").html(a);\n        }, this.setContent = function(a) {\n            this.$node.toggleClass(\"has-content\", !!a), this.select(\"contentSelector\").html(a);\n        }, this.requestPopup = function(a, b) {\n            this.attr.eventData = utils.merge(this.attr.eventData, {\n                scribeContext: {\n                    component: ((b.isRetweeted ? \"retweeted_dialog\" : \"favorited_dialog\"))\n                }\n            }, !0), this.setTitle(b.titleHtml);\n            var c = $(b.tweetHtml);\n            this.select(\"tweetSelector\").html(c), this.setContent(\"\"), this.open(), this.trigger(\"uiFetchActivityPopup\", {\n                tweetId: c.attr(\"data-tweet-id\"),\n                isRetweeted: b.isRetweeted\n            });\n        }, this.updateUsers = function(a, b) {\n            this.setTitle(b.htmlTitle), this.setContent(b.htmlUsers);\n            var c = this.select(\"usersSelector\");\n            ((((c.height() >= parseInt(c.css(\"max-height\"), 10))) && c.addClass(\"dropdown-threshold\")));\n        }, this.showError = function(a, b) {\n            this.setContent($(\"\\u003Cp\\u003E\").addClass(\"error\").html(b.message));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiRequestActivityPopup\", this.requestPopup), this.JSBNG__on(JSBNG__document, \"dataActivityPopupSuccess\", this.updateUsers), this.JSBNG__on(JSBNG__document, \"dataActivityPopupError\", this.showError), this.JSBNG__on(JSBNG__document, \"uiShowProfilePopup uiOpenTweetDialogWithOptions uiNeedsDMDialog uiOpenSigninOrSignupDialog\", this.close);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withPosition = require(\"app/ui/with_position\"), withDialog = require(\"app/ui/with_dialog\"), withUserActions = require(\"app/ui/with_user_actions\"), withItemActions = require(\"app/ui/with_item_actions\");\n    module.exports = defineComponent(activityPopup, withDialog, withPosition, withUserActions, withItemActions);\n});\ndefine(\"app/data/activity_popup_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function activityPopupScribe() {\n        this.scribeActivityPopupOpen = function(a, b) {\n            var c = b.sourceEventData;\n            this.scribe(\"open\", b, {\n                item_ids: [c.tweetId,],\n                item_count: 1\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataActivityPopupSuccess\", this.scribeActivityPopupOpen);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(activityPopupScribe, withScribe);\n});\ndefine(\"app/boot/activity_popup\", [\"module\",\"require\",\"exports\",\"app/data/activity_popup\",\"app/ui/dialogs/activity_popup\",\"app/data/activity_popup_scribe\",], function(module, require, exports) {\n    function initialize(a) {\n        ActivityPopupData.attachTo(JSBNG__document, a), ActivityPopupScribe.attachTo(JSBNG__document, a), ActivityPopup.attachTo(activityPopupSelector, a);\n    };\n;\n    var ActivityPopupData = require(\"app/data/activity_popup\"), ActivityPopup = require(\"app/ui/dialogs/activity_popup\"), ActivityPopupScribe = require(\"app/data/activity_popup_scribe\"), activityPopupSelector = \"#activity-popup-dialog\";\n    module.exports = initialize;\n});\ndefine(\"app/data/tweet_translation\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function tweetTranslation() {\n        this.getTweetTranslation = function(a, b) {\n            var c = function(a) {\n                ((((a && a.message)) && this.trigger(\"uiShowMessage\", {\n                    message: a.message\n                }))), this.trigger(\"dataTweetTranslationSuccess\", a);\n            }, d = function(a, c, d) {\n                this.trigger(\"dataTweetTranslationError\", {\n                    id: b.id,\n                    JSBNG__status: c,\n                    errorThrown: d\n                });\n            }, e = {\n                id: b.tweetId,\n                dest: b.dest\n            };\n            this.get({\n                url: \"/i/translations/show.json\",\n                data: e,\n                headers: {\n                    \"X-Phx\": !0\n                },\n                eventData: b,\n                success: c.bind(this),\n                error: d.bind(this)\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiNeedsTweetTranslation\", this.getTweetTranslation);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), TweetTranslation = defineComponent(tweetTranslation, withData);\n    module.exports = TweetTranslation;\n});\ndefine(\"app/data/conversations\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function conversations() {\n        this.requestExpansion = function(a, b) {\n            var c = function(b) {\n                this.trigger(a.target, \"dataTweetConversationResult\", b), this.trigger(a.target, \"dataTweetSocialProofResult\", b);\n            }, d = function(b, c, d) {\n                this.trigger(a.target, \"dataTweetExpansionError\", {\n                    JSBNG__status: c,\n                    errorThrown: d\n                });\n            }, e = [\"social_proof\",];\n            ((b.fullConversation ? e.push(\"ancestors\", \"descendants\") : ((b.descendantsOnly && e.push(\"descendants\")))));\n            var f = {\n                include: e\n            };\n            ((b.facepileMax && (f.facepile_max = b.facepileMax)));\n            var g = window.JSBNG__location.search.match(/[?&]js_maps=([^&]+)/);\n            ((g && (f.js_maps = g[1]))), this.get({\n                url: ((\"/i/expanded/batch/\" + encodeURIComponent($(a.target).attr(\"data-tweet-id\")))),\n                data: f,\n                eventData: b,\n                success: c.bind(this),\n                error: d.bind(this)\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiNeedsTweetExpandedContent\", this.requestExpansion);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), Conversations = defineComponent(conversations, withData);\n    module.exports = Conversations;\n});\ndefine(\"app/data/media_settings\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",\"core/i18n\",], function(module, require, exports) {\n    function mediaSettings() {\n        this.flagMedia = function(a, b) {\n            this.post({\n                url: \"/i/expanded/flag_possibly_sensitive\",\n                eventData: b,\n                data: b,\n                success: \"dataFlaggedMediaResult\",\n                error: \"dataFlaggedMediaError\"\n            });\n        }, this.updateViewPossiblySensitive = function(a, b) {\n            this.post({\n                url: \"/i/expanded/update_view_possibly_sensitive\",\n                eventData: b,\n                data: b,\n                success: \"dataUpdatedViewPossiblySensitiveResult\",\n                error: \"dataUpdatedViewPossiblySensitiveError\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiFlagMedia\", this.flagMedia), this.JSBNG__on(\"uiUpdateViewPossiblySensitive\", this.updateViewPossiblySensitive), this.JSBNG__on(\"dataUpdatedViewPossiblySensitiveResult\", function() {\n                this.trigger(\"uiShowMessage\", {\n                    message: _(\"Your media display settings have been changed.\")\n                });\n            }), this.JSBNG__on(\"dataUpdatedViewPossiblySensitiveError\", function() {\n                this.trigger(\"uiShowError\", {\n                    message: _(\"Couldn't set inline media settings.\")\n                });\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), _ = require(\"core/i18n\");\n    module.exports = defineComponent(mediaSettings, withData);\n});\ndefine(\"app/ui/dialogs/sensitive_flag_confirmation\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_dialog\",\"app/ui/with_position\",], function(module, require, exports) {\n    function flagDialog() {\n        this.defaultAttrs({\n            dialogSelector: \"#sensitive_flag_dialog\",\n            cancelSelector: \"#cancel_flag_confirmation\",\n            submitSelector: \"#submit_flag_confirmation\",\n            settingsSelector: \"#sensitive-settings-checkbox\",\n            illegalSelector: \"#sensitive-illegal-checkbox\"\n        }), this.flag = function() {\n            ((this.select(\"settingsSelector\").attr(\"checked\") && this.trigger(\"uiUpdateViewPossiblySensitive\", {\n                do_show: !1\n            }))), ((this.select(\"illegalSelector\").attr(\"checked\") && this.trigger(\"uiFlagMedia\", {\n                id: this.$dialog.attr(\"data-tweet-id\")\n            }))), this.close();\n        }, this.openWithId = function(b, c) {\n            this.$dialog.attr(\"data-tweet-id\", c.id), this.open();\n        }, this.after(\"initialize\", function(a) {\n            this.$dialog = this.select(\"dialogSelector\"), this.JSBNG__on(JSBNG__document, \"uiFlagConfirmation\", this.openWithId), this.JSBNG__on(\"click\", {\n                submitSelector: this.flag,\n                cancelSelector: this.close\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withDialog = require(\"app/ui/with_dialog\"), withPosition = require(\"app/ui/with_position\");\n    module.exports = defineComponent(flagDialog, withDialog, withPosition);\n});\ndefine(\"app/ui/user_actions\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_user_actions\",], function(module, require, exports) {\n    function userActions() {\n    \n    };\n;\n    var defineComponent = require(\"core/component\"), withUserActions = require(\"app/ui/with_user_actions\");\n    module.exports = defineComponent(userActions, withUserActions);\n});\ndefine(\"app/data/prompt_mobile_app_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function mobileAppPromptScribe() {\n        this.scribeOnClick = function(a, b) {\n            var c = a.target;\n            ((((c.getAttribute(\"id\") == \"iphone_download\")) ? this.scribe({\n                component: \"promptbird_262\",\n                element: \"iphone_download\",\n                action: \"click\"\n            }) : ((((c.getAttribute(\"id\") == \"android_download\")) ? this.scribe({\n                component: \"promptbird_262\",\n                element: \"android_download\",\n                action: \"click\"\n            }) : ((((c.className == \"dismiss-white\")) && this.scribe({\n                component: \"promptbird_262\",\n                action: \"dismiss\"\n            })))))));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", this.scribeOnClick);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(mobileAppPromptScribe, withScribe);\n});\ndefine(\"app/boot/tweets\", [\"module\",\"require\",\"exports\",\"app/boot/activity_popup\",\"app/data/tweet_actions\",\"app/data/tweet_translation\",\"app/data/conversations\",\"app/data/media_settings\",\"app/ui/dialogs/sensitive_flag_confirmation\",\"app/ui/expando/expanding_tweets\",\"app/ui/media/media_tweets\",\"app/data/url_resolver\",\"app/ui/user_actions\",\"app/data/prompt_mobile_app_scribe\",\"core/utils\",], function(module, require, exports) {\n    function initialize(a, b) {\n        activityPopupBoot(b), TweetActionsData.attachTo(JSBNG__document, b), TweetTranslationData.attachTo(JSBNG__document, b), ConversationsData.attachTo(JSBNG__document, b), MediaSettingsData.attachTo(JSBNG__document, b), UrlResolver.attachTo(JSBNG__document), ExpandingTweets.attachTo(a, b), ((b.excludeUserActions || UserActions.attachTo(a, utils.merge(b, {\n            genericItemSelector: \".js-stream-item\"\n        })))), MediaTweets.attachTo(a, b), SensitiveFlagConfirmationDialog.attachTo(JSBNG__document), MobileAppPromptScribe.attachTo($(\"div[data-prompt-id=262]\"));\n    };\n;\n    var activityPopupBoot = require(\"app/boot/activity_popup\"), TweetActionsData = require(\"app/data/tweet_actions\"), TweetTranslationData = require(\"app/data/tweet_translation\"), ConversationsData = require(\"app/data/conversations\"), MediaSettingsData = require(\"app/data/media_settings\"), SensitiveFlagConfirmationDialog = require(\"app/ui/dialogs/sensitive_flag_confirmation\"), ExpandingTweets = require(\"app/ui/expando/expanding_tweets\"), MediaTweets = require(\"app/ui/media/media_tweets\"), UrlResolver = require(\"app/data/url_resolver\"), UserActions = require(\"app/ui/user_actions\"), MobileAppPromptScribe = require(\"app/data/prompt_mobile_app_scribe\"), utils = require(\"core/utils\");\n    module.exports = initialize;\n});\ndefine(\"app/boot/help_pips_enable\", [\"module\",\"require\",\"exports\",\"app/utils/cookie\",\"app/utils/storage/core\",], function(module, require, exports) {\n    function initialize(a) {\n        var b = new JSBNG__Storage(\"help_pips\"), c = +(new JSBNG__Date);\n        b.clear(), b.setItem(\"until\", ((c + 1209600000))), cookie(\"help_pips\", null);\n    };\n;\n    var cookie = require(\"app/utils/cookie\"), JSBNG__Storage = require(\"app/utils/storage/core\");\n    module.exports = initialize;\n});\ndefine(\"app/data/help_pips\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function helpPipsData() {\n        this.defaultAttrs({\n            noShowError: !0\n        }), this.loadHelpPips = function(a, b) {\n            var c = function(a) {\n                this.trigger(\"dataHelpPipsLoaded\", {\n                    pips: a\n                });\n            }.bind(this), d = function(a) {\n                this.trigger(\"dataHelpPipsError\");\n            }.bind(this);\n            this.get({\n                url: \"/i/help/pips\",\n                data: {\n                },\n                eventData: b,\n                success: c,\n                error: d\n            });\n        }, this.after(\"initialize\", function() {\n            this.loadHelpPips();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(helpPipsData, withData);\n});\ndefine(\"app/data/help_pips_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function helpPipsScribe() {\n        this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiHelpPipIconAdded\", \"impression\"), this.scribeOnEvent(\"uiHelpPipIconClicked\", \"open\"), this.scribeOnEvent(\"uiHelpPipPromptFollowed\", \"success\"), this.scribeOnEvent(\"uiHelpPipExplainTriggered\", \"show\"), this.scribeOnEvent(\"uiHelpPipExplainClicked\", \"dismiss\"), this.scribeOnEvent(\"uiHelpPipExplainFollowed\", \"complete\");\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(helpPipsScribe, withScribe);\n});\ndefine(\"app/ui/help_pip\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function helpPip() {\n        this.explainTriggered = function(a) {\n            var b = $(a.target).closest(\".js-stream-item\");\n            if (!b.length) {\n                return;\n            }\n        ;\n        ;\n            if (((this.pip.matcher && ((b.JSBNG__find(this.pip.matcher).length == 0))))) {\n                return;\n            }\n        ;\n        ;\n            if (((this.state == \"icon\"))) this.trigger(\"uiHelpPipExplainTriggered\");\n             else {\n                if (((this.state != \"JSBNG__prompt\"))) {\n                    return;\n                }\n            ;\n            ;\n                this.trigger(\"uiHelpPipPromptFollowed\");\n            }\n        ;\n        ;\n            this.showState(\"explain\", b);\n        }, this.dismissTriggered = function(a) {\n            var b = $(a.target).closest(\".js-stream-item\");\n            if (((((b.length && this.pip.matcher)) && ((b.JSBNG__find(this.pip.matcher).length == 0))))) {\n                return;\n            }\n        ;\n        ;\n            ((((((!b.length || ((b[0] == this.$streamItem[0])))) && ((this.state == \"explain\")))) && this.trigger(\"uiHelpPipExplainFollowed\"))), this.dismiss();\n        }, this.clicked = function(a) {\n            ((((this.state == \"icon\")) ? (this.trigger(\"uiHelpPipIconClicked\"), this.showState(\"JSBNG__prompt\")) : ((((this.state == \"explain\")) && (this.trigger(\"uiHelpPipExplainClicked\"), this.dismiss())))));\n        }, this.showState = function(a, b) {\n            if (((((a == \"JSBNG__prompt\")) && !this.pip.html.JSBNG__prompt))) {\n                return this.showState(\"explain\", b);\n            }\n        ;\n        ;\n            b = ((b || this.$streamItem));\n            if (((this.state == a))) {\n                return;\n            }\n        ;\n        ;\n            ((((((this.state == \"icon\")) && ((((a == \"JSBNG__prompt\")) || ((a == \"explain\")))))) && this.trigger(\"uiHelpPipOpened\", {\n                pip: this.pip\n            }))), ((((this.$streamItem[0] != b[0])) && this.unhighlight())), this.state = a, this.$streamItem = b;\n            var c = this.$pip.JSBNG__find(\".js-pip\");\n            c.prependTo(this.$pip.parent()).fadeOut(\"fast\", function() {\n                c.remove();\n                var b = this.pip.html[a], d = this.pip[((a + \"Highlight\"))];\n                this.$pip.html(b).fadeIn(\"fast\"), ((((d && ((d != \"remove\")))) ? this.highlight(d) : this.unhighlight(((d == \"remove\")))));\n            }.bind(this)), this.$pip.hide().prependTo(b);\n        }, this.dismiss = function() {\n            ((this.$streamItem && this.unhighlight())), this.$pip.fadeOut(function() {\n                this.remove(), this.teardown(), this.trigger(\"uiHelpPipDismissed\");\n            }.bind(this));\n        }, this.highlight = function(a) {\n            if (this.$streamItem.JSBNG__find(a).is(\".stork-highlighted\")) {\n                return;\n            }\n        ;\n        ;\n            this.unhighlight(), this.$streamItem.JSBNG__find(a).each(function() {\n                var a = $(this), b = $(\"\\u003Cspan\\u003E\").addClass(\"stork-highlight-background\"), c = $(\"\\u003Cspan\\u003E\").addClass(\"stork-highlight-container\").css({\n                    width: a.JSBNG__outerWidth(),\n                    height: a.JSBNG__outerHeight()\n                });\n                a.wrap(c).before(b).addClass(\"stork-highlighted\"), b.fadeIn();\n            });\n        }, this.unhighlight = function(a) {\n            this.$streamItem.JSBNG__find(\".stork-highlighted\").each(function() {\n                var b = $(this), c = b.parent().JSBNG__find(\".stork-highlight-background\"), d = function() {\n                    c.remove(), b.unwrap();\n                };\n                b.removeClass(\"stork-highlighted\"), ((a ? d() : c.fadeOut(d)));\n            });\n        }, this.remove = function() {\n            this.$pip.remove();\n        }, this.after(\"initialize\", function(a) {\n            this.state = \"icon\", this.pip = a.pip, this.$streamItem = a.$streamItem, this.$pip = $(\"\\u003Cdiv\\u003E\\u003C/div\\u003E\").html(this.pip.html.icon), this.$pip.hide().prependTo(this.$streamItem).fadeIn(\"fast\"), this.JSBNG__on(this.$pip, \"click\", this.clicked), this.trigger(\"uiHelpPipIconAdded\"), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.remove), ((this.pip.explainOn && (((((typeof this.pip.explainOn == \"string\")) && (this.pip.explainOn = {\n                JSBNG__event: this.pip.explainOn\n            }))), ((this.pip.explainOn.selector ? this.JSBNG__on(this.$node.JSBNG__find(this.pip.explainOn.selector), this.pip.explainOn.JSBNG__event, this.explainTriggered) : this.JSBNG__on(this.pip.explainOn.JSBNG__event, this.explainTriggered)))))), ((this.pip.dismissOn && (((((typeof this.pip.dismissOn == \"string\")) && (this.pip.dismissOn = {\n                JSBNG__event: this.pip.dismissOn\n            }))), ((this.pip.dismissOn.selector ? this.JSBNG__on(this.$node.JSBNG__find(this.pip.dismissOn.selector), this.pip.dismissOn.JSBNG__event, this.dismissTriggered) : this.JSBNG__on(this.pip.dismissOn.JSBNG__event, this.dismissTriggered))))));\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(helpPip);\n});\ndefine(\"app/ui/help_pips_injector\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/help_pip\",\"app/utils/storage/core\",], function(module, require, exports) {\n    function helpPipsInjector() {\n        this.defaultAttrs({\n            pipSelector: \".js-pip\",\n            tweetSelector: \".js-stream-item\"\n        }), this.pipsLoaded = function(a, b) {\n            this.pips = b.pips, this.injectPips();\n        }, this.tweetsDisplayed = function(a) {\n            this.injectPips();\n        }, this.pipOpened = function(a, b) {\n            this.storage.setItem(b.pip.category, !0);\n        }, this.pipDismissed = function(a) {\n            this.injectPips();\n        }, this.injectPips = function() {\n            if (!this.pips) {\n                return;\n            }\n        ;\n        ;\n            if (this.select(\"pipSelector\").length) {\n                return;\n            }\n        ;\n        ;\n            var a = this.pips.filter(function(a) {\n                return !this.storage.getItem(a.category);\n            }.bind(this)), b = this.select(\"tweetSelector\").slice(0, 10);\n            b.each(function(b, c) {\n                var d = $(c), e = !1;\n                if (((d.attr(\"data-promoted\") || ((d.JSBNG__find(\"[data-promoted]\").length > 0))))) {\n                    return;\n                }\n            ;\n            ;\n                $.each(a, function(a, b) {\n                    if (d.JSBNG__find(b.matcher).length) {\n                        return HelpPip.attachTo(this.$node, {\n                            $streamItem: d,\n                            pip: b,\n                            eventData: {\n                                scribeContext: {\n                                    component: \"stork\",\n                                    element: b.id\n                                }\n                            }\n                        }), e = !0, !1;\n                    }\n                ;\n                ;\n                }.bind(this));\n                if (e) {\n                    return !1;\n                }\n            ;\n            ;\n            }.bind(this));\n        }, this.after(\"initialize\", function() {\n            this.deferredDisplays = [], this.storage = new JSBNG__Storage(\"help_pips\"), this.JSBNG__on(JSBNG__document, \"uiTweetsDisplayed\", this.tweetsDisplayed), this.JSBNG__on(JSBNG__document, \"dataHelpPipsLoaded\", this.pipsLoaded), this.JSBNG__on(\"uiHelpPipDismissed\", this.pipDismissed), this.JSBNG__on(\"uiHelpPipOpened\", this.pipOpened);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), HelpPip = require(\"app/ui/help_pip\"), JSBNG__Storage = require(\"app/utils/storage/core\");\n    module.exports = defineComponent(helpPipsInjector);\n});\ndefine(\"app/boot/help_pips\", [\"module\",\"require\",\"exports\",\"app/utils/cookie\",\"app/utils/storage/core\",\"app/boot/help_pips_enable\",\"app/data/help_pips\",\"app/data/help_pips_scribe\",\"app/ui/help_pips_injector\",], function(module, require, exports) {\n    function initialize(a) {\n        var b = new JSBNG__Storage(\"help_pips\"), c = +(new JSBNG__Date);\n        ((cookie(\"help_pips\") && enableHelpPips())), ((((((b.getItem(\"until\") || 0)) > c)) && (HelpPipsData.attachTo(JSBNG__document), HelpPipsInjector.attachTo(\"#timeline\"), HelpPipsScribe.attachTo(JSBNG__document))));\n    };\n;\n    var cookie = require(\"app/utils/cookie\"), JSBNG__Storage = require(\"app/utils/storage/core\"), enableHelpPips = require(\"app/boot/help_pips_enable\"), HelpPipsData = require(\"app/data/help_pips\"), HelpPipsScribe = require(\"app/data/help_pips_scribe\"), HelpPipsInjector = require(\"app/ui/help_pips_injector\");\n    module.exports = initialize;\n});\ndefine(\"app/ui/expando/close_all_button\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function closeAllButton() {\n        this.incrementOpenCount = function() {\n            this.toggleButton(++this.openCount);\n        }, this.decrementOpenCount = function() {\n            this.toggleButton(--this.openCount);\n        }, this.toggleButton = function(a) {\n            this.$node[((((a > 0)) ? \"fadeIn\" : \"fadeOut\"))](200);\n        }, this.broadcastClose = function(a) {\n            a.preventDefault(), this.trigger(this.attr.where, this.attr.closeAllEvent);\n        }, this.readOpenCountFromTimeline = function() {\n            this.openCount = $(this.attr.where).JSBNG__find(\".open\").length, this.toggleButton(this.openCount);\n        }, this.hide = function() {\n            this.$node.hide();\n        }, this.after(\"initialize\", function(a) {\n            this.openCount = 0, this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded uiPageChanged\", this.readOpenCountFromTimeline), this.JSBNG__on(a.where, a.addEvent, this.incrementOpenCount), this.JSBNG__on(a.where, a.subtractEvent, this.decrementOpenCount), this.JSBNG__on(\"click\", this.broadcastClose), this.JSBNG__on(JSBNG__document, \"uiShortcutCloseAll\", this.broadcastClose), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.hide);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(closeAllButton);\n});\ndefine(\"app/ui/timelines/with_keyboard_navigation\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withKeyboardNavigation() {\n        this.defaultAttrs({\n            selectedClass: \"selected-stream-item\",\n            selectedSelector: \".selected-stream-item\",\n            unselectableClass: \"js-unselectable-stream-item\",\n            firstItemSelector: \".js-stream-item:first-child:not(.js-unselectable-stream-item)\",\n            ownTweetSelector: \".my-tweet\",\n            replyLinkSelector: \"div.tweet ul.js-actions a.js-action-reply\",\n            profileCardSelector: \".profile-card\",\n            streamTweetSelector: \".js-stream-tweet\",\n            activityMentionClass: \"js-activity-mention\",\n            activityReplyClass: \"js-activity-reply\",\n            pushStateSelector: \"a.js-nav\",\n            navigationActiveClass: \"js-navigation-active\"\n        }), this.moveSelection = function(a) {\n            var b = $(a.target);\n            if (b.closest(this.attr.selectedSelector).length) {\n                return;\n            }\n        ;\n        ;\n            var c;\n            ((b.closest(\".js-expansion-container\") ? c = b.closest(\"li\") : c = b.closest(this.attr.genericItemSelector))), ((b.closest(this.attr.pushStateSelector).length && (this.$linkClicked = c, JSBNG__clearTimeout(this.linkTimer), this.linkTimer = JSBNG__setTimeout(function() {\n                this.$linkClicked = $();\n            }.bind(this), 0)))), ((this.$selected.length && this.selectItem(c)));\n        }, this.clearSelection = function() {\n            this.$selected.removeClass(this.attr.selectedClass), this.$selected = $();\n        }, this.selectTopItem = function() {\n            this.clearSelection(), this.trigger(\"uiInjectNewItems\"), this.selectAdjacentItem(\"next\");\n        }, this.injectAndPossiblySelectTopItem = function() {\n            var a = this.$selected.length;\n            ((a && this.clearSelection())), this.trigger(\"uiInjectNewItems\"), ((a && this.selectAdjacentItem(\"next\")));\n        }, this.selectPrevItem = function() {\n            this.selectAdjacentItem(\"prev\");\n        }, this.selectNextItem = function(a, b) {\n            this.selectAdjacentItem(\"next\", b);\n        }, this.selectNextItemNotFrom = function(a) {\n            var b = \"next\", c = this.$selected;\n            while (((this.getUserId() == a))) {\n                this.selectAdjacentItem(b);\n                if (((c == this.$selected))) {\n                    if (((b != \"next\"))) {\n                        return;\n                    }\n                ;\n                ;\n                    b = \"prev\";\n                }\n                 else c = this.$selected;\n            ;\n            ;\n            };\n        ;\n        }, this.getAdjacentParentItem = function(a, b) {\n            var c = a.closest(\".js-navigable-stream\"), d = a;\n            if (c.length) {\n                a = c.closest(\".stream-item\"), d = a[b]();\n                if (!d.length) {\n                    return this.getAdjacentParentItem(a, b);\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            return d;\n        }, this.getAdjacentChildItem = function(a, b) {\n            var c = a, d = c.hasClass(\"js-has-navigable-stream\"), e = ((((b == \"next\")) ? \"first-child\" : \"last-child\"));\n            return ((((c.length && d)) ? (c = c.JSBNG__find(\".js-navigable-stream\").eq(0).JSBNG__find(((\"\\u003Eli:\" + e))), this.getAdjacentChildItem(c, b)) : c));\n        }, this.selectAdjacentItem = function(a, b) {\n            var c;\n            ((this.$selected.length ? c = this.$selected[a]() : c = this.select(\"firstItemSelector\").eq(0))), ((c.length || (c = this.getAdjacentParentItem(this.$selected, a)))), c = this.getAdjacentChildItem(c, a);\n            if (((c.length && c.hasClass(this.attr.unselectableClass)))) {\n                return this.$selected = c, this.selectAdjacentItem(a, b);\n            }\n        ;\n        ;\n            this.selectItem(c), this.setARIALabel(), this.focusSelected(), ((((c.length && ((!b || !b.maintainPosition)))) && this.adjustScrollForSelectedItem()));\n            var d = ((((a == \"next\")) ? \"uiNextItemSelected\" : \"uiPreviousItemSelected\"));\n            this.trigger(this.$selected, d);\n        }, this.selectItem = function(a) {\n            var b = this.$selected;\n            if (((!a.length || ((b == a))))) {\n                return;\n            }\n        ;\n        ;\n            this.$selected = a, this.$node.JSBNG__find(this.attr.selectedSelector).removeClass(this.attr.selectedClass), b.removeClass(this.attr.selectedClass), b.removeAttr(\"tabIndex\"), b.removeAttr(\"aria-labelledby\"), this.$selected.addClass(this.attr.selectedClass);\n        }, this.setARIALabel = function() {\n            var a = this.$selected.JSBNG__find(\".tweet\"), b = ((a.attr(\"id\") || ((\"tweet-\" + a.attr(\"data-tweet-id\"))))), c = [], d = [\".stream-item-header\",\".tweet-text\",\".context\",];\n            ((a.hasClass(\"favorited\") && d.push(\".tweet-actions .unfavorite\"))), ((a.hasClass(\"retweeted\") && d.push(\".tweet-actions .undo-retweet\"))), d.push(\".expanded-content\"), a.JSBNG__find(d.join()).each(function(a, d) {\n                var e = d.id;\n                ((e || (e = ((((b + \"-\")) + a)), d.setAttribute(\"id\", e)))), c.push(e);\n            }), this.$selected.attr(\"aria-labelledby\", c.join(\" \"));\n        }, this.focusSelected = function() {\n            this.$selected.attr(\"tabIndex\", -1).JSBNG__focus();\n        }, this.deselect = function(a) {\n            var b = (([\"HTML\",\"BODY\",].indexOf(a.target.tagName) != -1)), c = ((((a.target.id == \"page-outer\")) && !$(a.target).parents(\"#page-container\").length));\n            ((((b || c)) && this.clearSelection()));\n        }, this.favoriteItem = function() {\n            this.trigger(this.$selected, \"uiDidFavoriteTweetToggle\");\n        }, this.retweetItem = function() {\n            ((this.itemSelectedIsMine() || this.trigger(this.$selected, \"uiDidRetweetTweetToggle\")));\n        }, this.replyItem = function() {\n            var a = this.$selected.JSBNG__find(this.attr.replyLinkSelector).first();\n            this.trigger(a, \"uiDidReplyTweetToggle\");\n        }, this.blockUser = function() {\n            this.takeAction(\"uiOpenBlockUserDialog\");\n        }, this.unblockUser = function() {\n            this.takeAction(\"uiUnblockAction\");\n        }, this.takeAction = function(a) {\n            ((((!this.itemSelectedIsMine() && this.itemSelectedIsBlockable())) && this.trigger(this.$selected, a, {\n                userId: this.getUserId(),\n                username: this.getUsername(),\n                fromShortcut: !0\n            })));\n        }, this.getUserId = function() {\n            return this.$selected.JSBNG__find(this.attr.streamTweetSelector).attr(\"data-user-id\");\n        }, this.getUsername = function() {\n            return this.$selected.JSBNG__find(this.attr.streamTweetSelector).attr(\"data-name\");\n        }, this.itemSelectedIsMine = function() {\n            return (($(this.$selected).JSBNG__find(this.attr.ownTweetSelector).length > 0));\n        }, this.itemSelectedIsBlockable = function() {\n            return (((((($(this.$selected).children(this.attr.streamTweetSelector).length > 0)) || $(this.$selected).hasClass(this.attr.activityReplyClass))) || $(this.$selected).hasClass(this.attr.activityMentionClass)));\n        }, this.updateAfterBlock = function(a, b) {\n            (((($(this.attr.profileCardSelector).size() === 0)) && (this.selectNextItemNotFrom(b.userId), this.trigger(\"uiRemoveTweetsFromUser\", b))));\n        }, this.adjustScrollForItem = function(a) {\n            ((a.length && $(window).scrollTop(((a.offset().JSBNG__top - (($(window).height() / 2)))))));\n        }, this.notifyExpansionRequest = function() {\n            this.trigger(this.$selected, \"uiShouldToggleExpandedState\");\n        }, this.adjustScrollForSelectedItem = function() {\n            this.adjustScrollForItem(this.$selected);\n        }, this.processActiveNavigation = function() {\n            var a = 2;\n            JSBNG__setTimeout(this.removeActiveNavigationClass.bind(this), ((a * 1000)));\n        }, this.setNavigationActive = function() {\n            this.$linkClicked.addClass(this.attr.navigationActiveClass);\n        }, this.removeActiveNavigationClass = function() {\n            var a = this.$node.JSBNG__find(((\".\" + this.attr.navigationActiveClass)));\n            a.removeClass(this.attr.navigationActiveClass);\n        }, this.handleEvent = function(a) {\n            return function() {\n                (($(\"body\").hasClass(\"modal-enabled\") || this[a].apply(this, arguments)));\n            };\n        }, this.changeSelection = function(a, b) {\n            var c = $(a.target);\n            ((this.$selected.length && (this.selectItem(c), ((((b && b.setFocus)) && (this.setARIALabel(), this.focusSelected()))))));\n        }, this.after(\"initialize\", function() {\n            this.$selected = this.$node.JSBNG__find(this.attr.selectedSelector), this.$linkClicked = $(), this.JSBNG__on(JSBNG__document, \"uiShortcutSelectPrev\", this.handleEvent(\"selectPrevItem\")), this.JSBNG__on(JSBNG__document, \"uiShortcutSelectNext uiSelectNext\", this.handleEvent(\"selectNextItem\")), this.JSBNG__on(JSBNG__document, \"uiSelectItem\", this.handleEvent(\"changeSelection\")), this.JSBNG__on(JSBNG__document, \"uiShortcutEnter\", this.handleEvent(\"notifyExpansionRequest\")), this.JSBNG__on(JSBNG__document, \"uiShortcutGotoTopOfScreen uiSelectTopTweet\", this.handleEvent(\"selectTopItem\")), this.JSBNG__on(JSBNG__document, \"uiGotoTopOfScreen\", this.handleEvent(\"injectAndPossiblySelectTopItem\")), this.JSBNG__on(JSBNG__document, \"uiShortcutFavorite\", this.handleEvent(\"favoriteItem\")), this.JSBNG__on(JSBNG__document, \"uiShortcutRetweet\", this.handleEvent(\"retweetItem\")), this.JSBNG__on(JSBNG__document, \"uiShortcutReply\", this.handleEvent(\"replyItem\")), this.JSBNG__on(JSBNG__document, \"uiShortcutBlock\", this.handleEvent(\"blockUser\")), this.JSBNG__on(JSBNG__document, \"uiShortcutUnblock\", this.handleEvent(\"unblockUser\")), this.JSBNG__on(JSBNG__document, \"uiUpdateAfterBlock\", this.updateAfterBlock), this.JSBNG__on(JSBNG__document, \"uiRemovedSomeTweets\", this.adjustScrollForSelectedItem), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged uiClearSelection\", this.clearSelection), this.JSBNG__on(JSBNG__document, \"uiPageChanged\", this.processActiveNavigation), this.JSBNG__on(\"click\", {\n                genericItemSelector: this.moveSelection\n            }), this.JSBNG__on(JSBNG__document, \"uiNavigate\", this.setNavigationActive), this.JSBNG__on(JSBNG__document, \"click\", this.deselect);\n        });\n    };\n;\n    module.exports = withKeyboardNavigation;\n});\ndefine(\"app/ui/with_focus_highlight\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function focusHighlight() {\n        this.defaultAttrs({\n            focusClass: \"JSBNG__focus\",\n            focusContainerSelector: \".tweet\"\n        }), this.addFocusStyle = function(a, b) {\n            $(b.el).addClass(this.attr.focusClass);\n        }, this.removeFocusStyle = function(a, b) {\n            JSBNG__setTimeout(function() {\n                var a = b.el, c = JSBNG__document.activeElement;\n                ((((!$.contains(a, c) && ((a != c)))) && $(a).removeClass(this.attr.focusClass)));\n            }.bind(this), 0);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"focusin\", {\n                focusContainerSelector: this.addFocusStyle\n            }), this.JSBNG__on(\"focusout\", {\n                focusContainerSelector: this.removeFocusStyle\n            });\n        });\n    };\n;\n    module.exports = focusHighlight;\n});\ndefine(\"app/ui/timelines/with_base_timeline\", [\"module\",\"require\",\"exports\",\"app/ui/timelines/with_keyboard_navigation\",\"app/ui/with_interaction_data\",\"app/utils/scribe_event_initiators\",\"app/ui/with_focus_highlight\",\"core/compose\",\"app/utils/animate_window_scrolltop\",], function(module, require, exports) {\n    function withBaseTimeline() {\n        compose.mixin(this, [withKeyboardNavigation,withInteractionData,withFocusHighLight,]), this.defaultAttrs({\n            containerSelector: \".stream-container\",\n            itemsSelector: \"#stream-items-id\",\n            genericItemSelector: \".js-stream-item\",\n            timelineEndSelector: \".timeline-end\",\n            backToTopSelector: \".back-to-top\",\n            lastItemSelector: \".stream-item:last\",\n            streamItemContentsSelector: \".js-actionable-tweet, .js-actionable-user, .js-activity, .js-story-item\"\n        }), this.findFirstItemContent = function(a) {\n            var b = a.JSBNG__find(this.attr.streamItemContentsSelector);\n            return b = b.not(\".conversation-tweet\"), $(b[0]);\n        }, this.injectItems = function(a, b, c, d) {\n            var e = $(\"\\u003Cdiv/\\u003E\").html(b).children();\n            return ((((e.length > 0)) && this.select(\"timelineEndSelector\").addClass(\"has-items\"))), this.select(\"itemsSelector\")[a](e), this.reportInjectedItems(e, c, d), e;\n        }, this.removeDuplicates = function(a) {\n            var b = [];\n            return a.filter(function(a) {\n                return ((a.tweetId ? ((((b.indexOf(a.tweetId) === -1)) ? (b.push(a.tweetId), !0) : !1)) : !0));\n            });\n        }, this.reportInjectedItems = function(a, b, c) {\n            var d = [];\n            a.each(function(a, c) {\n                if (((((((b === \"uiHasInjectedNewTimeline\")) || ((b === \"uiHasInjectedOldTimelineItems\")))) || ((b === \"uiHasInjectedRangeTimelineItems\"))))) {\n                    d = d.concat(this.extraInteractionData($(c))), d.push(this.interactionData(this.findFirstItemContent($(c))));\n                }\n            ;\n            ;\n                this.trigger(c, \"uiHasInjectedTimelineItem\");\n            }.bind(this)), d = this.removeDuplicates(d);\n            var e = {\n            };\n            if (((((((b === \"uiHasInjectedNewTimeline\")) || ((b === \"uiHasInjectedOldTimelineItems\")))) || ((b === \"uiHasInjectedRangeTimelineItems\"))))) {\n                e = {\n                    scribeContext: {\n                        component: ((this.attr.itemType && ((this.attr.itemType + \"_stream\"))))\n                    },\n                    scribeData: {\n                    },\n                    items: d\n                }, ((((c && c.autoplay)) && (e.scribeData.event_initiator = eventInitiators.clientSideApp)));\n            }\n        ;\n        ;\n            this.trigger(\"uiWantsToRefreshTimestamps\"), this.trigger(b, e);\n        }, this.inspectItemsFromServer = function(a, b) {\n            ((this.isOldItem(b) ? this.injectOldItems(b) : ((this.isNewItem(b) ? this.notifyNewItems(b) : ((this.wasRangeRequest(b) && this.injectRangeItems(b)))))));\n        }, this.investigateDataError = function(a, b) {\n            var c = b.sourceEventData;\n            if (!c) {\n                return;\n            }\n        ;\n        ;\n            ((this.wasRangeRequest(c) ? this.notifyRangeItemsError(b) : ((this.wasNewItemsRequest(c) || ((this.wasOldItemsRequest(c) && this.notifyOldItemsError(b)))))));\n        }, this.possiblyShowBackToTop = function() {\n            var a = this.select(\"lastItemSelector\").position();\n            ((((a && ((a.JSBNG__top >= $(window).height())))) && this.select(\"backToTopSelector\").show()));\n        }, this.scrollToTop = function() {\n            animateWinScrollTop(0, \"fast\");\n        }, this.getTimelinePosition = function(a) {\n            return a.closest(this.attr.genericItemSelector).index();\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(\"dataGotMoreTimelineItems\", this.inspectItemsFromServer), this.JSBNG__on(\"dataGotMoreTimelineItemsError\", this.investigateDataError), this.JSBNG__on(\"click\", {\n                backToTopSelector: this.scrollToTop\n            }), this.possiblyShowBackToTop();\n        });\n    };\n;\n    var withKeyboardNavigation = require(\"app/ui/timelines/with_keyboard_navigation\"), withInteractionData = require(\"app/ui/with_interaction_data\"), eventInitiators = require(\"app/utils/scribe_event_initiators\"), withFocusHighLight = require(\"app/ui/with_focus_highlight\"), compose = require(\"core/compose\"), animateWinScrollTop = require(\"app/utils/animate_window_scrolltop\");\n    module.exports = withBaseTimeline;\n});\ndefine(\"app/ui/timelines/with_old_items\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withOldItems() {\n        this.defaultAttrs({\n            endOfStreamSelector: \".stream-footer\",\n            errorMessageSelector: \".stream-fail-container\",\n            tryAgainSelector: \".try-again-after-whale\",\n            allowInfiniteScroll: !0\n        }), this.getOldItems = function() {\n            ((((this.shouldGetOldItems() && !this.requestInProgress)) && (this.requestInProgress = !0, this.trigger(\"uiWantsMoreTimelineItems\", this.getOldItemsData()))));\n        }, this.injectOldItems = function(a) {\n            this.hideWhaleEnd(), this.resetStateVariables(a), ((a.has_more_items ? this.showMoreSpinner() : this.hideMoreSpinner()));\n            var b = this.$document.height();\n            this.injectItems(((this.attr.isBackward ? \"prepend\" : \"append\")), a.items_html, \"uiHasInjectedOldTimelineItems\"), ((this.attr.isBackward ? (this.$window.scrollTop(((this.$document.height() - b))), ((a.has_more_items || this.select(\"endOfStreamSelector\").remove()))) : this.possiblyShowBackToTop())), this.requestInProgress = !1;\n        }, this.notifyOldItemsError = function(a) {\n            this.showWhaleEnd(), this.requestInProgress = !1;\n        }, this.showWhaleEnd = function() {\n            this.select(\"errorMessageSelector\").show(), this.select(\"endOfStreamSelector\").hide();\n        }, this.hideWhaleEnd = function() {\n            this.select(\"errorMessageSelector\").hide(), this.select(\"endOfStreamSelector\").show();\n        }, this.showMoreSpinner = function() {\n            this.select(\"timelineEndSelector\").addClass(\"has-more-items\");\n        }, this.hideMoreSpinner = function() {\n            this.select(\"timelineEndSelector\").removeClass(\"has-more-items\");\n        }, this.tryAgainAfterWhale = function(a) {\n            a.preventDefault(), this.hideWhaleEnd(), this.getOldItems();\n        }, this.after(\"initialize\", function(a) {\n            this.requestInProgress = !1, ((this.attr.allowInfiniteScroll && this.JSBNG__on(window, ((this.attr.isBackward ? \"uiNearTheTop\" : \"uiNearTheBottom\")), this.getOldItems))), this.$document = $(JSBNG__document), this.$window = $(window), this.JSBNG__on(\"click\", {\n                tryAgainSelector: this.tryAgainAfterWhale\n            });\n        });\n    };\n;\n    module.exports = withOldItems;\n});\ndefine(\"app/utils/chrome\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    var chrome = {\n        globalYOffset: null,\n        selectors: {\n            globalNav: \".global-nav\"\n        },\n        getGlobalYOffset: function() {\n            return ((((chrome.globalYOffset === null)) && (chrome.globalYOffset = $(chrome.selectors.globalNav).height()))), chrome.globalYOffset;\n        },\n        getCanvasYOffset: function(a) {\n            return ((a.offset().JSBNG__top - chrome.getGlobalYOffset()));\n        }\n    };\n    module.exports = chrome;\n});\ndefine(\"app/ui/timelines/with_traveling_ptw\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withTravelingPTw() {\n        this.closePromotedItem = function(a) {\n            ((a.hasClass(\"open\") && this.trigger(a, \"uiShouldToggleExpandedState\", {\n                noAnimation: !0\n            })));\n        }, this.transferClass = function(a, b, c) {\n            ((a.hasClass(b) && (a.removeClass(b), c.addClass(b))));\n        }, this.repositionPromotedItem = function(a) {\n            var b = this.$promotedItem;\n            this.transferClass(b, \"before-expanded\", b.prev()), this.transferClass(b, \"after-expanded\", b.next()), a.call(this, b.detach()), this.transferClass(b.next(), \"after-expanded\", \"prev\");\n        }, this.after(\"initialize\", function(a) {\n            this.travelingPromoted = a.travelingPromoted, this.$promotedItem = this.$node.JSBNG__find(\".promoted-tweet\").first().closest(\".stream-item\");\n        }), this.movePromotedToTop = function() {\n            if (this.autoplay) {\n                return;\n            }\n        ;\n        ;\n            this.repositionPromotedItem(function(a) {\n                var b = this.$node.JSBNG__find(this.attr.streamItemsSelector).children().first();\n                b[((b.hasClass(\"open\") ? \"after\" : \"before\"))](a);\n            });\n        };\n    };\n;\n    module.exports = withTravelingPTw;\n});\ndefine(\"app/ui/timelines/with_autoplaying_timeline\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/utils/chrome\",\"app/ui/timelines/with_traveling_ptw\",\"app/utils/animate_window_scrolltop\",], function(module, require, exports) {\n    function withAutoplayingTimeline() {\n        compose.mixin(this, [withTravelingPTw,]);\n        var a = 700, b = 750, c = 300;\n        this.defaultAttrs({\n            autoplayControlSelector: \".autoplay-control .play-pause\",\n            streamItemsSelector: \".stream-items\",\n            socialProofSelector: \".tweet-stats-container\",\n            autoplayMarkerSelector: \".stream-autoplay-marker\",\n            notificationBarOpacity: 94796\n        }), this.autoplayNewItems = function(a, b) {\n            if (!a) {\n                return;\n            }\n        ;\n        ;\n            var c = this.$window.scrollTop(), d = ((c + this.$window.height())), e = ((this.$promotedItem.length && ((this.$promotedItem.offset().JSBNG__top > d)))), f = this.injectNewItems({\n            }, {\n                autoplay: !0\n            });\n            ((((this.travelingPTw && e)) && this.repositionPromotedItem(function(a) {\n                f.first().before(a), f = f.add(a), this.trigger(a, \"uiShouldFixMargins\");\n            })));\n            var g = f.first().offset().JSBNG__top, h = ((((g > c)) && ((g < d)))), i = this.$container.offset().JSBNG__top, j = ((((f.last().next().offset().JSBNG__top - i)) + 1));\n            if (h) this.$container.css(\"marginTop\", -j), this.animateBlockOfItems(f);\n             else {\n                var k = chrome.getGlobalYOffset(), l = ((this.$notification.is(\":visible\") ? k : -100));\n                this.showingAutoplayMarker = !1, this.setScrollerScrollTop(((c + j))), this.$notification.show().JSBNG__find(\".text\").text($(a).text()).end().css({\n                    JSBNG__top: l,\n                    opacity: this.attr.notificationBarOpacity\n                }).animate({\n                    JSBNG__top: k\n                }, {\n                    duration: 500,\n                    complete: function() {\n                        var a = this.newItemsXLine;\n                        this.newItemsXLine = ((((a > 0)) ? ((a + j)) : ((i + j)))), this.showingAutoplayMarker = !0, this.latentItems.count = b;\n                    }.bind(this)\n                });\n            }\n        ;\n        ;\n        }, this.animateBlockOfItems = function(b) {\n            var c = this.$window.scrollTop(), d = parseFloat(this.$container.css(\"marginTop\")), e = -b.first().position().JSBNG__top;\n            this.isAnimating = !0, this.$container.parent().css(\"overflow\", \"hidden\"), this.$container.animate({\n                marginTop: 0\n            }, {\n                duration: ((a + Math.abs(d))),\n                step: function(a) {\n                    ((this.lockedTimelineScroll && this.setScrollerScrollTop(((c + Math.abs(((d - Math.ceil(a)))))))));\n                }.bind(this),\n                complete: function() {\n                    this.$container.parent().css(\"overflow\", \"inherit\"), this.isAnimating = !1, this.afterAnimationQueue.forEach(function(a) {\n                        a.call(this);\n                    }, this), this.afterAnimationQueue = [];\n                }.bind(this)\n            });\n        }, this.handleSocialProofPops = function(a) {\n            var b = $(a.target).closest(\".stream-item\");\n            if (((this.lastClickedItem && ((b[0] === this.lastClickedItem))))) {\n                return;\n            }\n        ;\n        ;\n            var c = $(a.target).JSBNG__find(this.attr.socialProofSelector).hide(), d = function() {\n                var a = b.next().offset().JSBNG__top;\n                c.show();\n                var d = b.next().offset().JSBNG__top, e = this.$window.scrollTop();\n                ((((this.lockedTimelineScroll || ((e > d)))) && this.setScrollerScrollTop(((e + ((d - a)))))));\n            }.bind(this);\n            ((this.isAnimating ? this.afterAnimationQueue.push(d) : d()));\n        }, this.animateScrollToTop = function() {\n            var a = ((this.$container.offset().JSBNG__top - 150)), d = {\n                duration: b\n            };\n            ((this.attr.overflowScroll ? this.$node.animate({\n                scrollTop: a\n            }, d) : animateWinScrollTop(a, d))), this.$notification.animate({\n                JSBNG__top: -200,\n                opacity: 0\n            }, {\n                duration: c\n            });\n        }, this.setScrollerScrollTop = function(a) {\n            var b = ((this.attr.overflowScroll ? this.$node : $(window)));\n            b.scrollTop(a);\n        }, this.removeAutoplayMarkerOnScroll = function() {\n            var a, b = function() {\n                ((this.showingAutoplayMarker ? (this.showingAutoplayMarker = !1, this.$notification.fadeOut(200)) : ((((((this.newItemsXLine > 0)) && ((this.$window.scrollTop() < this.newItemsXLine)))) && (this.newItemsXLine = 0, this.latentItems.count = 0)))));\n            }.bind(this);\n            this.$window.JSBNG__scroll(function(c) {\n                if (!this.autoplay) {\n                    return;\n                }\n            ;\n            ;\n                JSBNG__clearTimeout(a), a = JSBNG__setTimeout(b, 0);\n            }.bind(this));\n        }, this.toggleAutoplay = function(a) {\n            $(\".tooltip\").remove(), (($(a.target).parent().toggleClass(\"paused\").hasClass(\"paused\") ? this.disableAutoplay() : this.reenableAutoplay()));\n        }, this.disableAutoplay = function() {\n            this.autoplay = !1, this.trigger(\"uiHasDisabledAutoplay\");\n        }, this.reenableAutoplay = function() {\n            this.autoplay = !0, this.lockedTimelineScroll = !1, this.trigger(\"uiHasEnabledAutoplay\");\n            var a = this.select(\"newItemsBarSelector\");\n            a.animate({\n                marginTop: -a.JSBNG__outerHeight(),\n                opacity: 0\n            }, {\n                duration: 225,\n                complete: this.autoplayNewItems.bind(this, a.html())\n            });\n        }, this.enableAutoplay = function(a) {\n            this.autoplay = !0, this.travelingPTw = a.travelingPTw, this.lockedTimelineScroll = !1, this.afterAnimationQueue = [], this.newItemsXLine = 0, this.$container = this.select(\"streamItemsSelector\"), this.$notification = this.select(\"autoplayMarkerSelector\"), this.$window = ((a.overflowScroll ? this.$node : $(window))), this.JSBNG__on(\"mouseover\", function() {\n                this.lockedTimelineScroll = !0;\n            }), this.JSBNG__on(\"mouseleave\", function() {\n                this.lockedTimelineScroll = !1;\n            }), this.JSBNG__on(\"uiHasRenderedTweetSocialProof\", this.handleSocialProofPops), this.JSBNG__on(\"uiHasExpandedTweet\", function(a) {\n                this.lastClickedItem = $(a.target).data(\"expando\").$container.get(0);\n            }), this.JSBNG__on(\"click\", {\n                autoplayControlSelector: this.toggleAutoplay,\n                autoplayMarkerSelector: this.animateScrollToTop\n            }), this.removeAutoplayMarkerOnScroll(), this.$notification.width(this.$notification.width()).css(\"position\", \"fixed\");\n        }, this.after(\"initialize\", function(a) {\n            ((a.autoplay && this.enableAutoplay(a)));\n        });\n    };\n;\n    var compose = require(\"core/compose\"), chrome = require(\"app/utils/chrome\"), withTravelingPTw = require(\"app/ui/timelines/with_traveling_ptw\"), animateWinScrollTop = require(\"app/utils/animate_window_scrolltop\");\n    module.exports = withAutoplayingTimeline;\n});\ndefine(\"app/ui/timelines/with_polling\", [\"module\",\"require\",\"exports\",\"core/utils\",\"app/utils/setup_polling_with_backoff\",], function(module, require, exports) {\n    function withPolling() {\n        this.defaultAttrs({\n            pollingWatchNode: $(window),\n            pollingEnabled: !0\n        }), this.pausePolling = function() {\n            this.pollingTimer.pause(), this.pollingPaused = !0;\n        }, this.resetPolling = function() {\n            this.backoffEmptyResponseCount = 0, this.pollingPaused = !1;\n        }, this.pollForNewItems = function(a, b) {\n            this.trigger(\"uiTimelineShouldRefresh\", {\n                injectImmediately: !1,\n                interval: this.pollingTimer.interval,\n                fromPolling: !0\n            });\n        }, this.onGotMoreTimelineItems = function(a, b) {\n            if (!((((((this.attr.pollingOptions && this.attr.pollingOptions.pauseAfterBackoff)) && b)) && b.sourceEventData))) {\n                return;\n            }\n        ;\n        ;\n            var c = b.sourceEventData;\n            ((c.fromPolling && ((((this.isNewItem(b) || ((c.interval < this.attr.pollingOptions.blurredInterval)))) ? this.resetPolling() : ((((++this.backoffEmptyResponseCount >= this.attr.pollingOptions.backoffEmptyResponseLimit)) && this.pausePolling()))))));\n        }, this.modifyNewItemsData = function(a) {\n            var b = a();\n            return ((((this.pollingPaused && this.attr.pollingOptions)) ? (this.resetPolling(), utils.merge(b, {\n                count: this.attr.pollingOptions.resumeItemCount\n            })) : b));\n        }, this.possiblyRefreshBeforeInject = function(a, b, c) {\n            return ((((((this.pollingPaused && b)) && ((b.type === \"click\")))) && this.trigger(\"uiTimelineShouldRefresh\", {\n                injectImmediately: !0\n            }))), a(b, c);\n        }, this.around(\"getNewItemsData\", this.modifyNewItemsData), this.around(\"injectNewItems\", this.possiblyRefreshBeforeInject), this.after(\"initialize\", function() {\n            if (!this.attr.pollingEnabled) {\n                return;\n            }\n        ;\n        ;\n            this.JSBNG__on(JSBNG__document, \"uiTimelinePollForNewItems\", this.pollForNewItems), this.JSBNG__on(JSBNG__document, \"dataGotMoreTimelineItems\", this.onGotMoreTimelineItems), this.pollingTimer = setupPollingWithBackoff(\"uiTimelinePollForNewItems\", this.attr.pollingWatchNode, this.attr.pollingOptions), this.resetPolling();\n        });\n    };\n;\n    var utils = require(\"core/utils\"), setupPollingWithBackoff = require(\"app/utils/setup_polling_with_backoff\");\n    module.exports = withPolling;\n});\ndefine(\"app/ui/timelines/with_new_items\", [\"module\",\"require\",\"exports\",\"core/utils\",\"core/compose\",\"app/utils/chrome\",\"app/ui/timelines/with_autoplaying_timeline\",\"app/ui/timelines/with_polling\",], function(module, require, exports) {\n    function withNewItems() {\n        this.injectNewItems = function(a, b) {\n            if (!this.latentItems.html) {\n                return;\n            }\n        ;\n        ;\n            this.select(\"newItemsBarSelector\").remove();\n            var c = this.injectItems(\"prepend\", this.latentItems.html, \"uiHasInjectedNewTimeline\", b);\n            return this.resetLatentItems(), c;\n        }, this.handleNewItemsBarClick = function(a, b) {\n            this.injectNewItems(a, b), this.trigger(\"uiRefreshUserRecsOnNewTweets\");\n        }, compose.mixin(this, [withAutoplayingTimeline,withPolling,]), this.defaultAttrs({\n            newItemsBarSelector: \".js-new-tweets-bar\",\n            streamItemSelector: \".stream-item\",\n            refreshOnReturn: !0\n        }), this.getNewItems = function(a, b) {\n            this.trigger(\"uiWantsMoreTimelineItems\", utils.merge({\n                include_new_items_bar: ((!b || !b.injectImmediately)),\n                latent_count: this.latentItems.count,\n                composed_count: Object.keys(this.composedThenInjectedTweetIds).length\n            }, this.getNewItemsData(), b));\n        }, this.notifyNewItems = function(a) {\n            if (!a.items_html) {\n                return;\n            }\n        ;\n        ;\n            var b = ((a.sourceEventData || {\n            }));\n            this.resetStateVariables(a);\n            var c = ((this.attr.injectComposedTweets && this.removeComposedTweetsFromPayload(a)));\n            if (!a.items_html) {\n                return;\n            }\n        ;\n        ;\n            this.latentItems.html = ((a.items_html + ((this.latentItems.html || \"\"))));\n            if (a.new_tweets_bar_html) {\n                var d, e = a.new_tweets_bar_alternate_html;\n                ((((((((this.attr.injectComposedTweets && ((c > 0)))) && e)) && e[((c - 1))])) ? d = $(e[((c - 1))]) : d = $(a.new_tweets_bar_html))), this.latentItems.count = d.children().first().data(\"item-count\"), ((this.autoplay ? this.autoplayNewItems(a.new_tweets_bar_html, this.latentItems.count) : ((b.injectImmediately || this.updateNewItemsBar(d))))), this.trigger(\"uiAddPageCount\", {\n                    count: this.latentItems.count\n                });\n            }\n        ;\n        ;\n            ((((b.injectImmediately || b.timeline_empty)) && this.trigger(\"uiInjectNewItems\"))), ((b.scrollToTop && this.scrollToTop())), ((b.selectTopTweet && this.trigger(\"uiSelectTopTweet\")));\n        }, this.removeComposedTweetsFromPayload = function(a) {\n            var b = this.composedThenInjectedTweetIds, c = $(a.items_html).filter(this.attr.streamItemSelector);\n            if (((c.length == 0))) {\n                return 0;\n            }\n        ;\n        ;\n            var d = 0, e = c.filter(function(a, c) {\n                var e = $(c).attr(\"data-item-id\");\n                return ((((e in b)) ? (d++, delete b[e], !1) : !0));\n            });\n            return a.items_html = $(\"\\u003Cdiv/\\u003E\").append(e).html(), d;\n        }, this.updateNewItemsBar = function(a) {\n            var b = this.select(\"newItemsBarSelector\"), c = this.select(\"containerSelector\"), d = $(window).scrollTop(), e = chrome.getCanvasYOffset(c);\n            ((b.length ? (b.parent().remove(), a.prependTo(c)) : (a.hide().prependTo(c), ((((d > e)) ? (a.show(), $(\"html, body\").scrollTop(((d + a.height())))) : a.slideDown()))))), this.trigger(\"uiNewItemsBarVisible\");\n        }, this.resetLatentItems = function() {\n            this.latentItems = {\n                count: 0,\n                html: \"\"\n            };\n        }, this.refreshOnNavigate = function(a, b) {\n            ((((b.fromCache && this.attr.refreshOnReturn)) && this.trigger(\"uiTimelineShouldRefresh\", {\n                navigated: !0\n            })));\n        }, this.refreshAndSelectTopTweet = function(a, b) {\n            this.trigger(\"uiTimelineShouldRefresh\", {\n                injectImmediately: !0,\n                selectTopTweet: !0\n            });\n        }, this.injectComposedTweet = function(a, b) {\n            if (b.in_reply_to_status_id) {\n                return;\n            }\n        ;\n        ;\n            this.injectNewItems();\n            var c = $(b.tweet_html).filter(this.attr.streamItemSelector).first().attr(\"data-item-id\");\n            if (this.$node.JSBNG__find(((((\".original-tweet[data-tweet-id='\" + c)) + \"']:first\"))).length) {\n                return;\n            }\n        ;\n        ;\n            this.latentItems.html = b.tweet_html, this.injectNewItems(), this.composedThenInjectedTweetIds[b.tweet_id] = !0;\n        }, this.refreshAndInjectImmediately = function(a, b) {\n            this.trigger(\"uiTimelineShouldRefresh\", {\n                injectImmediately: !0,\n                selectTopTweet: ((this.$selected.length == 1))\n            });\n        }, this.resetCacheOfComposedInjectedTweets = function(a, b) {\n            this.composedThenInjectedTweetIds = composedThenInjectedTweetIds = {\n            };\n        }, this.after(\"initialize\", function(a) {\n            this.composedThenInjectedTweetIds = composedThenInjectedTweetIds, this.resetLatentItems(), this.JSBNG__on(\"uiInjectNewItems\", this.injectNewItems), this.JSBNG__on(JSBNG__document, \"uiTimelineShouldRefresh\", this.getNewItems), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.injectNewItems), this.JSBNG__on(JSBNG__document, \"uiPageChanged\", this.refreshOnNavigate), this.JSBNG__on(JSBNG__document, \"uiGotoTopOfScreen\", this.refreshAndInjectImmediately), this.JSBNG__on(JSBNG__document, \"uiShortcutGotoTopOfScreen\", this.refreshAndSelectTopTweet), this.JSBNG__on(JSBNG__document, \"dataPageMutated\", this.resetCacheOfComposedInjectedTweets), ((this.attr.injectComposedTweets && this.JSBNG__on(JSBNG__document, \"dataTweetSuccess\", this.injectComposedTweet))), this.JSBNG__on(\"click\", {\n                newItemsBarSelector: this.handleNewItemsBarClick\n            });\n        });\n    };\n;\n    var utils = require(\"core/utils\"), compose = require(\"core/compose\"), chrome = require(\"app/utils/chrome\"), withAutoplayingTimeline = require(\"app/ui/timelines/with_autoplaying_timeline\"), withPolling = require(\"app/ui/timelines/with_polling\"), composedThenInjectedTweetIds = {\n    };\n    module.exports = withNewItems;\n});\ndefine(\"app/ui/timelines/with_tweet_pagination\", [\"module\",\"require\",\"exports\",\"app/utils/string\",], function(module, require, exports) {\n    function withTweetPagination() {\n        this.isOldItem = function(a) {\n            return ((a.max_id && ((!this.max_id || ((string.compare(this.max_id, a.max_id) >= 0))))));\n        }, this.isNewItem = function(a) {\n            return ((a.since_id && ((!this.since_id || ((string.compare(this.since_id, a.since_id) < 0))))));\n        }, this.wasRangeRequest = function(a) {\n            return ((a.max_id && a.since_id));\n        }, this.wasNewItemsRequest = function(a) {\n            return a.since_id;\n        }, this.wasOldItemsRequest = function(a) {\n            return a.max_id;\n        }, this.shouldGetOldItems = function() {\n            var a = ((((typeof this.max_id != \"undefined\")) && ((this.max_id !== null))));\n            return ((!a || ((this.max_id != \"-1\"))));\n        }, this.getOldItemsData = function() {\n            return {\n                max_id: this.max_id,\n                query: this.query\n            };\n        }, this.getRangeItemsData = function(a, b) {\n            return {\n                since_id: a,\n                max_id: b,\n                query: this.query\n            };\n        }, this.getNewItemsData = function() {\n            var a = {\n                since_id: this.since_id,\n                query: this.query\n            };\n            return ((((this.select(\"itemsSelector\").children().length == 0)) && (a.timeline_empty = !0))), a;\n        }, this.resetStateVariables = function(a) {\n            [\"max_id\",\"since_id\",\"query\",].forEach(function(b, c) {\n                ((((typeof a[b] != \"undefined\")) && (this[b] = a[b], ((((((b == \"max_id\")) || ((b == \"since_id\")))) && this.select(\"containerSelector\").attr(((\"data-\" + b.replace(\"_\", \"-\"))), this[b]))))));\n            }, this);\n        }, this.after(\"initialize\", function(a) {\n            this.since_id = ((this.select(\"containerSelector\").attr(\"data-since-id\") || undefined)), this.max_id = ((this.select(\"containerSelector\").attr(\"data-max-id\") || undefined)), this.query = ((a.query || \"\"));\n        });\n    };\n;\n    var string = require(\"app/utils/string\");\n    module.exports = withTweetPagination;\n});\ndefine(\"app/ui/timelines/with_preserved_scroll_position\", [\"module\",\"require\",\"exports\",\"core/utils\",\"core/i18n\",\"app/utils/string\",\"app/data/user_info\",\"core/compose\",], function(module, require, exports) {\n    function withPreservedScrollPosition() {\n        this.defaultAttrs({\n            firstTweetSelector: \".stream-items .js-stream-item:first-child\",\n            listSelector: \".stream-items:not(.conversation-module)\",\n            tearClass: \"tear\",\n            tearSelector: \".tear\",\n            tearProcessingClass: \"tear-processing\",\n            tearProcessingSelector: \".tear-processing\",\n            currentScrollPosClass: \"current-scroll-pos\",\n            currentScrollPosSelector: \".current-scroll-pos\",\n            topOfViewportTweetSelector: \".top-of-viewport-tweet\",\n            countAboveTear: 10,\n            countBelowTearAboveCurrent: 3,\n            countBelowCurrent: 10,\n            preservedScrollEnabled: !1\n        }), this.findTweetAtTop = function() {\n            var a = $(), b = $(window).scrollTop();\n            return this.select(\"genericItemSelector\").each(function(c, d) {\n                var e = $(d);\n                if (((e.offset().JSBNG__top > b))) {\n                    return a = e, !1;\n                }\n            ;\n            ;\n            }), a;\n        }, this.findNearestRealTweet = function(a, b) {\n            while (((a.length && ((a.JSBNG__find(\"[data-promoted=true]\").length || a.hasClass(this.attr.tearClass)))))) {\n                a = a[b]();\n            ;\n            };\n        ;\n            return a;\n        }, this.findSiblingTweets = function(a, b, c) {\n            var d = $(), e = a, f = 0;\n            while ((((e = e[b]()).length && ((f < c))))) {\n                if (((!e.is(\"[data-item-type=tweet]\") && ((b == \"prev\"))))) {\n                    break;\n                }\n            ;\n            ;\n                d = d.add(e), f++;\n            };\n        ;\n            return d;\n        }, this.getTweetId = function(a) {\n            var b = a.JSBNG__find(\".tweet\").attr(\"data-retweet-id\");\n            return ((b ? b : a.attr(\"data-item-id\")));\n        }, this.recordTweetAtTop = function() {\n            var a = this.findTweetAtTop();\n            if (a.length) {\n                var b = this.getTweetId(this.findNearestRealTweet(a, \"next\")), c = ((a.offset().JSBNG__top - $(window).scrollTop()));\n                a.addClass(this.attr.currentScrollPosClass), a.attr(\"data-offset\", c), this.trigger(\"uiTimelineScrollSet\", {\n                    topItem: b,\n                    offset: c\n                });\n            }\n        ;\n        ;\n        }, this.trimTimeline = function() {\n            var a = this.select(\"currentScrollPosSelector\"), b = this.select(\"firstTweetSelector\"), c, d;\n            ((a.length || (a = b)));\n            if (!a.length) {\n                return;\n            }\n        ;\n        ;\n            d = $(), d = d.add(a), d = d.add(this.findSiblingTweets(a, \"next\", this.attr.countBelowCurrent)), d = d.add(this.findSiblingTweets(a, \"prev\", this.attr.countBelowTearAboveCurrent)), c = d.first();\n            if (((c.index() >= this.attr.countAboveTear))) {\n                var e = $(TEAR_HTML);\n                c.before(e), d = d.add(e);\n            }\n        ;\n        ;\n            ((((this.attr.countAboveTear > 0)) && (d = d.add(b), d = d.add(this.findSiblingTweets(b, \"next\", ((this.attr.countAboveTear - 1)))))));\n            var f = this.findNearestRealTweet(d.last(), \"prev\");\n            this.select(\"containerSelector\").attr(\"data-max-id\", string.subtractOne(this.getTweetId(f))), this.select(\"listSelector\").html(d);\n        }, this.restorePosition = function(a, b) {\n            var c = {\n            }, d = 0;\n            ((((b && b.fromCache)) ? (c = this.select(\"currentScrollPosSelector\"), d = ((-1 * c.attr(\"data-offset\")))) : ((((b && b.scrollPosition)) && (c = this.select(\"topOfViewportTweetSelector\"), d = ((-1 * b.scrollPosition.offset)))))));\n            var e, f, g;\n            ((c.length && (f = $(window).scrollLeft(), g = ((c.offset().JSBNG__top + d)), window.JSBNG__scrollTo(f, g), c.removeClass(this.attr.currentScrollPosClass), $(JSBNG__document).one(\"JSBNG__scroll\", function() {\n                window.JSBNG__scrollTo(f, g);\n            }))));\n        }, this.expandTear = function(a, b, c) {\n            var d = $(a.target);\n            ((d.hasClass(this.attr.tearClass) || (d = d.closest(this.attr.tearSelector)))), d.addClass(this.attr.tearProcessingClass);\n            var e = this.findNearestRealTweet(d.prev(), \"prev\"), f = this.findNearestRealTweet(d.next(), \"next\"), g = this.getTweetId(f), h = this.getTweetId(e);\n            d.attr(\"data-prev-id\", h), d.attr(\"data-next-id\", g), this.trigger(\"uiWantsMoreTimelineItems\", this.getRangeItemsData(string.subtractOne(g), h));\n        }, this.injectRangeItems = function(a) {\n            var b = this.select(\"tearSelector\"), c = $(a.items_html);\n            b.each(function(b, d) {\n                var e = $(d), f = e.attr(\"data-prev-id\"), g = e.attr(\"data-next-id\"), h = !0;\n                ((((a.since_id == f)) && (((((f == this.getTweetId(c.first()))) && (c = c.not(c.first())))), ((((g == this.getTweetId(c.last()))) && (c = c.not(c.last()), h = !1))), c.hide(), e.before(c), e.removeClass(this.attr.tearProcessingClass), ((h || e.remove())), c.filter(\".js-stream-item\").slideDown(\"fast\"), this.reportInjectedItems(c, \"uiHasInjectedRangeTimelineItems\"))));\n            }.bind(this));\n        }, this.notifyRangeItemsError = function(a) {\n            this.select(\"tearProcessingSelector\").removeClass(this.attr.tearProcessingClass);\n        }, this.after(\"initialize\", function() {\n            var a = userInfo.getExperimentGroup(\"home_timeline_snapback_951\"), b = userInfo.getExperimentGroup(\"web_conversations\"), c = ((((a && ((a.bucket == \"preserve\")))) || ((((b && ((b.experiment_key == \"conversations_on_home_timeline_785\")))) && ((b.bucket != \"control\")))))), d = userInfo.getDecider(\"preserve_scroll_position\");\n            ((((this.attr.preservedScrollEnabled && ((c || d)))) && (this.preserveScrollPosition = !0, this.JSBNG__on(JSBNG__document, \"uiPageChanged\", this.restorePosition), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.recordTweetAtTop), this.before(\"teardown\", this.trimTimeline), this.JSBNG__on(\"click\", {\n                tearSelector: this.expandTear\n            }))));\n        });\n    };\n;\n    var utils = require(\"core/utils\"), _ = require(\"core/i18n\"), string = require(\"app/utils/string\"), userInfo = require(\"app/data/user_info\"), compose = require(\"core/compose\"), TEAR_HTML = ((((\"\\u003Cli class=\\\"tear stream-item\\\"\\u003E\\u003Cbutton class=\\\"tear-inner btn-link\\\" type=\\\"button\\\"\\u003E\\u003Cspan class=\\\"tear-text\\\"\\u003E\" + _(\"Load more tweets\"))) + \"\\u003C/span\\u003E\\u003C/button\\u003E\\u003C/li\\u003E\"));\n    module.exports = withPreservedScrollPosition;\n});\ndefine(\"app/ui/timelines/with_activity_supplements\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withActivitySupplements() {\n        this.defaultAttrs({\n            networkActivityPageViewAllToggle: \".stream-item-activity-network\",\n            viewAllSupplementsButton: \"button.view-all-supplements\",\n            interactionsPageViewAllToggle: \".stream-item-activity-me button.view-all-supplements\",\n            additionalStreamItemsSelector: \".sub-stream-item-showing,.sub-stream-item-hidden\",\n            additionalNetworkActivityItems: \".hidden-supplement, .hidden-supplement-expanded\",\n            hiddenSupplement: \"hidden-supplement\",\n            visibleSupplement: \"hidden-supplement-expanded\",\n            hiddenSubItem: \"sub-stream-item-hidden\",\n            visibleSubItem: \"sub-stream-item-showing\",\n            visibleSupplementSelector: \".visible-supplement\"\n        }), this.toggleSupplementTrigger = function(a) {\n            var b = a.hasClass(\"show\");\n            return a.toggleClass(\"hide\", b).toggleClass(\"show\", !b), b;\n        }, this.toggleInteractionsSupplements = function(a, b) {\n            var c = $(b.el), d = this.toggleSupplementTrigger(c);\n            this.toggleSubStreamItemsVisibility(c.parent(), d);\n        }, this.toggleNetworkActivitySupplements = function(a, b) {\n            if ((($(a.target).closest(\".supplement\").length > 0))) {\n                return;\n            }\n        ;\n        ;\n            var c = $(b.el), d = this.toggleSupplementTrigger(c.JSBNG__find(this.attr.viewAllSupplementsButton));\n            ((d || this.trigger(c.JSBNG__find(\".activity-supplement \\u003E .stream-item.open\"), \"uiShouldToggleExpandedState\"))), this.toggleSubStreamItemsVisibility(c, d), c.JSBNG__find(this.attr.additionalNetworkActivityItems).toggleClass(\"hidden-supplement\", !d).toggleClass(\"hidden-supplement-expanded\", d);\n            var e = c.closest(\".js-stream-item\"), f;\n            ((d ? (e.addClass(\"js-has-navigable-stream\"), f = e.JSBNG__find(\".activity-supplement .stream-item:first-child\"), e.JSBNG__find(\".activity-supplement \\u003E .js-unselectable-stream-item\").removeClass(\"js-unselectable-stream-item\"), this.trigger(f, \"uiSelectItem\", {\n                setFocus: !0\n            })) : (e.removeClass(\"js-has-navigable-stream\"), e.JSBNG__find(\".activity-supplement \\u003E .hidden-supplement\").addClass(\"js-unselectable-stream-item\"), this.trigger(e, \"uiSelectItem\", {\n                setFocus: !0\n            }))));\n        }, this.toggleSubStreamItemsVisibility = function(a, b) {\n            a.JSBNG__find(this.attr.additionalStreamItemsSelector).toggleClass(\"sub-stream-item-hidden\", !b).toggleClass(\"sub-stream-item-showing\", b);\n        }, this.selectAndFocusTopLevelStreamItem = function(a, b) {\n            var c = $(b.el), d = c.hasClass(\"js-has-navigable-stream\"), e = this.select(\"viewAllSupplementsButton\").hasClass(\"show\"), f = c.closest(\".js-stream-item\");\n            ((((e && !d)) && (a.stopPropagation(), f.removeClass(\"js-has-navigable-stream\"), this.trigger(f, \"uiSelectItem\", {\n                setFocus: !0\n            }))));\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(\"click\", {\n                interactionsPageViewAllToggle: this.toggleInteractionsSupplements,\n                networkActivityPageViewAllToggle: this.toggleNetworkActivitySupplements\n            }), this.JSBNG__on(\"uiSelectItem\", {\n                visibleSupplementSelector: this.selectAndFocusTopLevelStreamItem\n            });\n        });\n    };\n;\n    module.exports = withActivitySupplements;\n});\ndefine(\"app/ui/with_conversation_actions\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    module.exports = function() {\n        this.defaultAttrs({\n            conversationModuleSelector: \".conversation-module\",\n            hasConversationModuleSelector: \".tweet.has-conversation-module\",\n            viewMoreSelector: \"a.view-more\",\n            missingTweetsLinkSelector: \"a.missing-tweets-link\",\n            conversationRootSelector: \"li.conversation-root\",\n            repliesCountSelector: \".replies-count\",\n            otherRepliesSelector: \".other-replies\",\n            topLevelStreamItemSelector: \".stream-item:not(.conversation-tweet-item)\",\n            afterExpandedClass: \"after-expanded\",\n            beforeExpandedClass: \"before-expanded\",\n            repliesCountClass: \"replies-count\",\n            visuallyHiddenClass: \"visuallyhidden\",\n            conversationRootClass: \"conversation-root\",\n            originalTweetClass: \"original-tweet\",\n            hadConversationClass: \"had-conversation\",\n            conversationHtmlKey: \"conversationHtml\",\n            restoreConversationDelay: 100,\n            animationTime: 200\n        }), this.dedupAndCollapse = function(a, b) {\n            this.dedupConversations(), this.collapseConversations(((b && b.tweets)));\n        }, this.dedupConversations = function() {\n            var a = this.select(\"conversationModuleSelector\");\n            a.each(function(a, b) {\n                if (!b.parentNode) {\n                    return;\n                }\n            ;\n            ;\n                var c = $(b).attr(\"data-ancestors\").split(\",\"), d = $(this.idsToSelector(c));\n                d.addClass(\"to-be-removed\"), d.prev().removeClass(this.attr.beforeExpandedClass).end().next().removeClass(this.attr.afterExpandedClass);\n                var e = this;\n                d.slideUp(function() {\n                    var a = $(this);\n                    ((a.hasClass(e.attr.selectedClass) && e.trigger(\"uiSelectNext\", {\n                        maintainPosition: !0\n                    }))), JSBNG__setTimeout(function() {\n                        a.remove();\n                    }, 0);\n                });\n            }.bind(this));\n        }, this.idToSelector = function(a) {\n            return ((\"#stream-item-tweet-\" + a));\n        }, this.idsToSelector = function(a) {\n            return a.map(this.idToSelector).join(\",\");\n        }, this.collapseConversations = function(a) {\n            var b;\n            if (a) {\n                var c = a.map(function(a) {\n                    return a.tweetId;\n                }), d = this.$node.JSBNG__find(this.idsToSelector(c));\n                b = d.JSBNG__find(this.attr.conversationModuleSelector);\n            }\n             else b = this.select(\"conversationModuleSelector\");\n        ;\n        ;\n            var e = {\n            }, f = {\n            };\n            b.get().reverse().forEach(function(a) {\n                var b = $(a), c = b.attr(\"data-ancestors\"), d = b.JSBNG__find(\".conversation-root .tweet\").attr(\"data-item-id\");\n                ((((!b.hasClass(\"dont-collapse\") && !b.hasClass(\"to-be-removed\"))) && ((e[c] ? this.collapseAncestors(b) : ((f[d] && this.collapseRoot(b))))))), e[c] = !0, f[d] = !0;\n            }.bind(this));\n        }, this.expandConversationHandler = function(a, b) {\n            a.preventDefault();\n            var c = $(a.target).closest(this.attr.conversationModuleSelector);\n            this.expandConversation(c), c.addClass(\"dont-collapse\");\n        }, this.expandConversation = function(a) {\n            ((((a.JSBNG__find(\".conversation-tweet-item.conversation-ancestor:visible\").length > 0)) ? this.expandRoot(a) : this.expandAncestors(a)));\n        }, this.expandAncestors = function(a) {\n            var b = a.JSBNG__find(\".conversation-header\"), c = a.JSBNG__find(\".conversation-tweet-item, .missing-tweets-bar\"), d = a.JSBNG__find(\".original-tweet-item\");\n            this.slideAndFadeContent(b, c, d);\n        }, this.expandRoot = function(a) {\n            var b = a.JSBNG__find(\".conversation-header\"), c = a.JSBNG__find(\".conversation-tweet-item.conversation-root, .missing-tweets-bar\"), d = a.JSBNG__find(\".conversation-tweet-item.conversation-ancestor:not(.conversation-root):first\");\n            ((((d.length === 0)) && (d = a.JSBNG__find(\".original-tweet-item\")))), this.slideAndFadeContent(b, c, d);\n        }, this.collapseAncestors = function(a) {\n            var b = a.JSBNG__find(\".conversation-tweet-item, .missing-tweets-bar\"), c = a.JSBNG__find(\".conversation-header\"), d = a.JSBNG__find(\".original-tweet-item\");\n            this.slideAndFadeContent(b, c, d);\n        }, this.collapseRoot = function(a) {\n            var b = a.JSBNG__find(\".conversation-tweet-item.conversation-root, .missing-tweets-bar\"), c = a.JSBNG__find(\".conversation-header\"), d = a.JSBNG__find(\".conversation-tweet-item.conversation-ancestor:not(.conversation-root):first\");\n            ((((d.length === 0)) && (d = a.JSBNG__find(\".original-tweet-item\")))), this.slideAndFadeContent(b, c, d);\n        }, this.slideAndFadeContent = function(a, b, c) {\n            if (a.is(\":hidden\")) {\n                return;\n            }\n        ;\n        ;\n            var d = c.offset().JSBNG__top, e = this.getCombinedHeight(a);\n            a.hide();\n            var f = c.offset().JSBNG__top;\n            b.show();\n            var g = this.getCombinedHeight(b), h = c.offset().JSBNG__top;\n            this.setAbsolutePosition(b), b.hide(), a.show(), this.setAbsolutePosition(a);\n            var i = ((d - f)), j = ((d - h));\n            c.css(\"paddingTop\", e), a.fadeOut(this.attr.animationTime), b.fadeIn(this.attr.animationTime), c.animate({\n                paddingTop: g\n            }, this.attr.animationTime, function() {\n                this.resetCss(a), this.resetCss(b), this.resetCss(c);\n            }.bind(this));\n        }, this.resetCss = function(a) {\n            var b = {\n                position: \"\",\n                JSBNG__top: \"\",\n                width: \"\",\n                height: \"\",\n                paddingTop: \"\"\n            };\n            a.css(b);\n        }, this.setAbsolutePosition = function(a) {\n            a.get().reverse().forEach(function(a) {\n                var b = $(a), c = b.width(), d = b.height();\n                b.css({\n                    position: \"absolute\",\n                    JSBNG__top: b.position().JSBNG__top\n                }), b.width(c), b.height(d);\n            });\n        }, this.getCombinedHeight = function(a) {\n            var b = 0;\n            return a.each(function() {\n                b += $(this).JSBNG__outerHeight();\n            }), b;\n        }, this.convertRootToStandardTweet = function(a) {\n            a.data(this.attr.conversationHtmlKey, a.html());\n            var b = a.JSBNG__find(this.attr.conversationRootSelector);\n            a.empty().addClass(this.attr.hadConversationClass).html(b.html());\n            var c = a.JSBNG__find(this.attr.tweetSelector);\n            c.addClass(this.attr.originalTweetClass).removeClass(this.attr.conversationRootClass);\n        }, this.restoreConversation = function(a, b) {\n            var c = this.streamItemFromEvent(a), d = c.data(this.attr.conversationHtmlKey);\n            ((d && (c.html(d), c.removeClass(this.attr.hadConversationClass), c.data(this.attr.conversationHtmlKey, null))));\n        }, this.expandConversationRoot = function(a, b) {\n            a.preventDefault();\n            var c = this.streamItemFromEvent(a);\n            this.convertRootToStandardTweet(c), c.trigger(\"uiShouldToggleExpandedState\");\n        }, this.collapseRootAndRestoreConversation = function(a, b) {\n            var c = this.streamItemFromEvent(a);\n            c.trigger(\"uiShouldToggleExpandedState\"), JSBNG__setTimeout(function() {\n                this.restoreConversation(a, b);\n            }.bind(this), this.attr.restoreConversationDelay);\n        }, this.streamItemFromEvent = function(a) {\n            return $(a.target).closest(this.attr.topLevelStreamItemSelector);\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"uiHasInjectedNewTimeline uiHasInjectedOldTimelineItems\", this.dedupAndCollapse), this.JSBNG__on(\"click\", {\n                viewMoreSelector: this.expandConversationHandler,\n                missingTweetsLinkSelector: this.expandConversationRoot\n            }), this.JSBNG__on(\"uiExpandConversationRoot\", this.expandConversationRoot), this.JSBNG__on(\"uiRestoreConversationModule\", this.collapseRootAndRestoreConversation), this.dedupAndCollapse();\n        });\n    };\n});\ndefine(\"app/ui/timelines/with_pinned_stream_items\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withPinnedStreamItems() {\n        this.defaultAttrs({\n            pinnedStreamItemSelector: \"li.js-pinned\"\n        }), this.keepPinnedStreamItemsOnTop = function() {\n            if (!this.$pinnedStreamItems.length) {\n                return;\n            }\n        ;\n        ;\n            var a = this.$pinnedStreamItems.first(), b = this.$pinnedStreamItems.last(), c = this.$items.children().first(), d = a.prev(), e = b.next();\n            a.css(\"margin-top\", \"0\"), ((a.hasClass(\"open\") && d.removeClass(\"before-expanded\"))), ((b.hasClass(\"open\") && (e.removeClass(\"after-expanded\"), c.addClass(\"after-expanded\")))), this.$items.prepend(this.$pinnedStreamItems.detach());\n        }, this.after(\"initialize\", function(a) {\n            this.$items = this.select(\"itemsSelector\"), this.$pinnedStreamItems = this.select(\"pinnedStreamItemSelector\"), this.JSBNG__on(\"uiHasInjectedNewTimeline\", this.keepPinnedStreamItemsOnTop);\n        });\n    };\n;\n    module.exports = withPinnedStreamItems;\n});\ndefine(\"app/ui/timelines/tweet_timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/timelines/with_base_timeline\",\"app/ui/timelines/with_old_items\",\"app/ui/timelines/with_new_items\",\"app/ui/timelines/with_tweet_pagination\",\"app/ui/timelines/with_preserved_scroll_position\",\"app/ui/timelines/with_activity_supplements\",\"app/ui/with_timestamp_updating\",\"app/ui/with_tweet_actions\",\"app/ui/with_tweet_translation\",\"app/ui/with_conversation_actions\",\"app/ui/with_item_actions\",\"app/ui/timelines/with_traveling_ptw\",\"app/ui/timelines/with_pinned_stream_items\",\"app/ui/gallery/with_gallery\",], function(module, require, exports) {\n    function tweetTimeline() {\n        this.defaultAttrs({\n            itemType: \"tweet\"\n        }), this.reportInitialTweetsDisplayed = function() {\n            var b = this.select(\"genericItemSelector\"), c = [], d = function(b, d) {\n                var e = this.interactionData(this.findFirstItemContent($(d)));\n                ((this.attr.reinjectedPromotedTweets && (e.impressionId = undefined))), c.push(e);\n            }.bind(this);\n            for (var e = 0, f = b.length; ((e < f)); e++) {\n                d(e, b[e]);\n            ;\n            };\n        ;\n            var g = {\n                scribeContext: {\n                    component: \"stream\"\n                },\n                tweets: c\n            };\n            this.trigger(\"uiTweetsDisplayed\", g);\n        }, this.reportTweetsDisplayed = function(a, b) {\n            b.tweets = b.items, this.trigger(\"uiTweetsDisplayed\", b);\n        }, this.removeTweetsFromUser = function(a, b) {\n            var c = this.$node.JSBNG__find(((((\"[data-user-id=\" + b.userId)) + \"]\")));\n            c.parent().remove(), this.trigger(\"uiRemovedSomeTweets\");\n        }, this.after(\"initialize\", function(a) {\n            this.attr.reinjectedPromotedTweets = a.reinjectedPromotedTweets, this.reportInitialTweetsDisplayed(), this.JSBNG__on(\"uiHasInjectedNewTimeline uiHasInjectedOldTimelineItems uiHasInjectedRangeTimelineItems\", this.reportTweetsDisplayed), this.JSBNG__on(\"uiRemoveTweetsFromUser\", this.removeTweetsFromUser);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withBaseTimeline = require(\"app/ui/timelines/with_base_timeline\"), withOldItems = require(\"app/ui/timelines/with_old_items\"), withNewItems = require(\"app/ui/timelines/with_new_items\"), withTweetPagination = require(\"app/ui/timelines/with_tweet_pagination\"), withPreservedScrollPosition = require(\"app/ui/timelines/with_preserved_scroll_position\"), withActivitySupplements = require(\"app/ui/timelines/with_activity_supplements\"), withTimestampUpdating = require(\"app/ui/with_timestamp_updating\"), withTweetActions = require(\"app/ui/with_tweet_actions\"), withTweetTranslation = require(\"app/ui/with_tweet_translation\"), withConversationActions = require(\"app/ui/with_conversation_actions\"), withItemActions = require(\"app/ui/with_item_actions\"), withTravelingPtw = require(\"app/ui/timelines/with_traveling_ptw\"), withPinnedStreamItems = require(\"app/ui/timelines/with_pinned_stream_items\"), withGallery = require(\"app/ui/gallery/with_gallery\");\n    module.exports = defineComponent(tweetTimeline, withBaseTimeline, withTweetPagination, withPreservedScrollPosition, withOldItems, withNewItems, withTimestampUpdating, withTweetActions, withTweetTranslation, withConversationActions, withItemActions, withTravelingPtw, withPinnedStreamItems, withActivitySupplements, withGallery);\n});\ndefine(\"app/boot/tweet_timeline\", [\"module\",\"require\",\"exports\",\"app/boot/timeline\",\"app/boot/tweets\",\"app/boot/help_pips\",\"app/ui/expando/close_all_button\",\"app/ui/timelines/tweet_timeline\",\"core/utils\",], function(module, require, exports) {\n    function initialize(a, b, c, d) {\n        var e = utils.merge(a, {\n            endpoint: b,\n            itemType: c,\n            eventData: {\n                scribeContext: {\n                    component: ((d || c))\n                }\n            }\n        });\n        timelineBoot(e), tweetsBoot(\"#timeline\", e), ((e.help_pips_decider && helpPipsBoot(e))), CloseAllButton.attachTo(\"#close-all-button\", {\n            addEvent: \"uiHasExpandedTweet\",\n            subtractEvent: \"uiHasCollapsedTweet\",\n            where: \"#timeline\",\n            closeAllEvent: \"uiWantsToCloseAllTweets\"\n        }), TweetTimeline.attachTo(\"#timeline\", utils.merge(e, {\n            tweetItemSelector: \"div.original-tweet, .conversation-tweet-item div.tweet\"\n        }));\n    };\n;\n    var timelineBoot = require(\"app/boot/timeline\"), tweetsBoot = require(\"app/boot/tweets\"), helpPipsBoot = require(\"app/boot/help_pips\"), CloseAllButton = require(\"app/ui/expando/close_all_button\"), TweetTimeline = require(\"app/ui/timelines/tweet_timeline\"), utils = require(\"core/utils\");\n    module.exports = initialize;\n});\ndefine(\"app/ui/user_completion_module\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function userCompletionModule() {\n        this.defaultAttrs({\n            completeProfileSelector: \"#complete-profile-step\",\n            confirmEmailSelector: \"#confirm-email-step[href=#]:not(.completed)\",\n            confirmEmailInboxLinkSelector: \"#confirm-email-step[href!=#]:not(.completed)\",\n            followAccountsSelector: \"#follow-accounts-step\"\n        }), this.openConfirmEmailDialog = function() {\n            this.trigger(\"uiOpenConfirmEmailDialog\");\n        }, this.resendConfirmationEmail = function() {\n            this.trigger(\"uiResendConfirmationEmail\");\n        }, this.setCompleteProfileStepCompleted = function(a, b) {\n            ((((b.sourceEventData.uploadType == \"avatar\")) && this.setStepCompleted(\"completeProfileSelector\")));\n        }, this.setFollowAccountsStepCompleted = function() {\n            this.setStepCompleted(\"followAccountsSelector\");\n        }, this.setStepCompleted = function(a) {\n            this.select(a).removeClass(\"selected\").addClass(\"completed\");\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataImageEnqueued\", this.setCompleteProfileStepCompleted), this.JSBNG__on(JSBNG__document, \"uiDidReachTargetFollowingCount\", this.setFollowAccountsStepCompleted), this.JSBNG__on(\"click\", {\n                confirmEmailSelector: this.openConfirmEmailDialog,\n                confirmEmailInboxLinkSelector: this.resendConfirmationEmail\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(userCompletionModule);\n});\ndefine(\"app/data/user_completion_module_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function userCompletionModuleScribe() {\n        this.defaultAttrs({\n            userCompletionStepSelector: \".user-completion-step:not(.completed)\"\n        }), this.scribeStepClick = function(a, b) {\n            var c = $(a.target).data(\"scribe-element\");\n            this.scribe({\n                component: \"user_completion\",\n                element: c,\n                action: \"click\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                userCompletionStepSelector: this.scribeStepClick\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(userCompletionModuleScribe, withScribe);\n});\ndefine(\"app/boot/user_completion_module\", [\"module\",\"require\",\"exports\",\"app/ui/user_completion_module\",\"app/data/user_completion_module_scribe\",\"core/utils\",], function(module, require, exports) {\n    function initialize(a) {\n        var b = \"#user-completion-module\", c = utils.merge(a, {\n            eventData: {\n                scribeContext: {\n                    component: \"user_completion\"\n                }\n            }\n        });\n        UserCompletionModule.attachTo(b, c), UserCompletionModuleScribe.attachTo(b, c);\n    };\n;\n    var UserCompletionModule = require(\"app/ui/user_completion_module\"), UserCompletionModuleScribe = require(\"app/data/user_completion_module_scribe\"), utils = require(\"core/utils\");\n    module.exports = initialize;\n});\ndefine(\"app/ui/who_to_follow/with_user_recommendations\", [\"module\",\"require\",\"exports\",\"core/utils\",\"$lib/bootstrap_tooltip.js\",], function(module, require, exports) {\n    function withUserRecommendations() {\n        this.defaultAttrs({\n            refreshAnimationDuration: 200,\n            cycleTimeout: 1000,\n            experimentCycleTimeout: 300,\n            wtfOptions: {\n            },\n            selfPromotedAccountHtml: \"\",\n            $accountPriorToPreview: null,\n            wtfRefreshOnNewTweets: !1,\n            recListSelector: \".js-recommended-followers\",\n            recSelector: \".js-actionable-user\",\n            refreshRecsSelector: \".js-refresh-suggestions\",\n            similarToContainerSelector: \".js-expanded-similar-to\",\n            expandedContainerSelector: \".js-expanded-container\",\n            itemType: \"user\"\n        }), this.refreshRecommendations = function(a, b) {\n            if (!this.currentlyRefreshing) {\n                this.currentlyRefreshing = !0;\n                var c = ((this.getVisibleIds(null, !0).length || this.attr.wtfOptions.limit));\n                this.trigger(\"uiRefreshUserRecommendations\", utils.merge(this.attr.wtfOptions, {\n                    excluded: this.getVisibleIds(),\n                    limit: c,\n                    refreshType: a.type\n                })), this.hideRecommendations();\n            }\n        ;\n        ;\n        }, this.getUserRecommendations = function(a, b) {\n            this.trigger(\"uiGetUserRecommendations\", utils.merge(this.attr.wtfOptions, ((a || {\n            })))), this.hideRecommendations();\n        }, this.hideRecommendations = function() {\n            this.animateContentOut(this.select(\"recListSelector\"), \"animationCallback\");\n        }, this.handleRecommendationsResponse = function(a, b) {\n            if (this.disabled) {\n                return;\n            }\n        ;\n        ;\n            b = ((b || {\n            }));\n            var c = b.user_recommendations_html;\n            if (c) {\n                var d = this.currentlyRefreshingUser(b);\n                this.$node.addClass(\"has-content\");\n                if (this.shouldExpandWtf(b)) {\n                    var e = $(c), f = e.filter(this.attr.recSelector).first(), g = e.filter(this.attr.expandedContainerSelector);\n                    ((d && this.animateContentIn(d, \"animationCallback\", $(\"\\u003Cdiv\\u003E\").append(f).html(), {\n                        modOp: \"replaceWith\",\n                        scribeCallback: function() {\n                            ((this.currentlyExpanding ? this.pendingScribe = !0 : this.reportUsersDisplayed(b)));\n                        }.bind(this)\n                    }))), ((g.size() && this.animateExpansion(g, b)));\n                }\n                 else {\n                    var h = this.select(\"recListSelector\"), i;\n                    ((d && (h = d, i = \"replaceWith\"))), this.animateContentIn(h, \"animationCallback\", c, {\n                        modOp: i,\n                        scribeCallback: function() {\n                            this.reportUsersDisplayed(b);\n                        }.bind(this)\n                    });\n                }\n            ;\n            ;\n            }\n             else this.handleEmptyRefreshResponse(a, b), this.trigger(\"uiGotEmptyRecommendationsResponse\", b);\n        ;\n        ;\n        }, this.handleRefreshError = function(a, b) {\n            this.handleEmptyRefreshResponse(a, b);\n        }, this.handleEmptyRefreshResponse = function(a, b) {\n            if (!this.select(\"recSelector\").length) {\n                return;\n            }\n        ;\n        ;\n            var c = this.select(\"recListSelector\"), d = this.currentlyRefreshingUser(b);\n            ((d && (c = d))), this.animateContentIn(c, \"animationCallback\", c.html());\n        }, this.getVisibleIds = function(a, b) {\n            var c = this.select(\"recSelector\").not(a);\n            return ((b || (c = c.not(\".promoted-account\")))), c.map(function() {\n                return $(this).attr(\"data-user-id\");\n            }).toArray();\n        }, this.originalItemCount = function() {\n            return $(this.attr.recListSelector).children(this.attr.recSelector).length;\n        }, this.doAfterFollowAction = function(a, b) {\n            if (((this.disabled || ((b.newState != \"following\"))))) {\n                return;\n            }\n        ;\n        ;\n            var c = ((this.expandBucket ? this.attr.experimentCycleTimeout : this.attr.cycleTimeout));\n            JSBNG__setTimeout(function() {\n                if (this.currentlyRefreshing) {\n                    return;\n                }\n            ;\n            ;\n                var a = this.select(\"recSelector\").filter(((((\"[data-user-id='\" + b.userId)) + \"']\")));\n                if (!a.length) {\n                    return;\n                }\n            ;\n            ;\n                this.cycleRecommendation(a, b);\n            }.bind(this), c);\n        }, this.isInSimilarToSection = function(a) {\n            return !!a.closest(this.attr.similarToContainerSelector).length;\n        }, this.cycleRecommendation = function(a, b) {\n            this.animateContentOut(a, \"animationCallback\");\n            var c = utils.merge(this.attr.wtfOptions, {\n                limit: 1,\n                visible: this.getVisibleIds(a),\n                refreshUserId: b.userId\n            });\n            ((this.isInSimilarToSection(a) && (c.user_id = this.select(\"similarToContainerSelector\").data(\"similar-to-user-id\")))), this.trigger(\"uiGetUserRecommendations\", c);\n        }, this.animateExpansion = function(a, b) {\n            var c = this.select(\"recListSelector\"), d = this.select(\"expandedContainerSelector\"), e = function() {\n                ((this.pendingScribe && (this.reportUsersDisplayed(b), this.pendingScribe = !1))), this.currentlyExpanding = !1;\n            };\n            ((d.length ? d.html(a.html()) : c.append(a))), ((a.is(\":visible\") ? e.bind(this)() : a.slideDown(\"slow\", e.bind(this))));\n        }, this.animateContentIn = function(a, b, c, d) {\n            if (!a.length) {\n                return;\n            }\n        ;\n        ;\n            d = ((d || {\n            }));\n            var e = function() {\n                ((a.is(this.attr.recListSelector) && (this.currentlyRefreshing = !1))), a[((d.modOp || \"html\"))](c).animate({\n                    opacity: 1\n                }, this.attr.refreshAnimationDuration), ((d.scribeCallback && d.scribeCallback()));\n            }.bind(this);\n            ((a.is(\":animated\") ? this[b] = e : e()));\n        }, this.animateContentOut = function(a, b) {\n            a.animate({\n                opacity: 0\n            }, {\n                duration: this.attr.refreshAnimationDuration,\n                complete: function() {\n                    ((this[b] && this[b]())), this[b] = null;\n                }.bind(this)\n            });\n        }, this.getItemPosition = function(a) {\n            var b = this.originalItemCount();\n            return ((this.isInSimilarToSection(a) ? ((((b + a.closest(this.attr.recSelector).index())) - 1)) : ((a.closest(this.attr.expandedContainerSelector).length ? ((b + a.closest(this.attr.recSelector).index())) : a.closest(this.attr.recSelector).index()))));\n        }, this.currentlyRefreshingUser = function(a) {\n            return ((((((!a || !a.sourceEventData)) || !a.sourceEventData.refreshUserId)) ? null : this.select(\"recSelector\").filter(((((\"[data-user-id=\" + a.sourceEventData.refreshUserId)) + \"]\")))));\n        }, this.shouldExpandWtf = function(a) {\n            return !!((((a && a.sourceEventData)) && a.sourceEventData.get_replacement));\n        }, this.getUsersDisplayed = function() {\n            var a = this.select(\"recSelector\"), b = [];\n            return a.each(function(a, c) {\n                var d = $(c);\n                b.push({\n                    id: d.attr(\"data-user-id\"),\n                    impressionId: d.attr(\"data-impression-id\")\n                });\n            }), b;\n        }, this.reportUsersDisplayed = function(a) {\n            var b = this.getUsersDisplayed();\n            this.trigger(\"uiUsersDisplayed\", {\n                users: b\n            }), this.trigger(\"uiDidGetRecommendations\", a);\n        }, this.verifyInitialRecommendations = function() {\n            ((this.hasRecommendations() ? this.reportUsersDisplayed({\n                initialResults: !0\n            }) : this.getUserRecommendations({\n                initialResults: !0\n            })));\n        }, this.hasRecommendations = function() {\n            return ((this.select(\"recSelector\").length > 0));\n        }, this.storeSelfPromotedAccount = function(a, b) {\n            ((b.html && (this.selfPromotedAccountHtml = b.html)));\n        }, this.replaceUser = function(a, b) {\n            a.tooltip(\"hide\"), ((a.parent().hasClass(\"preview-wrapper\") && a.unwrap())), a.replaceWith(b);\n        }, this.replaceUserAnimation = function(a, b) {\n            a.tooltip(\"hide\"), this.before(\"teardown\", function() {\n                this.replaceUser(a, b);\n            });\n            var c = $(\"\\u003Cdiv/\\u003E\", {\n                class: a.attr(\"class\"),\n                style: a.attr(\"style\")\n            }).addClass(\"preview-wrapper\");\n            a.wrap(c);\n            var d = a.css(\"minHeight\");\n            a.css({\n                minHeight: 0\n            }).slideUp(70, function() {\n                b.attr(\"style\", a.attr(\"style\")), a.replaceWith(b), b.delay(350).slideDown(70, function() {\n                    b.css({\n                        minHeight: d\n                    }), b.unwrap(), JSBNG__setTimeout(function() {\n                        b.tooltip(\"show\"), JSBNG__setTimeout(function() {\n                            b.tooltip(\"hide\");\n                        }, 8000);\n                    }, 500);\n                });\n            });\n        }, this.handlePreviewPromotedAccount = function() {\n            if (this.disabled) {\n                return;\n            }\n        ;\n        ;\n            if (this.selfPromotedAccountHtml) {\n                var a = $(this.selfPromotedAccountHtml), b = this.select(\"recSelector\").first();\n                this.attr.$accountPriorToPreview = b.clone(), this.replaceUserAnimation(b, a), a.JSBNG__find(\"a\").JSBNG__on(\"click\", function(a) {\n                    a.preventDefault(), a.stopPropagation();\n                });\n            }\n        ;\n        ;\n        }, this.maybeRestoreAccountPriorToPreview = function() {\n            var a = this.attr.$accountPriorToPreview;\n            if (!a) {\n                return;\n            }\n        ;\n        ;\n            this.replaceUser(this.select(\"recSelector\").first(), a), this.attr.$accountPriorToPreview = null;\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataDidGetUserRecommendations\", this.handleRecommendationsResponse), this.JSBNG__on(JSBNG__document, \"dataFailedToGetUserRecommendations\", this.handleRefreshError), this.JSBNG__on(JSBNG__document, \"dataFollowStateChange\", this.doAfterFollowAction), this.JSBNG__on(\"click\", {\n                refreshRecsSelector: this.refreshRecommendations\n            }), this.JSBNG__on(JSBNG__document, \"dataDidGetSelfPromotedAccount\", this.storeSelfPromotedAccount), this.JSBNG__on(JSBNG__document, \"uiPromptbirdPreviewPromotedAccount\", this.handlePreviewPromotedAccount), this.JSBNG__on(JSBNG__document, \"uiPromptbirdDismissPrompt\", this.maybeRestoreAccountPriorToPreview), ((this.attr.wtfRefreshOnNewTweets && this.JSBNG__on(JSBNG__document, \"uiRefreshUserRecsOnNewTweets uiPageChanged\", this.refreshRecommendations)));\n        });\n    };\n;\n    var utils = require(\"core/utils\");\n    require(\"$lib/bootstrap_tooltip.js\"), module.exports = withUserRecommendations;\n});\ndefine(\"app/ui/who_to_follow/who_to_follow_dashboard\", [\"module\",\"require\",\"exports\",\"core/i18n\",\"core/utils\",\"core/component\",\"app/ui/with_user_actions\",\"app/ui/with_item_actions\",\"app/ui/who_to_follow/with_user_recommendations\",], function(module, require, exports) {\n    function whoToFollowDashboard() {\n        this.defaultAttrs({\n            dashboardSelector: \".dashboard-user-recommendations\",\n            recUserSelector: \".dashboard-user-recommendations .js-actionable-user\",\n            dismissRecSelector: \".dashboard-user-recommendations .js-actionable-user .js-action-dismiss\",\n            viewAllSelector: \".js-view-all-link\",\n            interestsSelector: \".js-interests-link\",\n            findFriendsSelector: \".js-find-friends-link\"\n        }), this.dismissRecommendation = function(a, b) {\n            if (!this.currentlyRefreshing) {\n                this.currentlyDismissing = !0;\n                var c = $(a.target).closest(this.attr.recSelector), d = c.attr(\"data-user-id\");\n                this.trigger(\"uiDismissUserRecommendation\", {\n                    recommended_user_id: d,\n                    impressionId: c.attr(\"data-impression-id\"),\n                    excluded: [d,],\n                    visible: this.getVisibleIds(c),\n                    token: c.attr(\"data-feedback-token\"),\n                    dismissable: this.attr.wtfOptions.dismissable,\n                    refreshUserId: d\n                }), this.animateContentOut(c, \"animationCallback\");\n            }\n        ;\n        ;\n        }, this.handleDismissResponse = function(a, b) {\n            b = ((b || {\n            })), this.currentlyDismissing = !1;\n            if (b.user_recommendations_html) {\n                var c = this.currentlyRefreshingUser(b), d = $(b.user_recommendations_html), e = this.getItemPosition(c);\n                this.animateContentIn(c, \"animationCallback\", b.user_recommendations_html, {\n                    modOp: \"replaceWith\",\n                    scribeCallback: function() {\n                        var a = {\n                            oldUser: this.interactionData(c, {\n                                position: e\n                            })\n                        };\n                        ((d.length && (a.newUser = this.interactionData(d, {\n                            position: e\n                        })))), this.trigger(\"uiDidDismissUserRecommendation\", a);\n                    }.bind(this)\n                });\n            }\n             else this.handleEmptyDismissResponse();\n        ;\n        ;\n        }, this.handleDismissError = function(a, b) {\n            var c = this.currentlyRefreshingUser(b);\n            ((c && c.remove())), this.handleEmptyDismissResponse();\n        }, this.handleEmptyDismissResponse = function() {\n            ((this.select(\"recSelector\").length || (this.trigger(\"uiShowMessage\", {\n                message: _(\"You have no more recommendations today!\")\n            }), this.$node.remove())));\n        }, this.enable = function() {\n            this.disabled = !1, this.refreshRecommendations({\n                type: \"empty-timeline\"\n            }), this.$node.show();\n        }, this.initRecommendations = function() {\n            ((this.disabled ? this.$node.hide() : this.verifyInitialRecommendations()));\n        }, this.reset = function() {\n            ((((this.currentlyRefreshing || this.currentlyDismissing)) ? this.select(\"dashboardSelector\").html(\"\") : (this.select(\"dashboardSelector\").css(\"opacity\", 1), this.select(\"recUserSelector\").css(\"opacity\", 1))));\n        }, this.expandWhoToFollow = function(a, b) {\n            this.currentlyExpanding = !0;\n            var c = utils.merge(this.attr.wtfOptions, {\n                limit: 3,\n                visible: this.getVisibleIds(a),\n                refreshUserId: b.userId,\n                get_replacement: !0\n            });\n            this.trigger(\"uiGetUserRecommendations\", c);\n        }, this.triggerLinkClickScribes = function(a) {\n            var b = this, c = {\n                interests_link: this.attr.interestsSelector,\n                import_link: this.attr.findFriendsSelector,\n                view_all_link: this.attr.viewAllSelector,\n                refresh_link: this.attr.refreshRecsSelector\n            }, d = $(a.target);\n            $.each(c, function(a, c) {\n                ((d.is(c) && b.trigger(JSBNG__document, \"uiClickedWtfLink\", {\n                    element: a\n                })));\n            });\n        }, this.after(\"initialize\", function() {\n            this.disabled = ((this.attr.wtfOptions ? this.attr.wtfOptions.disabled : !1)), this.JSBNG__on(JSBNG__document, \"dataDidDismissRecommendation\", this.handleDismissResponse), this.JSBNG__on(JSBNG__document, \"dataFailedToDismissUserRecommendation\", this.handleDismissError), this.JSBNG__on(JSBNG__document, \"uiDidHideEmptyTimelineModule\", this.enable), this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded uiPageChanged\", this.initRecommendations), this.JSBNG__on(JSBNG__document, \"uiBeforePageChanged\", this.reset), this.JSBNG__on(\"click\", {\n                dismissRecSelector: this.dismissRecommendation,\n                interestsSelector: this.triggerLinkClickScribes,\n                viewAllSelector: this.triggerLinkClickScribes,\n                findFriendsSelector: this.triggerLinkClickScribes,\n                refreshRecsSelector: this.triggerLinkClickScribes\n            }), this.around(\"cycleRecommendation\", function(a, b, c) {\n                ((((((((this.attr.wtfOptions.display_location === \"wtf-component\")) && !this.currentlyExpanding)) && ((this.getVisibleIds(null, !0).length <= 3)))) ? this.expandWhoToFollow(b, c) : a(b, c)));\n            });\n        });\n    };\n;\n    var _ = require(\"core/i18n\"), utils = require(\"core/utils\"), defineComponent = require(\"core/component\"), withUserActions = require(\"app/ui/with_user_actions\"), withItemActions = require(\"app/ui/with_item_actions\"), withUserRecommendations = require(\"app/ui/who_to_follow/with_user_recommendations\");\n    module.exports = defineComponent(whoToFollowDashboard, withUserActions, withItemActions, withUserRecommendations);\n});\ndefine(\"app/ui/who_to_follow/who_to_follow_timeline\", [\"module\",\"require\",\"exports\",\"core/i18n\",\"core/component\",\"app/ui/with_user_actions\",\"app/ui/with_item_actions\",\"app/ui/who_to_follow/with_user_recommendations\",], function(module, require, exports) {\n    function whoToFollowTimeline() {\n        this.defaultAttrs({\n            doneButtonSelector: \".empty-timeline .js-done\",\n            headerTextSelector: \".empty-timeline .header-text\",\n            targetFollowingCount: 5,\n            titles: {\n                0: _(\"Here are some people you might enjoy following.\"),\n                1: _(\"Victory! That\\u2019s 1.\"),\n                2: _(\"Congratulations! That\\u2019s 2.\"),\n                3: _(\"Excellent! You\\u2019re making progress.\"),\n                4: _(\"Good work! You\\u2019ve almost reached 5.\"),\n                5: _(\"Yee-haw! That\\u2019s 5 follows. Now you\\u2019re on a roll.\")\n            }\n        }), this.dismissAllRecommendations = function(a, b) {\n            var c = $(b.el);\n            if (c.is(\":disabled\")) {\n                return;\n            }\n        ;\n        ;\n            var d = this.getVisibleIds();\n            this.trigger(\"uiDidDismissEmptyTimelineRecommendations\", {\n                userIds: d\n            }), this.trigger(\"uiDidHideEmptyTimelineModule\"), this.$node.remove();\n        }, this.refreshDoneButtonState = function() {\n            if (((this.followingCount >= this.attr.targetFollowingCount))) {\n                var a = this.select(\"doneButtonSelector\");\n                a.attr(\"disabled\", !1), this.trigger(\"uiDidReachTargetFollowingCount\");\n            }\n        ;\n        ;\n        }, this.refreshTitle = function() {\n            var a = this.attr.titles[this.followingCount.toString()];\n            this.select(\"headerTextSelector\").text(a);\n        }, this.refreshTimeline = function() {\n            this.trigger(\"uiTimelineShouldRefresh\", {\n                injectImmediately: !0\n            });\n        }, this.increaseFollowingCount = function() {\n            this.followingCount++;\n        }, this.decreaseFollowingCount = function() {\n            this.followingCount--;\n        }, this.initRecommendations = function() {\n            this.followingCount = this.attr.wtfOptions.followingCount, this.verifyInitialRecommendations();\n        }, this.after(\"initialize\", function() {\n            this.attr.wtfOptions = ((this.attr.emptyTimelineOptions || {\n            })), this.JSBNG__on(JSBNG__document, \"uiFollowAction\", this.increaseFollowingCount), this.JSBNG__on(JSBNG__document, \"uiUnfollowAction\", this.decreaseFollowingCount), this.JSBNG__on(JSBNG__document, \"dataFollowStateChange\", this.refreshDoneButtonState), this.JSBNG__on(JSBNG__document, \"dataFollowStateChange\", this.refreshTitle), this.JSBNG__on(JSBNG__document, \"dataFollowStateChange\", this.refreshTimeline), this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded uiPageChanged\", this.initRecommendations), this.JSBNG__on(\"click\", {\n                doneButtonSelector: this.dismissAllRecommendations\n            });\n        });\n    };\n;\n    var _ = require(\"core/i18n\"), defineComponent = require(\"core/component\"), withUserActions = require(\"app/ui/with_user_actions\"), withItemActions = require(\"app/ui/with_item_actions\"), withUserRecommendations = require(\"app/ui/who_to_follow/with_user_recommendations\");\n    module.exports = defineComponent(whoToFollowTimeline, withUserActions, withItemActions, withUserRecommendations);\n});\ndefine(\"app/data/who_to_follow\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/utils/storage/custom\",\"app/data/with_data\",], function(module, require, exports) {\n    function whoToFollowData() {\n        this.defaults = {\n            maxExcludedRecsInLocalStorage: 100,\n            endpoints: {\n                users: {\n                    url: \"/i/users/recommendations\",\n                    method: \"GET\",\n                    successEvent: \"dataDidGetUserRecommendations\",\n                    errorEvent: \"dataFailedToGetUserRecommendations\"\n                },\n                dismiss: {\n                    url: \"/i/users/recommendations/hide\",\n                    method: \"POST\",\n                    successEvent: \"dataDidDismissRecommendation\",\n                    errorEvent: \"dataFailedToDismissUserRecommendation\"\n                },\n                promoted_self: {\n                    url: \"/i/users/promoted_self\",\n                    method: \"GET\",\n                    successEvent: \"dataDidGetSelfPromotedAccount\",\n                    errorEvent: \"dataFailedToGetSelfPromotedAccount\"\n                }\n            }\n        }, this.refreshEndpoint = function(a) {\n            return this.hitEndpoint(a, {\n                \"Cache-Control\": \"max-age=0\",\n                Pragma: \"no-cache\"\n            });\n        }, this.hitEndpoint = function(a, b) {\n            var b = ((b || {\n            })), c = this.defaults.endpoints[a];\n            return function(a, d) {\n                d = ((d || {\n                })), d.excluded = ((d.excluded || []));\n                var e = ((d.visible || []));\n                delete d.visible, this.JSONRequest({\n                    type: c.method,\n                    url: c.url,\n                    headers: b,\n                    dataType: \"json\",\n                    data: utils.merge(d, {\n                        excluded: this.storage.pushAll(\"excluded\", d.excluded).concat(e).join(\",\")\n                    }),\n                    eventData: d,\n                    success: c.successEvent,\n                    error: c.errorEvent\n                }, c.method);\n            }.bind(this);\n        }, this.excludeUsers = function(a, b) {\n            this.storage.pushAll(\"excluded\", b.userIds), this.trigger(\"dataDidExcludeUserRecommendations\", b);\n        }, this.excludeFollowed = function(a, b) {\n            b = ((b || {\n            })), ((((((b.newState === \"following\")) && b.userId)) && this.storage.push(\"excluded\", b.userId)));\n        }, this.after(\"initialize\", function(a) {\n            var b = customStorage({\n                withArray: !0,\n                withMaxElements: !0,\n                withUniqueElements: !0\n            });\n            this.storage = new b(\"excluded_wtf_recs\"), this.storage.setMaxElements(\"excluded\", this.attr.maxExcludedRecsInLocalStorage), this.JSBNG__on(JSBNG__document, \"uiRefreshUserRecommendations\", this.refreshEndpoint(\"users\")), this.JSBNG__on(JSBNG__document, \"uiGetUserRecommendations\", this.hitEndpoint(\"users\")), this.JSBNG__on(JSBNG__document, \"uiDismissUserRecommendation\", this.hitEndpoint(\"dismiss\")), this.JSBNG__on(JSBNG__document, \"uiDidDismissEmptyTimelineRecommendations\", this.excludeUsers), this.JSBNG__on(JSBNG__document, \"dataFollowStateChange\", this.excludeFollowed), this.JSBNG__on(JSBNG__document, \"uiGotPromptbirdDashboardProfile\", this.hitEndpoint(\"promoted_self\"));\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), customStorage = require(\"app/utils/storage/custom\"), withData = require(\"app/data/with_data\"), WhoToFollowData = defineComponent(whoToFollowData, withData);\n    module.exports = WhoToFollowData;\n});\ndefine(\"app/data/who_to_follow_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_interaction_data\",\"app/data/with_interaction_data_scribe\",\"core/utils\",], function(module, require, exports) {\n    function whoToFollowScribe() {\n        this.defaultAttrs({\n            userSelector: \".js-actionable-user\",\n            itemType: \"user\"\n        }), this.scribeDismissRecommendation = function(a, b) {\n            this.scribeInteraction(\"dismiss\", b.oldUser), ((b.newUser && this.scribeInteraction({\n                element: \"replace\",\n                action: \"results\"\n            }, b.newUser, {\n                referring_event: \"replace\"\n            })));\n        }, this.scribeRecommendationResults = function(a, b) {\n            var c = [];\n            ((a.emptyResponse || this.$node.JSBNG__find(this.attr.userSelector).map(function(a, b) {\n                c.push(this.interactionData($(b), {\n                    position: a\n                }));\n            }.bind(this))));\n            var d = ((a.emptyResponse ? \"no_results\" : \"results\"));\n            this.scribeInteractiveResults({\n                element: b,\n                action: d\n            }, c, a, {\n                referring_event: b\n            });\n        }, this.scribeRecommendations = function(a, b) {\n            var c = ((b.sourceEventData || {\n            })), d = ((b.initialResults || c.initialResults));\n            ((d ? (this.scribeRecommendationResults(b, \"initial\"), ((b.emptyResponse || this.scribeRecommendationImpression(b)))) : (this.scribe({\n                action: \"refresh\"\n            }, b, {\n                event_info: c.refreshType\n            }), this.scribeRecommendationResults(b, \"newer\"))));\n        }, this.scribeEmptyRecommendationsResponse = function(a, b) {\n            this.scribeRecommendations(a, utils.merge(b, {\n                emptyResponse: !0\n            }));\n        }, this.scribeRecommendationImpression = function(a) {\n            this.scribe(\"impression\", a);\n        }, this.scribeLinkClicks = function(a, b) {\n            this.scribe({\n                component: \"user_recommendations\",\n                element: b.element,\n                action: \"click\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiDidDismissUserRecommendation\", this.scribeDismissRecommendation), this.JSBNG__on(JSBNG__document, \"uiDidGetRecommendations\", this.scribeRecommendations), this.JSBNG__on(JSBNG__document, \"uiGotEmptyRecommendationsResponse\", this.scribeEmptyRecommendationsResponse), this.JSBNG__on(JSBNG__document, \"uiClickedWtfLink\", this.scribeLinkClicks);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withInteractionData = require(\"app/ui/with_interaction_data\"), withInteractionDataScribe = require(\"app/data/with_interaction_data_scribe\"), utils = require(\"core/utils\");\n    module.exports = defineComponent(whoToFollowScribe, withInteractionData, withInteractionDataScribe);\n});\ndefine(\"app/ui/profile/recent_connections_module\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_user_actions\",\"app/ui/with_item_actions\",], function(module, require, exports) {\n    function recentConnectionsModule() {\n        this.defaultAttrs({\n            itemType: \"user\"\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withUserActions = require(\"app/ui/with_user_actions\"), withItemActions = require(\"app/ui/with_item_actions\");\n    module.exports = defineComponent(recentConnectionsModule, withUserActions, withItemActions);\n});\ndefine(\"app/ui/promptbird/with_invite_contacts\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withInviteContacts() {\n        this.defaultAttrs({\n            inviteContactsSelector: \".invite_contacts_prompt.prompt + .promptbird-action-bar .call-to-action\"\n        }), this.doInviteContacts = function(b, c) {\n            b.preventDefault(), this.trigger(\"uiPromptbirdShowInviteContactsDialog\");\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                inviteContactsSelector: this.doInviteContacts\n            });\n        });\n    };\n;\n    module.exports = withInviteContacts;\n});\ndefine(\"app/ui/promptbird\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/promptbird/with_invite_contacts\",\"app/ui/tweet_dialog\",], function(module, require, exports) {\n    function promptbirdPrompt() {\n        this.defaultAttrs({\n            promptSelector: \".JSBNG__prompt\",\n            languageSelector: \".language\",\n            callToActionSelector: \".call-to-action\",\n            callToActionDismissSelector: \".call-to-action.dismiss-prompt\",\n            delayedDismissSelector: \".js-follow-btn\",\n            dismissSelector: \"a.js-dismiss\",\n            setLanguageSelector: \".call-to-action.set-language\",\n            oneClickImportSelector: \".call-to-action.one-click-import-button\",\n            inlineImportButtonSelector: \".service-links a.service-link\",\n            promptMentionTweetComposeSelector: \".show_tweet_dialog.promptbird-action-bar a.call-to-action\",\n            deviceFollowSelector: \".device-follow.promptbird-action-bar a.call-to-action\",\n            dashboardProfilePromptSelector: \".gain_followers_prompt\",\n            previewPromotedAccountSelector: \".gain_followers_prompt .preview-promoted-account\",\n            followPromptCallToActionSelector: \"div.promptbird-action-bar.user-actions.not-following \\u003E button.js-follow-btn\"\n        }), this.importCallbackUrl = function() {\n            return ((((((window.JSBNG__location.protocol + \"//\")) + window.JSBNG__location.host)) + \"/who_to_follow/matches\"));\n        }, this.promptLanguage = function() {\n            return this.select(\"languageSelector\").attr(\"data-language\");\n        }, this.dismissPrompt = function(a, b) {\n            a.preventDefault(), this.trigger(\"uiPromptbirdDismissPrompt\", {\n                scribeContext: this.scribeContext(),\n                prompt_id: this.$node.data(\"prompt-id\")\n            }), this.$node.remove();\n        }, this.doPromptMentionTweetCompose = function(a, b) {\n            a.preventDefault();\n            var c = this.$node.JSBNG__find(\"a.call-to-action\").data(\"screenname\"), d = this.$node.JSBNG__find(\"a.call-to-action\").data(\"title\");\n            this.trigger(\"uiPromptMentionTweetCompose\", {\n                screenName: c,\n                title: d,\n                scribeContext: this.scribeContext()\n            });\n        }, this.doDeviceFollow = function(a, b) {\n            a.preventDefault();\n            var c = this.$node.JSBNG__find(\".call-to-action\").data(\"user-id\");\n            this.trigger(\"uiDeviceNotificationsOnAction\", {\n                userId: c,\n                scribeContext: this.scribeContext()\n            });\n        }, this.delayedDismissPrompt = function(b, c) {\n            this.trigger(\"uiPromptbirdDismissPrompt\", {\n                prompt_id: this.$node.data(\"prompt-id\")\n            });\n            var d = this.$node;\n            JSBNG__setTimeout(function() {\n                d.remove();\n            }, 1000);\n        }, this.setLanguage = function(a, b) {\n            this.trigger(\"uiPromptbirdSetLanguage\", {\n                lang: this.promptLanguage()\n            });\n        }, this.doOneClickImport = function(a, b) {\n            a.preventDefault();\n            var c = this.$node.JSBNG__find(\"span.one-click-import-button\").data(\"email\"), d = ((\"/invitations/oauth_launch?email=\" + encodeURIComponent(c))), e = this.$node.data(\"prompt-id\"), b = {\n                triggerEvent: !0,\n                url: d\n            };\n            ((((e === 46)) && (b.width = 880, b.height = 550))), this.trigger(\"uiPromptbirdDoOneClickImport\", b);\n        }, this.doInlineContactImport = function(a, b) {\n            a.preventDefault();\n            var c = $(a.target);\n            this.trigger(\"uiPromptbirdDoInlineContactImport\", {\n                url: c.data(\"url\"),\n                width: c.data(\"width\"),\n                height: c.data(\"height\"),\n                popup: c.data(\"popup\"),\n                serviceName: c.JSBNG__find(\"strong.service-name\").data(\"service-id\"),\n                callbackUrl: this.importCallbackUrl()\n            });\n        }, this.clickAndDismissPrompt = function(a, b) {\n            this.trigger(\"uiPromptbirdDismissPrompt\", {\n                scribeContext: this.scribeContext(),\n                prompt_id: this.$node.data(\"prompt-id\")\n            }), this.$node.remove();\n        }, this.generateClickEvent = function(a, b) {\n            this.trigger(\"uiPromptbirdClick\", {\n                scribeContext: this.scribeContext(),\n                prompt_id: this.$node.data(\"prompt-id\")\n            }), this.$node.hide();\n        }, this.clickPreviewPromotedAccount = function(a, b) {\n            a.preventDefault(), this.trigger(\"uiPromptbirdPreviewPromotedAccount\", {\n                scribeContext: this.scribeContext()\n            });\n        }, this.showDashboardProfilePrompt = function() {\n            this.$node.slideDown(\"fast\"), this.trigger(\"uiShowDashboardProfilePromptbird\", {\n                scribeContext: this.scribeContext()\n            });\n        }, this.maybeInitDashboardProfilePrompt = function() {\n            if (((this.select(\"dashboardProfilePromptSelector\").length === 0))) {\n                return;\n            }\n        ;\n        ;\n            this.JSBNG__on(JSBNG__document, \"uiDidGetRecommendations\", function() {\n                this.trigger(\"uiGotPromptbirdDashboardProfile\"), this.JSBNG__on(JSBNG__document, \"dataDidGetSelfPromotedAccount\", this.showDashboardProfilePrompt);\n            });\n        }, this.scribeContext = function() {\n            return {\n                component: ((\"promptbird_\" + this.$node.data(\"prompt-id\")))\n            };\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                callToActionSelector: this.generateClickEvent,\n                callToActionDismissSelector: this.clickAndDismissPrompt,\n                dismissSelector: this.dismissPrompt,\n                delayedDismissSelector: this.delayedDismissPrompt,\n                setLanguageSelector: this.setLanguage,\n                oneClickImportSelector: this.doOneClickImport,\n                inlineImportButtonSelector: this.doInlineContactImport,\n                previewPromotedAccountSelector: this.clickPreviewPromotedAccount,\n                promptMentionTweetComposeSelector: this.doPromptMentionTweetCompose,\n                followPromptCallToActionSelector: this.generateClickEvent,\n                deviceFollowSelector: this.doDeviceFollow\n            }), this.JSBNG__on(JSBNG__document, \"uiPromptbirdInviteContactsSuccess\", this.dismissPrompt), this.maybeInitDashboardProfilePrompt();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withInviteContacts = require(\"app/ui/promptbird/with_invite_contacts\"), tweetDialog = require(\"app/ui/tweet_dialog\");\n    module.exports = defineComponent(promptbirdPrompt, withInviteContacts);\n});\ndefine(\"app/utils/oauth_popup\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    module.exports = function(a) {\n        var b = a.url, c = ((((b.indexOf(\"?\") == -1)) ? \"?\" : \"&\"));\n        ((a.callbackUrl ? b += ((((c + \"callback_hash=\")) + encodeURIComponent(a.callbackUrl))) : ((a.triggerEvent && (b += ((c + \"trigger_event=true\")))))));\n        var d = $(window), e = ((((window.JSBNG__screenY || window.JSBNG__screenTop)) || 0)), f = ((((window.JSBNG__screenX || window.JSBNG__screenLeft)) || 0)), g = ((((((d.height() - 500)) / 2)) + e)), h = ((((((d.width() - 500)) / 2)) + f)), a = {\n            width: ((a.width ? a.width : 500)),\n            height: ((a.height ? a.height : 500)),\n            JSBNG__top: g,\n            left: h,\n            JSBNG__toolbar: \"no\",\n            JSBNG__location: \"yes\"\n        }, i = $.param(a).replace(/&/g, \",\");\n        window.open(b, \"twitter_oauth\", i).JSBNG__focus();\n    };\n});\ndefine(\"app/data/promptbird\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",\"app/utils/oauth_popup\",], function(module, require, exports) {\n    function promptbirdData() {\n        this.languageChanged = function(a, b) {\n            window.JSBNG__location.reload();\n        }, this.changeLanguage = function(a, b) {\n            var c = {\n                lang: b.lang\n            };\n            this.post({\n                url: \"/settings/account/set_language\",\n                eventData: c,\n                data: c,\n                success: \"dataPromptbirdLanguageChangeSuccess\",\n                error: \"dataPromptbirdLanguageChangeFailure\"\n            });\n        }, this.dismissPrompt = function(a, b) {\n            var c = {\n                prompt_id: b.prompt_id\n            };\n            this.post({\n                url: \"/users/dismiss_prompt\",\n                headers: {\n                    \"X-PHX\": !0\n                },\n                eventData: c,\n                data: c,\n                success: \"dataPromptbirdPromptDismissed\",\n                error: \"dataPromptbirdPromptDismissalError\"\n            });\n        }, this.clickPrompt = function(a, b) {\n            var c = {\n                prompt_id: b.prompt_id\n            };\n            this.post({\n                url: \"/users/click_prompt\",\n                headers: {\n                    \"X-PHX\": !0\n                },\n                eventData: c,\n                data: c,\n                success: \"dataPromptbirdPromptClicked\",\n                error: \"dataPromptbirdPromptClickError\"\n            });\n        }, this.doOneClickImport = function(a, b) {\n            oauthPopup(b), this.trigger(\"dataPromptbirdDidOneClickImport\", b);\n        }, this.doInlineContactImport = function(a, b) {\n            var c = b.url;\n            ((c && ((b.popup ? oauthPopup({\n                url: c,\n                width: b.width,\n                height: b.height,\n                callbackUrl: b.callbackUrl\n            }) : window.open(c, \"_blank\").JSBNG__focus()))));\n        }, this.onPromptMentionTweetCompose = function(a, b) {\n            this.trigger(\"uiOpenTweetDialog\", b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiPromptbirdSetLanguage\", this.changeLanguage), this.JSBNG__on(\"uiPromptbirdDismissPrompt\", this.dismissPrompt), this.JSBNG__on(\"uiPromptbirdClick\", this.clickPrompt), this.JSBNG__on(\"uiPromptbirdDoOneClickImport\", this.doOneClickImport), this.JSBNG__on(\"dataPromptbirdLanguageChangeSuccess\", this.languageChanged), this.JSBNG__on(\"uiPromptbirdDoInlineContactImport\", this.doInlineContactImport), this.JSBNG__on(\"uiPromptMentionTweetCompose\", this.onPromptMentionTweetCompose);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), oauthPopup = require(\"app/utils/oauth_popup\");\n    module.exports = defineComponent(promptbirdData, withData);\n});\ndefine(\"app/data/promptbird_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function promptbirdScribe() {\n        this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiPromptbirdClick\", {\n                action: \"click\"\n            }), this.scribeOnEvent(\"uiPromptbirdPreviewPromotedAccount\", {\n                action: \"preview\"\n            }), this.scribeOnEvent(\"uiPromptbirdDismissPrompt\", {\n                action: \"dismiss\"\n            }), this.scribeOnEvent(\"uiShowDashboardProfilePromptbird\", {\n                action: \"show\"\n            }), this.scribeOnEvent(\"uiPromptMentionTweetCompose\", {\n                action: \"show\"\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(promptbirdScribe, withScribe);\n});\ndefine(\"app/ui/with_select_all\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withSelectAll() {\n        this.defaultAttrs({\n        }), this.checkboxChanged = function(a) {\n            var b = this.select(\"checkboxSelector\"), c = this.select(\"checkedCheckboxSelector\");\n            this.select(\"actionButtonSelector\").attr(\"disabled\", ((c.length == 0))), this.select(\"selectAllSelector\").attr(\"checked\", ((c.length == b.length))), this.trigger(\"uiListSelectionChanged\");\n        }, this.selectAllChanged = function() {\n            var a = this.select(\"selectAllSelector\");\n            this.select(\"checkboxSelector\").attr(\"checked\", a.is(\":checked\")), this.select(\"actionButtonSelector\").attr(\"disabled\", !a.is(\":checked\")), this.trigger(\"uiListSelectionChanged\");\n        }, this.after(\"initialize\", function() {\n            this.attr.checkedCheckboxSelector = ((this.attr.checkboxSelector + \":checked\")), this.JSBNG__on(\"change\", {\n                checkboxSelector: this.checkboxChanged,\n                selectAllSelector: this.selectAllChanged\n            });\n        });\n    };\n;\n    module.exports = withSelectAll;\n});\ndefine(\"app/ui/who_to_follow/with_invite_messages\", [\"module\",\"require\",\"exports\",\"core/i18n\",], function(module, require, exports) {\n    function withInviteMessages() {\n        this.defaultAttrs({\n            showMessageOnSuccess: !0\n        }), this.showSuccessMessage = function(a, b) {\n            var c = this.select(\"actionButtonSelector\"), d = c.data(\"done-href\");\n            if (d) {\n                this.trigger(\"uiNavigate\", {\n                    href: d\n                });\n                return;\n            }\n        ;\n        ;\n            var e, f;\n            ((b ? (e = b.invited.length, f = _(\"We let {{count}} of your contacts know about Twitter.\", {\n                count: e\n            })) : (e = -1, f = _(\"We let your contacts know about Twitter.\")))), ((this.attr.showMessageOnSuccess && this.trigger(\"uiShowMessage\", {\n                message: f\n            }))), this.trigger(\"uiInviteFinished\", {\n                count: e\n            });\n        }, this.showFailureMessage = function(a, b) {\n            var c = ((((b.errors && b.errors[0])) && b.errors[0].code));\n            switch (c) {\n              case 47:\n                this.trigger(\"uiShowError\", {\n                    message: _(\"We couldn't send invitations to any of those addresses.\")\n                });\n                break;\n              case 37:\n                this.trigger(\"uiShowError\", {\n                    message: _(\"There was an error emailing your contacts. Please try again later.\")\n                });\n                break;\n              default:\n                this.showSuccessMessage(a);\n            };\n        ;\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataInviteContactsSuccess\", this.showSuccessMessage), this.JSBNG__on(JSBNG__document, \"dataInviteContactsFailure\", this.showFailureMessage);\n        });\n    };\n;\n    var _ = require(\"core/i18n\");\n    module.exports = withInviteMessages;\n});\ndefine(\"app/ui/who_to_follow/with_invite_preview\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withInvitePreview() {\n        this.defaultAttrs({\n            previewInviteSelector: \".js-preview-invite\"\n        }), this.previewInvite = function(a, b) {\n            a.preventDefault(), window.open(\"/invitations/email_preview\", \"invitation_email_preview\", \"height=550,width=740\"), this.trigger(\"uiPreviewInviteOpened\");\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                previewInviteSelector: this.previewInvite\n            });\n        });\n    };\n;\n    module.exports = withInvitePreview;\n});\ndefine(\"app/ui/who_to_follow/with_unmatched_contacts\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/ui/with_select_all\",\"app/ui/who_to_follow/with_invite_messages\",\"app/ui/who_to_follow/with_invite_preview\",], function(module, require, exports) {\n    function withUnmatchedContacts() {\n        compose.mixin(this, [withSelectAll,withInviteMessages,withInvitePreview,]), this.defaultAttrs({\n            checkboxSelector: \".contact-checkbox\",\n            selectAllSelector: \".select-all-contacts\",\n            actionButtonSelector: \".js-invite\"\n        }), this.inviteChecked = function() {\n            var a = [], b = this.select(\"checkedCheckboxSelector\");\n            b.each(function() {\n                var b = $(this), c = b.closest(\"label\").JSBNG__find(\".contact-item-name\").text(), d = {\n                    email: b.val()\n                };\n                ((((c != d.email)) && (d.JSBNG__name = c))), a.push(d);\n            }), this.select(\"actionButtonSelector\").attr(\"disabled\", !0), this.trigger(\"uiInviteContacts\", {\n                invitable: this.select(\"checkboxSelector\").length,\n                contacts: a,\n                scribeContext: {\n                    component: this.attr.inviteContactsComponent\n                }\n            });\n        }, this.reenableActionButton = function() {\n            this.select(\"actionButtonSelector\").attr(\"disabled\", !1);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"change\", {\n                checkboxSelector: this.checkboxChanged,\n                selectAllSelector: this.selectAllChanged\n            }), this.JSBNG__on(\"click\", {\n                actionButtonSelector: this.inviteChecked\n            }), this.JSBNG__on(JSBNG__document, \"dataInviteContactsSuccess dataInviteContactsFailure\", this.reenableActionButton);\n        });\n    };\n;\n    var compose = require(\"core/compose\"), withSelectAll = require(\"app/ui/with_select_all\"), withInviteMessages = require(\"app/ui/who_to_follow/with_invite_messages\"), withInvitePreview = require(\"app/ui/who_to_follow/with_invite_preview\");\n    module.exports = withUnmatchedContacts;\n});\ndefine(\"app/ui/dialogs/promptbird_invite_contacts_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_position\",\"app/ui/with_dialog\",\"app/ui/who_to_follow/with_unmatched_contacts\",], function(module, require, exports) {\n    function promptbirdInviteContactsDialog() {\n        this.defaultAttrs({\n            contactSelector: \".contact-item\",\n            inviteContactsComponent: \"invite_contacts_promptbird\"\n        }), this.contactCheckboxChanged = function(a) {\n            var b = $(a.target);\n            b.closest(this.attr.contactSelector).toggleClass(\"selected\", b.is(\":checked\"));\n        }, this.contactSelectAllChanged = function() {\n            var a = this.select(\"selectAllSelector\");\n            this.select(\"contactSelector\").toggleClass(\"selected\", a.is(\":checked\"));\n        }, this.inviteSuccess = function(a, b) {\n            this.close(), this.trigger(\"uiPromptbirdInviteContactsSuccess\");\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"change\", {\n                checkboxSelector: this.contactCheckboxChanged,\n                selectAllSelector: this.contactSelectAllChanged\n            }), this.JSBNG__on(JSBNG__document, \"uiPromptbirdShowInviteContactsDialog\", this.open), this.JSBNG__on(JSBNG__document, \"uiInviteFinished\", this.inviteSuccess), this.JSBNG__on(JSBNG__document, \"dataInviteContactsFailure\", this.close);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withPosition = require(\"app/ui/with_position\"), withDialog = require(\"app/ui/with_dialog\"), withUnmatchedContacts = require(\"app/ui/who_to_follow/with_unmatched_contacts\");\n    module.exports = defineComponent(promptbirdInviteContactsDialog, withDialog, withPosition, withUnmatchedContacts);\n});\ndefine(\"app/data/contact_import\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function contactImportData() {\n        this.contactImportStatus = function(a, b) {\n            this.get({\n                url: \"/who_to_follow/import/status\",\n                data: {\n                },\n                eventData: b,\n                success: \"dataContactImportStatusSuccess\",\n                error: \"dataContactImportStatusFailure\"\n            });\n        }, this.contactImportFollow = function(a, b) {\n            var c = {\n                user_ids: ((b.includeIds || [])),\n                unchecked_user_ids: ((b.excludeIds || []))\n            };\n            this.post({\n                url: \"/find_sources/contacts/follow_some.json\",\n                data: c,\n                eventData: b,\n                headers: {\n                    \"X-PHX\": !0\n                },\n                success: this.handleContactImportSuccess.bind(this),\n                error: \"dataContactImportFollowFailure\"\n            });\n        }, this.handleContactImportSuccess = function(a) {\n            a.followed_ids.forEach(function(a) {\n                this.trigger(\"dataBulkFollowStateChange\", {\n                    userId: a,\n                    newState: \"following\"\n                });\n            }.bind(this)), a.requested_ids.forEach(function(a) {\n                this.trigger(\"dataBulkFollowStateChange\", {\n                    userId: a,\n                    newState: \"pending\"\n                });\n            }.bind(this)), this.trigger(\"dataContactImportFollowSuccess\", a);\n        }, this.inviteContacts = function(a, b) {\n            var c = b.contacts.map(function(a) {\n                return ((a.JSBNG__name ? ((((((((\"\\\"\" + a.JSBNG__name.replace(/\"/g, \"\\\\\\\"\"))) + \"\\\" \\u003C\")) + a.email)) + \"\\u003E\")) : a.email));\n            });\n            this.post({\n                url: \"/users/send_invites_by_email\",\n                data: {\n                    addresses: c.join(\",\"),\n                    source: \"contact_import\"\n                },\n                eventData: b,\n                success: \"dataInviteContactsSuccess\",\n                error: \"dataInviteContactsFailure\"\n            });\n        }, this.wipeAddressbook = function(a, b) {\n            this.post({\n                url: \"/users/wipe_addressbook.json\",\n                headers: {\n                    \"X-PHX\": !0\n                },\n                data: {\n                },\n                eventData: b,\n                success: \"dataWipeAddressbookSuccess\",\n                error: \"dataWipeAddressbookFailure\"\n            });\n        }, this.unmatchedContacts = function(a, b) {\n            this.get({\n                url: \"/welcome/unmatched_contacts\",\n                data: {\n                },\n                eventData: b,\n                success: \"dataUnmatchedContactsSuccess\",\n                error: \"dataUnmatchedContactsFailure\"\n            });\n        }, this.getMatchesModule = function(a, b) {\n            function c(a) {\n                ((a.html && this.trigger(\"dataContactImportMatchesSuccess\", a)));\n            };\n        ;\n            this.get({\n                url: \"/who_to_follow/matches\",\n                data: {\n                },\n                eventData: b,\n                success: c.bind(this),\n                error: \"dataContactImportMatchesFailure\"\n            });\n        }, this.inviteModule = function(a, b) {\n            function c(a) {\n                ((a.html && this.trigger(\"dataInviteModuleSuccess\", a)));\n            };\n        ;\n            this.get({\n                url: \"/who_to_follow/invite\",\n                data: {\n                },\n                eventData: b,\n                success: c.bind(this),\n                error: \"dataInviteModuleFailure\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiWantsContactImportStatus\", this.contactImportStatus), this.JSBNG__on(JSBNG__document, \"uiContactImportFollow\", this.contactImportFollow), this.JSBNG__on(JSBNG__document, \"uiWantsUnmatchedContacts\", this.unmatchedContacts), this.JSBNG__on(JSBNG__document, \"uiInviteContacts\", this.inviteContacts), this.JSBNG__on(JSBNG__document, \"uiWantsAddressbookWiped\", this.wipeAddressbook), this.JSBNG__on(JSBNG__document, \"uiWantsContactImportMatches\", this.getMatchesModule), this.JSBNG__on(JSBNG__document, \"uiWantsInviteModule\", this.inviteModule);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(contactImportData, withData);\n});\ndefine(\"app/data/contact_import_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function contactImportScribe() {\n        this.scribeServiceLaunch = function(a, b) {\n            this.scribe({\n                component: \"import_service_stream\",\n                action: \"launch_service\"\n            }, {\n                query: b.service\n            });\n        }, this.scribePreviewInviteOpened = function(a, b) {\n            this.scribe({\n                component: \"invite_friends\",\n                element: \"preview_invite_link\",\n                action: \"click\"\n            });\n        }, this.scribeFollowSuccess = function(a, b) {\n            this.scribe({\n                component: \"stream_header\",\n                action: \"follow\"\n            }, {\n                item_count: b.followed_ids.length,\n                item_ids: b.followed_ids,\n                event_value: b.followed_ids.length,\n                event_info: \"follow_all\"\n            });\n        }, this.scribeInvitationSuccess = function(a, b) {\n            var c = b.sourceEventData, d = b.sourceEventData.scribeContext;\n            ((((c.invitable !== undefined)) && this.scribe(utils.merge({\n            }, d, {\n                action: \"invitable\"\n            }), {\n                item_count: c.invitable\n            }))), this.scribe(utils.merge({\n            }, d, {\n                action: \"invited\"\n            }), {\n                item_count: c.contacts.length,\n                event_value: c.contacts.length\n            });\n        }, this.scribeInvitationFailure = function(a, b) {\n            var c = b.sourceEventData, d = b.sourceEventData.scribeContext, e = ((((b.errors && b.errors[0])) && b.errors[0].code));\n            this.scribe(utils.merge({\n            }, d, {\n                action: \"error\"\n            }), {\n                item_count: c.contacts.length,\n                status_code: e\n            });\n        }, this.scribeLinkClick = function(a, b) {\n            var c = a.target.className;\n            ((((c.indexOf(\"find-friends-btn\") != -1)) && this.scribe({\n                component: \"empty_timeline\",\n                element: \"find_friends_link\",\n                action: \"click\"\n            })));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiImportServiceLaunched\", this.scribeServiceLaunch), this.JSBNG__on(\"uiPreviewInviteOpened\", this.scribePreviewInviteOpened), this.JSBNG__on(\"dataContactImportFollowSuccess\", this.scribeFollowSuccess), this.JSBNG__on(\"dataInviteContactsSuccess\", this.scribeInvitationSuccess), this.JSBNG__on(\"dataInviteContactsFailure\", this.scribeInvitationFailure), this.JSBNG__on(\"click\", this.scribeLinkClick);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(contactImportScribe, withScribe);\n});\ndefine(\"app/ui/with_import_services\", [\"module\",\"require\",\"exports\",\"core/i18n\",\"app/utils/oauth_popup\",], function(module, require, exports) {\n    function withImportServices() {\n        this.launchService = function(a) {\n            var b = $(a.target).closest(this.attr.launchServiceSelector);\n            this.oauthPopup({\n                url: b.data(\"url\"),\n                triggerEvent: !0,\n                width: b.data(\"width\"),\n                height: b.data(\"height\")\n            }), this.trigger(\"uiImportServiceLaunched\", {\n                service: b.data(\"service\")\n            });\n        }, this.importDeniedFailure = function() {\n            this.trigger(\"uiShowError\", {\n                message: _(\"You denied Twitter's access to your contact information.\")\n            });\n        }, this.importMissingFailure = function() {\n            this.trigger(\"uiShowError\", {\n                message: _(\"An error occurred validating your credentials.\")\n            });\n        }, this.after(\"initialize\", function() {\n            this.oauthPopup = oauthPopup, this.JSBNG__on(JSBNG__document, \"uiOauthImportDenied\", this.importDeniedFailure), this.JSBNG__on(JSBNG__document, \"uiOauthImportMissing\", this.importMissingFailure), this.JSBNG__on(\"click\", {\n                launchServiceSelector: this.launchService\n            });\n        });\n    };\n;\n    var _ = require(\"core/i18n\"), oauthPopup = require(\"app/utils/oauth_popup\");\n    module.exports = withImportServices;\n});\ndefine(\"app/ui/who_to_follow/import_services\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"app/ui/with_import_services\",], function(module, require, exports) {\n    function importServices() {\n        this.defaultAttrs({\n            launchServiceSelector: \".js-service-row\",\n            matchesHref: \"/who_to_follow/matches\",\n            redirectOnSuccess: !0\n        }), this.importSuccess = function() {\n            this.trigger(\"uiOpenImportLoadingDialog\"), this.startPolling();\n        }, this.dialogCancelled = function() {\n            this.stopPolling();\n        }, this.startPolling = function() {\n            this.pollingCount = 0, this.interval = window.JSBNG__setInterval(this.checkForContacts.bind(this), 3000);\n        }, this.stopPolling = function() {\n            ((this.interval && (window.JSBNG__clearInterval(this.interval), this.interval = null))), this.trigger(\"uiCloseDialog\");\n        }, this.checkForContacts = function() {\n            ((((this.pollingCount++ > 15)) ? (this.trigger(\"uiShowError\", {\n                message: _(\"Loading seems to be taking a while. Please wait a moment and try again.\")\n            }), this.stopPolling()) : this.trigger(\"uiWantsContactImportStatus\")));\n        }, this.hasStatus = function(a, b) {\n            ((b.done && (this.stopPolling(), ((b.error ? this.trigger(\"uiShowError\", {\n                message: b.message\n            }) : ((this.attr.redirectOnSuccess ? this.trigger(\"uiNavigate\", {\n                href: this.attr.matchesHref\n            }) : this.trigger(\"uiWantsContactImportMatches\"))))))));\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"uiOauthImportSuccess\", this.importSuccess), this.JSBNG__on(JSBNG__document, \"uiImportLoadingDialogCancelled\", this.dialogCancelled), this.JSBNG__on(JSBNG__document, \"dataContactImportStatusSuccess\", this.hasStatus), ((a.hasUserCompletionModule && (this.attr.matchesHref += \"?from_num=1\")));\n        }), this.after(\"teardown\", function() {\n            this.stopPolling();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), withImportServices = require(\"app/ui/with_import_services\");\n    module.exports = defineComponent(importServices, withImportServices);\n});\ndefine(\"app/ui/who_to_follow/import_loading_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_position\",\"app/ui/with_dialog\",], function(module, require, exports) {\n    function importLoadingDialog() {\n        this.defaultAttrs({\n            closeSelector: \".modal-close\"\n        }), this.after(\"afterClose\", function() {\n            this.trigger(\"uiImportLoadingDialogCancelled\");\n        }), this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiOpenImportLoadingDialog\", this.open);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withPosition = require(\"app/ui/with_position\"), withDialog = require(\"app/ui/with_dialog\");\n    module.exports = defineComponent(importLoadingDialog, withDialog, withPosition);\n});\ndefine(\"app/ui/dashboard_tweetbox\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",], function(module, require, exports) {\n    function dashboardTweetbox() {\n        this.defaultAttrs({\n            hasDefaultText: !0,\n            tweetFormSelector: \".tweet-form\",\n            defaultTextFrom: \"data-screen-name\",\n            prependText: \"@\"\n        }), this.openTweetBox = function() {\n            var a = this.attr.prependText, b = ((this.$node.attr(this.attr.defaultTextFrom) || \"\")), c = this.select(\"tweetFormSelector\");\n            this.trigger(c, \"uiInitTweetbox\", utils.merge({\n                draftTweetId: this.attr.draftTweetId,\n                condensable: !0,\n                condensedText: ((a + b)),\n                defaultText: ((this.attr.hasDefaultText ? ((((a + b)) + \" \")) : \"\"))\n            }, {\n                eventData: this.attr.eventData\n            }));\n        }, this.after(\"initialize\", function() {\n            this.openTweetBox();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\");\n    module.exports = defineComponent(dashboardTweetbox);\n});\ndefine(\"app/utils/boomerang\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/clock\",\"app/data/scribe_transport\",], function(module, require, exports) {\n    function Boomerang() {\n        this.initializeBoomerang = function() {\n            var a = {\n                allow_ssl: !0,\n                autorun: !1,\n                user_ip: this.attr.ip,\n                BW: {\n                    base_url: this.attr.baseUrl,\n                    cookie: ((this.attr.force ? null : \"BA\"))\n                }\n            }, b = function(a) {\n                ((((((a && a.bw)) || this.attr.inTest)) && this.scribeBoomerangResults(a)));\n                try {\n                    delete window.BOOMR;\n                } catch (b) {\n                    window.BOOMR = undefined;\n                };\n            ;\n            }.bind(this);\n            using(\"app/utils/boomerang_lib\", function() {\n                delete BOOMR.plugins.RT, BOOMR.init(a), BOOMR.subscribe(\"before_beacon\", b), clock.setTimeoutEvent(\"boomerangStart\", 10000);\n            });\n        }, this.scribeBoomerangResults = function(a) {\n            var b = parseInt(((a.bw / 1024)), 10), c = parseInt(((((a.bw_err * 100)) / a.bw)), 10), d = parseInt(((((a.lat_err * 100)) / a.lat)), 10);\n            scribeTransport.send({\n                event_name: \"measurement\",\n                load_time_ms: a.t_done,\n                bandwidth_kbytes: b,\n                bandwidth_error_percent: c,\n                latency_ms: a.lat,\n                latency_error_percent: d,\n                product: \"webclient\",\n                base_url: this.attr.baseUrl\n            }, \"boomerang\"), ((this.attr.force && this.trigger(\"uiShowError\", {\n                message: ((((((((((((((\"Bandwidth: \" + b)) + \" KB/s &plusmn; \")) + c)) + \"%\\u003Cbr /\\u003ELatency: \")) + a.lat)) + \" ms &plusmn; \")) + a.lat_err))\n            })));\n        }, this.startBoomerang = function() {\n            BOOMR.page_ready();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(window, \"load\", this.initializeBoomerang), this.JSBNG__on(\"boomerangStart\", this.startBoomerang);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), clock = require(\"core/clock\"), scribeTransport = require(\"app/data/scribe_transport\");\n    module.exports = defineComponent(Boomerang);\n});\ndefine(\"app/ui/profile_stats\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_profile_stats\",], function(module, require, exports) {\n    var defineComponent = require(\"core/component\"), withProfileStats = require(\"app/ui/with_profile_stats\");\n    module.exports = defineComponent(withProfileStats);\n});\ndefine(\"app/pages/home\", [\"module\",\"require\",\"exports\",\"app/boot/app\",\"app/boot/trends\",\"app/boot/tweet_timeline\",\"app/boot/user_completion_module\",\"app/ui/who_to_follow/who_to_follow_dashboard\",\"app/ui/who_to_follow/who_to_follow_timeline\",\"app/data/who_to_follow\",\"app/data/who_to_follow_scribe\",\"app/ui/profile/recent_connections_module\",\"app/ui/promptbird\",\"app/data/promptbird\",\"app/data/promptbird_scribe\",\"app/ui/dialogs/promptbird_invite_contacts_dialog\",\"app/data/contact_import\",\"app/data/contact_import_scribe\",\"app/data/contact_import\",\"app/ui/who_to_follow/import_services\",\"app/ui/who_to_follow/import_loading_dialog\",\"app/ui/dashboard_tweetbox\",\"app/utils/boomerang\",\"core/utils\",\"core/i18n\",\"app/ui/profile_stats\",], function(module, require, exports) {\n    var bootApp = require(\"app/boot/app\"), trendsBoot = require(\"app/boot/trends\"), tweetTimelineBoot = require(\"app/boot/tweet_timeline\"), userCompletionModuleBoot = require(\"app/boot/user_completion_module\"), WhoToFollowDashboard = require(\"app/ui/who_to_follow/who_to_follow_dashboard\"), WhoToFollowTimeline = require(\"app/ui/who_to_follow/who_to_follow_timeline\"), WhoToFollowData = require(\"app/data/who_to_follow\"), WhoToFollowScribe = require(\"app/data/who_to_follow_scribe\"), RecentConnectionsModule = require(\"app/ui/profile/recent_connections_module\"), PromptbirdUI = require(\"app/ui/promptbird\"), PromptbirdData = require(\"app/data/promptbird\"), PromptbirdScribe = require(\"app/data/promptbird_scribe\"), PromptbirdInviteContactsDialog = require(\"app/ui/dialogs/promptbird_invite_contacts_dialog\"), ContactImport = require(\"app/data/contact_import\"), ContactImportScribe = require(\"app/data/contact_import_scribe\"), ContactImportData = require(\"app/data/contact_import\"), ImportServices = require(\"app/ui/who_to_follow/import_services\"), ImportLoadingDialog = require(\"app/ui/who_to_follow/import_loading_dialog\"), DashboardTweetbox = require(\"app/ui/dashboard_tweetbox\"), Boomerang = require(\"app/utils/boomerang\"), utils = require(\"core/utils\"), _ = require(\"core/i18n\"), ProfileStats = require(\"app/ui/profile_stats\");\n    module.exports = function(a) {\n        bootApp(a), trendsBoot(a), tweetTimelineBoot(utils.merge(a, {\n            preservedScrollEnabled: !0\n        }), a.timeline_url, \"tweet\", \"tweet\"), userCompletionModuleBoot(a);\n        var b = utils.merge(a, {\n            eventData: {\n                scribeContext: {\n                    component: \"user_recommendations\"\n                }\n            }\n        }), c = \".promptbird\", d = utils.merge(a, {\n            eventData: {\n                scribeContext: {\n                    section: \"JSBNG__home\"\n                }\n            }\n        });\n        PromptbirdData.attachTo(JSBNG__document, d), PromptbirdUI.attachTo(c, d), PromptbirdScribe.attachTo(c, d);\n        var e = $(c).data(\"prompt-id\");\n        ((((((((e === 46)) || ((e === 49)))) || ((e === 50)))) ? (ContactImportData.attachTo(JSBNG__document), ContactImportScribe.attachTo(JSBNG__document), ImportServices.attachTo(c), ImportLoadingDialog.attachTo(\"#import-loading-dialog\")) : ((((e === 223)) && (PromptbirdInviteContactsDialog.attachTo(\"#promptbird-invite-contacts-dialog\", d), ContactImport.attachTo(JSBNG__document, d), ContactImportScribe.attachTo(JSBNG__document, d)))))), WhoToFollowDashboard.attachTo(\".dashboard .js-wtf-module\", b), WhoToFollowScribe.attachTo(\".dashboard .js-wtf-module\", b), ((a.emptyTimelineOptions.emptyTimelineModule && WhoToFollowTimeline.attachTo(\"#empty-timeline-recommendations\", b))), WhoToFollowScribe.attachTo(\"#empty-timeline-recommendations\", b), WhoToFollowData.attachTo(JSBNG__document, b), RecentConnectionsModule.attachTo(\".dashboard .recent-followers-module\", a, {\n            eventData: {\n                scribeContext: {\n                    component: \"recent_followers\"\n                }\n            }\n        }), DashboardTweetbox.attachTo(\".home-tweet-box\", {\n            draftTweetId: \"JSBNG__home\",\n            prependText: _(\"Compose new Tweet...\"),\n            hasDefaultText: !1,\n            eventData: {\n                scribeContext: {\n                    component: \"tweet_box\"\n                }\n            }\n        }), ProfileStats.attachTo(\".dashboard .mini-profile\"), ((a.boomr && Boomerang.attachTo(JSBNG__document, a.boomr)));\n    };\n});\ndefine(\"app/boot/wtf_module\", [\"module\",\"require\",\"exports\",\"app/ui/who_to_follow/who_to_follow_dashboard\",\"app/data/who_to_follow\",\"app/data/who_to_follow_scribe\",\"core/utils\",], function(module, require, exports) {\n    var WhoToFollowDashboard = require(\"app/ui/who_to_follow/who_to_follow_dashboard\"), WhoToFollowData = require(\"app/data/who_to_follow\"), WhoToFollowScribe = require(\"app/data/who_to_follow_scribe\"), utils = require(\"core/utils\");\n    module.exports = function(b) {\n        var c = utils.merge(b, {\n            eventData: {\n                scribeContext: {\n                    component: \"user_recommendations\"\n                }\n            }\n        });\n        WhoToFollowDashboard.attachTo(\".dashboard .js-wtf-module\", c), WhoToFollowData.attachTo(JSBNG__document, c), WhoToFollowScribe.attachTo(\".dashboard .js-wtf-module\", c);\n    };\n});\ndefine(\"app/data/who_to_tweet\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function whoToTweetData() {\n        this.whoToTweetModule = function(a, b) {\n            function c(a) {\n                ((a.html && this.trigger(\"dataWhoToTweetModuleSuccess\", a)));\n            };\n        ;\n            this.get({\n                url: ((((\"/\" + b.screen_name)) + \"/following/users\")),\n                data: {\n                    who_to_tweet: !0\n                },\n                eventData: b,\n                success: c.bind(this),\n                error: \"dataInviteModuleFailure\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiWantsWhoToTweetModule\", this.whoToTweetModule);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(whoToTweetData, withData);\n});\ndefine(\"app/boot/connect\", [\"module\",\"require\",\"exports\",\"app/boot/app\",\"app/boot/trends\",\"app/boot/wtf_module\",\"app/data/contact_import\",\"app/data/contact_import_scribe\",\"app/data/who_to_tweet\",], function(module, require, exports) {\n    function initialize(a) {\n        bootApp(a), whoToFollowModule(a), ContactImportData.attachTo(JSBNG__document, a), ContactImportScribe.attachTo(JSBNG__document, a), WhoToTweetData.attachTo(JSBNG__document, a), bootTrends(a);\n    };\n;\n    var bootApp = require(\"app/boot/app\"), bootTrends = require(\"app/boot/trends\"), whoToFollowModule = require(\"app/boot/wtf_module\"), ContactImportData = require(\"app/data/contact_import\"), ContactImportScribe = require(\"app/data/contact_import_scribe\"), WhoToTweetData = require(\"app/data/who_to_tweet\"), wtfSelector = \".dashboard .js-wtf-module\", timelineSelector = \"#timeline\";\n    module.exports = initialize;\n});\ndefine(\"app/ui/who_to_follow/with_list_resizing\", [\"module\",\"require\",\"exports\",\"core/compose\",\"core/utils\",\"app/ui/with_scrollbar_width\",], function(module, require, exports) {\n    function withListResizing() {\n        compose.mixin(this, [withScrollbarWidth,]), this.defaultAttrs({\n            backToTopSelector: \".back-to-top\",\n            listSelector: \".scrolling-user-list\",\n            listFooterSelector: \".user-list-footer\",\n            minHeight: 300\n        }), this.scrollToTop = function(a) {\n            a.preventDefault(), a.stopImmediatePropagation(), this.select(\"listSelector\").animate({\n                scrollTop: 0\n            });\n        }, this.initUi = function() {\n            this.calculateScrollbarWidth();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded uiPageChanged\", this.initUi), this.JSBNG__on(\"click\", {\n                backToTopSelector: this.scrollToTop\n            });\n        });\n    };\n;\n    var compose = require(\"core/compose\"), utils = require(\"core/utils\"), withScrollbarWidth = require(\"app/ui/with_scrollbar_width\");\n    module.exports = withListResizing;\n});\ndefine(\"app/ui/who_to_follow/matched_contacts_list\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"app/ui/with_select_all\",\"app/ui/who_to_follow/with_list_resizing\",], function(module, require, exports) {\n    function matchedContactsList() {\n        this.defaultAttrs({\n            selectedCounterSelector: \".js-follow-count\",\n            listItemSelector: \".listview-find-friends-result\",\n            checkboxSelector: \".js-action-checkbox\",\n            selectAllSelector: \"#select_all_matches\",\n            actionButtonSelector: \".js-follow-all\"\n        }), this.updateSelection = function() {\n            var a = this;\n            this.select(\"checkboxSelector\").each(function() {\n                $(this).closest(a.attr.listItemSelector).toggleClass(\"selected\", this.checked);\n            });\n            var b = this.select(\"selectAllSelector\");\n            ((b.is(\":checked\") && (this.invisibleSelected = !0)));\n            var c = b.val(), d = this.select(\"checkboxSelector\").length, e = this.select(\"checkedCheckboxSelector\").length, f = ((d - e)), g;\n            ((this.invisibleSelected ? g = ((c - f)) : g = e)), this.select(\"selectedCounterSelector\").text(g), this.select(\"actionButtonSelector\").attr(\"disabled\", ((g == 0)));\n        }, this.maybeDeselectInvisible = function(a, b) {\n            this.invisibleSelected = a.target.checked;\n        }, this.maybeCheckNewItem = function(a) {\n            if (this.invisibleSelected) {\n                var b = $(a.target);\n                b.JSBNG__find(this.attr.listItemSelector).addClass(\"selected\"), b.JSBNG__find(this.attr.checkboxSelector).attr(\"checked\", \"checked\");\n            }\n        ;\n        ;\n        }, this.initSelections = function() {\n            ((this.select(\"selectAllSelector\").is(\":checked\") && (this.select(\"checkboxSelector\").attr(\"checked\", \"checked\"), this.select(\"listItemSelector\").addClass(\"selected\"))));\n        }, this.followAll = function() {\n            var a = this.invisibleSelected, b = {\n                excludeIds: [],\n                includeIds: []\n            };\n            this.select(\"checkboxSelector\").each(function() {\n                var c = this.checked, d = $(this).closest(\"[data-user-id]\").data(\"user-id\");\n                ((((a && !c)) ? b.excludeIds.push(d) : ((((!a && c)) && b.includeIds.push(d)))));\n            }), this.select(\"actionButtonSelector\").addClass(\"loading\").attr(\"disabled\", !0), this.trigger(\"uiContactImportFollow\", b);\n        }, this.removeLoading = function() {\n            this.select(\"actionButtonSelector\").removeClass(\"loading\").attr(\"disabled\", !1);\n        }, this.displaySuccess = function(a, b) {\n            this.removeLoading(), ((this.attr.findFriendsInline ? this.trigger(\"uiWantsWhoToTweetModule\", {\n                screen_name: this.$node.data(\"screen-name\")\n            }) : this.trigger(\"uiNavigate\", {\n                href: ((\"/who_to_follow/invite?followed_count=\" + b.followed_ids.length))\n            })));\n        }, this.displayError = function() {\n            this.removeLoading(), this.trigger(\"uiShowError\", {\n                message: _(\"There was an error following your contacts.\")\n            });\n        }, this.displayMatches = function(a, b) {\n            if (((!b || !b.html))) {\n                return;\n            }\n        ;\n        ;\n            this.$node.html(b.html), this.initSelections();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded uiPageChanged\", this.initSelections), this.JSBNG__on(\"uiListSelectionChanged\", this.updateSelection), this.JSBNG__on(\"change\", {\n                selectAllSelector: this.maybeDeselectInvisible\n            }), this.JSBNG__on(\"uiHasInjectedTimelineItem\", this.maybeCheckNewItem), this.JSBNG__on(JSBNG__document, \"dataContactImportFollowSuccess\", this.displaySuccess), this.JSBNG__on(JSBNG__document, \"dataContactImportFollowFailure\", this.displayError), this.JSBNG__on(JSBNG__document, \"dataContactImportMatchesSuccess\", this.displayMatches), this.JSBNG__on(\"click\", {\n                actionButtonSelector: this.followAll\n            }), this.invisibleSelected = !0;\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), withSelectAll = require(\"app/ui/with_select_all\"), withListResizing = require(\"app/ui/who_to_follow/with_list_resizing\");\n    module.exports = defineComponent(matchedContactsList, withSelectAll, withListResizing);\n});\ndefine(\"app/ui/who_to_follow/unmatched_contacts_list\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/who_to_follow/with_list_resizing\",\"app/ui/who_to_follow/with_unmatched_contacts\",], function(module, require, exports) {\n    function unmatchedContactsList() {\n        this.defaultAttrs({\n            selectedCounterSelector: \".js-selected-count\",\n            listItemSelector: \".stream-item\",\n            hideLinkSelector: \".js-hide\"\n        }), this.updateSelection = function() {\n            var a = this;\n            this.select(\"checkboxSelector\").each(function() {\n                $(this).closest(a.attr.listItemSelector).toggleClass(\"selected\", this.checked);\n            });\n            var b = this.select(\"checkedCheckboxSelector\").length;\n            this.select(\"selectedCounterSelector\").text(b), this.select(\"actionButtonSelector\").attr(\"disabled\", ((b == 0)));\n        }, this.redirectToSuggestions = function(a, b) {\n            this.trigger(\"uiNavigate\", {\n                href: ((\"/who_to_follow/suggestions?invited_count=\" + b.count))\n            });\n        }, this.hide = function() {\n            this.$node.hide();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiListSelectionChanged\", this.updateSelection), this.JSBNG__on(\"uiInviteFinished\", this.redirectToSuggestions), this.JSBNG__on(\"click\", {\n                hideLinkSelector: this.hide\n            }), this.attr.showMessageOnSuccess = !1;\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withListResizing = require(\"app/ui/who_to_follow/with_list_resizing\"), withUnmatchedContacts = require(\"app/ui/who_to_follow/with_unmatched_contacts\");\n    module.exports = defineComponent(unmatchedContactsList, withListResizing, withUnmatchedContacts);\n});\ndefine(\"app/ui/who_to_tweet\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/ddg\",\"app/ui/with_user_actions\",], function(module, require, exports) {\n    function whoToTweet() {\n        this.defaultAttrs({\n            tweetToButtonSelector: \".js-tweet-to-btn\"\n        }), this.tweetToUser = function(a, b) {\n            var c = $(a.target).closest(\".user-actions\");\n            this.mentionUser(c);\n        }, this.trackEvent = function(a) {\n            ((((a.type == \"uiTweetSent\")) && ddg.track(\"find_friends_on_empty_connect_635\", \"tweet_sent\")));\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"uiTweetSent\", this.trackEvent), this.JSBNG__on(\"click\", {\n                tweetToButtonSelector: this.tweetToUser\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), ddg = require(\"app/data/ddg\"), withUserActions = require(\"app/ui/with_user_actions\");\n    module.exports = defineComponent(whoToTweet, withUserActions);\n});\ndefine(\"app/ui/with_loading_indicator\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withLoadingIndicator() {\n        this.defaultAttrs({\n            spinnerContainer: \"body\",\n            spinnerClass: \"pushing-state\"\n        }), this.showSpinner = function(a, b) {\n            this.select(\"spinnerContainer\").addClass(this.attr.spinnerClass);\n        }, this.hideSpinner = function(a, b) {\n            this.select(\"spinnerContainer\").removeClass(this.attr.spinnerClass);\n        };\n    };\n;\n    module.exports = withLoadingIndicator;\n});\ndefine(\"app/ui/who_to_follow/find_friends\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/ddg\",\"app/ui/who_to_follow/import_loading_dialog\",\"app/ui/who_to_follow/import_services\",\"app/ui/who_to_follow/matched_contacts_list\",\"app/ui/infinite_scroll_watcher\",\"app/ui/who_to_follow/unmatched_contacts_list\",\"app/ui/who_to_tweet\",\"app/ui/who_to_follow/with_invite_preview\",\"app/ui/with_select_all\",\"app/ui/with_loading_indicator\",], function(module, require, exports) {\n    function findFriends() {\n        this.defaultAttrs({\n            importLoadingDialogSelector: \"#import-loading-dialog\",\n            launchContainerSelector: \".empty-connect\",\n            findFriendsSelector: \".find-friends-container\",\n            findFriendsButtonSelector: \".find-friends-btn\",\n            scrollListSelector: \".scrolling-user-list\",\n            scrollListContentSelector: \".stream\",\n            unmatchedContactsSelector: \".content-main.invite-module\",\n            launchServiceSelector: \".js-launch-service\",\n            inviteLinkSelector: \".matches .skip-link\",\n            skipInvitesLinkSelector: \".invite-module .skip-link\",\n            checkboxSelector: \".contact-checkbox\",\n            selectAllSelector: \".select-all-contacts\",\n            whoToTweetModuleSelector: \"#who-to-tweet\"\n        }), this.showInviteModule = function(a, b) {\n            this.select(\"findFriendsSelector\").html(b.html), UnmatchedContactsList.attachTo(this.attr.unmatchedContactsSelector, {\n                hideLinkSelector: this.attr.skipInvitesLinkSelector\n            }), ddg.track(\"find_friends_on_empty_connect_635\", \"invite_module_view\");\n        }, this.showWhoToTweetModule = function(a, b) {\n            this.select(\"findFriendsSelector\").html(b.html), WhoToTweet.attachTo(this.attr.whoToTweetModuleSelector);\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"dataInviteModuleSuccess\", this.showInviteModule), this.JSBNG__on(JSBNG__document, \"dataWhoToTweetModuleSuccess\", this.showWhoToTweetModule), this.JSBNG__on(JSBNG__document, \"dataContactImportMatchesSuccess dataInviteModuleSuccess dataInviteModuleFailure dataWhoToTweetModuleSuccess dataWhoToTweetModuleFailure\", this.hideSpinner), this.JSBNG__on(JSBNG__document, \"uiWantsContactImportMatches uiWantsInviteModule uiWantsWhoToTweetModule\", this.showSpinner), this.JSBNG__on(\"click\", {\n                inviteLinkSelector: function() {\n                    this.trigger(\"uiWantsInviteModule\"), ddg.track(\"find_friends_on_empty_connect_635\", \"skip_link_click\");\n                },\n                findFriendsButtonSelector: function() {\n                    ddg.track(\"find_friends_on_empty_connect_635\", \"find_friends_click\");\n                }\n            }), ImportLoadingDialog.attachTo(this.attr.importLoadingDialogSelector, a), ImportServices.attachTo(this.attr.launchContainerSelector, {\n                launchServiceSelector: this.attr.launchServiceSelector,\n                redirectOnSuccess: !1\n            }), MatchedContactsList.attachTo(this.attr.findFriendsSelector, utils.merge(a, {\n                findFriendsInline: !0\n            })), InfiniteScrollWatcher.attachTo(this.attr.scrollListSelector, {\n                contentSelector: this.attr.scrollListContentSelector\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), ddg = require(\"app/data/ddg\"), ImportLoadingDialog = require(\"app/ui/who_to_follow/import_loading_dialog\"), ImportServices = require(\"app/ui/who_to_follow/import_services\"), MatchedContactsList = require(\"app/ui/who_to_follow/matched_contacts_list\"), InfiniteScrollWatcher = require(\"app/ui/infinite_scroll_watcher\"), UnmatchedContactsList = require(\"app/ui/who_to_follow/unmatched_contacts_list\"), WhoToTweet = require(\"app/ui/who_to_tweet\"), withInvitePreview = require(\"app/ui/who_to_follow/with_invite_preview\"), withSelectAll = require(\"app/ui/with_select_all\"), withLoadingIndicator = require(\"app/ui/with_loading_indicator\");\n    module.exports = defineComponent(findFriends, withInvitePreview, withSelectAll, withLoadingIndicator);\n});\ndefine(\"app/pages/connect/interactions\", [\"module\",\"require\",\"exports\",\"app/boot/connect\",\"app/boot/tweet_timeline\",\"app/ui/who_to_follow/find_friends\",], function(module, require, exports) {\n    var connectBoot = require(\"app/boot/connect\"), tweetTimelineBoot = require(\"app/boot/tweet_timeline\"), FindFriends = require(\"app/ui/who_to_follow/find_friends\");\n    module.exports = function(a) {\n        connectBoot(a), tweetTimelineBoot(a, \"/i/connect/timeline\", \"activity\", \"stream\"), (($(\"body.find_friends_on_empty_connect_635\").length && FindFriends.attachTo(JSBNG__document, a)));\n    };\n});\ndefine(\"app/pages/connect/mentions\", [\"module\",\"require\",\"exports\",\"app/boot/connect\",\"app/boot/tweet_timeline\",], function(module, require, exports) {\n    var connectBoot = require(\"app/boot/connect\"), tweetTimelineBoot = require(\"app/boot/tweet_timeline\");\n    module.exports = function(a) {\n        connectBoot(a), tweetTimelineBoot(a, \"/mentions/timeline\", \"tweet\");\n    };\n});\ndefine(\"app/pages/connect/network_activity\", [\"module\",\"require\",\"exports\",\"app/boot/connect\",\"app/boot/tweet_timeline\",], function(module, require, exports) {\n    var connectBoot = require(\"app/boot/connect\"), tweetTimelineBoot = require(\"app/boot/tweet_timeline\");\n    module.exports = function(a) {\n        a.containingItemSelector = \".supplement\", a.marginBreaking = !1, connectBoot(a), tweetTimelineBoot(a, \"/activity/timeline\", \"activity\", \"stream\");\n    };\n});\ndefine(\"app/ui/inline_edit\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function inlineEdit() {\n        this.defaultAttrs({\n            editableFieldSelector: \".editable-field\",\n            profileFieldSelector: \".profile-field\",\n            placeholderSelector: \".placeholder\",\n            padding: 20\n        }), this.syncDimensions = function() {\n            var a = this.getDimensions(this.currentText());\n            if (this.isTextArea) {\n                var b = Math.ceil(((a.height / this.lineHeight)));\n                this.$editableField.attr(\"rows\", b);\n            }\n             else this.$editableField.width(((a.width + this.padding)));\n        ;\n        ;\n        }, this.saveOldValues = function() {\n            this.oldTextValue = this.editableFieldValue(), this.oldHtmlValue = this.$profileField.html();\n        }, this.resetProfileField = function() {\n            this.$profileField.html(this.oldHtmlValue);\n        }, this.resetToOldValues = function() {\n            this.$editableField.val(this.oldTextValue).trigger(\"uiInputChanged\"), this.resetProfileField();\n        }, this.syncValue = function() {\n            var a = this.editableFieldValue();\n            ((((this.oldTextValue !== a)) && (this.setProfileField(), this.trigger(\"uiInlineEditSave\", {\n                newValue: a,\n                field: this.$editableField.attr(\"JSBNG__name\")\n            }))));\n        }, this.setProfileField = function() {\n            var a = this.editableFieldValue();\n            ((((this.truncateLength && ((a.length > this.truncateLength)))) && (a = ((a.substr(0, this.truncateLength) + \"\\u2026\"))))), this.$profileField.text(a);\n        }, this.currentText = function() {\n            return ((this.editableFieldValue() || this.getPlaceholderText()));\n        }, this.editableFieldValue = function() {\n            return this.$editableField.val();\n        }, this.addPadding = function() {\n            this.padding = this.attr.padding;\n        }, this.removePadding = function() {\n            this.padding = 0;\n        }, this.getDimensions = function(a) {\n            return ((this.truncateLength && (a = a.substr(0, this.truncateLength)))), ((((this.prevText !== a)) && (this.measureDimensions(a), this.prevText = a))), {\n                width: this.width,\n                height: this.height\n            };\n        }, this.measureDimensions = function(a) {\n            var b = this.$profileField.clone();\n            b.text(a), b.css(\"white-space\", \"pre-wrap\"), this.$profileField.replaceWith(b), this.height = b.height(), this.width = b.width(), b.replaceWith(this.$profileField);\n        }, this.preventNewlineAndLeadingSpace = function(a) {\n            if (((((a.keyCode === 13)) || ((((a.keyCode === 32)) && !this.editableFieldValue()))))) {\n                a.preventDefault(), a.stopImmediatePropagation();\n            }\n        ;\n        ;\n        }, this.getPlaceholderText = function() {\n            return this.$placeholder.text();\n        }, this.after(\"initialize\", function() {\n            this.$editableField = this.select(\"editableFieldSelector\"), this.$profileField = this.select(\"profileFieldSelector\"), this.$placeholder = this.select(\"placeholderSelector\"), this.lineHeight = parseInt(this.$profileField.css(\"line-height\"), 10), this.isTextArea = this.$editableField.is(\"textarea\"), this.truncateLength = parseInt(this.$editableField.attr(\"data-truncate-length\"), 10), this.padding = 0, this.syncDimensions(), this.JSBNG__on(JSBNG__document, \"uiNeedsTextPreview\", this.setProfileField), this.JSBNG__on(JSBNG__document, \"uiEditProfileSaveFields\", this.syncValue), this.JSBNG__on(JSBNG__document, \"uiEditProfileStart\", this.saveOldValues), this.JSBNG__on(JSBNG__document, \"uiEditProfileCancel\", this.resetToOldValues), this.JSBNG__on(JSBNG__document, \"uiEditProfileStart\", this.syncDimensions), this.JSBNG__on(JSBNG__document, \"uiShowProfileEditError\", this.resetProfileField), this.JSBNG__on(this.$editableField, \"keydown\", this.preventNewlineAndLeadingSpace), ((this.isTextArea || (this.JSBNG__on(this.$editableField, \"JSBNG__focus\", this.addPadding), this.JSBNG__on(this.$editableField, \"JSBNG__blur\", this.removePadding)))), this.JSBNG__on(this.$editableField, \"keyup focus blur update paste\", this.syncDimensions);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(inlineEdit);\n});\ndefine(\"app/data/async_profile\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function asyncProfileData() {\n        this.defaultAttrs({\n            noShowError: !0\n        }), this.saveField = function(a, b) {\n            this.fields[b.field] = b.newValue;\n        }, this.clearFields = function() {\n            this.fields = {\n            };\n        }, this.saveFields = function(a, b) {\n            function c(a) {\n                if (((a.error === !0))) {\n                    return d.call(this, a);\n                }\n            ;\n            ;\n                this.trigger(\"dataInlineEditSaveSuccess\", a), this.clearFields();\n            };\n        ;\n            function d(a) {\n                this.trigger(\"dataInlineEditSaveError\", a), this.clearFields();\n            };\n        ;\n            a.preventDefault(), ((((Object.keys(this.fields).length > 0)) ? (this.trigger(\"dataInlineEditSaveStarted\", {\n            }), this.fields.page_context = this.attr.pageName, this.fields.section_context = this.attr.sectionName, this.post({\n                url: \"/i/profiles/update\",\n                data: this.fields,\n                eventData: b,\n                success: c.bind(this),\n                error: d.bind(this)\n            })) : this.trigger(\"dataInlineEditSaveSuccess\")));\n        }, this.after(\"initialize\", function() {\n            this.fields = {\n            }, this.JSBNG__on(\"uiInlineEditSave\", this.saveField), this.JSBNG__on(\"uiEditProfileSave\", this.saveFields);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(asyncProfileData, withData);\n});\ndeferred(\"$lib/jquery_ui.profile.js\", function() {\n    (function($, a) {\n        function b(a, b) {\n            var d = a.nodeName.toLowerCase();\n            if (((\"area\" === d))) {\n                var e = a.parentNode, f = e.JSBNG__name, g;\n                return ((((((!a.href || !f)) || ((e.nodeName.toLowerCase() !== \"map\")))) ? !1 : (g = $(((((\"img[usemap=#\" + f)) + \"]\")))[0], ((!!g && c(g))))));\n            }\n        ;\n        ;\n            return ((((/input|select|textarea|button|object/.test(d) ? !a.disabled : ((((\"a\" == d)) ? ((a.href || b)) : b)))) && c(a)));\n        };\n    ;\n        function c(a) {\n            return !$(a).parents().andSelf().filter(function() {\n                return (((($.curCSS(this, \"visibility\") === \"hidden\")) || $.expr.filters.hidden(this)));\n            }).length;\n        };\n    ;\n        $.ui = (($.ui || {\n        }));\n        if ($.ui.version) {\n            return;\n        }\n    ;\n    ;\n        $.extend($.ui, {\n            version: \"1.8.22\",\n            keyCode: {\n                ALT: 18,\n                BACKSPACE: 8,\n                CAPS_LOCK: 20,\n                COMMA: 188,\n                COMMAND: 91,\n                COMMAND_LEFT: 91,\n                COMMAND_RIGHT: 93,\n                CONTROL: 17,\n                DELETE: 46,\n                DOWN: 40,\n                END: 35,\n                ENTER: 13,\n                ESCAPE: 27,\n                HOME: 36,\n                INSERT: 45,\n                LEFT: 37,\n                MENU: 93,\n                NUMPAD_ADD: 107,\n                NUMPAD_DECIMAL: 110,\n                NUMPAD_DIVIDE: 111,\n                NUMPAD_ENTER: 108,\n                NUMPAD_MULTIPLY: 106,\n                NUMPAD_SUBTRACT: 109,\n                PAGE_DOWN: 34,\n                PAGE_UP: 33,\n                PERIOD: 190,\n                RIGHT: 39,\n                SHIFT: 16,\n                SPACE: 32,\n                TAB: 9,\n                UP: 38,\n                WINDOWS: 91\n            }\n        }), $.fn.extend({\n            propAttr: (($.fn.prop || $.fn.attr)),\n            _focus: $.fn.JSBNG__focus,\n            JSBNG__focus: function(a, b) {\n                return ((((typeof a == \"number\")) ? this.each(function() {\n                    var c = this;\n                    JSBNG__setTimeout(function() {\n                        $(c).JSBNG__focus(), ((b && b.call(c)));\n                    }, a);\n                }) : this._focus.apply(this, arguments)));\n            },\n            scrollParent: function() {\n                var a;\n                return (((((($.browser.msie && /(static|relative)/.test(this.css(\"position\")))) || /absolute/.test(this.css(\"position\")))) ? a = this.parents().filter(function() {\n                    return ((/(relative|absolute|fixed)/.test($.curCSS(this, \"position\", 1)) && /(auto|scroll)/.test((((($.curCSS(this, \"overflow\", 1) + $.curCSS(this, \"overflow-y\", 1))) + $.curCSS(this, \"overflow-x\", 1))))));\n                }).eq(0) : a = this.parents().filter(function() {\n                    return /(auto|scroll)/.test((((($.curCSS(this, \"overflow\", 1) + $.curCSS(this, \"overflow-y\", 1))) + $.curCSS(this, \"overflow-x\", 1))));\n                }).eq(0))), ((((/fixed/.test(this.css(\"position\")) || !a.length)) ? $(JSBNG__document) : a));\n            },\n            zIndex: function(b) {\n                if (((b !== a))) {\n                    return this.css(\"zIndex\", b);\n                }\n            ;\n            ;\n                if (this.length) {\n                    var c = $(this[0]), d, e;\n                    while (((c.length && ((c[0] !== JSBNG__document))))) {\n                        d = c.css(\"position\");\n                        if (((((((d === \"absolute\")) || ((d === \"relative\")))) || ((d === \"fixed\"))))) {\n                            e = parseInt(c.css(\"zIndex\"), 10);\n                            if (((!isNaN(e) && ((e !== 0))))) {\n                                return e;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        c = c.parent();\n                    };\n                ;\n                }\n            ;\n            ;\n                return 0;\n            },\n            disableSelection: function() {\n                return this.bind((((($.support.selectstart ? \"selectstart\" : \"mousedown\")) + \".ui-disableSelection\")), function(a) {\n                    a.preventDefault();\n                });\n            },\n            enableSelection: function() {\n                return this.unbind(\".ui-disableSelection\");\n            }\n        }), (($(\"\\u003Ca\\u003E\").JSBNG__outerWidth(1).jquery || $.each([\"Width\",\"Height\",], function(b, c) {\n            function g(a, b, c, e) {\n                return $.each(d, function() {\n                    b -= ((parseFloat($.curCSS(a, ((\"padding\" + this)), !0)) || 0)), ((c && (b -= ((parseFloat($.curCSS(a, ((((\"border\" + this)) + \"Width\")), !0)) || 0))))), ((e && (b -= ((parseFloat($.curCSS(a, ((\"margin\" + this)), !0)) || 0)))));\n                }), b;\n            };\n        ;\n            var d = ((((c === \"Width\")) ? [\"Left\",\"Right\",] : [\"Top\",\"Bottom\",])), e = c.toLowerCase(), f = {\n                JSBNG__innerWidth: $.fn.JSBNG__innerWidth,\n                JSBNG__innerHeight: $.fn.JSBNG__innerHeight,\n                JSBNG__outerWidth: $.fn.JSBNG__outerWidth,\n                JSBNG__outerHeight: $.fn.JSBNG__outerHeight\n            };\n            $.fn[((\"JSBNG__inner\" + c))] = function(b) {\n                return ((((b === a)) ? f[((\"JSBNG__inner\" + c))].call(this) : this.each(function() {\n                    $(this).css(e, ((g(this, b) + \"px\")));\n                })));\n            }, $.fn[((\"JSBNG__outer\" + c))] = function(a, b) {\n                return ((((typeof a != \"number\")) ? f[((\"JSBNG__outer\" + c))].call(this, a) : this.each(function() {\n                    $(this).css(e, ((g(this, a, !0, b) + \"px\")));\n                })));\n            };\n        }))), $.extend($.expr[\":\"], {\n            data: (($.expr.createPseudo ? $.expr.createPseudo(function(a) {\n                return function(b) {\n                    return !!$.data(b, a);\n                };\n            }) : function(a, b, c) {\n                return !!$.data(a, c[3]);\n            })),\n            focusable: function(a) {\n                return b(a, !isNaN($.attr(a, \"tabindex\")));\n            },\n            tabbable: function(a) {\n                var c = $.attr(a, \"tabindex\"), d = isNaN(c);\n                return ((((d || ((c >= 0)))) && b(a, !d)));\n            }\n        }), $(function() {\n            var a = JSBNG__document.body, b = a.appendChild(b = JSBNG__document.createElement(\"div\"));\n            b.offsetHeight, $.extend(b.style, {\n                minHeight: \"100px\",\n                height: \"auto\",\n                padding: 0,\n                borderWidth: 0\n            }), $.support.minHeight = ((b.offsetHeight === 100)), $.support.selectstart = ((\"onselectstart\" in b)), a.removeChild(b).style.display = \"none\";\n        }), (($.curCSS || ($.curCSS = $.css))), $.extend($.ui, {\n            plugin: {\n                add: function(a, b, c) {\n                    var d = $.ui[a].prototype;\n                    {\n                        var fin55keys = ((window.top.JSBNG_Replay.forInKeys)((c))), fin55i = (0);\n                        var e;\n                        for (; (fin55i < fin55keys.length); (fin55i++)) {\n                            ((e) = (fin55keys[fin55i]));\n                            {\n                                d.plugins[e] = ((d.plugins[e] || [])), d.plugins[e].push([b,c[e],]);\n                            ;\n                            };\n                        };\n                    };\n                ;\n                },\n                call: function(a, b, c) {\n                    var d = a.plugins[b];\n                    if (((!d || !a.element[0].parentNode))) {\n                        return;\n                    }\n                ;\n                ;\n                    for (var e = 0; ((e < d.length)); e++) {\n                        ((a.options[d[e][0]] && d[e][1].apply(a.element, c)));\n                    ;\n                    };\n                ;\n                }\n            },\n            contains: function(a, b) {\n                return ((JSBNG__document.compareDocumentPosition ? ((a.compareDocumentPosition(b) & 16)) : ((((a !== b)) && a.contains(b)))));\n            },\n            hasScroll: function(a, b) {\n                if ((($(a).css(\"overflow\") === \"hidden\"))) {\n                    return !1;\n                }\n            ;\n            ;\n                var c = ((((b && ((b === \"left\")))) ? \"scrollLeft\" : \"scrollTop\")), d = !1;\n                return ((((a[c] > 0)) ? !0 : (a[c] = 1, d = ((a[c] > 0)), a[c] = 0, d)));\n            },\n            isOverAxis: function(a, b, c) {\n                return ((((a > b)) && ((a < ((b + c))))));\n            },\n            isOver: function(a, b, c, d, e, f) {\n                return (($.ui.isOverAxis(a, c, e) && $.ui.isOverAxis(b, d, f)));\n            }\n        });\n    })(jQuery), function($, a) {\n        if ($.cleanData) {\n            var b = $.cleanData;\n            $.cleanData = function(a) {\n                for (var c = 0, d; (((d = a[c]) != null)); c++) {\n                    try {\n                        $(d).triggerHandler(\"remove\");\n                    } catch (e) {\n                    \n                    };\n                ;\n                };\n            ;\n                b(a);\n            };\n        }\n         else {\n            var c = $.fn.remove;\n            $.fn.remove = function(a, b) {\n                return this.each(function() {\n                    return ((b || ((((!a || $.filter(a, [this,]).length)) && $(\"*\", this).add([this,]).each(function() {\n                        try {\n                            $(this).triggerHandler(\"remove\");\n                        } catch (a) {\n                        \n                        };\n                    ;\n                    }))))), c.call($(this), a, b);\n                });\n            };\n        }\n    ;\n    ;\n        $.widget = function(a, b, c) {\n            var d = a.split(\".\")[0], e;\n            a = a.split(\".\")[1], e = ((((d + \"-\")) + a)), ((c || (c = b, b = $.Widget))), $.expr[\":\"][e] = function(b) {\n                return !!$.data(b, a);\n            }, $[d] = (($[d] || {\n            })), $[d][a] = function(a, b) {\n                ((arguments.length && this._createWidget(a, b)));\n            };\n            var f = new b;\n            f.options = $.extend(!0, {\n            }, f.options), $[d][a].prototype = $.extend(!0, f, {\n                namespace: d,\n                widgetName: a,\n                widgetEventPrefix: (($[d][a].prototype.widgetEventPrefix || a)),\n                widgetBaseClass: e\n            }, c), $.widget.bridge(a, $[d][a]);\n        }, $.widget.bridge = function(b, c) {\n            $.fn[b] = function(d) {\n                var e = ((typeof d == \"string\")), f = Array.prototype.slice.call(arguments, 1), g = this;\n                return d = ((((!e && f.length)) ? $.extend.apply(null, [!0,d,].concat(f)) : d)), ((((e && ((d.charAt(0) === \"_\")))) ? g : (((e ? this.each(function() {\n                    var c = $.data(this, b), e = ((((c && $.isFunction(c[d]))) ? c[d].apply(c, f) : c));\n                    if (((((e !== c)) && ((e !== a))))) {\n                        return g = e, !1;\n                    }\n                ;\n                ;\n                }) : this.each(function() {\n                    var a = $.data(this, b);\n                    ((a ? a.option(((d || {\n                    })))._init() : $.data(this, b, new c(d, this))));\n                }))), g)));\n            };\n        }, $.Widget = function(a, b) {\n            ((arguments.length && this._createWidget(a, b)));\n        }, $.Widget.prototype = {\n            widgetName: \"widget\",\n            widgetEventPrefix: \"\",\n            options: {\n                disabled: !1\n            },\n            _createWidget: function(a, b) {\n                $.data(b, this.widgetName, this), this.element = $(b), this.options = $.extend(!0, {\n                }, this.options, this._getCreateOptions(), a);\n                var c = this;\n                this.element.bind(((\"remove.\" + this.widgetName)), function() {\n                    c.destroy();\n                }), this._create(), this._trigger(\"create\"), this._init();\n            },\n            _getCreateOptions: function() {\n                return (($.metadata && $.metadata.get(this.element[0])[this.widgetName]));\n            },\n            _create: function() {\n            \n            },\n            _init: function() {\n            \n            },\n            destroy: function() {\n                this.element.unbind(((\".\" + this.widgetName))).removeData(this.widgetName), this.widget().unbind(((\".\" + this.widgetName))).removeAttr(\"aria-disabled\").removeClass(((((this.widgetBaseClass + \"-disabled \")) + \"ui-state-disabled\")));\n            },\n            widget: function() {\n                return this.element;\n            },\n            option: function(b, c) {\n                var d = b;\n                if (((arguments.length === 0))) {\n                    return $.extend({\n                    }, this.options);\n                }\n            ;\n            ;\n                if (((typeof b == \"string\"))) {\n                    if (((c === a))) {\n                        return this.options[b];\n                    }\n                ;\n                ;\n                    d = {\n                    }, d[b] = c;\n                }\n            ;\n            ;\n                return this._setOptions(d), this;\n            },\n            _setOptions: function(a) {\n                var b = this;\n                return $.each(a, function(a, c) {\n                    b._setOption(a, c);\n                }), this;\n            },\n            _setOption: function(a, b) {\n                return this.options[a] = b, ((((a === \"disabled\")) && this.widget()[((b ? \"addClass\" : \"removeClass\"))](((((((this.widgetBaseClass + \"-disabled\")) + \" \")) + \"ui-state-disabled\"))).attr(\"aria-disabled\", b))), this;\n            },\n            enable: function() {\n                return this._setOption(\"disabled\", !1);\n            },\n            disable: function() {\n                return this._setOption(\"disabled\", !0);\n            },\n            _trigger: function(a, b, c) {\n                var d, e, f = this.options[a];\n                c = ((c || {\n                })), b = $.JSBNG__Event(b), b.type = ((((a === this.widgetEventPrefix)) ? a : ((this.widgetEventPrefix + a)))).toLowerCase(), b.target = this.element[0], e = b.originalEvent;\n                if (e) {\n                    {\n                        var fin56keys = ((window.top.JSBNG_Replay.forInKeys)((e))), fin56i = (0);\n                        (0);\n                        for (; (fin56i < fin56keys.length); (fin56i++)) {\n                            ((d) = (fin56keys[fin56i]));\n                            {\n                                ((((d in b)) || (b[d] = e[d])));\n                            ;\n                            };\n                        };\n                    };\n                }\n            ;\n            ;\n                return this.element.trigger(b, c), !(((($.isFunction(f) && ((f.call(this.element[0], b, c) === !1)))) || b.isDefaultPrevented()));\n            }\n        };\n    }(jQuery), function($, a) {\n        var b = !1;\n        $(JSBNG__document).mouseup(function(a) {\n            b = !1;\n        }), $.widget(\"ui.mouse\", {\n            options: {\n                cancel: \":input,option\",\n                distance: 1,\n                delay: 0\n            },\n            _mouseInit: function() {\n                var a = this;\n                this.element.bind(((\"mousedown.\" + this.widgetName)), function(b) {\n                    return a._mouseDown(b);\n                }).bind(((\"click.\" + this.widgetName)), function(b) {\n                    if (((!0 === $.data(b.target, ((a.widgetName + \".preventClickEvent\")))))) {\n                        return $.removeData(b.target, ((a.widgetName + \".preventClickEvent\"))), b.stopImmediatePropagation(), !1;\n                    }\n                ;\n                ;\n                }), this.started = !1;\n            },\n            _mouseDestroy: function() {\n                this.element.unbind(((\".\" + this.widgetName))), $(JSBNG__document).unbind(((\"mousemove.\" + this.widgetName)), this._mouseMoveDelegate).unbind(((\"mouseup.\" + this.widgetName)), this._mouseUpDelegate);\n            },\n            _mouseDown: function(a) {\n                if (b) {\n                    return;\n                }\n            ;\n            ;\n                ((this._mouseStarted && this._mouseUp(a))), this._mouseDownEvent = a;\n                var c = this, d = ((a.which == 1)), e = ((((((typeof this.options.cancel == \"string\")) && a.target.nodeName)) ? $(a.target).closest(this.options.cancel).length : !1));\n                if (((((!d || e)) || !this._mouseCapture(a)))) {\n                    return !0;\n                }\n            ;\n            ;\n                this.mouseDelayMet = !this.options.delay, ((this.mouseDelayMet || (this._mouseDelayTimer = JSBNG__setTimeout(function() {\n                    c.mouseDelayMet = !0;\n                }, this.options.delay))));\n                if (((this._mouseDistanceMet(a) && this._mouseDelayMet(a)))) {\n                    this._mouseStarted = ((this._mouseStart(a) !== !1));\n                    if (!this._mouseStarted) {\n                        return a.preventDefault(), !0;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                return ((((!0 === $.data(a.target, ((this.widgetName + \".preventClickEvent\"))))) && $.removeData(a.target, ((this.widgetName + \".preventClickEvent\"))))), this._mouseMoveDelegate = function(a) {\n                    return c._mouseMove(a);\n                }, this._mouseUpDelegate = function(a) {\n                    return c._mouseUp(a);\n                }, $(JSBNG__document).bind(((\"mousemove.\" + this.widgetName)), this._mouseMoveDelegate).bind(((\"mouseup.\" + this.widgetName)), this._mouseUpDelegate), a.preventDefault(), b = !0, !0;\n            },\n            _mouseMove: function(a) {\n                return ((((((!$.browser.msie || ((JSBNG__document.documentMode >= 9)))) || !!a.button)) ? ((this._mouseStarted ? (this._mouseDrag(a), a.preventDefault()) : (((((this._mouseDistanceMet(a) && this._mouseDelayMet(a))) && (this._mouseStarted = ((this._mouseStart(this._mouseDownEvent, a) !== !1)), ((this._mouseStarted ? this._mouseDrag(a) : this._mouseUp(a)))))), !this._mouseStarted))) : this._mouseUp(a)));\n            },\n            _mouseUp: function(a) {\n                return $(JSBNG__document).unbind(((\"mousemove.\" + this.widgetName)), this._mouseMoveDelegate).unbind(((\"mouseup.\" + this.widgetName)), this._mouseUpDelegate), ((this._mouseStarted && (this._mouseStarted = !1, ((((a.target == this._mouseDownEvent.target)) && $.data(a.target, ((this.widgetName + \".preventClickEvent\")), !0))), this._mouseStop(a)))), !1;\n            },\n            _mouseDistanceMet: function(a) {\n                return ((Math.max(Math.abs(((this._mouseDownEvent.pageX - a.pageX))), Math.abs(((this._mouseDownEvent.pageY - a.pageY)))) >= this.options.distance));\n            },\n            _mouseDelayMet: function(a) {\n                return this.mouseDelayMet;\n            },\n            _mouseStart: function(a) {\n            \n            },\n            _mouseDrag: function(a) {\n            \n            },\n            _mouseStop: function(a) {\n            \n            },\n            _mouseCapture: function(a) {\n                return !0;\n            }\n        });\n    }(jQuery), function($, a) {\n        $.widget(\"ui.draggable\", $.ui.mouse, {\n            widgetEventPrefix: \"drag\",\n            options: {\n                addClasses: !0,\n                appendTo: \"parent\",\n                axis: !1,\n                connectToSortable: !1,\n                containment: !1,\n                cursor: \"auto\",\n                cursorAt: !1,\n                grid: !1,\n                handle: !1,\n                helper: \"original\",\n                iframeFix: !1,\n                opacity: !1,\n                refreshPositions: !1,\n                revert: !1,\n                revertDuration: 500,\n                scope: \"default\",\n                JSBNG__scroll: !0,\n                scrollSensitivity: 20,\n                scrollSpeed: 20,\n                snap: !1,\n                snapMode: \"both\",\n                snapTolerance: 20,\n                stack: !1,\n                zIndex: !1\n            },\n            _create: function() {\n                ((((((this.options.helper == \"original\")) && !/^(?:r|a|f)/.test(this.element.css(\"position\")))) && (this.element[0].style.position = \"relative\"))), ((this.options.addClasses && this.element.addClass(\"ui-draggable\"))), ((this.options.disabled && this.element.addClass(\"ui-draggable-disabled\"))), this._mouseInit();\n            },\n            destroy: function() {\n                if (!this.element.data(\"draggable\")) {\n                    return;\n                }\n            ;\n            ;\n                return this.element.removeData(\"draggable\").unbind(\".draggable\").removeClass(\"ui-draggable ui-draggable-dragging ui-draggable-disabled\"), this._mouseDestroy(), this;\n            },\n            _mouseCapture: function(a) {\n                var b = this.options;\n                return ((((((this.helper || b.disabled)) || $(a.target).is(\".ui-resizable-handle\"))) ? !1 : (this.handle = this._getHandle(a), ((this.handle ? (((b.iframeFix && $(((((b.iframeFix === !0)) ? \"div\" : b.iframeFix))).each(function() {\n                    $(\"\\u003Cdiv class=\\\"ui-draggable-iframeFix\\\" style=\\\"background: #fff;\\\"\\u003E\\u003C/div\\u003E\").css({\n                        width: ((this.offsetWidth + \"px\")),\n                        height: ((this.offsetHeight + \"px\")),\n                        position: \"absolute\",\n                        opacity: \"0.001\",\n                        zIndex: 1000\n                    }).css($(this).offset()).appendTo(\"body\");\n                }))), !0) : !1)))));\n            },\n            _mouseStart: function(a) {\n                var b = this.options;\n                return this.helper = this._createHelper(a), this.helper.addClass(\"ui-draggable-dragging\"), this._cacheHelperProportions(), (($.ui.ddmanager && ($.ui.ddmanager.current = this))), this._cacheMargins(), this.cssPosition = this.helper.css(\"position\"), this.scrollParent = this.helper.scrollParent(), this.offset = this.positionAbs = this.element.offset(), this.offset = {\n                    JSBNG__top: ((this.offset.JSBNG__top - this.margins.JSBNG__top)),\n                    left: ((this.offset.left - this.margins.left))\n                }, $.extend(this.offset, {\n                    click: {\n                        left: ((a.pageX - this.offset.left)),\n                        JSBNG__top: ((a.pageY - this.offset.JSBNG__top))\n                    },\n                    parent: this._getParentOffset(),\n                    relative: this._getRelativeOffset()\n                }), this.originalPosition = this.position = this._generatePosition(a), this.originalPageX = a.pageX, this.originalPageY = a.pageY, ((b.cursorAt && this._adjustOffsetFromHelper(b.cursorAt))), ((b.containment && this._setContainment())), ((((this._trigger(\"start\", a) === !1)) ? (this._clear(), !1) : (this._cacheHelperProportions(), (((($.ui.ddmanager && !b.dropBehaviour)) && $.ui.ddmanager.prepareOffsets(this, a))), this._mouseDrag(a, !0), (($.ui.ddmanager && $.ui.ddmanager.dragStart(this, a))), !0)));\n            },\n            _mouseDrag: function(a, b) {\n                this.position = this._generatePosition(a), this.positionAbs = this._convertPositionTo(\"absolute\");\n                if (!b) {\n                    var c = this._uiHash();\n                    if (((this._trigger(\"drag\", a, c) === !1))) {\n                        return this._mouseUp({\n                        }), !1;\n                    }\n                ;\n                ;\n                    this.position = c.position;\n                }\n            ;\n            ;\n                if (((!this.options.axis || ((this.options.axis != \"y\"))))) {\n                    this.helper[0].style.left = ((this.position.left + \"px\"));\n                }\n            ;\n            ;\n                if (((!this.options.axis || ((this.options.axis != \"x\"))))) {\n                    this.helper[0].style.JSBNG__top = ((this.position.JSBNG__top + \"px\"));\n                }\n            ;\n            ;\n                return (($.ui.ddmanager && $.ui.ddmanager.drag(this, a))), !1;\n            },\n            _mouseStop: function(a) {\n                var b = !1;\n                (((($.ui.ddmanager && !this.options.dropBehaviour)) && (b = $.ui.ddmanager.drop(this, a)))), ((this.dropped && (b = this.dropped, this.dropped = !1)));\n                var c = this.element[0], d = !1;\n                while (((c && (c = c.parentNode)))) {\n                    ((((c == JSBNG__document)) && (d = !0)));\n                ;\n                };\n            ;\n                if (((!d && ((this.options.helper === \"original\"))))) {\n                    return !1;\n                }\n            ;\n            ;\n                if (((((((((((this.options.revert == \"invalid\")) && !b)) || ((((this.options.revert == \"valid\")) && b)))) || ((this.options.revert === !0)))) || (($.isFunction(this.options.revert) && this.options.revert.call(this.element, b)))))) {\n                    var e = this;\n                    $(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function() {\n                        ((((e._trigger(\"JSBNG__stop\", a) !== !1)) && e._clear()));\n                    });\n                }\n                 else ((((this._trigger(\"JSBNG__stop\", a) !== !1)) && this._clear()));\n            ;\n            ;\n                return !1;\n            },\n            _mouseUp: function(a) {\n                return ((((this.options.iframeFix === !0)) && $(\"div.ui-draggable-iframeFix\").each(function() {\n                    this.parentNode.removeChild(this);\n                }))), (($.ui.ddmanager && $.ui.ddmanager.dragStop(this, a))), $.ui.mouse.prototype._mouseUp.call(this, a);\n            },\n            cancel: function() {\n                return ((this.helper.is(\".ui-draggable-dragging\") ? this._mouseUp({\n                }) : this._clear())), this;\n            },\n            _getHandle: function(a) {\n                var b = ((((!this.options.handle || !$(this.options.handle, this.element).length)) ? !0 : !1));\n                return $(this.options.handle, this.element).JSBNG__find(\"*\").andSelf().each(function() {\n                    ((((this == a.target)) && (b = !0)));\n                }), b;\n            },\n            _createHelper: function(a) {\n                var b = this.options, c = (($.isFunction(b.helper) ? $(b.helper.apply(this.element[0], [a,])) : ((((b.helper == \"clone\")) ? this.element.clone().removeAttr(\"id\") : this.element))));\n                return ((c.parents(\"body\").length || c.appendTo(((((b.appendTo == \"parent\")) ? this.element[0].parentNode : b.appendTo))))), ((((((c[0] != this.element[0])) && !/(fixed|absolute)/.test(c.css(\"position\")))) && c.css(\"position\", \"absolute\"))), c;\n            },\n            _adjustOffsetFromHelper: function(a) {\n                ((((typeof a == \"string\")) && (a = a.split(\" \")))), (($.isArray(a) && (a = {\n                    left: +a[0],\n                    JSBNG__top: ((+a[1] || 0))\n                }))), ((((\"left\" in a)) && (this.offset.click.left = ((a.left + this.margins.left))))), ((((\"right\" in a)) && (this.offset.click.left = ((((this.helperProportions.width - a.right)) + this.margins.left))))), ((((\"JSBNG__top\" in a)) && (this.offset.click.JSBNG__top = ((a.JSBNG__top + this.margins.JSBNG__top))))), ((((\"bottom\" in a)) && (this.offset.click.JSBNG__top = ((((this.helperProportions.height - a.bottom)) + this.margins.JSBNG__top)))));\n            },\n            _getParentOffset: function() {\n                this.offsetParent = this.helper.offsetParent();\n                var a = this.offsetParent.offset();\n                ((((((((this.cssPosition == \"absolute\")) && ((this.scrollParent[0] != JSBNG__document)))) && $.ui.contains(this.scrollParent[0], this.offsetParent[0]))) && (a.left += this.scrollParent.scrollLeft(), a.JSBNG__top += this.scrollParent.scrollTop())));\n                if (((((this.offsetParent[0] == JSBNG__document.body)) || ((((this.offsetParent[0].tagName && ((this.offsetParent[0].tagName.toLowerCase() == \"html\")))) && $.browser.msie))))) {\n                    a = {\n                        JSBNG__top: 0,\n                        left: 0\n                    };\n                }\n            ;\n            ;\n                return {\n                    JSBNG__top: ((a.JSBNG__top + ((parseInt(this.offsetParent.css(\"borderTopWidth\"), 10) || 0)))),\n                    left: ((a.left + ((parseInt(this.offsetParent.css(\"borderLeftWidth\"), 10) || 0))))\n                };\n            },\n            _getRelativeOffset: function() {\n                if (((this.cssPosition == \"relative\"))) {\n                    var a = this.element.position();\n                    return {\n                        JSBNG__top: ((((a.JSBNG__top - ((parseInt(this.helper.css(\"JSBNG__top\"), 10) || 0)))) + this.scrollParent.scrollTop())),\n                        left: ((((a.left - ((parseInt(this.helper.css(\"left\"), 10) || 0)))) + this.scrollParent.scrollLeft()))\n                    };\n                }\n            ;\n            ;\n                return {\n                    JSBNG__top: 0,\n                    left: 0\n                };\n            },\n            _cacheMargins: function() {\n                this.margins = {\n                    left: ((parseInt(this.element.css(\"marginLeft\"), 10) || 0)),\n                    JSBNG__top: ((parseInt(this.element.css(\"marginTop\"), 10) || 0)),\n                    right: ((parseInt(this.element.css(\"marginRight\"), 10) || 0)),\n                    bottom: ((parseInt(this.element.css(\"marginBottom\"), 10) || 0))\n                };\n            },\n            _cacheHelperProportions: function() {\n                this.helperProportions = {\n                    width: this.helper.JSBNG__outerWidth(),\n                    height: this.helper.JSBNG__outerHeight()\n                };\n            },\n            _setContainment: function() {\n                var a = this.options;\n                ((((a.containment == \"parent\")) && (a.containment = this.helper[0].parentNode)));\n                if (((((a.containment == \"JSBNG__document\")) || ((a.containment == \"window\"))))) {\n                    this.containment = [((((a.containment == \"JSBNG__document\")) ? 0 : (((($(window).scrollLeft() - this.offset.relative.left)) - this.offset.parent.left)))),((((a.containment == \"JSBNG__document\")) ? 0 : (((($(window).scrollTop() - this.offset.relative.JSBNG__top)) - this.offset.parent.JSBNG__top)))),((((((((((a.containment == \"JSBNG__document\")) ? 0 : $(window).scrollLeft())) + $(((((a.containment == \"JSBNG__document\")) ? JSBNG__document : window))).width())) - this.helperProportions.width)) - this.margins.left)),((((((((((a.containment == \"JSBNG__document\")) ? 0 : $(window).scrollTop())) + (($(((((a.containment == \"JSBNG__document\")) ? JSBNG__document : window))).height() || JSBNG__document.body.parentNode.scrollHeight)))) - this.helperProportions.height)) - this.margins.JSBNG__top)),];\n                }\n            ;\n            ;\n                if (((!/^(document|window|parent)$/.test(a.containment) && ((a.containment.constructor != Array))))) {\n                    var b = $(a.containment), c = b[0];\n                    if (!c) {\n                        return;\n                    }\n                ;\n                ;\n                    var d = b.offset(), e = (($(c).css(\"overflow\") != \"hidden\"));\n                    this.containment = [((((parseInt($(c).css(\"borderLeftWidth\"), 10) || 0)) + ((parseInt($(c).css(\"paddingLeft\"), 10) || 0)))),((((parseInt($(c).css(\"borderTopWidth\"), 10) || 0)) + ((parseInt($(c).css(\"paddingTop\"), 10) || 0)))),((((((((((((e ? Math.max(c.scrollWidth, c.offsetWidth) : c.offsetWidth)) - ((parseInt($(c).css(\"borderLeftWidth\"), 10) || 0)))) - ((parseInt($(c).css(\"paddingRight\"), 10) || 0)))) - this.helperProportions.width)) - this.margins.left)) - this.margins.right)),((((((((((((e ? Math.max(c.scrollHeight, c.offsetHeight) : c.offsetHeight)) - ((parseInt($(c).css(\"borderTopWidth\"), 10) || 0)))) - ((parseInt($(c).css(\"paddingBottom\"), 10) || 0)))) - this.helperProportions.height)) - this.margins.JSBNG__top)) - this.margins.bottom)),], this.relative_container = b;\n                }\n                 else ((((a.containment.constructor == Array)) && (this.containment = a.containment)));\n            ;\n            ;\n            },\n            _convertPositionTo: function(a, b) {\n                ((b || (b = this.position)));\n                var c = ((((a == \"absolute\")) ? 1 : -1)), d = this.options, e = ((((((this.cssPosition != \"absolute\")) || ((((this.scrollParent[0] != JSBNG__document)) && !!$.ui.contains(this.scrollParent[0], this.offsetParent[0]))))) ? this.scrollParent : this.offsetParent)), f = /(html|body)/i.test(e[0].tagName);\n                return {\n                    JSBNG__top: ((((((b.JSBNG__top + ((this.offset.relative.JSBNG__top * c)))) + ((this.offset.parent.JSBNG__top * c)))) - (((((($.browser.safari && (($.browser.version < 526)))) && ((this.cssPosition == \"fixed\")))) ? 0 : ((((((this.cssPosition == \"fixed\")) ? -this.scrollParent.scrollTop() : ((f ? 0 : e.scrollTop())))) * c)))))),\n                    left: ((((((b.left + ((this.offset.relative.left * c)))) + ((this.offset.parent.left * c)))) - (((((($.browser.safari && (($.browser.version < 526)))) && ((this.cssPosition == \"fixed\")))) ? 0 : ((((((this.cssPosition == \"fixed\")) ? -this.scrollParent.scrollLeft() : ((f ? 0 : e.scrollLeft())))) * c))))))\n                };\n            },\n            _generatePosition: function(a) {\n                var b = this.options, c = ((((((this.cssPosition != \"absolute\")) || ((((this.scrollParent[0] != JSBNG__document)) && !!$.ui.contains(this.scrollParent[0], this.offsetParent[0]))))) ? this.scrollParent : this.offsetParent)), d = /(html|body)/i.test(c[0].tagName), e = a.pageX, f = a.pageY;\n                if (this.originalPosition) {\n                    var g;\n                    if (this.containment) {\n                        if (this.relative_container) {\n                            var h = this.relative_container.offset();\n                            g = [((this.containment[0] + h.left)),((this.containment[1] + h.JSBNG__top)),((this.containment[2] + h.left)),((this.containment[3] + h.JSBNG__top)),];\n                        }\n                         else g = this.containment;\n                    ;\n                    ;\n                        ((((((a.pageX - this.offset.click.left)) < g[0])) && (e = ((g[0] + this.offset.click.left))))), ((((((a.pageY - this.offset.click.JSBNG__top)) < g[1])) && (f = ((g[1] + this.offset.click.JSBNG__top))))), ((((((a.pageX - this.offset.click.left)) > g[2])) && (e = ((g[2] + this.offset.click.left))))), ((((((a.pageY - this.offset.click.JSBNG__top)) > g[3])) && (f = ((g[3] + this.offset.click.JSBNG__top)))));\n                    }\n                ;\n                ;\n                    if (b.grid) {\n                        var i = ((b.grid[1] ? ((this.originalPageY + ((Math.round(((((f - this.originalPageY)) / b.grid[1]))) * b.grid[1])))) : this.originalPageY));\n                        f = ((g ? ((((((((i - this.offset.click.JSBNG__top)) < g[1])) || ((((i - this.offset.click.JSBNG__top)) > g[3])))) ? ((((((i - this.offset.click.JSBNG__top)) < g[1])) ? ((i + b.grid[1])) : ((i - b.grid[1])))) : i)) : i));\n                        var j = ((b.grid[0] ? ((this.originalPageX + ((Math.round(((((e - this.originalPageX)) / b.grid[0]))) * b.grid[0])))) : this.originalPageX));\n                        e = ((g ? ((((((((j - this.offset.click.left)) < g[0])) || ((((j - this.offset.click.left)) > g[2])))) ? ((((((j - this.offset.click.left)) < g[0])) ? ((j + b.grid[0])) : ((j - b.grid[0])))) : j)) : j));\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                return {\n                    JSBNG__top: ((((((((f - this.offset.click.JSBNG__top)) - this.offset.relative.JSBNG__top)) - this.offset.parent.JSBNG__top)) + (((((($.browser.safari && (($.browser.version < 526)))) && ((this.cssPosition == \"fixed\")))) ? 0 : ((((this.cssPosition == \"fixed\")) ? -this.scrollParent.scrollTop() : ((d ? 0 : c.scrollTop())))))))),\n                    left: ((((((((e - this.offset.click.left)) - this.offset.relative.left)) - this.offset.parent.left)) + (((((($.browser.safari && (($.browser.version < 526)))) && ((this.cssPosition == \"fixed\")))) ? 0 : ((((this.cssPosition == \"fixed\")) ? -this.scrollParent.scrollLeft() : ((d ? 0 : c.scrollLeft()))))))))\n                };\n            },\n            _clear: function() {\n                this.helper.removeClass(\"ui-draggable-dragging\"), ((((((this.helper[0] != this.element[0])) && !this.cancelHelperRemoval)) && this.helper.remove())), this.helper = null, this.cancelHelperRemoval = !1;\n            },\n            _trigger: function(a, b, c) {\n                return c = ((c || this._uiHash())), $.ui.plugin.call(this, a, [b,c,]), ((((a == \"drag\")) && (this.positionAbs = this._convertPositionTo(\"absolute\")))), $.Widget.prototype._trigger.call(this, a, b, c);\n            },\n            plugins: {\n            },\n            _uiHash: function(a) {\n                return {\n                    helper: this.helper,\n                    position: this.position,\n                    originalPosition: this.originalPosition,\n                    offset: this.positionAbs\n                };\n            }\n        }), $.extend($.ui.draggable, {\n            version: \"1.8.22\"\n        }), $.ui.plugin.add(\"draggable\", \"connectToSortable\", {\n            start: function(a, b) {\n                var c = $(this).data(\"draggable\"), d = c.options, e = $.extend({\n                }, b, {\n                    item: c.element\n                });\n                c.sortables = [], $(d.connectToSortable).each(function() {\n                    var b = $.data(this, \"sortable\");\n                    ((((b && !b.options.disabled)) && (c.sortables.push({\n                        instance: b,\n                        shouldRevert: b.options.revert\n                    }), b.refreshPositions(), b._trigger(\"activate\", a, e))));\n                });\n            },\n            JSBNG__stop: function(a, b) {\n                var c = $(this).data(\"draggable\"), d = $.extend({\n                }, b, {\n                    item: c.element\n                });\n                $.each(c.sortables, function() {\n                    ((this.instance.isOver ? (this.instance.isOver = 0, c.cancelHelperRemoval = !0, this.instance.cancelHelperRemoval = !1, ((this.shouldRevert && (this.instance.options.revert = !0))), this.instance._mouseStop(a), this.instance.options.helper = this.instance.options._helper, ((((c.options.helper == \"original\")) && this.instance.currentItem.css({\n                        JSBNG__top: \"auto\",\n                        left: \"auto\"\n                    })))) : (this.instance.cancelHelperRemoval = !1, this.instance._trigger(\"deactivate\", a, d))));\n                });\n            },\n            drag: function(a, b) {\n                var c = $(this).data(\"draggable\"), d = this, e = function(a) {\n                    var b = this.offset.click.JSBNG__top, c = this.offset.click.left, d = this.positionAbs.JSBNG__top, e = this.positionAbs.left, f = a.height, g = a.width, h = a.JSBNG__top, i = a.left;\n                    return $.ui.isOver(((d + b)), ((e + c)), h, i, f, g);\n                };\n                $.each(c.sortables, function(e) {\n                    this.instance.positionAbs = c.positionAbs, this.instance.helperProportions = c.helperProportions, this.instance.offset.click = c.offset.click, ((this.instance._intersectsWith(this.instance.containerCache) ? (((this.instance.isOver || (this.instance.isOver = 1, this.instance.currentItem = $(d).clone().removeAttr(\"id\").appendTo(this.instance.element).data(\"sortable-item\", !0), this.instance.options._helper = this.instance.options.helper, this.instance.options.helper = function() {\n                        return b.helper[0];\n                    }, a.target = this.instance.currentItem[0], this.instance._mouseCapture(a, !0), this.instance._mouseStart(a, !0, !0), this.instance.offset.click.JSBNG__top = c.offset.click.JSBNG__top, this.instance.offset.click.left = c.offset.click.left, this.instance.offset.parent.left -= ((c.offset.parent.left - this.instance.offset.parent.left)), this.instance.offset.parent.JSBNG__top -= ((c.offset.parent.JSBNG__top - this.instance.offset.parent.JSBNG__top)), c._trigger(\"toSortable\", a), c.dropped = this.instance.element, c.currentItem = c.element, this.instance.fromOutside = c))), ((this.instance.currentItem && this.instance._mouseDrag(a)))) : ((this.instance.isOver && (this.instance.isOver = 0, this.instance.cancelHelperRemoval = !0, this.instance.options.revert = !1, this.instance._trigger(\"out\", a, this.instance._uiHash(this.instance)), this.instance._mouseStop(a, !0), this.instance.options.helper = this.instance.options._helper, this.instance.currentItem.remove(), ((this.instance.placeholder && this.instance.placeholder.remove())), c._trigger(\"fromSortable\", a), c.dropped = !1)))));\n                });\n            }\n        }), $.ui.plugin.add(\"draggable\", \"cursor\", {\n            start: function(a, b) {\n                var c = $(\"body\"), d = $(this).data(\"draggable\").options;\n                ((c.css(\"cursor\") && (d._cursor = c.css(\"cursor\")))), c.css(\"cursor\", d.cursor);\n            },\n            JSBNG__stop: function(a, b) {\n                var c = $(this).data(\"draggable\").options;\n                ((c._cursor && $(\"body\").css(\"cursor\", c._cursor)));\n            }\n        }), $.ui.plugin.add(\"draggable\", \"opacity\", {\n            start: function(a, b) {\n                var c = $(b.helper), d = $(this).data(\"draggable\").options;\n                ((c.css(\"opacity\") && (d._opacity = c.css(\"opacity\")))), c.css(\"opacity\", d.opacity);\n            },\n            JSBNG__stop: function(a, b) {\n                var c = $(this).data(\"draggable\").options;\n                ((c._opacity && $(b.helper).css(\"opacity\", c._opacity)));\n            }\n        }), $.ui.plugin.add(\"draggable\", \"JSBNG__scroll\", {\n            start: function(a, b) {\n                var c = $(this).data(\"draggable\");\n                ((((((c.scrollParent[0] != JSBNG__document)) && ((c.scrollParent[0].tagName != \"HTML\")))) && (c.overflowOffset = c.scrollParent.offset())));\n            },\n            drag: function(a, b) {\n                var c = $(this).data(\"draggable\"), d = c.options, e = !1;\n                if (((((c.scrollParent[0] != JSBNG__document)) && ((c.scrollParent[0].tagName != \"HTML\"))))) {\n                    if (((!d.axis || ((d.axis != \"x\"))))) {\n                        ((((((((c.overflowOffset.JSBNG__top + c.scrollParent[0].offsetHeight)) - a.pageY)) < d.scrollSensitivity)) ? c.scrollParent[0].scrollTop = e = ((c.scrollParent[0].scrollTop + d.scrollSpeed)) : ((((((a.pageY - c.overflowOffset.JSBNG__top)) < d.scrollSensitivity)) && (c.scrollParent[0].scrollTop = e = ((c.scrollParent[0].scrollTop - d.scrollSpeed)))))));\n                    }\n                ;\n                ;\n                    if (((!d.axis || ((d.axis != \"y\"))))) {\n                        ((((((((c.overflowOffset.left + c.scrollParent[0].offsetWidth)) - a.pageX)) < d.scrollSensitivity)) ? c.scrollParent[0].scrollLeft = e = ((c.scrollParent[0].scrollLeft + d.scrollSpeed)) : ((((((a.pageX - c.overflowOffset.left)) < d.scrollSensitivity)) && (c.scrollParent[0].scrollLeft = e = ((c.scrollParent[0].scrollLeft - d.scrollSpeed)))))));\n                    }\n                ;\n                ;\n                }\n                 else {\n                    if (((!d.axis || ((d.axis != \"x\"))))) {\n                        ((((((a.pageY - $(JSBNG__document).scrollTop())) < d.scrollSensitivity)) ? e = $(JSBNG__document).scrollTop((($(JSBNG__document).scrollTop() - d.scrollSpeed))) : (((((($(window).height() - ((a.pageY - $(JSBNG__document).scrollTop())))) < d.scrollSensitivity)) && (e = $(JSBNG__document).scrollTop((($(JSBNG__document).scrollTop() + d.scrollSpeed))))))));\n                    }\n                ;\n                ;\n                    if (((!d.axis || ((d.axis != \"y\"))))) {\n                        ((((((a.pageX - $(JSBNG__document).scrollLeft())) < d.scrollSensitivity)) ? e = $(JSBNG__document).scrollLeft((($(JSBNG__document).scrollLeft() - d.scrollSpeed))) : (((((($(window).width() - ((a.pageX - $(JSBNG__document).scrollLeft())))) < d.scrollSensitivity)) && (e = $(JSBNG__document).scrollLeft((($(JSBNG__document).scrollLeft() + d.scrollSpeed))))))));\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                ((((((((e !== !1)) && $.ui.ddmanager)) && !d.dropBehaviour)) && $.ui.ddmanager.prepareOffsets(c, a)));\n            }\n        }), $.ui.plugin.add(\"draggable\", \"snap\", {\n            start: function(a, b) {\n                var c = $(this).data(\"draggable\"), d = c.options;\n                c.snapElements = [], $(((((d.snap.constructor != String)) ? ((d.snap.items || \":data(draggable)\")) : d.snap))).each(function() {\n                    var a = $(this), b = a.offset();\n                    ((((this != c.element[0])) && c.snapElements.push({\n                        item: this,\n                        width: a.JSBNG__outerWidth(),\n                        height: a.JSBNG__outerHeight(),\n                        JSBNG__top: b.JSBNG__top,\n                        left: b.left\n                    })));\n                });\n            },\n            drag: function(a, b) {\n                var c = $(this).data(\"draggable\"), d = c.options, e = d.snapTolerance, f = b.offset.left, g = ((f + c.helperProportions.width)), h = b.offset.JSBNG__top, i = ((h + c.helperProportions.height));\n                for (var j = ((c.snapElements.length - 1)); ((j >= 0)); j--) {\n                    var k = c.snapElements[j].left, l = ((k + c.snapElements[j].width)), m = c.snapElements[j].JSBNG__top, n = ((m + c.snapElements[j].height));\n                    if (!((((((((((((((((k - e)) < f)) && ((f < ((l + e)))))) && ((((m - e)) < h)))) && ((h < ((n + e)))))) || ((((((((((k - e)) < f)) && ((f < ((l + e)))))) && ((((m - e)) < i)))) && ((i < ((n + e)))))))) || ((((((((((k - e)) < g)) && ((g < ((l + e)))))) && ((((m - e)) < h)))) && ((h < ((n + e)))))))) || ((((((((((k - e)) < g)) && ((g < ((l + e)))))) && ((((m - e)) < i)))) && ((i < ((n + e))))))))) {\n                        ((((c.snapElements[j].snapping && c.options.snap.release)) && c.options.snap.release.call(c.element, a, $.extend(c._uiHash(), {\n                            snapItem: c.snapElements[j].item\n                        })))), c.snapElements[j].snapping = !1;\n                        continue;\n                    }\n                ;\n                ;\n                    if (((d.snapMode != \"JSBNG__inner\"))) {\n                        var o = ((Math.abs(((m - i))) <= e)), p = ((Math.abs(((n - h))) <= e)), q = ((Math.abs(((k - g))) <= e)), r = ((Math.abs(((l - f))) <= e));\n                        ((o && (b.position.JSBNG__top = ((c._convertPositionTo(\"relative\", {\n                            JSBNG__top: ((m - c.helperProportions.height)),\n                            left: 0\n                        }).JSBNG__top - c.margins.JSBNG__top))))), ((p && (b.position.JSBNG__top = ((c._convertPositionTo(\"relative\", {\n                            JSBNG__top: n,\n                            left: 0\n                        }).JSBNG__top - c.margins.JSBNG__top))))), ((q && (b.position.left = ((c._convertPositionTo(\"relative\", {\n                            JSBNG__top: 0,\n                            left: ((k - c.helperProportions.width))\n                        }).left - c.margins.left))))), ((r && (b.position.left = ((c._convertPositionTo(\"relative\", {\n                            JSBNG__top: 0,\n                            left: l\n                        }).left - c.margins.left)))));\n                    }\n                ;\n                ;\n                    var s = ((((((o || p)) || q)) || r));\n                    if (((d.snapMode != \"JSBNG__outer\"))) {\n                        var o = ((Math.abs(((m - h))) <= e)), p = ((Math.abs(((n - i))) <= e)), q = ((Math.abs(((k - f))) <= e)), r = ((Math.abs(((l - g))) <= e));\n                        ((o && (b.position.JSBNG__top = ((c._convertPositionTo(\"relative\", {\n                            JSBNG__top: m,\n                            left: 0\n                        }).JSBNG__top - c.margins.JSBNG__top))))), ((p && (b.position.JSBNG__top = ((c._convertPositionTo(\"relative\", {\n                            JSBNG__top: ((n - c.helperProportions.height)),\n                            left: 0\n                        }).JSBNG__top - c.margins.JSBNG__top))))), ((q && (b.position.left = ((c._convertPositionTo(\"relative\", {\n                            JSBNG__top: 0,\n                            left: k\n                        }).left - c.margins.left))))), ((r && (b.position.left = ((c._convertPositionTo(\"relative\", {\n                            JSBNG__top: 0,\n                            left: ((l - c.helperProportions.width))\n                        }).left - c.margins.left)))));\n                    }\n                ;\n                ;\n                    ((((((!c.snapElements[j].snapping && ((((((((o || p)) || q)) || r)) || s)))) && c.options.snap.snap)) && c.options.snap.snap.call(c.element, a, $.extend(c._uiHash(), {\n                        snapItem: c.snapElements[j].item\n                    })))), c.snapElements[j].snapping = ((((((((o || p)) || q)) || r)) || s));\n                };\n            ;\n            }\n        }), $.ui.plugin.add(\"draggable\", \"stack\", {\n            start: function(a, b) {\n                var c = $(this).data(\"draggable\").options, d = $.makeArray($(c.stack)).sort(function(a, b) {\n                    return ((((parseInt($(a).css(\"zIndex\"), 10) || 0)) - ((parseInt($(b).css(\"zIndex\"), 10) || 0))));\n                });\n                if (!d.length) {\n                    return;\n                }\n            ;\n            ;\n                var e = ((parseInt(d[0].style.zIndex) || 0));\n                $(d).each(function(a) {\n                    this.style.zIndex = ((e + a));\n                }), this[0].style.zIndex = ((e + d.length));\n            }\n        }), $.ui.plugin.add(\"draggable\", \"zIndex\", {\n            start: function(a, b) {\n                var c = $(b.helper), d = $(this).data(\"draggable\").options;\n                ((c.css(\"zIndex\") && (d._zIndex = c.css(\"zIndex\")))), c.css(\"zIndex\", d.zIndex);\n            },\n            JSBNG__stop: function(a, b) {\n                var c = $(this).data(\"draggable\").options;\n                ((c._zIndex && $(b.helper).css(\"zIndex\", c._zIndex)));\n            }\n        });\n    }(jQuery), function($, a) {\n        var b = 5;\n        $.widget(\"ui.slider\", $.ui.mouse, {\n            widgetEventPrefix: \"slide\",\n            options: {\n                animate: !1,\n                distance: 0,\n                max: 100,\n                min: 0,\n                JSBNG__orientation: \"horizontal\",\n                range: !1,\n                step: 1,\n                value: 0,\n                values: null\n            },\n            _create: function() {\n                var a = this, c = this.options, d = this.element.JSBNG__find(\".ui-slider-handle\").addClass(\"ui-state-default ui-corner-all\"), e = \"\\u003Ca class='ui-slider-handle ui-state-default ui-corner-all' href='#'\\u003E\\u003C/a\\u003E\", f = ((((c.values && c.values.length)) || 1)), g = [];\n                this._keySliding = !1, this._mouseSliding = !1, this._animateOff = !0, this._handleIndex = null, this._detectOrientation(), this._mouseInit(), this.element.addClass(((((((((((\"ui-slider ui-slider-\" + this.JSBNG__orientation)) + \" ui-widget\")) + \" ui-widget-content\")) + \" ui-corner-all\")) + ((c.disabled ? \" ui-slider-disabled ui-disabled\" : \"\"))))), this.range = $([]), ((c.range && (((((c.range === !0)) && (((c.values || (c.values = [this._valueMin(),this._valueMin(),]))), ((((c.values.length && ((c.values.length !== 2)))) && (c.values = [c.values[0],c.values[0],])))))), this.range = $(\"\\u003Cdiv\\u003E\\u003C/div\\u003E\").appendTo(this.element).addClass(((\"ui-slider-range ui-widget-header\" + ((((((c.range === \"min\")) || ((c.range === \"max\")))) ? ((\" ui-slider-range-\" + c.range)) : \"\"))))))));\n                for (var h = d.length; ((h < f)); h += 1) {\n                    g.push(e);\n                ;\n                };\n            ;\n                this.handles = d.add($(g.join(\"\")).appendTo(a.element)), this.handle = this.handles.eq(0), this.handles.add(this.range).filter(\"a\").click(function(a) {\n                    a.preventDefault();\n                }).hover(function() {\n                    ((c.disabled || $(this).addClass(\"ui-state-hover\")));\n                }, function() {\n                    $(this).removeClass(\"ui-state-hover\");\n                }).JSBNG__focus(function() {\n                    ((c.disabled ? $(this).JSBNG__blur() : ($(\".ui-slider .ui-state-focus\").removeClass(\"ui-state-focus\"), $(this).addClass(\"ui-state-focus\"))));\n                }).JSBNG__blur(function() {\n                    $(this).removeClass(\"ui-state-focus\");\n                }), this.handles.each(function(a) {\n                    $(this).data(\"index.ui-slider-handle\", a);\n                }), this.handles.keydown(function(c) {\n                    var d = $(this).data(\"index.ui-slider-handle\"), e, f, g, h;\n                    if (a.options.disabled) {\n                        return;\n                    }\n                ;\n                ;\n                    switch (c.keyCode) {\n                      case $.ui.keyCode.HOME:\n                    \n                      case $.ui.keyCode.END:\n                    \n                      case $.ui.keyCode.PAGE_UP:\n                    \n                      case $.ui.keyCode.PAGE_DOWN:\n                    \n                      case $.ui.keyCode.UP:\n                    \n                      case $.ui.keyCode.RIGHT:\n                    \n                      case $.ui.keyCode.DOWN:\n                    \n                      case $.ui.keyCode.LEFT:\n                        c.preventDefault();\n                        if (!a._keySliding) {\n                            a._keySliding = !0, $(this).addClass(\"ui-state-active\"), e = a._start(c, d);\n                            if (((e === !1))) {\n                                return;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    h = a.options.step, ((((a.options.values && a.options.values.length)) ? f = g = a.values(d) : f = g = a.value()));\n                    switch (c.keyCode) {\n                      case $.ui.keyCode.HOME:\n                        g = a._valueMin();\n                        break;\n                      case $.ui.keyCode.END:\n                        g = a._valueMax();\n                        break;\n                      case $.ui.keyCode.PAGE_UP:\n                        g = a._trimAlignValue(((f + ((((a._valueMax() - a._valueMin())) / b)))));\n                        break;\n                      case $.ui.keyCode.PAGE_DOWN:\n                        g = a._trimAlignValue(((f - ((((a._valueMax() - a._valueMin())) / b)))));\n                        break;\n                      case $.ui.keyCode.UP:\n                    \n                      case $.ui.keyCode.RIGHT:\n                        if (((f === a._valueMax()))) {\n                            return;\n                        }\n                    ;\n                    ;\n                        g = a._trimAlignValue(((f + h)));\n                        break;\n                      case $.ui.keyCode.DOWN:\n                    \n                      case $.ui.keyCode.LEFT:\n                        if (((f === a._valueMin()))) {\n                            return;\n                        }\n                    ;\n                    ;\n                        g = a._trimAlignValue(((f - h)));\n                    };\n                ;\n                    a._slide(c, d, g);\n                }).keyup(function(b) {\n                    var c = $(this).data(\"index.ui-slider-handle\");\n                    ((a._keySliding && (a._keySliding = !1, a._stop(b, c), a._change(b, c), $(this).removeClass(\"ui-state-active\"))));\n                }), this._refreshValue(), this._animateOff = !1;\n            },\n            destroy: function() {\n                return this.handles.remove(), this.range.remove(), this.element.removeClass(\"ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all\").removeData(\"slider\").unbind(\".slider\"), this._mouseDestroy(), this;\n            },\n            _mouseCapture: function(a) {\n                var b = this.options, c, d, e, f, g, h, i, j, k;\n                return ((b.disabled ? !1 : (this.elementSize = {\n                    width: this.element.JSBNG__outerWidth(),\n                    height: this.element.JSBNG__outerHeight()\n                }, this.elementOffset = this.element.offset(), c = {\n                    x: a.pageX,\n                    y: a.pageY\n                }, d = this._normValueFromMouse(c), e = ((((this._valueMax() - this._valueMin())) + 1)), g = this, this.handles.each(function(a) {\n                    var b = Math.abs(((d - g.values(a))));\n                    ((((e > b)) && (e = b, f = $(this), h = a)));\n                }), ((((((b.range === !0)) && ((this.values(1) === b.min)))) && (h += 1, f = $(this.handles[h])))), i = this._start(a, h), ((((i === !1)) ? !1 : (this._mouseSliding = !0, g._handleIndex = h, f.addClass(\"ui-state-active\").JSBNG__focus(), j = f.offset(), k = !$(a.target).parents().andSelf().is(\".ui-slider-handle\"), this._clickOffset = ((k ? {\n                    left: 0,\n                    JSBNG__top: 0\n                } : {\n                    left: ((((a.pageX - j.left)) - ((f.width() / 2)))),\n                    JSBNG__top: ((((((((((a.pageY - j.JSBNG__top)) - ((f.height() / 2)))) - ((parseInt(f.css(\"borderTopWidth\"), 10) || 0)))) - ((parseInt(f.css(\"borderBottomWidth\"), 10) || 0)))) + ((parseInt(f.css(\"marginTop\"), 10) || 0))))\n                })), ((this.handles.hasClass(\"ui-state-hover\") || this._slide(a, h, d))), this._animateOff = !0, !0))))));\n            },\n            _mouseStart: function(a) {\n                return !0;\n            },\n            _mouseDrag: function(a) {\n                var b = {\n                    x: a.pageX,\n                    y: a.pageY\n                }, c = this._normValueFromMouse(b);\n                return this._slide(a, this._handleIndex, c), !1;\n            },\n            _mouseStop: function(a) {\n                return this.handles.removeClass(\"ui-state-active\"), this._mouseSliding = !1, this._stop(a, this._handleIndex), this._change(a, this._handleIndex), this._handleIndex = null, this._clickOffset = null, this._animateOff = !1, !1;\n            },\n            _detectOrientation: function() {\n                this.JSBNG__orientation = ((((this.options.JSBNG__orientation === \"vertical\")) ? \"vertical\" : \"horizontal\"));\n            },\n            _normValueFromMouse: function(a) {\n                var b, c, d, e, f;\n                return ((((this.JSBNG__orientation === \"horizontal\")) ? (b = this.elementSize.width, c = ((((a.x - this.elementOffset.left)) - ((this._clickOffset ? this._clickOffset.left : 0))))) : (b = this.elementSize.height, c = ((((a.y - this.elementOffset.JSBNG__top)) - ((this._clickOffset ? this._clickOffset.JSBNG__top : 0))))))), d = ((c / b)), ((((d > 1)) && (d = 1))), ((((d < 0)) && (d = 0))), ((((this.JSBNG__orientation === \"vertical\")) && (d = ((1 - d))))), e = ((this._valueMax() - this._valueMin())), f = ((this._valueMin() + ((d * e)))), this._trimAlignValue(f);\n            },\n            _start: function(a, b) {\n                var c = {\n                    handle: this.handles[b],\n                    value: this.value()\n                };\n                return ((((this.options.values && this.options.values.length)) && (c.value = this.values(b), c.values = this.values()))), this._trigger(\"start\", a, c);\n            },\n            _slide: function(a, b, c) {\n                var d, e, f;\n                ((((this.options.values && this.options.values.length)) ? (d = this.values(((b ? 0 : 1))), ((((((((this.options.values.length === 2)) && ((this.options.range === !0)))) && ((((((b === 0)) && ((c > d)))) || ((((b === 1)) && ((c < d)))))))) && (c = d))), ((((c !== this.values(b))) && (e = this.values(), e[b] = c, f = this._trigger(\"slide\", a, {\n                    handle: this.handles[b],\n                    value: c,\n                    values: e\n                }), d = this.values(((b ? 0 : 1))), ((((f !== !1)) && this.values(b, c, !0))))))) : ((((c !== this.value())) && (f = this._trigger(\"slide\", a, {\n                    handle: this.handles[b],\n                    value: c\n                }), ((((f !== !1)) && this.value(c))))))));\n            },\n            _stop: function(a, b) {\n                var c = {\n                    handle: this.handles[b],\n                    value: this.value()\n                };\n                ((((this.options.values && this.options.values.length)) && (c.value = this.values(b), c.values = this.values()))), this._trigger(\"JSBNG__stop\", a, c);\n            },\n            _change: function(a, b) {\n                if (((!this._keySliding && !this._mouseSliding))) {\n                    var c = {\n                        handle: this.handles[b],\n                        value: this.value()\n                    };\n                    ((((this.options.values && this.options.values.length)) && (c.value = this.values(b), c.values = this.values()))), this._trigger(\"change\", a, c);\n                }\n            ;\n            ;\n            },\n            value: function(a) {\n                if (arguments.length) {\n                    this.options.value = this._trimAlignValue(a), this._refreshValue(), this._change(null, 0);\n                    return;\n                }\n            ;\n            ;\n                return this._value();\n            },\n            values: function(a, b) {\n                var c, d, e;\n                if (((arguments.length > 1))) {\n                    this.options.values[a] = this._trimAlignValue(b), this._refreshValue(), this._change(null, a);\n                    return;\n                }\n            ;\n            ;\n                if (!arguments.length) {\n                    return this._values();\n                }\n            ;\n            ;\n                if (!$.isArray(arguments[0])) {\n                    return ((((this.options.values && this.options.values.length)) ? this._values(a) : this.value()));\n                }\n            ;\n            ;\n                c = this.options.values, d = arguments[0];\n                for (e = 0; ((e < c.length)); e += 1) {\n                    c[e] = this._trimAlignValue(d[e]), this._change(null, e);\n                ;\n                };\n            ;\n                this._refreshValue();\n            },\n            _setOption: function(a, b) {\n                var c, d = 0;\n                (($.isArray(this.options.values) && (d = this.options.values.length))), $.Widget.prototype._setOption.apply(this, arguments);\n                switch (a) {\n                  case \"disabled\":\n                    ((b ? (this.handles.filter(\".ui-state-focus\").JSBNG__blur(), this.handles.removeClass(\"ui-state-hover\"), this.handles.propAttr(\"disabled\", !0), this.element.addClass(\"ui-disabled\")) : (this.handles.propAttr(\"disabled\", !1), this.element.removeClass(\"ui-disabled\"))));\n                    break;\n                  case \"JSBNG__orientation\":\n                    this._detectOrientation(), this.element.removeClass(\"ui-slider-horizontal ui-slider-vertical\").addClass(((\"ui-slider-\" + this.JSBNG__orientation))), this._refreshValue();\n                    break;\n                  case \"value\":\n                    this._animateOff = !0, this._refreshValue(), this._change(null, 0), this._animateOff = !1;\n                    break;\n                  case \"values\":\n                    this._animateOff = !0, this._refreshValue();\n                    for (c = 0; ((c < d)); c += 1) {\n                        this._change(null, c);\n                    ;\n                    };\n                ;\n                    this._animateOff = !1;\n                };\n            ;\n            },\n            _value: function() {\n                var a = this.options.value;\n                return a = this._trimAlignValue(a), a;\n            },\n            _values: function(a) {\n                var b, c, d;\n                if (arguments.length) {\n                    return b = this.options.values[a], b = this._trimAlignValue(b), b;\n                }\n            ;\n            ;\n                c = this.options.values.slice();\n                for (d = 0; ((d < c.length)); d += 1) {\n                    c[d] = this._trimAlignValue(c[d]);\n                ;\n                };\n            ;\n                return c;\n            },\n            _trimAlignValue: function(a) {\n                if (((a <= this._valueMin()))) {\n                    return this._valueMin();\n                }\n            ;\n            ;\n                if (((a >= this._valueMax()))) {\n                    return this._valueMax();\n                }\n            ;\n            ;\n                var b = ((((this.options.step > 0)) ? this.options.step : 1)), c = ((((a - this._valueMin())) % b)), d = ((a - c));\n                return ((((((Math.abs(c) * 2)) >= b)) && (d += ((((c > 0)) ? b : -b))))), parseFloat(d.toFixed(5));\n            },\n            _valueMin: function() {\n                return this.options.min;\n            },\n            _valueMax: function() {\n                return this.options.max;\n            },\n            _refreshValue: function() {\n                var a = this.options.range, b = this.options, c = this, d = ((this._animateOff ? !1 : b.animate)), e, f = {\n                }, g, h, i, j;\n                ((((this.options.values && this.options.values.length)) ? this.handles.each(function(a, h) {\n                    e = ((((((c.values(a) - c._valueMin())) / ((c._valueMax() - c._valueMin())))) * 100)), f[((((c.JSBNG__orientation === \"horizontal\")) ? \"left\" : \"bottom\"))] = ((e + \"%\")), $(this).JSBNG__stop(1, 1)[((d ? \"animate\" : \"css\"))](f, b.animate), ((((c.options.range === !0)) && ((((c.JSBNG__orientation === \"horizontal\")) ? (((((a === 0)) && c.range.JSBNG__stop(1, 1)[((d ? \"animate\" : \"css\"))]({\n                        left: ((e + \"%\"))\n                    }, b.animate))), ((((a === 1)) && c.range[((d ? \"animate\" : \"css\"))]({\n                        width: ((((e - g)) + \"%\"))\n                    }, {\n                        queue: !1,\n                        duration: b.animate\n                    })))) : (((((a === 0)) && c.range.JSBNG__stop(1, 1)[((d ? \"animate\" : \"css\"))]({\n                        bottom: ((e + \"%\"))\n                    }, b.animate))), ((((a === 1)) && c.range[((d ? \"animate\" : \"css\"))]({\n                        height: ((((e - g)) + \"%\"))\n                    }, {\n                        queue: !1,\n                        duration: b.animate\n                    })))))))), g = e;\n                }) : (h = this.value(), i = this._valueMin(), j = this._valueMax(), e = ((((j !== i)) ? ((((((h - i)) / ((j - i)))) * 100)) : 0)), f[((((c.JSBNG__orientation === \"horizontal\")) ? \"left\" : \"bottom\"))] = ((e + \"%\")), this.handle.JSBNG__stop(1, 1)[((d ? \"animate\" : \"css\"))](f, b.animate), ((((((a === \"min\")) && ((this.JSBNG__orientation === \"horizontal\")))) && this.range.JSBNG__stop(1, 1)[((d ? \"animate\" : \"css\"))]({\n                    width: ((e + \"%\"))\n                }, b.animate))), ((((((a === \"max\")) && ((this.JSBNG__orientation === \"horizontal\")))) && this.range[((d ? \"animate\" : \"css\"))]({\n                    width: ((((100 - e)) + \"%\"))\n                }, {\n                    queue: !1,\n                    duration: b.animate\n                }))), ((((((a === \"min\")) && ((this.JSBNG__orientation === \"vertical\")))) && this.range.JSBNG__stop(1, 1)[((d ? \"animate\" : \"css\"))]({\n                    height: ((e + \"%\"))\n                }, b.animate))), ((((((a === \"max\")) && ((this.JSBNG__orientation === \"vertical\")))) && this.range[((d ? \"animate\" : \"css\"))]({\n                    height: ((((100 - e)) + \"%\"))\n                }, {\n                    queue: !1,\n                    duration: b.animate\n                }))))));\n            }\n        }), $.extend($.ui.slider, {\n            version: \"1.8.22\"\n        });\n    }(jQuery);\n});\ndeferred(\"$lib/jquery_webcam.js\", function() {\n    (function($) {\n        var a = {\n            extern: null,\n            append: !0,\n            width: 320,\n            height: 240,\n            mode: \"callback\",\n            swffile: \"jscam.swf\",\n            quality: 85,\n            debug: function() {\n            \n            },\n            onCapture: function() {\n            \n            },\n            onTick: function() {\n            \n            },\n            onSave: function() {\n            \n            },\n            onCameraStart: function() {\n            \n            },\n            onCameraStop: function() {\n            \n            },\n            onLoad: function() {\n            \n            },\n            onDetect: function() {\n            \n            }\n        };\n        window.webcam = a, $.fn.webcam = function(b) {\n            if (((typeof b == \"object\"))) {\n                {\n                    var fin57keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin57i = (0);\n                    var c;\n                    for (; (fin57i < fin57keys.length); (fin57i++)) {\n                        ((c) = (fin57keys[fin57i]));\n                        {\n                            ((((b[c] !== undefined)) && (a[c] = b[c])));\n                        ;\n                        };\n                    };\n                };\n            }\n        ;\n        ;\n            var d = ((((((((((((((((((((((((\"\\u003Cobject id=\\\"XwebcamXobjectX\\\" type=\\\"application/x-shockwave-flash\\\" data=\\\"\" + a.swffile)) + \"\\\" width=\\\"\")) + a.width)) + \"\\\" height=\\\"\")) + a.height)) + \"\\\"\\u003E\\u003Cparam name=\\\"movie\\\" value=\\\"\")) + a.swffile)) + \"\\\" /\\u003E\\u003Cparam name=\\\"FlashVars\\\" value=\\\"mode=\")) + a.mode)) + \"&amp;quality=\")) + a.quality)) + \"\\\" /\\u003E\\u003Cparam name=\\\"allowScriptAccess\\\" value=\\\"always\\\" /\\u003E\\u003C/object\\u003E\"));\n            ((((null !== a.extern)) ? $(a.extern)[((a.append ? \"append\" : \"html\"))](d) : this[((a.append ? \"append\" : \"html\"))](d))), (_register = function(b) {\n                var c = JSBNG__document.getElementById(\"XwebcamXobjectX\");\n                ((((c.capture !== undefined)) ? (a.capture = function(a) {\n                    try {\n                        return c.capture(a);\n                    } catch (b) {\n                    \n                    };\n                ;\n                }, a.save = function(a) {\n                    try {\n                        return c.save(a);\n                    } catch (b) {\n                    \n                    };\n                ;\n                }, a.onLoad()) : ((((0 == b)) ? a.debug(\"error\", \"Flash movie not yet registered!\") : window.JSBNG__setTimeout(_register, ((1000 * ((4 - b)))), ((b - 1)))))));\n            })(3);\n        };\n    })(jQuery);\n});\ndefine(\"app/ui/settings/with_cropper\", [\"module\",\"require\",\"exports\",\"$lib/jquery_ui.profile.js\",\"$lib/jquery_webcam.js\",], function(module, require, exports) {\n    function odd(a) {\n        return ((((a % 2)) != 0));\n    };\n;\n    function Cropper() {\n        this.dataFromBase64URL = function(a) {\n            return a.slice(((a.indexOf(\",\") + 1)));\n        }, this.determineCrop = function() {\n            var a = this.select(\"cropImageSelector\"), b = this.select(\"cropMaskSelector\"), c = a.offset(), d = b.offset(), e = ((this.attr.originalWidth / a.width())), f = ((((d.JSBNG__top - c.JSBNG__top)) + this.attr.maskPadding)), g = ((((d.left - c.left)) + this.attr.maskPadding)), h = ((((((d.left + this.attr.maskPadding)) > c.left)) ? ((d.left + this.attr.maskPadding)) : c.left)), i = ((((((d.JSBNG__top + this.attr.maskPadding)) > c.JSBNG__top)) ? ((d.JSBNG__top + this.attr.maskPadding)) : c.JSBNG__top)), j = ((((((((d.left + b.width())) - this.attr.maskPadding)) < ((c.left + a.width())))) ? ((((d.left + b.width())) - this.attr.maskPadding)) : ((c.left + a.width())))), k = ((((((((d.JSBNG__top + b.height())) - this.attr.maskPadding)) < ((c.JSBNG__top + a.height())))) ? ((((d.JSBNG__top + b.height())) - this.attr.maskPadding)) : ((c.JSBNG__top + a.height()))));\n            return {\n                maskWidth: ((b.width() - ((2 * this.attr.maskPadding)))),\n                maskHeight: ((b.height() - ((2 * this.attr.maskPadding)))),\n                imageLeft: Math.round(((e * ((((g >= 0)) ? g : 0))))),\n                imageTop: Math.round(((e * ((((f >= 0)) ? f : 0))))),\n                imageWidth: Math.round(((e * ((j - h))))),\n                imageHeight: Math.round(((e * ((k - i))))),\n                maskY: ((((f < 0)) ? -f : 0)),\n                maskX: ((((g < 0)) ? -g : 0))\n            };\n        }, this.determineImageType = function(a) {\n            return ((((a.substr(a.indexOf(\",\"), 4).indexOf(\",/9j\") == 0)) ? \"image/jpeg\" : \"image/png\"));\n        }, this.canvasToDataURL = function(a, b) {\n            return ((((b == \"image/jpeg\")) ? a.toDataURL(\"image/jpeg\", 235327) : a.toDataURL(\"image/png\")));\n        }, this.prepareCropImage = function() {\n            var a = this.select(\"cropImageSelector\");\n            this.$cropImage = $(\"\\u003Cimg\\u003E\"), this.$cropImage.attr(\"src\", a.attr(\"src\")), this.JSBNG__on(this.$cropImage, \"load\", this.cropImageReady);\n        }, this.cropImageReady = function() {\n            this.trigger(\"uiCropImageReady\");\n        }, this.clientsideCrop = function(a) {\n            var b = this.select(\"drawSurfaceSelector\"), c = this.select(\"cropImageSelector\"), d = this.determineImageType(c.attr(\"src\")), e = b[0].getContext(\"2d\"), f = a.maskHeight, g = a.maskWidth, h = a.maskX, i = a.maskY;\n            this.$cropImage.height(this.attr.originalHeight), this.$cropImage.width(this.attr.originalWidth);\n            if (((((a.imageWidth >= this.attr.maximumWidth)) || ((a.imageHeight >= this.attr.maximumHeight))))) {\n                f = this.attr.maximumHeight, g = this.attr.maximumWidth, h = Math.round(((a.maskX * ((this.attr.maximumWidth / a.imageWidth))))), i = Math.round(((a.maskY * ((this.attr.maximumHeight / a.imageHeight)))));\n            }\n        ;\n        ;\n            return e.canvas.width = g, e.canvas.height = f, e.fillStyle = \"white\", e.fillRect(0, 0, g, f), e.drawImage(this.$cropImage[0], a.imageLeft, a.imageTop, a.imageWidth, a.imageHeight, h, i, g, f), {\n                fileData: this.dataFromBase64URL(this.canvasToDataURL(b[0], d)),\n                offsetTop: 0,\n                offsetLeft: 0,\n                width: e.canvas.width,\n                height: e.canvas.height\n            };\n        }, this.cropDimensions = function() {\n            var a = this.select(\"cropMaskSelector\"), b = a.offset();\n            return {\n                JSBNG__top: b.JSBNG__top,\n                left: b.left,\n                maskWidth: a.width(),\n                maskHeight: a.height(),\n                cropWidth: ((a.width() - ((2 * this.attr.maskPadding)))),\n                cropHeight: ((a.height() - ((2 * this.attr.maskPadding))))\n            };\n        }, this.centerImage = function() {\n            var a = this.cropDimensions(), b = this.select(\"cropImageSelector\"), c = b.width(), d = b.height(), e = ((c / d));\n            ((((((((c >= d)) && ((a.cropWidth >= a.cropHeight)))) && ((e >= ((a.cropWidth / a.cropHeight)))))) ? (d = a.cropHeight, c = Math.round(((c * ((d / this.attr.originalHeight)))))) : (c = a.cropWidth, d = Math.round(((d * ((c / this.attr.originalWidth)))))))), b.width(c), b.height(d), b.offset({\n                JSBNG__top: ((((((a.maskHeight / 2)) - ((d / 2)))) + a.JSBNG__top)),\n                left: ((((((a.maskWidth / 2)) - ((c / 2)))) + a.left))\n            });\n        }, this.onDragStart = function(a, b) {\n            this.attr.imageStartOffset = this.select(\"cropImageSelector\").offset();\n        }, this.onDragHandler = function(a, b) {\n            this.select(\"cropImageSelector\").offset({\n                JSBNG__top: ((((this.attr.imageStartOffset.JSBNG__top + b.position.JSBNG__top)) - b.originalPosition.JSBNG__top)),\n                left: ((((this.attr.imageStartOffset.left + b.position.left)) - b.originalPosition.left))\n            });\n        }, this.onDragStop = function(a, b) {\n            this.select(\"cropOverlaySelector\").offset(this.select(\"cropMaskSelector\").offset());\n        }, this.imageLoaded = function(a, b) {\n            function h(a) {\n                var b = c.offset(), d = Math.round(((b.left + ((c.width() / 2))))), e = Math.round(((b.JSBNG__top + ((c.height() / 2))))), h = Math.round(((f * ((1 + ((a.value / 100))))))), i = Math.round(((g * ((1 + ((a.value / 100)))))));\n                h = ((odd(h) ? h += 1 : h)), i = ((odd(i) ? i += 1 : i)), c.height(h), c.width(i), c.offset({\n                    JSBNG__top: Math.round(((e - ((h / 2))))),\n                    left: Math.round(((d - ((i / 2)))))\n                });\n            };\n        ;\n            var c = this.select(\"cropImageSelector\"), d = this.select(\"cropOverlaySelector\"), e = this.select(\"cropperSliderSelector\");\n            this.attr.originalHeight = c.height(), this.attr.originalWidth = c.width(), this.centerImage();\n            var f = c.height(), g = c.width();\n            e.slider({\n                value: 0,\n                max: 100,\n                min: 0,\n                slide: function(a, b) {\n                    h(b);\n                }\n            }), e.slider(\"option\", \"value\", 0), d.draggable({\n                drag: this.onDragHandler.bind(this),\n                JSBNG__stop: this.onDragStop.bind(this),\n                start: this.onDragStart.bind(this),\n                containment: this.attr.cropContainerSelector\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(this.attr.cropImageSelector, \"load\", this.imageLoaded);\n        });\n    };\n;\n    require(\"$lib/jquery_ui.profile.js\"), require(\"$lib/jquery_webcam.js\"), module.exports = Cropper;\n});\ndefine(\"app/ui/settings/with_webcam\", [\"module\",\"require\",\"exports\",\"$lib/jquery_ui.profile.js\",\"$lib/jquery_webcam.js\",], function(module, require, exports) {\n    function Webcam() {\n        this.doJsCam = function() {\n            $(this.attr.webcamContainerSelector).webcam({\n                width: 320,\n                height: 240,\n                mode: \"callback\",\n                swffile: \"/flash/jscam.swf\",\n                onLoad: this.jsCamLoad.bind(this),\n                onCameraStart: this.jsCamCameraStart.bind(this),\n                onCameraStop: this.jsCamCameraStop.bind(this),\n                onCapture: this.jsCamCapture.bind(this),\n                onSave: this.jsCamSave.bind(this),\n                debug: this.jsCamDebug\n            });\n        }, this.jsCamLoad = function() {\n            var a = this.select(\"webcamCanvasSelector\")[0].getContext(\"2d\");\n            this.image = a.getImageData(0, 0, 320, 240), this.pos = 0;\n        }, this.jsCamCameraStart = function() {\n            this.select(\"captureWebcamSelector\").attr(\"disabled\", !1);\n        }, this.jsCamCameraStop = function() {\n            this.select(\"captureWebcamSelector\").attr(\"disabled\", !0);\n        }, this.jsCamCapture = function() {\n            window.webcam.save();\n        }, this.jsCamSave = function(a) {\n            var b = this.select(\"webcamCanvasSelector\")[0].getContext(\"2d\"), c = a.split(\";\"), d = this.image;\n            for (var e = 0; ((e < 320)); e++) {\n                var f = parseInt(c[e]);\n                d.data[((this.pos + 0))] = ((((f >> 16)) & 255)), d.data[((this.pos + 1))] = ((((f >> 8)) & 255)), d.data[((this.pos + 2))] = ((f & 255)), d.data[((this.pos + 3))] = 255, this.pos += 4;\n            };\n        ;\n            if (((this.pos >= 307200))) {\n                var g = this.select(\"webcamCanvasSelector\")[0], h = this.select(\"cropImageSelector\")[0];\n                b.putImageData(d, 0, 0), h.src = g.toDataURL(\"image/png\"), this.pos = 0, this.trigger(\"jsCamCapture\");\n            }\n        ;\n        ;\n        }, this.jsCamDebug = function(a, b) {\n        \n        };\n    };\n;\n    require(\"$lib/jquery_ui.profile.js\"), require(\"$lib/jquery_webcam.js\"), module.exports = Webcam;\n});\ndefine(\"app/utils/is_showing_avatar_options\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    module.exports = function() {\n        return $(\"body\").hasClass(\"show-avatar-options\");\n    };\n});\ndefine(\"app/ui/dialogs/profile_image_upload_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/settings/with_cropper\",\"app/ui/with_dialog\",\"app/ui/with_position\",\"app/ui/settings/with_webcam\",\"app/utils/is_showing_avatar_options\",\"core/i18n\",\"$lib/jquery_ui.profile.js\",\"$lib/jquery_webcam.js\",], function(module, require, exports) {\n    function profileImageUpload() {\n        this.defaultAttrs({\n            webcamTitle: _(\"Smile!\"),\n            titleSelector: \".modal-title\",\n            profileImageCropDivSelector: \".image-upload-crop\",\n            profileImageWebcamDivSelector: \".image-upload-webcam\",\n            cancelSelector: \".profile-image-cancel\",\n            saveSelector: \".profile-image-save\",\n            cropperSliderSelector: \".cropper-slider\",\n            cropImageSelector: \".crop-image\",\n            cropMaskSelector: \".cropper-mask\",\n            cropOverlaySelector: \".cropper-overlay\",\n            captureWebcamSelector: \".profile-image-capture-webcam\",\n            webcamContainerSelector: \".webcam-container\",\n            webcamCanvasSelector: \".webcam-canvas\",\n            imageNameSelector: \"#choose-photo div.photo-selector input.file-name\",\n            imageDataSelector: \"#choose-photo div.photo-selector input.file-data\",\n            imageUploadSpinnerSelector: \".image-upload-spinner\",\n            maskPadding: 40,\n            JSBNG__top: 50,\n            uploadType: \"\",\n            drawSurfaceSelector: \".drawsurface\",\n            saveEvent: \"uiProfileImageSave\",\n            successEvent: \"dataProfileImageSuccess\",\n            errorEvent: \"dataProfileImageFailure\",\n            showSuccessMessage: !0,\n            maximumWidth: 256,\n            maximumHeight: 256,\n            fileName: \"\"\n        }), this.showCropper = function(a) {\n            this.setTitle(this.attr.originalTitle), this.select(\"captureWebcamSelector\").hide(), this.select(\"saveSelector\").show(), this.attr.fileName = a, this.clearForm(), JSBNG__document.body.JSBNG__focus(), this.trigger(\"uiShowingCropper\", {\n                scribeElement: this.getScribeElement()\n            });\n        }, this.setScribeElement = function(a) {\n            this.scribeElement = a;\n        }, this.getScribeElement = function() {\n            return ((this.scribeElement || \"upload\"));\n        }, this.reset = function() {\n            this.select(\"cropImageSelector\").attr(\"src\", \"\"), this.select(\"cropImageSelector\").attr(\"style\", \"\"), this.select(\"webcamContainerSelector\").empty(), this.select(\"cancelSelector\").show(), this.select(\"saveSelector\").attr(\"disabled\", !1).hide(), this.$node.removeClass(\"saving\"), this.select(\"profileImageWebcamDivSelector\").hide(), this.select(\"profileImageCropDivSelector\").hide(), this.select(\"captureWebcamSelector\").hide();\n        }, this.swapVisibility = function(a, b) {\n            this.$node.JSBNG__find(a).hide(), this.$node.JSBNG__find(b).show();\n        }, this.haveImageSelected = function(a, b) {\n            var c = $(this.attr.imageNameSelector).attr(\"value\"), d = ((\"data:image/jpeg;base64,\" + $(this.attr.imageDataSelector).attr(\"value\")));\n            this.gotImageData(b.uploadType, c, d), this.trigger(\"uiCloseDropdowns\");\n        }, this.gotImageData = function(a, b, c, d) {\n            ((((((a !== \"background\")) && ((this.attr.uploadType == a)))) && (this.JSBNG__openDialog(), this.trigger(\"uiUploadReceived\"), this.select(\"cropImageSelector\").attr(\"src\", c), this.select(\"profileImageCropDivSelector\").show(), this.setScribeElement(\"upload\"), this.showCropper(b), ((d && this.trigger(\"uiDropped\"))))));\n        }, this.JSBNG__openDialog = function() {\n            this.open(), this.reset();\n        }, this.setTitle = function(a) {\n            this.select(\"titleSelector\").text(a);\n        }, this.showWebcam = function(a, b) {\n            if (((this.attr.uploadType != b.uploadType))) {\n                return;\n            }\n        ;\n        ;\n            this.setTitle(this.attr.webcamTitle), this.JSBNG__openDialog(), this.select(\"profileImageWebcamDivSelector\").show(), this.select(\"captureWebcamSelector\").show(), this.doJsCam(), this.trigger(\"uiShowingWebcam\");\n        }, this.takePhoto = function() {\n            webcam.capture();\n        }, this.webcamCaptured = function() {\n            this.swapVisibility(this.attr.profileImageWebcamDivSelector, this.attr.profileImageCropDivSelector), this.setScribeElement(\"webcam\"), $(this.attr.imageDataSelector).attr(\"value\", this.dataFromBase64URL(this.select(\"cropImageSelector\").attr(\"src\"))), $(this.attr.imageNameSelector).attr(\"value\", \"webcam-cap.png\"), this.showCropper();\n        }, this.save = function(a, b) {\n            if (this.$node.hasClass(\"saving\")) {\n                return;\n            }\n        ;\n        ;\n            return this.prepareCropImage(), a.preventDefault(), !1;\n        }, this.readyToCrop = function() {\n            var a = this.determineCrop(), b = this.clientsideCrop(a);\n            b.fileName = this.attr.fileName, b.uploadType = this.attr.uploadType, b.scribeElement = this.getScribeElement(), this.trigger(\"uiImageSave\", b), this.enterSavingState();\n        }, this.enterSavingState = function() {\n            this.select(\"imageUploadSpinnerSelector\").css(\"height\", this.select(\"profileImageCropDivSelector\").height()), this.$node.addClass(\"saving\"), this.select(\"saveSelector\").attr(\"disabled\", !0), this.select(\"cancelSelector\").hide();\n        }, this.uploadSuccess = function(a, b) {\n            if (((((b && b.sourceEventData)) && ((b.sourceEventData.uploadType != this.attr.uploadType))))) {\n                return;\n            }\n        ;\n        ;\n            if (this.attr.showSuccessMessage) {\n                var c = {\n                    avatar: _(\"avatar\"),\n                    header: _(\"header\"),\n                    background: _(\"background\")\n                }, d = ((c[this.attr.uploadType] || this.attr.uploadType));\n                this.trigger(\"uiAlertBanner\", {\n                    message: _(\"Your {{uploadType}} was published successfully.\", {\n                        uploadType: d\n                    })\n                });\n            }\n        ;\n        ;\n            this.trigger(\"uiProfileImagePublished\", {\n                scribeElement: this.getScribeElement()\n            }), this.close();\n        }, this.uploadFailed = function(a, b) {\n            if (((((b && b.sourceEventData)) && ((b.sourceEventData.uploadType != this.attr.uploadType))))) {\n                return;\n            }\n        ;\n        ;\n            this.trigger(\"uiProfileImageDialogFailure\", {\n                scribeElement: this.getScribeElement()\n            }), this.trigger(\"uiAlertBanner\", {\n                message: b.message\n            }), this.close();\n        }, this.clearForm = function() {\n            $(this.attr.imageDataSelector).removeAttr(\"value\"), $(this.attr.imageNameSelector).removeAttr(\"value\");\n        }, this.interceptGotProfileImageData = function(a, b) {\n            ((((((b.uploadType == \"header\")) && isShowingAvatarOptions())) && (b.uploadType = \"avatar\"))), this.gotImageData(b.uploadType, b.JSBNG__name, b.contents, b.wasDropped);\n        }, this.after(\"initialize\", function() {\n            this.attr.originalTitle = this.select(\"titleSelector\").text(), this.JSBNG__on(JSBNG__document, \"uiCropperWebcam\", this.showWebcam), this.JSBNG__on(JSBNG__document, \"uiImagePickerFileReady\", this.haveImageSelected), this.JSBNG__on(\"jsCamCapture\", this.webcamCaptured), this.JSBNG__on(this.select(\"captureWebcamSelector\"), \"click\", this.takePhoto), this.JSBNG__on(this.select(\"saveSelector\"), \"click\", this.save), this.JSBNG__on(\"uiCropImageReady\", this.readyToCrop), this.JSBNG__on(JSBNG__document, \"dataImageEnqueued\", this.close), this.JSBNG__on(JSBNG__document, \"uiImageUploadSuccess\", this.uploadSuccess), this.JSBNG__on(JSBNG__document, \"uiImageUploadFailure dataImageFailedToEnqueue\", this.uploadFailed), this.JSBNG__on(JSBNG__document, \"uiGotProfileImageData\", this.interceptGotProfileImageData), this.JSBNG__on(this.attr.cancelSelector, \"click\", function(a, b) {\n                this.close();\n            }), this.JSBNG__on(\"uiDialogClosed\", function() {\n                this.clearForm(), this.reset(), this.trigger(\"uiProfileImageDialogClose\");\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withCropper = require(\"app/ui/settings/with_cropper\"), withDialog = require(\"app/ui/with_dialog\"), withPosition = require(\"app/ui/with_position\"), withWebcam = require(\"app/ui/settings/with_webcam\"), isShowingAvatarOptions = require(\"app/utils/is_showing_avatar_options\"), _ = require(\"core/i18n\");\n    require(\"$lib/jquery_ui.profile.js\"), require(\"$lib/jquery_webcam.js\"), module.exports = defineComponent(profileImageUpload, withCropper, withDialog, withPosition, withWebcam);\n});\ndefine(\"app/ui/dialogs/profile_edit_error_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"app/ui/with_dialog\",], function(module, require, exports) {\n    function profileEditErrorDialog() {\n        this.defaultAttrs({\n            okaySelector: \".ok-btn\",\n            messageSelector: \".profile-message\",\n            updateErrorMessage: _(\"There was an error updating your profile.\")\n        }), this.closeDialog = function(a, b) {\n            this.close();\n        }, this.showError = function(a, b) {\n            var c = ((b.message || this.attr.updateErrorMessage));\n            this.select(\"messageSelector\").html(c), this.open();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiShowProfileEditError\", this.showError), this.JSBNG__on(\"click\", {\n                okaySelector: this.closeDialog\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), withDialog = require(\"app/ui/with_dialog\"), ProfileEditErrorDialog = defineComponent(profileEditErrorDialog, withDialog);\n    module.exports = ProfileEditErrorDialog;\n});\ndefine(\"app/ui/dialogs/profile_confirm_image_delete_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"app/ui/with_dialog\",], function(module, require, exports) {\n    function profileConfirmImageDeleteDialog() {\n        this.defaultAttrs({\n            removeSelector: \".ok-btn\",\n            cancelSelector: \".cancel-btn\",\n            uploadType: \"\"\n        }), this.removeImage = function() {\n            this.disableButtons(), this.trigger(\"uiDeleteImage\", {\n                uploadType: this.attr.uploadType\n            });\n        }, this.triggerHideDeleteLink = function() {\n            this.trigger(\"uiHideDeleteLink\", {\n                uploadType: this.attr.uploadType\n            });\n        }, this.disableButtons = function() {\n            this.select(\"removeSelector\").attr(\"disabled\", !0), this.select(\"cancelSelector\").JSBNG__stop(!0, !0).fadeOut();\n        }, this.enableButtons = function() {\n            this.select(\"removeSelector\").removeAttr(\"disabled\"), this.select(\"cancelSelector\").JSBNG__stop(!0, !0).show();\n        }, this.showConfirm = function(a, b) {\n            ((((b.uploadType === this.attr.uploadType)) && this.open()));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiConfirmDeleteImage\", this.showConfirm), this.JSBNG__on(JSBNG__document, \"dataDeleteImageSuccess\", this.close), this.JSBNG__on(\"uiDialogClosed\", this.enableButtons), this.JSBNG__on(JSBNG__document, \"dataDeleteImageFailure\", this.enableButtons), this.JSBNG__on(JSBNG__document, \"dataDeleteImageSuccess\", this.triggerHideDeleteLink), this.JSBNG__on(\"click\", {\n                cancelSelector: this.close,\n                removeSelector: this.removeImage\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), withDialog = require(\"app/ui/with_dialog\");\n    module.exports = defineComponent(profileConfirmImageDeleteDialog, withDialog);\n});\ndefine(\"app/ui/droppable_image\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_drop_events\",\"app/utils/image\",], function(module, require, exports) {\n    function droppableImage() {\n        this.defaultAttrs({\n            uploadType: \"\"\n        }), this.triggerGotProfileImageData = function(a, b) {\n            this.trigger(\"uiGotProfileImageData\", {\n                JSBNG__name: a,\n                contents: b,\n                uploadType: this.attr.uploadType,\n                wasDropped: !0\n            });\n        }, this.getDroppedImageData = function(a, b) {\n            if (!this.editing) {\n                return;\n            }\n        ;\n        ;\n            a.stopImmediatePropagation();\n            var c = b.file;\n            image.getFileData(c.JSBNG__name, c, this.triggerGotProfileImageData.bind(this));\n        }, this.allowDrop = function(a) {\n            this.editing = ((a.type === \"uiEditProfileStart\"));\n        }, this.after(\"initialize\", function() {\n            this.editing = !1, this.JSBNG__on(JSBNG__document, \"uiEditProfileStart uiEditProfileEnd\", this.allowDrop), this.JSBNG__on(\"uiDrop\", this.getDroppedImageData);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withDropEvents = require(\"app/ui/with_drop_events\"), image = require(\"app/utils/image\");\n    module.exports = defineComponent(droppableImage, withDropEvents);\n});\ndefine(\"app/ui/profile_image_monitor\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/cookie\",\"core/clock\",], function(module, require, exports) {\n    function profileImageMonitor() {\n        this.defaultAttrs({\n            isProcessingCookie: \"image_processing_complete_key\",\n            pollInterval: 2000,\n            uploadType: \"avatar\",\n            spinnerUrl: undefined,\n            spinnerSelector: \".preview-spinner\",\n            thumbnailSelector: \"#avatar_preview\",\n            miniAvatarThumbnailSelector: \".mini-profile .avatar\",\n            deleteButtonSelector: \"#delete-image\",\n            deleteFormSelector: \"#profile_image_delete_form\"\n        }), this.startPollingUploadStatus = function(a, b) {\n            if (this.ignoreEvent(a, b)) {\n                return;\n            }\n        ;\n        ;\n            this.stopPollingUploadStatus(), this.uploadCheckTimer = clock.setIntervalEvent(\"uiCheckImageUploadStatus\", this.attr.pollInterval, {\n                uploadType: this.attr.uploadType,\n                key: cookie(this.attr.isProcessingCookie)\n            }), this.setThumbsLoading();\n        }, this.stopPollingUploadStatus = function() {\n            ((this.uploadCheckTimer && clock.JSBNG__clearInterval(this.uploadCheckTimer)));\n        }, this.setThumbsLoading = function(a, b) {\n            if (this.ignoreUIEvent(a, b)) {\n                return;\n            }\n        ;\n        ;\n            this.updateThumbs(this.attr.spinnerUrl);\n        }, this.updateThumbs = function(a) {\n            ((((this.attr.uploadType == \"avatar\")) ? ($(this.attr.thumbnailSelector).attr(\"src\", a), $(this.attr.miniAvatarThumbnailSelector).attr(\"src\", a)) : ((((this.attr.uploadType == \"header\")) && $(this.attr.thumbnailSelector).css(\"background-image\", ((a ? ((((\"url(\" + a)) + \")\")) : \"none\")))))));\n        }, this.checkUploadStatus = function(a, b) {\n            if ((((($(\"html\").hasClass(\"debug\") || ((b.JSBNG__status == \"processing\")))) || this.ignoreEvent(a, b)))) {\n                return;\n            }\n        ;\n        ;\n            this.handleUploadComplete(b.JSBNG__status), ((b.JSBNG__status && this.trigger(\"uiImageUploadSuccess\", b)));\n        }, this.handleUploadComplete = function(a) {\n            this.stopPollingUploadStatus(), cookie(this.attr.isProcessingCookie, null, {\n                path: \"/\"\n            }), this.updateThumbs(a);\n        }, this.handleImageDelete = function(a, b) {\n            if (this.ignoreEvent(a, b)) {\n                return;\n            }\n        ;\n        ;\n            this.handleUploadComplete(b.JSBNG__status);\n        }, this.handleFailedUpload = function(a, b) {\n            if (this.ignoreEvent(a, b)) {\n                return;\n            }\n        ;\n        ;\n            this.stopPollingUploadStatus(), this.restoreInitialThumbnail(), this.trigger(\"uiImageUploadFailure\", ((b || {\n            })));\n        }, this.deleteProfileImage = function(a, b) {\n            return a.preventDefault(), $(this.attr.deleteFormSelector).submit(), !1;\n        }, this.saveInitialThumbnail = function() {\n            ((((this.attr.uploadType == \"avatar\")) ? this.initialThumbnail = $(this.attr.thumbnailSelector).attr(\"src\") : ((((this.attr.uploadType == \"header\")) && (this.initialThumbnail = $(this.attr.thumbnailSelector).css(\"background-image\"))))));\n        }, this.restoreInitialThumbnail = function() {\n            ((((this.attr.uploadType == \"avatar\")) ? ($(this.attr.thumbnailSelector).attr(\"src\", this.initialThumbnail), $(this.attr.miniAvatarThumbnailSelector).attr(\"src\", this.initialThumbnail)) : ((((this.attr.uploadType == \"header\")) && $(this.attr.thumbnailSelector).css(\"background-image\", this.initialThumbnail)))));\n        }, this.ignoreEvent = function(a, b) {\n            return ((((b && b.sourceEventData)) && ((b.sourceEventData.uploadType != this.attr.uploadType))));\n        }, this.ignoreUIEvent = function(a, b) {\n            return ((b && ((b.uploadType != this.attr.uploadType))));\n        }, this.after(\"initialize\", function() {\n            this.attr.spinnerUrl = this.select(\"spinnerSelector\").attr(\"src\"), ((cookie(this.attr.isProcessingCookie) ? this.startPollingUploadStatus() : this.saveInitialThumbnail())), this.JSBNG__on(JSBNG__document, \"dataImageEnqueued\", this.startPollingUploadStatus), this.JSBNG__on(JSBNG__document, \"dataHasImageUploadStatus\", this.checkUploadStatus), this.JSBNG__on(JSBNG__document, \"dataDeleteImageSuccess\", this.handleImageDelete), this.JSBNG__on(JSBNG__document, \"dataFailedToGetImageUploadStatus\", this.handleFailedUpload), this.JSBNG__on(JSBNG__document, \"uiDeleteImage\", this.setThumbsLoading), this.JSBNG__on(this.attr.deleteButtonSelector, \"click\", this.deleteProfileImage);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), cookie = require(\"app/utils/cookie\"), clock = require(\"core/clock\");\n    module.exports = defineComponent(profileImageMonitor);\n});\ndefine(\"app/data/inline_edit_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function inlineEditScribe() {\n        this.defaultAttrs({\n            scribeContext: {\n                component: \"inline_edit\"\n            }\n        }), this.scribeAction = function(a) {\n            var b = utils.merge(this.attr.scribeContext, {\n                action: a\n            });\n            return function(a, c) {\n                this.scribe(b, c);\n            };\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiEditProfileStart\", this.scribeAction(\"edit\")), this.JSBNG__on(\"uiEditProfileCancel\", this.scribeAction(\"cancel\")), this.JSBNG__on(\"dataInlineEditSaveSuccess\", this.scribeAction(\"success\")), this.JSBNG__on(\"dataInlineEditSaveError\", this.scribeAction(\"error\"));\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\"), InlineEditScribe = defineComponent(inlineEditScribe, withScribe);\n    module.exports = InlineEditScribe;\n});\ndefine(\"app/data/settings/profile_image_upload_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function profileImageUploadScribe() {\n        this.scribeEvent = function(a, b) {\n            this.scribe(utils.merge(a.scribeContext, b));\n        }, this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiUploadReceived\", {\n                element: \"upload\",\n                action: \"complete\"\n            }), this.scribeOnEvent(\"uiShowingWebcam\", {\n                element: \"webcam\",\n                action: \"impression\"\n            }), this.scribeOnEvent(\"jsCamCapture\", {\n                element: \"webcam\",\n                action: \"complete\"\n            }), this.scribeOnEvent(\"uiProfileImageDialogClose\", {\n                action: \"close\"\n            }), this.JSBNG__on(\"uiImageSave\", function(a, b) {\n                this.scribeEvent(b, {\n                    element: ((\"crop_\" + b.scribeElement)),\n                    action: \"complete\"\n                });\n            }), this.JSBNG__on(\"uiShowingCropper\", function(a, b) {\n                this.scribeEvent(b, {\n                    element: ((\"crop_\" + b.scribeElement)),\n                    action: \"impression\"\n                });\n            }), this.JSBNG__on(\"uiProfileImagePublished\", function(a, b) {\n                this.scribeEvent(b, {\n                    element: ((\"save_\" + b.scribeElement)),\n                    action: \"complete\"\n                });\n            }), this.JSBNG__on(\"uiProfileImageDialogFailure\", function(a, b) {\n                this.scribeEvent(b, {\n                    element: ((\"save_\" + b.scribeElement)),\n                    action: \"failure\"\n                });\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\"), ProfileImageUploadScribe = defineComponent(profileImageUploadScribe, withScribe);\n    module.exports = ProfileImageUploadScribe;\n});\ndefine(\"app/data/drag_and_drop_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function dragAndDropScribe() {\n        this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiDropped\", {\n                action: \"drag_and_drop\"\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(dragAndDropScribe, withScribe);\n});\ndefine(\"app/ui/settings/change_photo\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_dropdown\",\"app/data/with_scribe\",\"app/utils/image\",\"core/utils\",\"core/i18n\",], function(module, require, exports) {\n    function changePhoto() {\n        this.defaultAttrs({\n            uploadType: \"avatar\",\n            swfSelector: \"div.webcam-detect.swf-container\",\n            toggler: \"button.choose-photo-button\",\n            chooseExistingSelector: \"#photo-choose-existing\",\n            chooseWebcamSelector: \"#photo-choose-webcam\",\n            deleteImageSelector: \"#photo-delete-image\",\n            itemSelector: \"li.dropdown-link\",\n            firstItemSelector: \"li.dropdown-link:nth-child(2)\",\n            caretSelector: \".dropdown-caret\",\n            photoSelector: \"div.photo-selector\",\n            showDeleteSuccessMessage: !0,\n            alwaysOpen: !1,\n            confirmDelete: !1\n        }), this.webcamDetectorSwfPath = \"/flash/WebcamDetector.swf\", this.isUsingFlashUploader = function() {\n            return ((image.hasFlash() && !image.hasFileReader()));\n        }, this.isFirefox36 = function() {\n            var a = $.browser;\n            return ((a.mozilla && ((a.version.slice(0, 3) == \"1.9\"))));\n        }, this.needsMenuHeldOpen = function() {\n            return ((this.isUsingFlashUploader() || this.isFirefox36()));\n        }, this.openWebCamDialog = function(a) {\n            a.preventDefault(), ((this.needsMenuHeldOpen() && (this.ignoreCloseEvent = !1))), this.trigger(\"uiCropperWebcam\", {\n                uploadType: this.attr.uploadType\n            });\n        }, this.webcamDetected = function() {\n            var a = this.select(\"chooseWebcamSelector\");\n            this.updateDropdownItemVisibility(a, !a.hasClass(\"no-webcam\"));\n        }, this.dropdownOpened = function(a, b) {\n            var c = ((((b && b.scribeContext)) || this.attr.eventData.scribeContext));\n            this.scribe(utils.merge(c, {\n                action: \"open\"\n            })), ((this.needsMenuHeldOpen() && (this.ignoreCloseEvent = !0)));\n        }, this.setupWebcamDetection = function() {\n            var a = this.select(\"swfSelector\");\n            ((image.hasFlash() && (((window.webcam && (window.webcam.onDetect = this.webcamDetected.bind(this)))), a.css(\"width\", \"0\"), a.css(\"height\", \"0\"), a.css(\"overflow\", \"hidden\"), a.flash({\n                swf: this.webcamDetectorSwfPath,\n                height: 1,\n                width: 1,\n                wmode: \"transparent\",\n                AllowScriptAccess: \"sameDomain\"\n            }))));\n        }, this.deleteImage = function() {\n            if (((this.attr.uploadType !== \"background\"))) {\n                ((this.needsMenuHeldOpen() && (this.ignoreCloseEvent = !1)));\n                var a = ((this.attr.confirmDelete ? \"uiConfirmDeleteImage\" : \"uiDeleteImage\"));\n                this.trigger(a, {\n                    uploadType: this.attr.uploadType\n                });\n            }\n             else this.hideFileName();\n        ;\n        ;\n            ((this.attr.confirmDelete || this.hideDeleteLink()));\n        }, this.handleDeleteImageSuccess = function(a, b) {\n            ((((b.message && this.attr.showDeleteSuccessMessage)) && this.trigger(\"uiAlertBanner\", b)));\n        }, this.handleDeleteImageFailure = function(a, b) {\n            if (((b.sourceEventData.uploadType != this.attr.uploadType))) {\n                return;\n            }\n        ;\n        ;\n            b.message = ((b.message || _(\"Sorry! Something went wrong deleting your {{uploadType}}. Please try again.\", this.attr))), this.trigger(\"uiAlertBanner\", b), this.showDeleteLink();\n        }, this.showDeleteLinkForTargetedButton = function(a, b) {\n            ((((((b.uploadType == this.attr.uploadType)) && ((b.uploadType == \"background\")))) && this.showDeleteLink()));\n        }, this.showDeleteLink = function() {\n            this.updateDropdownItemVisibility(this.select(\"deleteImageSelector\"), !0);\n        }, this.hideDeleteLink = function(a, b) {\n            if (((((b && b.uploadType)) && ((b.uploadType !== this.attr.uploadType))))) {\n                return;\n            }\n        ;\n        ;\n            this.updateDropdownItemVisibility(this.select(\"deleteImageSelector\"), !1);\n        }, this.showFileName = function(a, b) {\n            this.$node.siblings(\".display-file-requirement\").hide(), this.$node.siblings(\".display-file-name\").text(b.fileName).show();\n        }, this.hideFileName = function() {\n            this.$node.siblings(\".display-file-requirement\").show(), this.$node.siblings(\".display-file-name\").hide();\n        }, this.updateDropdownItemVisibility = function(a, b) {\n            ((b ? a.show() : a.hide())), this.updateMenuHierarchy();\n        }, this.upliftFilePicker = function() {\n            var a = this.select(\"photoSelector\");\n            this.select(\"toggler\").hide(), a.JSBNG__find(\"button\").attr(\"disabled\", !1), a.appendTo(this.$node);\n        }, this.moveFilePickerBackIntoMenu = function() {\n            var a = this.select(\"photoSelector\");\n            a.appendTo(this.select(\"chooseExistingSelector\")), this.select(\"toggler\").show();\n        }, this.updateMenuHierarchy = function() {\n            if (this.attr.alwaysOpen) {\n                return;\n            }\n        ;\n        ;\n            ((((this.availableDropdownItems().length == 1)) ? this.upliftFilePicker() : this.moveFilePickerBackIntoMenu()));\n        }, this.availableDropdownItems = function() {\n            return this.select(\"itemSelector\").filter(function() {\n                return (($(this).css(\"display\") != \"none\"));\n            });\n        }, this.addCaretHover = function() {\n            this.select(\"caretSelector\").addClass(\"hover\");\n        }, this.removeCaretHover = function() {\n            this.select(\"caretSelector\").removeClass(\"hover\");\n        }, this.after(\"initialize\", function() {\n            ((((this.attr.uploadType == \"avatar\")) && this.setupWebcamDetection())), this.JSBNG__on(JSBNG__document, \"click\", this.close), this.JSBNG__on(JSBNG__document, \"uiNavigate\", this.close), this.JSBNG__on(JSBNG__document, \"uiImageUploadSuccess\", this.showDeleteLink), this.JSBNG__on(JSBNG__document, \"uiImagePickerFileReady\", this.showDeleteLinkForTargetedButton), this.JSBNG__on(JSBNG__document, \"uiFileNameReady\", this.showFileName), this.JSBNG__on(JSBNG__document, \"uiHideDeleteLink\", this.hideDeleteLink), this.JSBNG__on(JSBNG__document, \"dataImageEnqueued\", this.hideDeleteLink), this.JSBNG__on(JSBNG__document, \"dataDeleteImageSuccess\", this.handleDeleteImageSuccess), this.JSBNG__on(JSBNG__document, \"dataDeleteImageFailure\", this.handleDeleteImageFailure), this.JSBNG__on(\"uiDropdownOpened\", this.dropdownOpened), this.JSBNG__on(\"click\", {\n                chooseWebcamSelector: this.openWebCamDialog,\n                deleteImageSelector: this.deleteImage\n            }), this.JSBNG__on(\"mouseover\", {\n                firstItemSelector: this.addCaretHover\n            }), this.JSBNG__on(\"mouseout\", {\n                firstItemSelector: this.removeCaretHover\n            });\n            if (this.attr.alwaysOpen) {\n                var a = [\"toggleDisplay\",\"closeDropdown\",\"closeAndRestoreFocus\",\"close\",];\n                a.forEach(function(a) {\n                    this.around(a, $.noop);\n                }.bind(this));\n            }\n        ;\n        ;\n            this.around(\"toggleDisplay\", function(a, b) {\n                var c = this.availableDropdownItems();\n                ((((((((c.length == 1)) && !this.$node.hasClass(\"open\"))) && !this.isItemClick(b))) ? c.click() : a(b)));\n            }), this.updateMenuHierarchy();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withDropdown = require(\"app/ui/with_dropdown\"), withScribe = require(\"app/data/with_scribe\"), image = require(\"app/utils/image\"), utils = require(\"core/utils\"), _ = require(\"core/i18n\");\n    module.exports = defineComponent(changePhoto, withDropdown, withScribe);\n});\ndefine(\"app/ui/image_uploader\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/image\",\"app/ui/with_image_selection\",\"app/data/with_scribe\",\"core/i18n\",], function(module, require, exports) {\n    function imageUploader() {\n        this.defaults = {\n            swfHeight: 30,\n            swfWidth: 274,\n            uploadType: \"\",\n            fileNameTextSelector: \".photo-file-name\"\n        }, this.updateFileNameText = function(a, b) {\n            var c = this.truncate(b.fileName, 18);\n            this.select(\"fileNameSelector\").val(b.fileName), this.select(\"fileNameTextSelector\").text(c), this.trigger(\"uiFileNameReady\", {\n                fileName: c\n            });\n        }, this.addFileError = function(a) {\n            ((((a == \"tooLarge\")) ? this.trigger(\"uiAlertBanner\", {\n                message: this.attr.fileTooBigMessage\n            }) : ((((((a == \"notImage\")) || ((a == \"ioError\")))) && this.trigger(\"uiAlertBanner\", {\n                message: _(\"You did not select an image.\")\n            }))))), this.scribe({\n                component: \"profile_image\",\n                element: \"upload\",\n                action: \"failure\"\n            }), ((((typeof this.attr.onError == \"function\")) && this.attr.onError())), this.reset();\n        }, this.gotImageData = function(a, b) {\n            this.gotResizedImageData(a, b);\n        }, this.truncate = function(a, b) {\n            if (((a.length <= b))) {\n                return a;\n            }\n        ;\n        ;\n            var c = Math.ceil(((b / 2))), d = Math.floor(((b / 2))), e = a.substr(0, c), f = a.substr(((a.length - d)), d);\n            return ((((e + \"\\u2026\")) + f));\n        }, this.loadSwf = function(a, b) {\n            image.loadPhotoSelectorSwf(this.select(\"swfSelector\"), a, b, this.attr.swfHeight, this.attr.swfWidth, this.attr.maxSizeInBytes);\n        }, this.initializeButton = function() {\n            this.select(\"buttonSelector\").attr(\"disabled\", !1);\n        }, this.resetUploader = function() {\n            this.select(\"fileNameSelector\").val(\"\"), this.select(\"fileNameTextSelector\").text(_(\"No file selected\"));\n        }, this.after(\"initialize\", function() {\n            this.maxSizeInBytes = this.attr.maxSizeInBytes, this.initializeButton(), this.JSBNG__on(this.$node, \"uiTweetBoxShowPreview\", this.updateFileNameText), this.JSBNG__on(\"uiResetUploader\", this.resetUploader);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), image = require(\"app/utils/image\"), withImageSelection = require(\"app/ui/with_image_selection\"), withScribe = require(\"app/data/with_scribe\"), _ = require(\"core/i18n\"), ImageUploader = defineComponent(imageUploader, withImageSelection, withScribe);\n    module.exports = ImageUploader;\n});\ndefine(\"app/ui/inline_profile_editing_initializor\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/image\",], function(module, require, exports) {\n    function inlineProfileEditingInitializor() {\n        this.defaultAttrs({\n            profileEditingCSSBundle: \"\"\n        }), this.supportsInlineEditing = function() {\n            return image.supportsCropper();\n        }, this.initializeInlineProfileEditing = function(a, b) {\n            ((this.supportsInlineEditing() ? using(((\"css!\" + this.attr.profileEditingCSSBundle)), this.triggerStart.bind(this, b.scribeElement)) : this.trigger(\"uiNavigate\", {\n                href: \"/settings/profile\"\n            })));\n        }, this.triggerStart = function(a) {\n            this.trigger(\"uiEditProfileStart\", {\n                scribeContext: {\n                    element: a\n                }\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiEditProfileInitialize\", this.initializeInlineProfileEditing);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), image = require(\"app/utils/image\");\n    module.exports = defineComponent(inlineProfileEditingInitializor);\n});\ndefine(\"app/utils/hide_or_show_divider\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    module.exports = function(b, c, d, e) {\n        var f = b.JSBNG__find(c), g = !!$.trim(b.JSBNG__find(d).text()), h = !!$.trim(b.JSBNG__find(e).text());\n        ((((g && h)) ? f.show() : f.hide()));\n    };\n});\ndefine(\"app/ui/with_inline_image_options\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/ui/with_upload_photo_affordance\",\"app/utils/is_showing_avatar_options\",], function(module, require, exports) {\n    function withInlineImageOptions() {\n        compose.mixin(this, [withUploadPhotoAffordance,]), this.defaultAttrs({\n            editHeaderSelector: \".edit-header-target\",\n            editAvatarSelector: \".profile-picture\",\n            profileHeaderMaskSelector: \".profile-header-mask\",\n            cancelOptionsSelector: \".cancel-options\",\n            changePhotoSelector: \"#choose-photo\",\n            changeHeaderSelector: \"#choose-header\"\n        }), this.optionsEnabled = function() {\n            this.canShowOptions = !0;\n        }, this.optionsDisabled = function() {\n            this.canShowOptions = !1;\n        }, this.toggleAvatarOptions = function(a) {\n            a.preventDefault(), ((isShowingAvatarOptions() ? this.hideAvatarOptions() : this.showAvatarOptions()));\n        }, this.showAvatarOptions = function() {\n            ((((this.canShowOptions && !isShowingAvatarOptions())) && (this.$body.addClass(\"show-avatar-options\"), this.select(\"changePhotoSelector\").trigger(\"uiDropdownOpened\"))));\n        }, this.hideAvatarOptions = function() {\n            this.$body.removeClass(\"show-avatar-options\");\n        }, this.showHeaderOptions = function() {\n            ((((this.canShowOptions && !this.$body.hasClass(\"show-header-options\"))) && (this.$body.addClass(\"show-header-options\"), this.select(\"changeHeaderSelector\").trigger(\"uiDropdownOpened\"))));\n        }, this.hideHeaderOptions = function() {\n            this.$body.removeClass(\"show-header-options\");\n        }, this.hideOptions = function() {\n            this.hideHeaderOptions(), this.hideAvatarOptions();\n        }, this.after(\"initialize\", function() {\n            this.$body = $(\"body\"), this.JSBNG__on(\"click\", {\n                editAvatarSelector: this.toggleAvatarOptions,\n                editHeaderSelector: this.showHeaderOptions,\n                profileHeaderMaskSelector: this.hideOptions,\n                cancelOptionsSelector: this.hideOptions\n            }), this.JSBNG__on(\"uiEditProfileStart\", this.optionsEnabled), this.JSBNG__on(\"uiEditProfileEnd\", this.optionsDisabled), this.JSBNG__on(\"uiProfileHeaderUpdated\", this.hideOptions), this.JSBNG__on(\"uiProfileAvatarUpdated\", this.hideOptions), this.JSBNG__on(JSBNG__document, \"uiShortcutEsc\", this.hideOptions), this.JSBNG__on(JSBNG__document, \"uiShowEditAvatarOptions\", this.showAvatarOptions);\n        });\n    };\n;\n    var compose = require(\"core/compose\"), withUploadPhotoAffordance = require(\"app/ui/with_upload_photo_affordance\"), isShowingAvatarOptions = require(\"app/utils/is_showing_avatar_options\");\n    module.exports = withInlineImageOptions;\n});\ndefine(\"app/ui/with_inline_image_editing\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/utils/hide_or_show_divider\",\"app/ui/with_inline_image_options\",], function(module, require, exports) {\n    function withInlineImageEditing() {\n        compose.mixin(this, [withInlineImageOptions,]), this.defaultAttrs({\n            headerImageUploadDialogSelector: \"#header_image_upload_dialog\",\n            headerCropperSelector: \"#header_image_upload_dialog .cropper-mask\",\n            avatarSelector: \".avatar:first\",\n            avatarContainerSelector: \".profile-picture:first\",\n            profileHeaderInnerSelector: \".profile-header-inner:first\",\n            avatarPlaceholderSelector: \".profile-picture-placeholder\",\n            removeFromPreview: \".profile-editing-dialogs, .edit-header-target, input, label, textarea, .controls, .inline-edit-icon\"\n        }), this.editHeaderModeOn = function() {\n            this.addPreviewToHeaderUpload(), this.$body.addClass(\"profile-header-editing\"), this.hideHeaderOptions();\n        }, this.editHeaderModeOff = function() {\n            this.$body.removeClass(\"profile-header-editing\"), this.removeHeaderPreview();\n        }, this.removeHeaderPreview = function() {\n            ((this.$headerPreview && this.$headerPreview.remove()));\n        }, this.addPreviewToHeaderUpload = function() {\n            this.removeHeaderPreview(), this.trigger(\"uiNeedsTextPreview\");\n            var a = this.$headerPreview = this.$node.clone();\n            a.JSBNG__find(this.attr.profileHeaderInnerSelector).css(\"background-image\", \"none\"), hideOrShowDivider(a, this.attr.dividerSelector, this.attr.locationSelector, this.attr.urlProfileFieldSelector), a.JSBNG__find(this.attr.removeFromPreview).remove(), this.select(\"headerCropperSelector\").prepend(a);\n        }, this.updateImage = function(a, b) {\n            var c = ((\"data:image/jpeg;base64,\" + b.fileData));\n            ((((b.uploadType === \"header\")) ? this.updateHeader(c) : ((((b.uploadType === \"avatar\")) && (this.select(\"avatarSelector\").attr(\"src\", c), this.showAvatar())))));\n        }, this.updateHeader = function(a) {\n            this.select(\"profileHeaderInnerSelector\").css({\n                \"background-size\": \"100% 100%\",\n                \"background-image\": ((((\"url(\" + a)) + \")\"))\n            }), this.trigger(\"uiProfileHeaderUpdated\");\n        }, this.useDefaultHeader = function() {\n            var a = this.select(\"profileHeaderInnerSelector\").attr(\"data-default-background-image\");\n            this.updateHeader(a);\n        }, this.showAvatar = function() {\n            this.select(\"avatarContainerSelector\").removeClass(\"hidden\"), this.select(\"avatarPlaceholderSelector\").addClass(\"hidden\"), this.trigger(\"uiProfileAvatarUpdated\");\n        }, this.showAvatarPlaceholder = function() {\n            this.select(\"avatarContainerSelector\").addClass(\"hidden\"), this.select(\"avatarPlaceholderSelector\").removeClass(\"hidden\"), this.trigger(\"uiProfileAvatarUpdated\");\n        }, this.showDefaultImage = function(a, b) {\n            ((this.isOfType(\"avatar\", b) && this.showAvatarPlaceholder())), ((this.isOfType(\"header\", b) && this.useDefaultHeader()));\n        }, this.isOfType = function(a, b) {\n            return ((((b && b.sourceEventData)) && ((b.sourceEventData.uploadType === a))));\n        }, this.after(\"initialize\", function() {\n            this.$body = $(\"body\"), this.JSBNG__on(\"uiDialogOpened\", {\n                headerImageUploadDialogSelector: this.editHeaderModeOn\n            }), this.JSBNG__on(\"uiDialogClosed\", {\n                headerImageUploadDialogSelector: this.editHeaderModeOff\n            }), this.JSBNG__on(JSBNG__document, \"uiImageSave\", this.updateImage), this.JSBNG__on(JSBNG__document, \"dataDeleteImageSuccess\", this.showDefaultImage);\n        });\n    };\n;\n    var compose = require(\"core/compose\"), hideOrShowDivider = require(\"app/utils/hide_or_show_divider\"), withInlineImageOptions = require(\"app/ui/with_inline_image_options\");\n    module.exports = withInlineImageEditing;\n});\ndefine(\"app/ui/inline_profile_editing\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"core/clock\",\"app/utils/hide_or_show_divider\",\"app/ui/with_scrollbar_width\",\"app/utils/params\",\"app/ui/tooltips\",\"app/ui/with_inline_image_editing\",], function(module, require, exports) {\n    function inlineProfileEditing() {\n        this.defaultAttrs({\n            cancelProfileButtonSelector: \".cancel-profile-btn\",\n            saveProfileButtonSelector: \".save-profile-btn\",\n            saveProfileFooterSelector: \".save-profile-footer\",\n            bioProfileFieldSelector: \".bio.profile-field\",\n            locationSelector: \".JSBNG__location\",\n            urlProfileFieldSelector: \".url .profile-field\",\n            dividerSelector: \".location-and-url .divider\",\n            anchorSelector: \"a\",\n            ignoreInTabIndex: \".js-tooltip\",\n            tooltipSelector: \".js-tooltip\",\n            updateSaveMessage: _(\"Your profile has been saved.\"),\n            scrollResetDuration: 300\n        }), this.saveProfile = function(a, b) {\n            a.preventDefault(), this.trigger(\"uiEditProfileSaveFields\"), this.trigger(\"uiEditProfileSave\");\n        }, this.cancelProfileEditing = function(a, b) {\n            a.preventDefault();\n            var c = $(a.target).attr(\"data-scribe-element\");\n            this.trigger(\"uiEditProfileCancel\", {\n                scribeContext: {\n                    element: c\n                }\n            }), this.trigger(\"uiEditProfileEnd\");\n        }, this.isEditing = function() {\n            return this.$body.hasClass(\"profile-editing\");\n        }, this.editModeOn = function() {\n            $(\"html, body\").animate({\n                scrollTop: 0\n            }, this.attr.scrollResetDuration), this.calculateScrollbarWidth(), this.$body.addClass(\"profile-editing\");\n        }, this.editModeOff = function() {\n            this.$body.removeClass(\"profile-editing\");\n        }, this.fieldEditingModeOn = function() {\n            this.$body.addClass(\"profile-field-editing\"), this.select(\"dividerSelector\").show();\n        }, this.fieldEditingModeOff = function() {\n            this.$body.removeClass(\"profile-field-editing\"), hideOrShowDivider(this.$node, this.attr.dividerSelector, this.attr.locationSelector, this.attr.urlProfileFieldSelector);\n        }, this.catchAnchorClicks = function(a) {\n            ((this.isEditing() && a.preventDefault()));\n        }, this.disabledTabbing = function() {\n            this.select(\"ignoreInTabIndex\").attr(\"tabindex\", \"-1\");\n        }, this.enableTabbing = function() {\n            this.select(\"ignoreInTabIndex\").removeAttr(\"tabindex\");\n        }, this.saving = function() {\n            this.select(\"saveProfileFooterSelector\").addClass(\"saving\");\n        }, this.handleError = function(a, b) {\n            this.doneSaving(), this.fieldEditingModeOn(), this.trigger(\"uiShowProfileEditError\", b);\n        }, this.savingError = function(a, b) {\n            clock.setTimeoutEvent(\"uiHandleSaveError\", 1000, {\n                message: b.message\n            });\n        }, this.saveSuccess = function(a, b) {\n            this.doneSaving(), this.trigger(\"uiShowMessage\", {\n                message: this.attr.updateSaveMessage\n            });\n        }, this.doneSaving = function() {\n            this.select(\"saveProfileFooterSelector\").removeClass(\"saving\");\n        }, this.disableTooltips = function() {\n            this.select(\"tooltipSelector\").tooltip(\"disable\").tooltip(\"hide\");\n        }, this.enableTooltips = function() {\n            this.select(\"tooltipSelector\").tooltip(\"enable\");\n        }, this.finishedProcessing = function(a, b) {\n            ((((b && b.linkified_description)) && this.select(\"bioProfileFieldSelector\").html(b.linkified_description))), ((((b && b.user_url)) && this.select(\"urlProfileFieldSelector\").html(b.user_url))), this.trigger(\"uiEditProfileEnd\");\n        }, this.after(\"initialize\", function() {\n            this.$body = $(\"body\"), this.JSBNG__on(\"click\", {\n                cancelProfileButtonSelector: this.cancelProfileEditing,\n                saveProfileButtonSelector: this.saveProfile,\n                anchorSelector: this.catchAnchorClicks\n            }), this.JSBNG__on(\"uiEditProfileStart\", this.editModeOn), this.JSBNG__on(\"uiEditProfileEnd\", this.editModeOff), this.JSBNG__on(\"uiEditProfileStart\", this.disableTooltips), this.JSBNG__on(\"uiEditProfileEnd\", this.enableTooltips), this.JSBNG__on(\"uiEditProfileStart\", this.fieldEditingModeOn), this.JSBNG__on(\"uiEditProfileSave\", this.fieldEditingModeOff), this.JSBNG__on(\"uiEditProfileEnd\", this.fieldEditingModeOff), this.JSBNG__on(\"uiEditProfileStart\", this.disabledTabbing), this.JSBNG__on(\"uiEditProfileEnd\", this.enableTabbing), this.JSBNG__on(JSBNG__document, \"dataInlineEditSaveStarted\", this.saving), this.JSBNG__on(JSBNG__document, \"dataInlineEditSaveSuccess\", this.saveSuccess), this.JSBNG__on(JSBNG__document, \"dataInlineEditSaveError\", this.savingError), this.JSBNG__on(JSBNG__document, \"uiHandleSaveError\", this.handleError), this.JSBNG__on(JSBNG__document, \"dataInlineEditSaveSuccess\", this.finishedProcessing);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), clock = require(\"core/clock\"), hideOrShowDivider = require(\"app/utils/hide_or_show_divider\"), withScrollbarWidth = require(\"app/ui/with_scrollbar_width\"), params = require(\"app/utils/params\"), Tooltips = require(\"app/ui/tooltips\"), withInlineImageEditing = require(\"app/ui/with_inline_image_editing\");\n    module.exports = defineComponent(inlineProfileEditing, withScrollbarWidth, withInlineImageEditing);\n});\ndefine(\"app/data/settings\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_auth_token\",\"app/data/with_data\",], function(module, require, exports) {\n    var defineComponent = require(\"core/component\"), withAuthToken = require(\"app/data/with_auth_token\"), withData = require(\"app/data/with_data\");\n    var SettingsData = defineComponent(settingsData, withData, withAuthToken);\n    function settingsData() {\n        this.defaultAttrs({\n            ajaxTimeout: 6000,\n            noShowError: true\n        });\n        this.verifyUsername = function(JSBNG__event, data) {\n            this.get({\n                url: \"/users/username_available\",\n                eventData: data,\n                data: data,\n                success: \"dataUsernameResult\",\n                error: \"dataUsernameError\"\n            });\n        };\n        this.verifyEmail = function(JSBNG__event, data) {\n            this.get({\n                url: \"/users/email_available\",\n                eventData: data,\n                data: data,\n                success: \"dataEmailResult\",\n                error: \"dataEmailError\"\n            });\n        };\n        this.cancelPendingEmail = function(JSBNG__event, data) {\n            var success = function(json) {\n                this.trigger(\"dataCancelEmailSuccess\", json);\n            };\n            var error = function(request) {\n                this.trigger(\"dataCancelEmailFailure\", request);\n            };\n            this.post({\n                url: data.url,\n                data: this.addAuthToken(),\n                success: success.bind(this),\n                error: error.bind(this)\n            });\n        };\n        this.resendPendingEmail = function(JSBNG__event, data) {\n            var success = function(json) {\n                this.trigger(\"dataResendEmailSuccess\", json);\n            };\n            var error = function(request) {\n                this.trigger(\"dataResendEmailFailure\", request);\n            };\n            this.post({\n                url: data.url,\n                data: this.addAuthToken(),\n                success: success.bind(this),\n                error: error.bind(this)\n            });\n        };\n        this.resendPassword = function(JSBNG__event, data) {\n            this.post({\n                url: data.url,\n                data: this.addAuthToken(),\n                dataType: \"text\",\n                success: function() {\n                    this.trigger(\"dataForgotPasswordSuccess\", {\n                    });\n                }.bind(this)\n            });\n        };\n        this.deleteGeoData = function(JSBNG__event) {\n            var error = function(request) {\n                this.trigger(\"dataGeoDeletionError\", {\n                });\n            };\n            this.post({\n                url: \"/account/delete_location_data\",\n                dataType: \"text\",\n                data: this.addAuthToken(),\n                error: error.bind(this)\n            });\n        };\n        this.revokeAuthority = function(JSBNG__event, data) {\n            this.post({\n                url: \"/oauth/revoke\",\n                eventData: data,\n                data: data,\n                success: \"dataOAuthRevokeResultSuccess\",\n                error: \"dataOAuthRevokeResultFailure\"\n            });\n        };\n        this.uploadImage = function(JSBNG__event, data) {\n            var uploadTypeToUrl = {\n                header: \"/settings/profile/upload_profile_header\",\n                avatar: \"/settings/profile/profile_image_update\"\n            };\n            data.page_context = this.attr.pageName;\n            data.section_context = this.attr.sectionName;\n            this.post({\n                url: uploadTypeToUrl[data.uploadType],\n                eventData: data,\n                data: data,\n                success: \"dataImageEnqueued\",\n                error: \"dataImageFailedToEnqueue\"\n            });\n        };\n        this.checkImageUploadStatus = function(JSBNG__event, data) {\n            var uploadTypeToUrl = {\n                header: \"/settings/profile/check_header_processing_complete\",\n                avatar: \"/settings/profile/swift_check_processing_complete\"\n            };\n            this.get({\n                url: uploadTypeToUrl[data.uploadType],\n                eventData: data,\n                data: data,\n                headers: {\n                    \"X-Retry-After\": true\n                },\n                success: \"dataHasImageUploadStatus\",\n                error: \"dataFailedToGetImageUploadStatus\"\n            });\n        };\n        this.deleteImage = function(JSBNG__event, data) {\n            var uploadTypeToUrl = {\n                header: \"/settings/profile/destroy_profile_header\",\n                avatar: \"/settings/profile\"\n            };\n            data.page_context = this.attr.pageName;\n            data.section_context = this.attr.sectionName;\n            this.destroy({\n                url: uploadTypeToUrl[data.uploadType],\n                eventData: data,\n                data: data,\n                success: \"dataDeleteImageSuccess\",\n                error: \"dataDeleteImageFailure\"\n            });\n        };\n        this.resendConfirmationEmail = function(JSBNG__event, data) {\n            this.post({\n                url: \"/account/resend_confirmation_email\",\n                eventData: data,\n                data: data,\n                success: \"dataResendConfirmationEmailSuccess\",\n                error: \"dataResendConfirmationEmailError\"\n            });\n        };\n        this.tweetExport = function(JSBNG__event, data) {\n            this.post({\n                url: \"/account/request_tweet_export\",\n                eventData: data,\n                data: data,\n                success: \"dataTweetExportSuccess\",\n                error: \"dataTweetExportError\"\n            });\n        };\n        this.tweetExportResend = function(JSBNG__event, data) {\n            this.post({\n                url: \"/account/request_tweet_export_resend\",\n                eventData: data,\n                data: data,\n                success: \"dataTweetExportResendSuccess\",\n                error: \"dataTweetExportResendError\"\n            });\n        };\n        this.tweetExportIncrRateLimiter = function(JSBNG__event, data) {\n            this.post({\n                url: \"/account/request_tweet_export_download\",\n                eventData: data,\n                data: data,\n                success: \"dataTweetExportDownloadSuccess\",\n                error: \"dataTweetExportDownloadError\"\n            });\n        };\n        this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiUsernameChange\", this.verifyUsername);\n            this.JSBNG__on(\"uiEmailChange\", this.verifyEmail);\n            this.JSBNG__on(\"uiCancelPendingEmail\", this.cancelPendingEmail);\n            this.JSBNG__on(\"uiResendPendingEmail\", this.resendPendingEmail);\n            this.JSBNG__on(\"uiForgotPassword\", this.resendPassword);\n            this.JSBNG__on(\"uiDeleteGeoData\", this.deleteGeoData);\n            this.JSBNG__on(\"uiRevokeClick\", this.revokeAuthority);\n            this.JSBNG__on(\"uiImageSave\", this.uploadImage);\n            this.JSBNG__on(\"uiDeleteImage\", this.deleteImage);\n            this.JSBNG__on(\"uiCheckImageUploadStatus\", this.checkImageUploadStatus);\n            this.JSBNG__on(\"uiTweetExportButtonClicked\", this.tweetExport);\n            this.JSBNG__on(\"uiTweetExportResendButtonClicked\", this.tweetExportResend);\n            this.JSBNG__on(\"uiTweetExportConfirmEmail\", this.resendConfirmationEmail);\n            this.JSBNG__on(\"uiTweetExportIncrRateLimiter\", this.tweetExportIncrRateLimiter);\n            this.JSBNG__on(\"dataValidateUsername\", this.verifyUsername);\n            this.JSBNG__on(\"dataValidateEmail\", this.verifyEmail);\n        });\n    };\n;\n    module.exports = SettingsData;\n});\ndefine(\"app/ui/profile_edit_param\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/params\",], function(module, require, exports) {\n    function profileEditParam() {\n        this.hasEditParam = function() {\n            return !!params.fromQuery(window.JSBNG__location).edit;\n        }, this.checkEditParam = function() {\n            ((this.hasEditParam() && this.trigger(\"uiEditProfileInitialize\", {\n                scribeElement: \"edit_param\"\n            })));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiSwiftLoaded uiPageChanged\", this.checkEditParam);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), params = require(\"app/utils/params\");\n    module.exports = defineComponent(profileEditParam);\n});\ndefine(\"app/ui/alert_banner_to_message_drawer\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function alertBannerToMessageDrawer() {\n        this.showMessage = function(a, b) {\n            this.trigger(\"uiShowMessage\", b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiAlertBanner\", this.showMessage);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(alertBannerToMessageDrawer);\n});\ndefine(\"app/boot/inline_edit\", [\"module\",\"require\",\"exports\",\"app/ui/inline_edit\",\"app/data/async_profile\",\"app/ui/dialogs/profile_image_upload_dialog\",\"app/ui/dialogs/profile_edit_error_dialog\",\"app/ui/dialogs/profile_confirm_image_delete_dialog\",\"app/ui/droppable_image\",\"app/ui/profile_image_monitor\",\"app/data/inline_edit_scribe\",\"app/data/settings/profile_image_upload_scribe\",\"app/data/drag_and_drop_scribe\",\"app/ui/settings/change_photo\",\"app/ui/image_uploader\",\"app/ui/inline_profile_editing_initializor\",\"app/ui/inline_profile_editing\",\"app/data/settings\",\"app/utils/image\",\"app/ui/forms/input_with_placeholder\",\"app/ui/profile_edit_param\",\"app/ui/alert_banner_to_message_drawer\",\"core/i18n\",], function(module, require, exports) {\n    var InlineEdit = require(\"app/ui/inline_edit\"), AsyncProfileData = require(\"app/data/async_profile\"), ProfileImageUploadDialog = require(\"app/ui/dialogs/profile_image_upload_dialog\"), ProfileEditErrorDialog = require(\"app/ui/dialogs/profile_edit_error_dialog\"), ProfileConfirmImageDeleteDialog = require(\"app/ui/dialogs/profile_confirm_image_delete_dialog\"), DroppableImage = require(\"app/ui/droppable_image\"), ProfileImageMonitor = require(\"app/ui/profile_image_monitor\"), InlineEditScribe = require(\"app/data/inline_edit_scribe\"), ProfileImageUploadScribe = require(\"app/data/settings/profile_image_upload_scribe\"), DragAndDropScribe = require(\"app/data/drag_and_drop_scribe\"), ChangePhoto = require(\"app/ui/settings/change_photo\"), ImageUploader = require(\"app/ui/image_uploader\"), InlineProfileEditingInitializor = require(\"app/ui/inline_profile_editing_initializor\"), InlineProfileEditing = require(\"app/ui/inline_profile_editing\"), SettingsData = require(\"app/data/settings\"), image = require(\"app/utils/image\"), InputWithPlaceholder = require(\"app/ui/forms/input_with_placeholder\"), ProfileEditParam = require(\"app/ui/profile_edit_param\"), AlertBannerToMessageDrawer = require(\"app/ui/alert_banner_to_message_drawer\"), _ = require(\"core/i18n\");\n    module.exports = function(b) {\n        InlineProfileEditingInitializor.attachTo(\".profile-page-header\", b);\n        if (image.supportsCropper()) {\n            AlertBannerToMessageDrawer.attachTo(JSBNG__document), ProfileEditErrorDialog.attachTo(\"#profile_edit_error_dialog\", {\n                JSBNG__top: 0,\n                left: 0\n            }), InlineProfileEditing.attachTo(\".profile-page-header\", b), SettingsData.attachTo(JSBNG__document, b), AsyncProfileData.attachTo(JSBNG__document, b), InlineEdit.attachTo(\".profile-page-header .editable-group\"), InputWithPlaceholder.attachTo(\".profile-page-header .placeholding-input\", {\n                placeholder: \".placeholder\",\n                elementType: \"input,textarea\"\n            }), InlineEditScribe.attachTo(JSBNG__document), ProfileImageUploadScribe.attachTo(\"#profile_image_upload_dialog\"), ProfileImageUploadScribe.attachTo(\"#header_image_upload_dialog\"), DragAndDropScribe.attachTo(JSBNG__document);\n            var c = {\n                scribeContext: {\n                    component: \"profile_image_upload\"\n                }\n            };\n            ProfileConfirmImageDeleteDialog.attachTo(\"#avatar_confirm_remove_dialog\", {\n                JSBNG__top: 0,\n                left: 0,\n                uploadType: \"avatar\"\n            }), ImageUploader.attachTo(\".avatar-settings .uploader-image .photo-selector\", {\n                maxSizeInBytes: 10485760,\n                fileTooBigMessage: _(\"Please select a profile image that is less than 10 MB.\"),\n                uploadType: \"avatar\",\n                eventData: c\n            }), ProfileImageUploadDialog.attachTo(\"#profile_image_upload_dialog\", {\n                uploadType: \"avatar\",\n                eventData: c\n            }), ChangePhoto.attachTo(\"#choose-photo\", {\n                uploadType: \"avatar\",\n                alwaysOpen: !0,\n                confirmDelete: !0,\n                eventData: c\n            }), DroppableImage.attachTo(\".profile-page-header .profile-picture\", {\n                uploadType: \"avatar\",\n                eventData: c\n            }), ProfileImageMonitor.attachTo(\".uploader-avatar\", {\n                eventData: {\n                    scribeContext: {\n                        component: \"form\"\n                    }\n                }\n            });\n            var d = {\n                scribeContext: {\n                    component: \"header_image_upload\"\n                }\n            };\n            ProfileConfirmImageDeleteDialog.attachTo(\"#header_confirm_remove_dialog\", {\n                JSBNG__top: 0,\n                left: 0,\n                uploadType: \"header\"\n            }), ImageUploader.attachTo(\".header-settings .uploader-image .photo-selector\", {\n                fileNameString: \"user[profile_header_image_name]\",\n                fileDataString: \"user[profile_header_image]\",\n                fileInputString: \"user[profile_header_image]\",\n                uploadType: \"header\",\n                maxSizeInBytes: 10240000,\n                fileTooBigMessage: _(\"Please select an image that is less than 10MB.\"),\n                onError: function() {\n                    window.JSBNG__scrollTo(0, 0);\n                },\n                eventData: d\n            }), ProfileImageUploadDialog.attachTo(\"#header_image_upload_dialog\", {\n                uploadType: \"header\",\n                maskPadding: 0,\n                JSBNG__top: 0,\n                left: 0,\n                maximumWidth: 1252,\n                maximumHeight: 626,\n                imageNameSelector: \"#choose-header div.photo-selector input.file-name\",\n                imageDataSelector: \"#choose-header div.photo-selector input.file-data\",\n                eventData: d\n            }), ChangePhoto.attachTo(\"#choose-header\", {\n                uploadType: \"header\",\n                toggler: \"#profile_header_upload\",\n                chooseExistingSelector: \"#header-choose-existing\",\n                chooseWebcamSelector: \"#header-choose-webcam\",\n                deleteImageSelector: \"#header-delete-image\",\n                alwaysOpen: !0,\n                confirmDelete: !0,\n                eventData: d\n            }), DroppableImage.attachTo(\".profile-page-header .profile-header-inner\", {\n                uploadType: \"header\",\n                eventData: d\n            }), ProfileImageMonitor.attachTo(\".uploader-header\", {\n                uploadType: \"header\",\n                isProcessingCookie: \"header_processing_complete_key\",\n                thumbnailSelector: \"#header_image_preview\",\n                deleteButtonSelector: \"#remove_header\",\n                deleteFormSelector: \"#profile_banner_delete_form\",\n                eventData: {\n                    scribeContext: {\n                        component: \"form\"\n                    }\n                }\n            });\n        }\n    ;\n    ;\n        ProfileEditParam.attachTo(\".profile-page-header\");\n    };\n});\ndefine(\"app/ui/profile/canopy\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",], function(module, require, exports) {\n    function profileCanopy() {\n        this.defaultAttrs({\n            verticalThreshold: 280,\n            retractedCanopyClass: \"retracted\"\n        }), this.belowVerticalThreshhold = function() {\n            return ((this.$window.scrollTop() >= this.attr.verticalThreshold));\n        }, this.determineCanopyPresence = function() {\n            var a = this.$node.hasClass(this.attr.retractedCanopyClass);\n            ((this.belowVerticalThreshhold() ? ((a && this.trigger(\"uiShowProfileCanopy\"))) : ((a || this.trigger(\"uiHideProfileCanopy\")))));\n        }, this.showCanopyAfterModal = function() {\n            ((this.belowVerticalThreshhold() && this.showProfileCanopy()));\n        }, this.hideCanopyBeforeModal = function() {\n            ((this.belowVerticalThreshhold() && this.hideProfileCanopy()));\n        }, this.showProfileCanopy = function() {\n            this.$node.removeClass(this.attr.retractedCanopyClass);\n        }, this.hideProfileCanopy = function() {\n            this.$node.addClass(this.attr.retractedCanopyClass);\n        }, this.after(\"initialize\", function() {\n            this.$window = $(window), this.$node.removeClass(\"hidden\"), this.JSBNG__on(\"uiShowProfileCanopy\", this.showProfileCanopy), this.JSBNG__on(\"uiHideProfileCanopy\", this.hideProfileCanopy), this.JSBNG__on(window, \"JSBNG__scroll\", utils.throttle(this.determineCanopyPresence.bind(this))), this.JSBNG__on(JSBNG__document, \"uiShowProfilePopup\", this.hideCanopyBeforeModal), this.JSBNG__on(JSBNG__document, \"uiCloseProfilePopup\", this.showCanopyAfterModal), this.determineCanopyPresence();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\");\n    module.exports = defineComponent(profileCanopy);\n});\ndefine(\"app/data/profile_canopy_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function profileCanopyScribe() {\n        this.defaultAttrs({\n            scribeContext: {\n                component: \"profile_canopy\"\n            }\n        }), this.scribeProfileCanopy = function(a, b) {\n            var c = utils.merge(this.attr.scribeContext, {\n                action: \"impression\"\n            });\n            this.scribe(c, b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiShowProfileCanopy\", this.scribeProfileCanopy);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\"), ProfileCanopyScribe = defineComponent(profileCanopyScribe, withScribe);\n    module.exports = ProfileCanopyScribe;\n});\ndefine(\"app/ui/profile/head\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"app/ui/with_user_actions\",\"app/ui/with_profile_stats\",\"app/ui/with_handle_overflow\",\"core/utils\",], function(module, require, exports) {\n    function profileHead() {\n        this.defaultAttrs({\n            profileHead: !0,\n            isCanopy: !1,\n            editProfileButtonSelector: \".inline-edit-profile-btn\",\n            nonEmptyAvatarSelector: \".avatar:not(.empty-avatar)\",\n            emptyAvatarSelector: \".empty-avatar\",\n            overflowContainer: \".profile-header-inner\",\n            itemType: \"user\",\n            directMessages: \".dm-button\",\n            urlSelector: \".url a\"\n        }), this.showAvatarModal = function(a) {\n            a.preventDefault(), ((this.isEditing() || (this.trigger(\"uiAvatarClicked\"), this.trigger(a.target, \"uiOpenGallery\", {\n                title: _(\"@{{screenName}}'s profile photo\", {\n                    screenName: this.attr.profile_user.screen_name\n                })\n            }))));\n        }, this.emptyAvatarClicked = function(a) {\n            if (!this.isEditing()) {\n                a.preventDefault(), a.stopImmediatePropagation();\n                var b = $(a.target).attr(\"data-scribe-element\");\n                $(JSBNG__document).one(\"uiEditProfileStart\", this.showAvatarOptions.bind(this)), this.trigger(\"uiEditProfileInitialize\", {\n                    scribeElement: b\n                });\n            }\n        ;\n        ;\n        }, this.showAvatarOptions = function() {\n            this.trigger(\"uiShowEditAvatarOptions\");\n        }, this.editProfile = function(a) {\n            a.preventDefault();\n            var b = $(a.target).attr(\"data-scribe-element\");\n            this.trigger(JSBNG__document, \"uiEditProfileInitialize\", {\n                scribeElement: b\n            });\n        }, this.isEditing = function() {\n            return $(\"body\").hasClass(\"profile-editing\");\n        }, this.addGlowToEnvelope = function(a, b) {\n            this.select(\"directMessages\").addClass(\"new\");\n        }, this.removeGlowFromEnvelope = function(a, b) {\n            this.select(\"directMessages\").removeClass(\"new\");\n        }, this.addCountToEnvelope = function(a, b) {\n            var c = parseInt(b.msgCount, 10);\n            if (isNaN(c)) {\n                return;\n            }\n        ;\n        ;\n            var d = \"with-count\";\n            ((((c > 9)) ? d += \" with-count-2\" : ((((c > 99)) && (d += \" with-count-3\"))))), this.removeCountFromEnvelope(a, c), this.select(\"directMessages\").addClass(d), this.select(\"directMessages\").JSBNG__find(\".dm-new\").text(c);\n        }, this.removeCountFromEnvelope = function(a, b) {\n            this.select(\"directMessages\").removeClass(\"with-count with-count-2 with-count-3\");\n        }, this.urlClicked = function() {\n            this.trigger(\"uiUrlClicked\");\n        }, this.after(\"initialize\", function() {\n            this.checkForOverflow(this.select(\"overflowContainer\")), this.JSBNG__on(\"click\", {\n                nonEmptyAvatarSelector: this.showAvatarModal,\n                emptyAvatarSelector: this.emptyAvatarClicked,\n                editProfileButtonSelector: this.editProfile,\n                urlSelector: this.urlClicked\n            }), this.JSBNG__on(JSBNG__document, \"dataUserHasUnreadDMs dataUserHasUnreadDMsWithCount\", this.addGlowToEnvelope), this.JSBNG__on(JSBNG__document, \"dataUserHasNoUnreadDMs dataUserHasNoUnreadDMsWithCount\", this.removeGlowFromEnvelope), this.JSBNG__on(JSBNG__document, \"dataUserHasUnreadDMsWithCount\", this.addCountToEnvelope), this.JSBNG__on(JSBNG__document, \"dataUserHasNoUnreadDMsWithCount\", this.removeCountFromEnvelope), ((this.attr.isCanopy && this.JSBNG__on(\"uiHideProfileCanopy\", this.hideDropdown))), this.attr.eventData = utils.merge(((this.attr.eventData || {\n            })), {\n                scribeContext: this.attr.scribeContext,\n                profileHead: this.attr.profileHead\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), withUserActions = require(\"app/ui/with_user_actions\"), withProfileStats = require(\"app/ui/with_profile_stats\"), withHandleOverflow = require(\"app/ui/with_handle_overflow\"), utils = require(\"core/utils\");\n    module.exports = defineComponent(profileHead, withUserActions, withProfileStats, withHandleOverflow);\n});\ndefine(\"app/data/profile_head_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function profileHeadScribe() {\n        this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiAvatarClicked\", {\n                element: \"avatar\",\n                action: \"click\"\n            }), this.scribeOnEvent(\"uiUrlClicked\", {\n                element: \"url\",\n                action: \"click\"\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(profileHeadScribe, withScribe);\n});\ndefine(\"app/ui/profile/social_proof\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_item_actions\",], function(module, require, exports) {\n    function profileSocialProof() {\n        this.defaultAttrs({\n            itemType: \"user\"\n        }), this.after(\"initialize\", function() {\n            this.trigger(\"uiHasProfileSocialProof\");\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withItemActions = require(\"app/ui/with_item_actions\"), ProfileSocialProof = defineComponent(profileSocialProof, withItemActions);\n    module.exports = ProfileSocialProof;\n});\ndefine(\"app/data/profile_social_proof_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function profileSocialProofScribe() {\n        this.defaultAttrs({\n            scribeContext: {\n                component: \"profile_follow_card\"\n            }\n        }), this.scribeProfileSocialProof = function(a, b) {\n            var c = utils.merge(this.attr.scribeContext, {\n                element: \"social_proof\",\n                action: \"impression\"\n            });\n            this.scribe(c, b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiHasProfileSocialProof\", this.scribeProfileSocialProof);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\"), ProfileSocialProofScribe = defineComponent(profileSocialProofScribe, withScribe);\n    module.exports = ProfileSocialProofScribe;\n});\ndefine(\"app/ui/media/card_thumbnails\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/utils/image_thumbnail\",\"app/utils/image/image_loader\",\"core/i18n\",], function(module, require, exports) {\n    function cardThumbnails() {\n        var a = 800, b = {\n            NOT_LOADED: \"not-loaded\",\n            LOADING: \"loading\",\n            LOADED: \"loaded\"\n        };\n        this.hasMoreItems = !0, this.defaultAttrs({\n            profileUser: !1,\n            mediaGrid: !1,\n            mediaGridOpen: !1,\n            gridPushState: !1,\n            pushStateUrl: \"/\",\n            defaultGalleryTitle: _(\"Media Gallery\"),\n            viewAllSelector: \".list-link\",\n            thumbnailSelector: \".media-thumbnail\",\n            thumbnailContainerSelector: \".photo-list\",\n            thumbnailPlaceholderSelector: \".thumbnail-placeholder.first\",\n            thumbnailNotLoadedSelector: ((((\".media-thumbnail[data-load-status=\\\"\" + b.NOT_LOADED)) + \"\\\"]\")),\n            thumbnailType: \"thumb\",\n            thumbnailSize: 90,\n            thumbnailsVisible: 6,\n            showAllInlineMedia: !1,\n            loadOnEventName: \"uiLoadThumbnails\",\n            dataEvents: {\n                requestItems: \"uiWantsMoreMediaTimelineItems\",\n                gotItems: \"dataGotMoreMediaTimelineItems\"\n            },\n            defaultRequestData: {\n            }\n        }), this.thumbs = function() {\n            return this.select(\"thumbnailSelector\");\n        }, this.getMaxId = function() {\n            var a = this.thumbs();\n            if (a.length) {\n                return a.last().attr(\"data-status-id\");\n            }\n        ;\n        ;\n        }, this.shouldGetMoreItems = function(a) {\n            var b = $(a.target);\n            if (b.attr(\"data-paged\")) {\n                return;\n            }\n        ;\n        ;\n            this.getMoreItems();\n        }, this.getMoreItems = function() {\n            if (!this.hasMoreItems) {\n                return;\n            }\n        ;\n        ;\n            var a = this.thumbs();\n            a.attr(\"data-paged\", !0), this.trigger(JSBNG__document, this.attr.dataEvents.requestItems, utils.merge(this.attr.defaultRequestData, {\n                max_id: this.getMaxId()\n            }));\n        }, this.gotMoreItems = function(a, b) {\n            if (((b.thumbs_html && $.trim(b.thumbs_html).length))) {\n                var c = (($.isArray(b.thumbs_html) ? $(b.thumbs_html.join(\"\")) : $(b.thumbs_html)));\n                this.appendItems(c);\n            }\n             else this.hasMoreItems = !1;\n        ;\n        ;\n            this.trigger(JSBNG__document, \"dataGotMoreMediaItems\", b), ((((((this.select(\"thumbnailSelector\").length < this.attr.thumbnailsVisible)) && this.hasMoreItems)) && this.getMoreItems()));\n        }, this.appendItems = function(a) {\n            ((this.attr.gridPushState && (a.addClass(\"js-nav\"), a.attr(\"href\", this.attr.pushStateUrl)))), this.select(\"thumbnailPlaceholderSelector\").before(a), this.renderVisible();\n        }, this.renderVisible = function() {\n            var a = this.select(\"thumbnailSelector\").slice(0, this.attr.thumbnailsVisible), b = a.filter(this.attr.thumbnailNotLoadedSelector);\n            if (b.length) {\n                this.loadThumbs(b);\n                var c = {\n                    thumbnails: []\n                };\n                b.each(function(a, b) {\n                    c.thumbnails.push($(b).attr(\"data-url\"));\n                }), this.trigger(\"uiMediaThumbnailsVisible\", c);\n            }\n             else ((((a.length > 0)) && this.showThumbs()));\n        ;\n        ;\n            var c = {\n                thumbnails: []\n            };\n            b.each(function(a, b) {\n                c.thumbnails.push($(b).attr(\"data-url\"));\n            }), this.trigger(\"uiMediaThumbnailsVisible\", c);\n        }, this.loadThumbs = function(a) {\n            a.attr(\"data-load-status\", b.LOADING), a.each(this.loadThumb.bind(this));\n        }, this.loadThumb = function(a, b) {\n            var c = $(b), d = function(a) {\n                this.loadThumbSuccess(c, a);\n            }.bind(this), e = function() {\n                this.loadThumbFail(c);\n            }.bind(this);\n            imageLoader.load(c.attr(((\"data-resolved-url-\" + this.attr.thumbnailType))), d, e);\n        }, this.loadThumbSuccess = function(a, c) {\n            a.attr(\"data-load-status\", b.LOADED), c.css(imageThumbnail.getThumbnailOffset(c.get(0).height, c.get(0).width, this.attr.thumbnailSize)), a.append(c), this.showThumbs();\n        }, this.loadThumbFail = function(a) {\n            a.remove(), this.renderVisible();\n        }, this.showThumbs = function() {\n            this.$node.show(), this.$node.attr(\"data-loaded\", !0), this.gridAutoOpen();\n        }, this.thumbnailClick = function(a) {\n            a.stopPropagation(), a.preventDefault(), this.openGallery(a.target);\n            var b = $(a.target), c = ((b.hasClass(\"video\") ? \"video\" : \"photo\"));\n            this.trigger(\"uiMediaThumbnailClick\", {\n                url: b.attr(\"data-url\"),\n                mediaType: c\n            });\n        }, this.gridAutoOpen = function() {\n            ((((((this.attr.mediaGrid && this.attr.mediaGridOpen)) && this.thumbs().length)) && this.viewGrid()));\n        }, this.viewAllClick = function(a) {\n            ((this.attr.mediaGrid ? this.trigger(\"uiMediaViewAllClick\") : (this.openGallery(this.thumbs()[0]), a.preventDefault())));\n        }, this.showThumbs = function() {\n            this.$node.show(), this.$node.attr(\"data-loaded\", !0), ((this.attr.mediaGridOpen && (this.attr.mediaGridOpen = !1, this.viewGrid())));\n        }, this.viewGrid = function() {\n            this.openGrid(this.thumbs()[0]);\n        }, this.openGrid = function(a) {\n            this.trigger(a, \"uiOpenGrid\", {\n                gridTitle: this.attr.defaultGalleryTitle,\n                profileUser: this.attr.profileUser\n            });\n        }, this.openGallery = function(a) {\n            this.trigger(a, \"uiOpenGallery\", {\n                gridTitle: this.attr.defaultGalleryTitle,\n                showGrid: this.attr.mediaGrid,\n                profileUser: this.attr.profileUser\n            });\n        }, this.removeThumbs = function() {\n            this.thumbs().remove();\n        }, this.before(\"teardown\", this.removeThumbs), this.after(\"initialize\", function() {\n            ((this.$node.attr(\"data-loaded\") || (this.$node.hide(), this.trigger(\"uiMediaThumbnailsVisible\", {\n                thumbnails: []\n            })))), this.JSBNG__on(\"click\", {\n                thumbnailSelector: this.thumbnailClick,\n                viewAllSelector: this.viewAllClick\n            }), this.gridAutoOpen(), this.JSBNG__on(JSBNG__document, this.attr.dataEvents.gotItems, this.gotMoreItems), this.JSBNG__on(\"uiGalleryMediaLoad\", this.shouldGetMoreItems), ((this.attr.showAllInlineMedia ? this.getMoreItems() : this.JSBNG__on(JSBNG__document, \"uiReloadThumbs\", this.getMoreItems)));\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), imageThumbnail = require(\"app/utils/image_thumbnail\"), imageLoader = require(\"app/utils/image/image_loader\"), _ = require(\"core/i18n\"), CardThumbnails = defineComponent(cardThumbnails);\n    module.exports = CardThumbnails;\n});\ndefine(\"app/data/media_timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function mediaTimeline() {\n        this.requestItems = function(a, b) {\n            var c = {\n            }, d = {\n                since_id: b.since_id,\n                max_id: b.max_id\n            };\n            this.get({\n                url: this.attr.endpoint,\n                headers: c,\n                data: d,\n                eventData: b,\n                success: \"dataGotMoreMediaTimelineItems\",\n                error: \"dataGotMoreMediaTimelineItemsError\"\n            });\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"uiWantsMoreMediaTimelineItems\", this.requestItems);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(mediaTimeline, withData);\n});\ndefine(\"app/data/media_thumbnails_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function mediaThumbnailsScribe() {\n        var a = /\\:[A-Z0-9_-]+$/i;\n        this.scribeMediaThumbnailResults = function(b, c) {\n            var d = c.thumbnails.length, e = ((d ? \"results\" : \"no_results\")), f = {\n                item_count: d\n            };\n            ((d && (f.item_names = c.thumbnails.map(function(b) {\n                return b.replace(a, \"\");\n            })))), this.scribe({\n                action: e\n            }, c, f);\n        }, this.scribeMediaThumbnailClick = function(b, c) {\n            var d = {\n                url: ((c.url && c.url.replace(a, \"\")))\n            }, e = {\n                element: c.mediaType,\n                action: \"click\"\n            };\n            this.scribe(e, c, d);\n        }, this.scribeMediaViewAllClick = function(a, b) {\n            this.scribe({\n                action: \"view_all\"\n            }, b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"uiMediaGalleryResults\", this.scribeMediaThumbnailResults), this.JSBNG__on(JSBNG__document, \"uiMediaThumbnailsVisible\", this.scribeMediaThumbnailResults), this.JSBNG__on(JSBNG__document, \"uiMediaThumbnailClick\", this.scribeMediaThumbnailClick), this.JSBNG__on(JSBNG__document, \"uiMediaViewAllClick\", this.scribeMediaViewAllClick);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(mediaThumbnailsScribe, withScribe);\n});\ndefine(\"app/ui/suggested_users\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_user_actions\",\"app/ui/with_item_actions\",\"app/ui/with_interaction_data\",], function(module, require, exports) {\n    function suggestedUsers() {\n        this.defaultAttrs({\n            closeSelector: \".js-close\",\n            itemType: \"user\",\n            userSelector: \".js-actionable-user\",\n            eventMode: \"profileHead\",\n            targetSelector: \"#suggested-users\",\n            childSelector: \"\"\n        }), this.getTimelineNodeSelector = function(a) {\n            return ((((((this.attr.targetSelector + ((a ? ((((\"[data-item-id=\\\"\" + a)) + \"\\\"]\")) : \"\")))) + \" \")) + this.attr.childSelector));\n        }, this.getTargetChildNode = function(a) {\n            var b;\n            return ((a[this.attr.eventMode] && ((((this.attr.eventMode === \"timeline_recommendations\")) ? b = this.$node.JSBNG__find(this.getTimelineNodeSelector(a.userId)) : b = this.$node)))), b;\n        }, this.getTargetParentNode = function(a) {\n            return ((((this.attr.eventMode === \"timeline_recommendations\")) ? $(a.target).closest(this.attr.childSelector) : this.$node));\n        }, this.slideInContent = function(a, b) {\n            var c = this.getTargetChildNode(b.sourceEventData);\n            if (((((!c || ((c.length !== 1)))) || c.hasClass(\"has-content\")))) {\n                return;\n            }\n        ;\n        ;\n            c.addClass(\"has-content\"), c.html(b.html), c.hide().slideDown();\n            var d = [];\n            c.JSBNG__find(this.attr.userSelector).map(function(a, b) {\n                d.push(this.interactionData($(b), {\n                    position: a\n                }));\n            }.bind(this)), this.trigger(\"uiSuggestedUsersRendered\", {\n                items: d,\n                user_id: b.sourceEventData.userId\n            });\n        }, this.slideOutContent = function(a, b) {\n            var c = this.getTargetParentNode(a);\n            if (((c.length === 0))) {\n                return;\n            }\n        ;\n        ;\n            c.slideUp(function() {\n                c.empty(), c.removeClass(\"has-content\");\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataSuggestedUsersSuccess\", this.slideInContent), this.JSBNG__on(\"click\", {\n                closeSelector: this.slideOutContent\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withUserActions = require(\"app/ui/with_user_actions\"), withItemActions = require(\"app/ui/with_item_actions\"), withInteractionData = require(\"app/ui/with_interaction_data\");\n    module.exports = defineComponent(suggestedUsers, withUserActions, withItemActions, withInteractionData);\n});\ndefine(\"app/data/suggested_users\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",\"app/data/with_interaction_data_scribe\",], function(module, require, exports) {\n    function suggestedUsersData() {\n        var a = function(a) {\n            return ((a && ((a.profileHead || a.timeline_recommendations))));\n        };\n        this.getHTML = function(b, c) {\n            function d(a) {\n                ((a.html && this.trigger(\"dataSuggestedUsersSuccess\", a)));\n            };\n        ;\n            if (!a(c)) {\n                return;\n            }\n        ;\n        ;\n            this.get({\n                url: \"/i/users/suggested_users\",\n                data: {\n                    user_id: c.userId,\n                    limit: 2,\n                    timeline_recommendations: !!c.timeline_recommendations\n                },\n                eventData: c,\n                success: d.bind(this),\n                error: \"dataSuggestedUsersFailure\"\n            });\n        }, this.scribeSuggestedUserResults = function(a, b) {\n            this.scribeInteractiveResults({\n                element: \"initial\",\n                action: \"results\"\n            }, b.items, b, {\n                referring_event: \"initial\",\n                profile_id: b.user_id\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiSuggestedUsersRendered\", this.scribeSuggestedUserResults), this.JSBNG__on(\"uiFollowAction\", this.getHTML);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), withInteractionDataScribe = require(\"app/data/with_interaction_data_scribe\");\n    module.exports = defineComponent(suggestedUsersData, withData, withInteractionDataScribe);\n});\ndefine(\"app/ui/gallery/grid\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"core/i18n\",\"app/utils/image/image_loader\",\"app/ui/with_scrollbar_width\",], function(module, require, exports) {\n    function grid() {\n        this.defaultAttrs({\n            thumbnailSize: 196,\n            gridTitle: _(\"Media Gallery\"),\n            gridPushState: !0,\n            pushStateCloseUrl: \"/\",\n            profileUser: !1,\n            mediaSelector: \".media-thumbnail\",\n            mediasSelector: \".photo-list\",\n            gridHeaderSelector: \".grid-header\",\n            gridTitleSelector: \".header-title\",\n            gridSubTitleSelector: \".header-subtitle\",\n            gridPicSelector: \".header-pic .avatar\",\n            gridSelector: \".grid-media\",\n            gridContainerSelector: \".grid-container\",\n            closeSelector: \".action-close\",\n            gridFooterSelector: \".grid-footer\",\n            gridLoadingSelector: \".grid-loading\"\n        }), this.atBottom = !1, this.isOpen = function() {\n            return this.select(\"gridContainerSelector\").is(\":visible\");\n        }, this.open = function(a, b) {\n            this.calculateScrollbarWidth();\n            if (b.fromGallery) {\n                this.show();\n                return;\n            }\n        ;\n        ;\n            ((((b && b.gridTitle)) && (this.attr.gridTitle = b.gridTitle))), this.$mediaContainer = $(a.target).closest(this.attr.mediasSelector);\n            var c = this.$mediaContainer.JSBNG__find(this.attr.mediaSelector);\n            this.select(\"mediaSelector\").remove(), this.populate(c), this.initHeader(), this.select(\"gridContainerSelector\").JSBNG__on(\"JSBNG__scroll\", utils.throttle(this.onScroll.bind(this), 200)), this.$node.removeClass(\"hidden\"), $(\"body\").addClass(\"grid-enabled\"), this.trigger(\"uiGridOpened\");\n        }, this.loadMore = function(a, b) {\n            if (((((this.isOpen() && b.thumbs_html)) && b.thumbs_html.length))) {\n                var c = (($.isArray(b.thumbs_html) ? $(b.thumbs_html.join(\"\")) : $(b.thumbs_html)));\n                this.populate(c), this.trigger(\"uiGridPaged\");\n            }\n             else if (((!b.thumbs_html || !b.thumbs_html.length))) {\n                this.atBottom = !0, this.loadComplete(), this.processGrid(!0);\n            }\n            \n        ;\n        ;\n        }, this.initHeader = function() {\n            ((this.attr.profileUser ? (this.$node.addClass(\"tall\"), this.select(\"gridSubTitleSelector\").text(((\"@\" + this.attr.profileUser.screen_name))), this.select(\"gridPicSelector\").attr(\"src\", this.attr.profileUser.profile_image_url_https), this.select(\"gridPicSelector\").attr(\"alt\", this.attr.profileUser.JSBNG__name)) : (this.$node.removeClass(\"tall\"), this.select(\"gridSubTitleSelector\").text(\"\"), this.select(\"gridPicSelector\").attr(\"src\", \"\"), this.select(\"gridPicSelector\").attr(\"alt\", \"\")))), this.select(\"gridTitleSelector\").text(this.attr.gridTitle), ((this.attr.gridPushState ? (this.select(\"gridSubTitleSelector\").attr(\"href\", this.attr.pushStateCloseUrl), this.select(\"gridTitleSelector\").attr(\"href\", this.attr.pushStateCloseUrl)) : (this.select(\"gridSubTitleSelector\").removeClass(\"js-nav\"), this.select(\"gridTitleSelector\").removeClass(\"js-nav\"))));\n        }, this.show = function() {\n            $(\"body\").addClass(\"grid-enabled\"), JSBNG__setTimeout(function() {\n                this.ignoreEsc = !1;\n            }.bind(this), 400);\n        }, this.hide = function() {\n            $(\"body\").removeClass(\"grid-enabled\"), this.ignoreEsc = !0;\n        }, this.onEsc = function(a) {\n            ((this.ignoreEsc || this.close(a)));\n        }, this.close = function(a) {\n            a.stopPropagation(), a.preventDefault(), this.select(\"gridContainerSelector\").scrollTop(0), $(\"body\").removeClass(\"grid-enabled\"), this.select(\"gridContainerSelector\").off(\"JSBNG__scroll\"), this.trigger(\"uiGridClosed\"), this.ignoreEsc = !1;\n        }, this.populate = function(a) {\n            var b = a.clone();\n            b.JSBNG__find(\"img\").remove(), b.removeClass(\"js-nav\"), b.removeAttr(\"href\"), b.JSBNG__find(\".play\").removeClass(\"play\").addClass(\"play-large\"), b.insertBefore(this.select(\"gridFooterSelector\")), this.processGrid(), b.each(function(a, b) {\n                this.renderMedia(b);\n            }.bind(this)), this.$mediaContainer.attr(\"data-grid-processed\", \"true\"), this.onScroll();\n        }, this.onScroll = function(a) {\n            if (this.atBottom) {\n                return;\n            }\n        ;\n        ;\n            var b = this.select(\"gridContainerSelector\").scrollTop();\n            if (((this.select(\"gridContainerSelector\").get(0).scrollHeight < ((((b + $(window).height())) + SCROLLTHRESHOLD))))) {\n                var c = this.getLast();\n                ((c.attr(\"data-grid-paged\") ? this.loadComplete() : (c.attr(\"data-grid-paged\", \"true\"), this.trigger(this.getLast(), \"uiGalleryMediaLoad\"))));\n            }\n        ;\n        ;\n        }, this.loadComplete = function() {\n            this.$node.addClass(\"load-complete\");\n        }, this.getLast = function() {\n            var a = this.select(\"mediaSelector\").last(), b = a.attr(\"data-status-id\");\n            return this.$mediaContainer.JSBNG__find(((((\".media-thumbnail[data-status-id='\" + b)) + \"']\"))).last();\n        }, this.medias = function() {\n            return this.select(\"mediaSelector\");\n        }, this.unprocessedMedias = function() {\n            return this.medias().filter(\":not([data-grid-processed='true'])\");\n        }, this.processGrid = function(a) {\n            var b = this.unprocessedMedias();\n            if (!b.length) {\n                return;\n            }\n        ;\n        ;\n            var c = 0, d = 0, e = [];\n            for (var f = 0; ((f < b.length)); f++) {\n                var g = $(b[f]);\n                ((!c && (c = parseInt(g.attr(\"data-height\"))))), ((a && (c = GRIDHEIGHT))), d += this.scaleGridMedia(g, c), e.push(g);\n                if (((((((d / c)) >= GRIDRATIO)) || a))) {\n                    ((a && (d = GRIDWIDTH))), this.setGridRow(e, d, c, a), d = 0, c = 0, e = [], this.processGrid();\n                }\n            ;\n            ;\n            };\n        ;\n        }, this.scaleGridMedia = function(a, b) {\n            var c = parseInt(a.attr(\"data-height\")), d = parseInt(a.attr(\"data-width\")), e = ((((b / c)) * d));\n            return ((((((d / c)) > PANORATIO)) && (e = ((b * PANORATIO)), a.attr(\"data-pano\", \"true\")))), a.attr({\n                \"scaled-height\": b,\n                \"scaled-width\": e\n            }), e;\n        }, this.setGridRow = function(a, b, c, d) {\n            var e = ((GRIDWIDTH - ((a.length * GRIDMARGIN)))), f = ((e / b)), g = ((c * f));\n            $.each(a, function(a, b) {\n                var c = ((parseInt(b.attr(\"scaled-width\")) * f));\n                b.height(g), b.width(c), b.attr(\"scaled-height\", g), b.attr(\"Scaled-width\", c), b.attr(\"data-grid-processed\", \"true\"), b.addClass(\"enabled\"), ((((((a == 0)) && !d)) && b.addClass(\"clear\")));\n            });\n        }, this.renderMedia = function(a) {\n            var b = $(a), c = function(a) {\n                this.loadThumbSuccess(b, a);\n            }.bind(this), d = function() {\n                this.loadThumbFail(b);\n            }.bind(this);\n            imageLoader.load(b.attr(\"data-resolved-url-small\"), c, d);\n        }, this.loadThumbSuccess = function(a, b) {\n            if (a.attr(\"data-pano\")) {\n                var c = ((((a.height() / parseInt(a.attr(\"data-height\")))) * parseInt(a.attr(\"data-width\"))));\n                b.width(c), b.css(\"margin-left\", ((((-((c - a.width())) / 2)) + \"px\")));\n            }\n        ;\n        ;\n            a.prepend(b);\n        }, this.loadThumbFail = function(a) {\n            a.remove();\n        }, this.openGallery = function(a) {\n            var b = $(a.target).closest(this.attr.mediaSelector), c = b.attr(\"data-status-id\"), d = this.$mediaContainer.JSBNG__find(((((\".media-thumbnail[data-status-id='\" + c)) + \"']\")));\n            this.trigger(d, \"uiOpenGallery\", {\n                title: this.title,\n                fromGrid: !0\n            }), this.hide();\n        }, this.after(\"initialize\", function() {\n            this.ignoreEsc = !0, this.JSBNG__on(JSBNG__document, \"uiOpenGrid\", this.open), this.JSBNG__on(JSBNG__document, \"uiCloseGrid\", this.close), this.JSBNG__on(JSBNG__document, \"dataGotMoreMediaItems\", this.loadMore), this.JSBNG__on(\"click\", {\n                mediaSelector: this.openGallery,\n                closeSelector: this.close\n            }), ((this.attr.gridPushState || (this.JSBNG__on(JSBNG__document, \"uiShortcutEsc\", this.onEsc), this.JSBNG__on(\"click\", {\n                gridTitleSelector: this.close,\n                gridSubTitleSelector: this.close,\n                gridPicSelector: this.close\n            }))));\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), _ = require(\"core/i18n\"), imageLoader = require(\"app/utils/image/image_loader\"), withScrollbarWidth = require(\"app/ui/with_scrollbar_width\"), Grid = defineComponent(grid, withScrollbarWidth), GRIDWIDTH = 824, GRIDMARGIN = 12, GRIDHEIGHT = 210, GRIDRATIO = 3.5, PANORATIO = 3, SCROLLTHRESHOLD = 1000;\n    module.exports = Grid;\n});\ndefine(\"app/boot/profile\", [\"module\",\"require\",\"exports\",\"app/boot/app\",\"core/i18n\",\"app/boot/trends\",\"app/boot/logged_out\",\"app/boot/inline_edit\",\"app/ui/profile/canopy\",\"app/data/profile_canopy_scribe\",\"app/ui/profile/head\",\"app/data/profile_head_scribe\",\"app/ui/profile/social_proof\",\"app/data/profile_social_proof_scribe\",\"app/ui/dashboard_tweetbox\",\"app/ui/who_to_follow/who_to_follow_dashboard\",\"app/data/who_to_follow\",\"app/data/who_to_follow_scribe\",\"app/ui/profile/recent_connections_module\",\"app/ui/media/card_thumbnails\",\"app/data/media_timeline\",\"app/data/media_thumbnails_scribe\",\"core/utils\",\"app/ui/suggested_users\",\"app/data/suggested_users\",\"app/data/client_event\",\"app/ui/navigation_links\",\"app/data/profile_edit_btn_scribe\",\"app/boot/wtf_module\",\"app/ui/gallery/grid\",], function(module, require, exports) {\n    function initialize(a) {\n        bootApp(a), trends(a), whoToFollowModule(a);\n        var b = \".profile-canopy\", c = {\n            scribeContext: {\n                component: \"profile_canopy\"\n            }\n        };\n        ProfileHead.attachTo(b, a, c, {\n            profileHead: !1,\n            isCanopy: !0\n        }), ProfileHeadScribe.attachTo(b, c), ProfileCanopy.attachTo(b), ProfileCanopyScribe.attachTo(b);\n        var d = \".profile-page-header\", e = {\n            scribeContext: {\n                component: \"profile_follow_card\"\n            }\n        };\n        ProfileHead.attachTo(d, a, e), ProfileHeadScribe.attachTo(d);\n        var f = \".profile-social-proof\";\n        ProfileSocialProofScribe.attachTo(f), ProfileSocialProof.attachTo(f), ((a.inlineProfileEditing && inlineEditBoot(a))), ProfileEditBtnScribe.attachTo(d, e), clientEvent.scribeData.profile_id = a.profile_id, loggedOutBoot(a), MediaThumbnailsScribe.attachTo(JSBNG__document, a);\n        var g = {\n            showAllInlineMedia: !0,\n            defaultGalleryTitle: a.profile_user.JSBNG__name,\n            profileUser: a.profile_user,\n            mediaGrid: a.mediaGrid,\n            mediaGridOpen: a.mediaGridOpen,\n            gridPushState: a.mediaGrid,\n            pushStateUrl: ((((\"/\" + a.profile_user.screen_name)) + \"/media/grid\")),\n            eventData: {\n                scribeContext: {\n                    component: \"dashboard_media\"\n                }\n            }\n        }, h;\n        h = \".enhanced-media-thumbnails\", g.thumbnailSize = 90, g.thumbnailsVisible = 6, MediaTimeline.attachTo(JSBNG__document, {\n            endpoint: ((((\"/i/profiles/show/\" + a.profile_user.screen_name)) + \"/media_timeline\"))\n        }), CardThumbnails.attachTo(h, utils.merge(a, g)), Grid.attachTo(\".grid\", {\n            sandboxes: a.sandboxes,\n            loggedIn: a.loggedIn,\n            eventData: {\n                scribeContext: {\n                    component: \"grid\"\n                }\n            },\n            mediaGridOpen: a.mediaGridOpen,\n            pushStateCloseUrl: ((\"/\" + a.profile_user.screen_name)),\n            gridTitle: _(\"{{name}}'s photos and videos\", {\n                JSBNG__name: a.profile_user.JSBNG__name\n            }),\n            profileUser: a.profile_user\n        }), NavigationLinks.attachTo(\".profile-page-header\", {\n            eventData: {\n                scribeContext: {\n                    component: \"profile_follow_card\"\n                }\n            }\n        }), DashboardTweetbox.attachTo(\".profile-tweet-box\", {\n            draftTweetId: ((\"profile_\" + a.profile_id)),\n            eventData: {\n                scribeContext: {\n                    component: \"tweet_box\"\n                }\n            }\n        });\n        var i = utils.merge(a, {\n            eventData: {\n                scribeContext: {\n                    component: \"similar_user_recommendations\"\n                }\n            }\n        }), j = \".dashboard .js-similar-to-module\";\n        WhoToFollowDashboard.attachTo(j, i), WhoToFollowData.attachTo(j, i), WhoToFollowScribe.attachTo(j, i), RecentConnectionsModule.attachTo(\".dashboard .recent-followers-module\", a, {\n            eventData: {\n                scribeContext: {\n                    component: \"recent_followers\"\n                }\n            }\n        }), RecentConnectionsModule.attachTo(\".dashboard .recently-followed-module\", a, {\n            eventData: {\n                scribeContext: {\n                    component: \"recently_followed\"\n                }\n            }\n        }), SuggestedUsersData.attachTo(JSBNG__document), SuggestedUsers.attachTo(\"#suggested-users\", utils.merge({\n            eventData: {\n                scribeContext: {\n                    component: \"user_similarities_list\"\n                }\n            }\n        }, a));\n    };\n;\n    var bootApp = require(\"app/boot/app\"), _ = require(\"core/i18n\"), trends = require(\"app/boot/trends\"), loggedOutBoot = require(\"app/boot/logged_out\"), inlineEditBoot = require(\"app/boot/inline_edit\"), ProfileCanopy = require(\"app/ui/profile/canopy\"), ProfileCanopyScribe = require(\"app/data/profile_canopy_scribe\"), ProfileHead = require(\"app/ui/profile/head\"), ProfileHeadScribe = require(\"app/data/profile_head_scribe\"), ProfileSocialProof = require(\"app/ui/profile/social_proof\"), ProfileSocialProofScribe = require(\"app/data/profile_social_proof_scribe\"), DashboardTweetbox = require(\"app/ui/dashboard_tweetbox\"), WhoToFollowDashboard = require(\"app/ui/who_to_follow/who_to_follow_dashboard\"), WhoToFollowData = require(\"app/data/who_to_follow\"), WhoToFollowScribe = require(\"app/data/who_to_follow_scribe\"), RecentConnectionsModule = require(\"app/ui/profile/recent_connections_module\"), CardThumbnails = require(\"app/ui/media/card_thumbnails\"), MediaTimeline = require(\"app/data/media_timeline\"), MediaThumbnailsScribe = require(\"app/data/media_thumbnails_scribe\"), utils = require(\"core/utils\"), SuggestedUsers = require(\"app/ui/suggested_users\"), SuggestedUsersData = require(\"app/data/suggested_users\"), clientEvent = require(\"app/data/client_event\"), NavigationLinks = require(\"app/ui/navigation_links\"), ProfileEditBtnScribe = require(\"app/data/profile_edit_btn_scribe\"), whoToFollowModule = require(\"app/boot/wtf_module\"), Grid = require(\"app/ui/gallery/grid\");\n    module.exports = initialize;\n});\ndefine(\"app/pages/profile/tweets\", [\"module\",\"require\",\"exports\",\"app/boot/profile\",\"app/boot/tweet_timeline\",\"app/boot/user_completion_module\",], function(module, require, exports) {\n    var profileBoot = require(\"app/boot/profile\"), tweetTimelineBoot = require(\"app/boot/tweet_timeline\"), userCompletionModuleBoot = require(\"app/boot/user_completion_module\");\n    module.exports = function(b) {\n        profileBoot(b), tweetTimelineBoot(b, b.timeline_url, \"tweet\"), userCompletionModuleBoot(b), ((b.profile_user && $(JSBNG__document).trigger(\"profileVisit\", b.profile_user)));\n    };\n});\ndefine(\"app/ui/timelines/with_cursor_pagination\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withCursorPagination() {\n        function a() {\n            return !0;\n        };\n    ;\n        function b() {\n            return !1;\n        };\n    ;\n        this.isOldItem = a, this.isNewItem = b, this.wasRangeRequest = b, this.wasNewItemsRequest = b, this.wasOldItemsRequest = a, this.shouldGetOldItems = function() {\n            return !!this.cursor;\n        }, this.getOldItemsData = function() {\n            return {\n                cursor: this.cursor,\n                is_forward: !this.attr.isBackward,\n                query: this.query\n            };\n        }, this.resetStateVariables = function(a) {\n            ((((a && ((a.cursor !== undefined)))) ? (this.cursor = a.cursor, this.select(\"containerSelector\").attr(\"data-cursor\", this.cursor)) : this.cursor = ((this.select(\"containerSelector\").attr(\"data-cursor\") || \"\"))));\n        }, this.after(\"initialize\", function(a) {\n            this.query = ((a.query || \"\")), this.resetStateVariables(), this.JSBNG__on(\"uiTimelineReset\", this.resetStateVariables);\n        });\n    };\n;\n    module.exports = withCursorPagination;\n});\ndefine(\"app/ui/with_stream_users\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withStreamUsers() {\n        this.defaultAttrs({\n            streamUserSelector: \".stream-items .js-actionable-user\"\n        }), this.usersDisplayed = function() {\n            var a = this.select(\"streamUserSelector\"), b = [];\n            a.each(function(a, c) {\n                var d = $(c);\n                b.push({\n                    id: d.attr(\"data-user-id\"),\n                    impressionId: d.attr(\"data-impression-id\")\n                });\n            }), this.trigger(\"uiUsersDisplayed\", {\n                users: b\n            });\n        }, this.after(\"initialize\", function() {\n            this.usersDisplayed();\n        });\n    };\n;\n    module.exports = withStreamUsers;\n});\ndefine(\"app/ui/timelines/user_timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/timelines/with_base_timeline\",\"app/ui/timelines/with_old_items\",\"app/ui/timelines/with_cursor_pagination\",\"app/ui/with_item_actions\",\"app/ui/with_user_actions\",\"app/ui/with_stream_users\",], function(module, require, exports) {\n    function userTimeline() {\n        this.defaultAttrs({\n            itemType: \"user\"\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withBaseTimeline = require(\"app/ui/timelines/with_base_timeline\"), withOldItems = require(\"app/ui/timelines/with_old_items\"), withCursorPagination = require(\"app/ui/timelines/with_cursor_pagination\"), withItemActions = require(\"app/ui/with_item_actions\"), withUserActions = require(\"app/ui/with_user_actions\"), withStreamUsers = require(\"app/ui/with_stream_users\");\n    module.exports = defineComponent(userTimeline, withBaseTimeline, withOldItems, withCursorPagination, withItemActions, withUserActions, withStreamUsers);\n});\ndefine(\"app/boot/user_timeline\", [\"module\",\"require\",\"exports\",\"app/boot/timeline\",\"app/ui/timelines/user_timeline\",\"core/utils\",], function(module, require, exports) {\n    function initialize(a, b, c, d) {\n        var e = utils.merge(a, {\n            endpoint: b,\n            itemType: c,\n            eventData: {\n                scribeContext: {\n                    component: d\n                },\n                timeline_recommendations: a.timeline_recommendations\n            }\n        });\n        timelineBoot(e), UserTimeline.attachTo(\"#timeline\", e);\n    };\n;\n    var timelineBoot = require(\"app/boot/timeline\"), UserTimeline = require(\"app/ui/timelines/user_timeline\"), utils = require(\"core/utils\");\n    module.exports = initialize;\n});\ndefine(\"app/ui/timelines/follower_request_timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_interaction_data\",], function(module, require, exports) {\n    function followerRequestTimeline() {\n        this.defaultAttrs({\n            userItemSelector: \"div.js-follower-request\",\n            streamUserItemSelector: \"li.js-stream-item\",\n            followerActionsSelector: \".friend-actions\",\n            profileActionsSelector: \".js-profile-actions\",\n            acceptFollowerSelector: \".js-action-accept\",\n            declineFollowerSelector: \".js-action-deny\",\n            itemType: \"user\"\n        }), this.findUser = function(a) {\n            return this.$node.JSBNG__find(((((((this.attr.userItemSelector + \"[data-user-id=\")) + a)) + \"]\")));\n        }, this.findFollowerActions = function(a) {\n            return this.findUser(a).JSBNG__find(this.attr.followerActionsSelector);\n        }, this.findProfileActions = function(a) {\n            return this.findUser(a).JSBNG__find(this.attr.profileActionsSelector);\n        }, this.handleAcceptSuccess = function(a, b) {\n            this.findFollowerActions(b.userId).hide(), this.findProfileActions(b.userId).show();\n        }, this.handleDeclineSuccess = function(a, b) {\n            var c = this.findUser(b.userId);\n            c.closest(this.attr.streamUserItemSelector).remove();\n        }, this.handleDecisionFailure = function(a, b) {\n            var c = this.findFollowerActions(b.userId);\n            c.JSBNG__find(\".btn\").attr(\"disabled\", !1).removeClass(\"pending\");\n        }, this.handleFollowerDecision = function(a) {\n            return function(b, c) {\n                b.preventDefault(), b.stopPropagation();\n                var d = this.interactionData(b), e = this.findFollowerActions(d.userId);\n                e.JSBNG__find(\".btn\").attr(\"disabled\", !0);\n                var f = e.JSBNG__find(((((a == \"Accept\")) ? this.attr.acceptFollowerSelector : this.attr.declineFollowerSelector)));\n                f.addClass(\"pending\"), this.trigger(((\"uiDidFollower\" + a)), d);\n            };\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                acceptFollowerSelector: this.handleFollowerDecision(\"Accept\"),\n                declineFollowerSelector: this.handleFollowerDecision(\"Decline\")\n            }), this.JSBNG__on(JSBNG__document, \"dataFollowerAcceptSuccess\", this.handleAcceptSuccess), this.JSBNG__on(JSBNG__document, \"dataFollowerDeclineSuccess\", this.handleDeclineSuccess), this.JSBNG__on(JSBNG__document, \"dataFollowerAcceptFailure dataFollowerDeclineFailure\", this.handleDecisionFailure);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withInteractionData = require(\"app/ui/with_interaction_data\");\n    module.exports = defineComponent(followerRequestTimeline, withInteractionData);\n});\ndefine(\"app/data/follower_request\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function followerRequestData() {\n        this.followerRequestAction = function(a, b) {\n            return function(c, d) {\n                var e = function() {\n                    this.trigger(((((\"dataFollower\" + b)) + \"Success\")), {\n                        userId: d.userId\n                    });\n                }.bind(this), f = function() {\n                    this.trigger(((((\"dataFollower\" + b)) + \"Failure\")), {\n                        userId: d.userId\n                    });\n                }.bind(this);\n                this.post({\n                    url: a,\n                    data: {\n                        user_id: d.userId\n                    },\n                    eventData: d,\n                    success: e,\n                    error: f\n                });\n            };\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"uiDidFollowerAccept\", this.followerRequestAction(\"/i/user/accept\", \"Accept\")), this.JSBNG__on(JSBNG__document, \"uiDidFollowerDecline\", this.followerRequestAction(\"/i/user/deny\", \"Decline\"));\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(followerRequestData, withData);\n});\ndefine(\"app/pages/profile/follower_requests\", [\"module\",\"require\",\"exports\",\"app/boot/profile\",\"app/boot/user_timeline\",\"app/ui/timelines/follower_request_timeline\",\"app/data/follower_request\",], function(module, require, exports) {\n    var profileBoot = require(\"app/boot/profile\"), userTimelineBoot = require(\"app/boot/user_timeline\"), FollowerRequestTimeline = require(\"app/ui/timelines/follower_request_timeline\"), FollowerRequestData = require(\"app/data/follower_request\");\n    module.exports = function(b) {\n        profileBoot(b), userTimelineBoot(b, b.timeline_url, \"user\"), FollowerRequestTimeline.attachTo(\"#timeline\", b), FollowerRequestData.attachTo(JSBNG__document, b);\n    };\n});\ndefine(\"app/pages/profile/followers\", [\"module\",\"require\",\"exports\",\"app/boot/profile\",\"app/boot/user_timeline\",\"app/data/contact_import\",\"app/data/contact_import_scribe\",\"app/ui/who_to_follow/import_loading_dialog\",\"app/ui/who_to_follow/import_services\",\"app/ui/suggested_users\",], function(module, require, exports) {\n    var profileBoot = require(\"app/boot/profile\"), userTimelineBoot = require(\"app/boot/user_timeline\"), ContactImportData = require(\"app/data/contact_import\"), ContactImportScribe = require(\"app/data/contact_import_scribe\"), ImportLoadingDialog = require(\"app/ui/who_to_follow/import_loading_dialog\"), ImportServices = require(\"app/ui/who_to_follow/import_services\"), SuggestedUsers = require(\"app/ui/suggested_users\");\n    module.exports = function(b) {\n        profileBoot(b), b.allowInfiniteScroll = b.loggedIn, userTimelineBoot(b, b.timeline_url, \"user\", \"user\"), ContactImportData.attachTo(JSBNG__document, b), ContactImportScribe.attachTo(JSBNG__document, b), ImportLoadingDialog.attachTo(\"#import-loading-dialog\", b), ImportServices.attachTo(\".followers-import-prompt\", {\n            launchServiceSelector: \".js-launch-service\"\n        }), ((b.timeline_recommendations && SuggestedUsers.attachTo(\"#timeline\", {\n            eventData: {\n                scribeContext: {\n                    component: \"user_similarities_list\"\n                }\n            },\n            eventMode: \"timeline_recommendations\",\n            targetSelector: \".js-stream-item\",\n            childSelector: \".js-recommendations-container\"\n        })));\n    };\n});\ndefine(\"app/pages/profile/following\", [\"module\",\"require\",\"exports\",\"app/boot/profile\",\"app/boot/user_timeline\",], function(module, require, exports) {\n    var profileBoot = require(\"app/boot/profile\"), userTimelineBoot = require(\"app/boot/user_timeline\");\n    module.exports = function(b) {\n        profileBoot(b), b.allowInfiniteScroll = b.loggedIn, userTimelineBoot(b, b.timeline_url, \"user\", \"user\");\n    };\n});\ndefine(\"app/pages/profile/favorites\", [\"module\",\"require\",\"exports\",\"app/boot/profile\",\"app/boot/tweet_timeline\",], function(module, require, exports) {\n    var profileBoot = require(\"app/boot/profile\"), tweetTimelineBoot = require(\"app/boot/tweet_timeline\");\n    module.exports = function(b) {\n        profileBoot(b), b.allowInfiniteScroll = b.loggedIn, tweetTimelineBoot(b, b.timeline_url, \"tweet\");\n    };\n});\ndefine(\"app/ui/timelines/list_timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/timelines/with_base_timeline\",\"app/ui/timelines/with_old_items\",\"app/ui/timelines/with_cursor_pagination\",\"app/ui/with_item_actions\",\"app/ui/with_user_actions\",], function(module, require, exports) {\n    function listTimeline() {\n        this.defaultAttrs({\n            createListSelector: \".js-create-list-button\",\n            itemType: \"list\"\n        }), this.after(\"initialize\", function(a) {\n            this.JSBNG__on(\"click\", {\n                createListSelector: this.openListCreateDialog\n            });\n        }), this.openListCreateDialog = function() {\n            this.trigger(\"uiOpenCreateListDialog\", {\n                userId: this.userId\n            });\n        };\n    };\n;\n    var defineComponent = require(\"core/component\"), withBaseTimeline = require(\"app/ui/timelines/with_base_timeline\"), withOldItems = require(\"app/ui/timelines/with_old_items\"), withCursorPagination = require(\"app/ui/timelines/with_cursor_pagination\"), withItemActions = require(\"app/ui/with_item_actions\"), withUserActions = require(\"app/ui/with_user_actions\");\n    module.exports = defineComponent(listTimeline, withBaseTimeline, withOldItems, withCursorPagination, withItemActions, withUserActions);\n});\ndefine(\"app/boot/list_timeline\", [\"module\",\"require\",\"exports\",\"app/boot/timeline\",\"app/ui/timelines/list_timeline\",\"core/utils\",], function(module, require, exports) {\n    function initialize(a, b, c, d) {\n        var e = utils.merge(a, {\n            endpoint: b,\n            itemType: c,\n            eventData: {\n                scribeContext: {\n                    component: d\n                }\n            }\n        });\n        timelineBoot(e), ListTimeline.attachTo(\"#timeline\", e);\n    };\n;\n    var timelineBoot = require(\"app/boot/timeline\"), ListTimeline = require(\"app/ui/timelines/list_timeline\"), utils = require(\"core/utils\");\n    module.exports = initialize;\n});\ndefine(\"app/pages/profile/lists\", [\"module\",\"require\",\"exports\",\"app/boot/profile\",\"app/boot/list_timeline\",], function(module, require, exports) {\n    var profileBoot = require(\"app/boot/profile\"), listTimelineBoot = require(\"app/boot/list_timeline\");\n    module.exports = function(b) {\n        profileBoot(b), listTimelineBoot(b, b.timeline_url, \"list\");\n    };\n});\ndefine(\"app/ui/with_removable_stream_items\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withRemovableStreamItems() {\n        this.defaultAttrs({\n            streamItemSelector: \".js-stream-item\"\n        }), this.removeStreamItem = function(a) {\n            var b = ((((((this.attr.streamItemSelector + \"[data-item-id=\")) + a)) + \"]\"));\n            this.$node.JSBNG__find(b).remove();\n        };\n    };\n;\n    module.exports = withRemovableStreamItems;\n});\ndefine(\"app/ui/similar_to\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_removable_stream_items\",], function(module, require, exports) {\n    function similarTo() {\n        this.handleUserActionSuccess = function(a, b) {\n            ((((b.requestUrl == \"/i/user/hide\")) && this.removeStreamItem(b.userId)));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataUserActionSuccess\", this.handleUserActionSuccess);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withRemovableStreamItems = require(\"app/ui/with_removable_stream_items\");\n    module.exports = defineComponent(similarTo, withRemovableStreamItems);\n});\ndefine(\"app/pages/profile/similar_to\", [\"module\",\"require\",\"exports\",\"app/boot/profile\",\"app/boot/user_timeline\",\"app/ui/similar_to\",], function(module, require, exports) {\n    var profileBoot = require(\"app/boot/profile\"), userTimelineBoot = require(\"app/boot/user_timeline\"), similarTo = require(\"app/ui/similar_to\");\n    module.exports = function(b) {\n        profileBoot(b), userTimelineBoot(b, b.timeline_url, \"user\", \"user\"), similarTo.attachTo(\"#timeline\");\n    };\n});\ndefine(\"app/ui/facets\", [\"module\",\"require\",\"exports\",\"app/utils/cookie\",\"core/component\",], function(module, require, exports) {\n    function uiFacets() {\n        this.defaultAttrs({\n            topImagesSelector: \".top-images\",\n            topVideosSelector: \".top-videos\",\n            notDisplayedSelector: \".facets-media-not-displayed\",\n            displayMediaSelector: \".display-this-media\",\n            showAllInlineMedia: !1\n        }), this.addFacets = function(a, b) {\n            this.select(\"topImagesSelector\").html(b.photos), this.select(\"topVideosSelector\").html(b.videos), ((this.attr.showAllInlineMedia && this.reloadFacets()));\n        }, this.showFacet = function(a, b) {\n            ((((b.thumbnails.length > 0)) && $(a.target).show()));\n            var c = this.$node.JSBNG__find(\".js-nav-links\\u003Eli:visible\"), d = c.last();\n            c.removeClass(\"last-item\"), d.addClass(\"last-item\");\n        }, this.dismissDisplayMedia = function() {\n            this.attr.showAllInlineMedia = !0, this.setMediaCookie(), this.select(\"notDisplayedSelector\").hide(), this.reloadFacets();\n        }, this.setMediaCookie = function() {\n            cookie(\"show_all_inline_media\", !0);\n        }, this.reloadFacets = function() {\n            this.trigger(this.select(\"topImagesSelector\"), \"uiReloadThumbs\"), this.trigger(this.select(\"topVideosSelector\"), \"uiReloadThumbs\");\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"dataHasFacets\", this.addFacets), this.JSBNG__on(\"uiMediaThumbnailsVisible\", this.showFacet), this.JSBNG__on(\"click\", {\n                displayMediaSelector: this.dismissDisplayMedia\n            }), this.trigger(\"uiNeedsFacets\", {\n                q: a.query,\n                onebox_type: a.oneboxType\n            });\n        });\n    };\n;\n    var cookie = require(\"app/utils/cookie\"), defineComponent = require(\"core/component\");\n    module.exports = defineComponent(uiFacets);\n});\ndefine(\"app/data/facets_timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function facetsTimeline() {\n        this.defaultAttrs({\n            query: \"\"\n        }), this.requestItems = function(a, b) {\n            var c = {\n            }, d = {\n                since_id: b.since_id,\n                max_id: b.max_id,\n                facet_type: b.facet_type,\n                onebox_type: b.onebox_type,\n                q: this.attr.query\n            };\n            this.get({\n                url: this.attr.endpoint,\n                headers: c,\n                data: d,\n                eventData: b,\n                success: ((((\"dataGotMoreFacet\" + b.facet_type)) + \"TimelineItems\")),\n                error: ((((\"dataGotMoreFacet\" + b.facet_type)) + \"TimelineItemsError\"))\n            });\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(JSBNG__document, \"uiWantsMoreFacetTimelineItems\", this.requestItems);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(facetsTimeline, withData);\n});\ndefine(\"app/ui/dialogs/iph_search_result_dialog\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_dialog\",\"app/ui/with_position\",\"app/data/with_scribe\",\"app/data/ddg\",], function(module, require, exports) {\n    function inProductHelpDialog() {\n        this.defaultAttrs({\n            helpfulSelector: \"#helpful_button\",\n            notHelpfulSelector: \"#not_helpful_button\",\n            inProductHelpSelector: \"#search_result_help\",\n            feedbackQuestionSelector: \"#satisfaction_question\",\n            feedbackButtonsSelector: \"#satisfaction_buttons\",\n            feedbackMessageSelector: \"#satisfaction_feedback\"\n        }), this.JSBNG__openDialog = function(a) {\n            ddg.impression(\"in_product_help_search_result_page_392\"), this.scribe({\n                component: \"search_result\",\n                element: \"learn_more_dialog\",\n                action: \"impression\"\n            }), this.open();\n        }, this.voteHelpful = function(a) {\n            this.scribe({\n                component: \"search_result\",\n                element: \"learn_more_dialog\",\n                action: ((a ? \"helpful\" : \"unhelpful\"))\n            }), this.select(\"feedbackQuestionSelector\").hide(), this.select(\"feedbackButtonsSelector\").hide(), this.select(\"feedbackMessageSelector\").fadeIn();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                helpfulSelector: function() {\n                    this.voteHelpful(!0);\n                },\n                notHelpfulSelector: function() {\n                    this.voteHelpful(!1);\n                }\n            }), this.JSBNG__on(this.attr.inProductHelpSelector, \"click\", this.JSBNG__openDialog), this.select(\"feedbackMessageSelector\").hide();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withDialog = require(\"app/ui/with_dialog\"), withPosition = require(\"app/ui/with_position\"), withScribe = require(\"app/data/with_scribe\"), ddg = require(\"app/data/ddg\");\n    module.exports = defineComponent(inProductHelpDialog, withDialog, withPosition, withScribe);\n});\ndefine(\"app/ui/search/archive_navigator\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/utils/storage/custom\",\"core/i18n\",], function(module, require, exports) {\n    function archiveNavigator() {\n        this.monthLabels = [_(\"Jan\"),_(\"Feb\"),_(\"Mar\"),_(\"Apr\"),_(\"May\"),_(\"Jun\"),_(\"Jul\"),_(\"Aug\"),_(\"Sep\"),_(\"Oct\"),_(\"Nov\"),_(\"Dec\"),], this.defaultAttrs({\n            timeRanges: [],\n            highlights: [],\n            query: \"\",\n            sinceTime: null,\n            untilTime: null,\n            ttl_ms: 21600000,\n            canvasSelector: \"canvas\",\n            canvasContainerSelector: \"#archive-drilldown-container\",\n            timeRangeSelector: \".time-ranges\",\n            timeRangeLinkSelector: \".time-ranges a\",\n            highlightContainerSelector: \".highlights\",\n            highlightLinkSelector: \".highlights a\",\n            pastNavSelector: \".past-nav\",\n            futureNavSelector: \".future-nav\",\n            timeNavQuerySource: \"tnav\",\n            highlightNavQuerySource: \"hnav\",\n            activeItemClass: \"active\"\n        }), this.sortedCoordinates = function() {\n            var a = this.attr.timeRanges.concat(this.attr.highlights);\n            return a.sort(function(a, b) {\n                return ((a.timestamp - b.timestamp));\n            }).map(function(a) {\n                return {\n                    x: a.timestamp,\n                    y: a.activityScore\n                };\n            });\n        }, this.compileCoordinates = function(a) {\n            var b = a[0].x, c = a[((a.length - 1))].x, d = a[0].y, e = a[0].y, f, g;\n            for (f = 1, g = a.length; ((f < g)); f++) {\n                var h = a[f];\n                ((((h.y < d)) ? d = h.y : ((((h.y > e)) && (e = h.y)))));\n            };\n        ;\n            var i = new JSBNG__Date(((b * 1000)));\n            return b = (((new JSBNG__Date(i.getUTCFullYear(), i.getUTCMonth(), 1)).getTime() / 1000)), i = new JSBNG__Date(((c * 1000))), c = (((new JSBNG__Date(i.getUTCFullYear(), ((i.getUTCMonth() + 1)), 0)).getTime() / 1000)), this.renderedTimeRange = {\n                since: b,\n                until: c\n            }, d = 0, e *= 1.1, {\n                coordinates: a,\n                minX: b,\n                minY: d,\n                maxX: c,\n                maxY: e\n            };\n        }, this.setupViewFrame = function() {\n            var a = this.select(\"canvasSelector\"), b = this.select(\"canvasContainerSelector\").width(), c = ((this.compiledCoordinates.maxX - this.compiledCoordinates.minX));\n            ((((((this.renderedTimeRange.until - this.renderedTimeRange.since)) < ((((SECONDS_IN_YEAR * 7)) / 6)))) ? (a.width(b), this.select(\"timeRangeSelector\").width(b), this.select(\"highlightContainerSelector\").width(b), this.graphResolution = ((c / b))) : (this.graphResolution = Math.round(((SECONDS_IN_YEAR / b))), this.select(\"timeRangeSelector\").width(Math.round(((c / this.graphResolution)))), this.select(\"highlightContainerSelector\").width(Math.round(((c / this.graphResolution)))), a.width(Math.round(((c / this.graphResolution))))))), this.canvas.width = a.width(), this.canvas.height = a.height(), this.canvasTransform = {\n                translateX: ((-this.compiledCoordinates.minX / this.graphResolution)),\n                translateY: ((((this.canvas.height - ((STROKE_WIDTH / 2)))) - BOTTOM_INSET)),\n                scaleX: ((1 / this.graphResolution)),\n                scaleY: ((-((((((this.canvas.height - STROKE_WIDTH)) - BOTTOM_INSET)) - TOP_INSET)) / ((this.compiledCoordinates.maxY - this.compiledCoordinates.minY))))\n            };\n        }, this.setupCoordinates = function() {\n            if (((this.attr.timeRanges.length == 0))) {\n                return;\n            }\n        ;\n        ;\n            var a = this.sortedCoordinates();\n            this.compiledCoordinates = this.compileCoordinates(a), this.setupViewFrame();\n        }, this.getElementOffsetForCoordinate = function(a) {\n            var b = ((this.canvasTransform.translateX + ((this.canvasTransform.scaleX * a.x)))), c = ((this.canvasTransform.translateY + ((this.canvasTransform.scaleY * a.y))));\n            return {\n                left: b,\n                JSBNG__top: c\n            };\n        }, this.drawGraph = function() {\n            this.drawAxes(), this.plotActivity(), this.plotHighlights();\n        }, this.plotHighlights = function() {\n            var a = this.select(\"highlightContainerSelector\");\n            a.empty(), this.attr.highlights.forEach(function(b) {\n                var c = this.getElementOffsetForCoordinate({\n                    x: b.timestamp,\n                    y: b.activityScore\n                }), d = this.highlightItemTemplate.clone();\n                d.attr(\"href\", ((\"/search?\" + $.param({\n                    mode: \"archive\",\n                    q: this.attr.query,\n                    src: this.attr.highlightNavQuerySource,\n                    since_time: b.drilldownSince,\n                    until_time: b.drilldownUntil\n                })))), d.data(\"monthsInPast\", this.offsetToMonthsPast(c.left, !0)), d.addClass(\"js-nav\"), ((((((this.attr.sinceTime == b.drilldownSince)) && ((this.attr.untilTime == b.drilldownUntil)))) && d.addClass(this.attr.activeItemClass))), d.css(\"left\", ((Math.round(c.left) + \"px\"))), d.css(\"JSBNG__top\", ((Math.round(c.JSBNG__top) + \"px\"))), a.append(d);\n            }, this);\n        }, this.plotActivity = function() {\n            var a = this.compiledCoordinates.coordinates, b = this.compiledCoordinates.minX, c = this.compiledCoordinates.minY, d = this.compiledCoordinates.maxX, e = this.compiledCoordinates.maxY;\n            if (a.length) {\n                var f = this.canvas.getContext(\"2d\");\n                ((((a[0].x !== b)) && (a = [{\n                    x: b,\n                    y: 0\n                },].concat(a)))), f.save(), f.translate(this.canvasTransform.translateX, this.canvasTransform.translateY), f.scale(this.canvasTransform.scaleX, this.canvasTransform.scaleY);\n                var g = ((STROKE_WIDTH * this.graphResolution)), h = ((((BOTTOM_INSET / ((((this.canvas.height - STROKE_WIDTH)) - BOTTOM_INSET)))) / ((e - c))));\n                f.beginPath(), f.JSBNG__moveTo(((a[0].x - ((g / 2)))), ((((c - ((g / 2)))) - h))), f.lineTo(((a[0].x - ((g / 2)))), a[0].y), a.slice(1).forEach(function(a) {\n                    f.lineTo(a.x, a.y);\n                }), f.lineTo(((a[((a.length - 1))].x + ((g / 2)))), a[((a.length - 1))].y), f.lineTo(((a[((a.length - 1))].x + ((g / 2)))), ((c - h))), f.closePath();\n                var i = f.createLinearGradient(0, e, 0, ((c - h)));\n                i.addColorStop(0, GRADIENT_FILL_TOP_COLOR), i.addColorStop(1, GRADIENT_FILL_BOTTOM_COLOR), f.fillStyle = i, f.fill(), f.beginPath(), f.JSBNG__moveTo(a[0].x, a[0].y), a.slice(1).forEach(function(a) {\n                    f.lineTo(a.x, a.y);\n                }, this), f.restore();\n                var j = f.createLinearGradient(0, TOP_INSET, 0, ((this.canvas.height - BOTTOM_INSET)));\n                j.addColorStop(1, STROKE_GRADIENT_TOP_COLOR), j.addColorStop(337485, STROKE_GRADIENT_MIDDLE_COLOR), j.addColorStop(0, STROKE_GRADIENT_BOTTOM_COLOR), f.lineWidth = STROKE_WIDTH, f.lineCap = \"round\", f.lineJoin = \"round\", f.strokeStyle = j, f.stroke();\n            }\n        ;\n        ;\n        }, this.drawAxes = function() {\n            var a = this.compiledCoordinates.minX, b = this.compiledCoordinates.minY, c = this.compiledCoordinates.maxX, d = this.compiledCoordinates.maxY, e = this.canvas.width, f = this.canvas.height;\n            this.select(\"timeRangeSelector\").empty();\n            var g = this.canvas.getContext(\"2d\");\n            g.lineWidth = 1, g.strokeStyle = GRAPH_GRID_COLOR;\n            var h = new JSBNG__Date(((a * 1000))), i = this.getElementOffsetForCoordinate({\n                x: 0,\n                y: d\n            }).JSBNG__top, j = this.getElementOffsetForCoordinate({\n                x: 0,\n                y: b\n            }).JSBNG__top, k, l, m = a, n = Math.round(this.getElementOffsetForCoordinate({\n                x: m,\n                y: 0\n            }).left);\n            g.beginPath(), g.JSBNG__moveTo(((n + 338199)), i), g.lineTo(((n + 338216)), j);\n            while (((m < c))) {\n                var o = this.monthLinkTemplate.clone(), p = this.monthLabels[h.getUTCMonth()], q = h.getUTCFullYear();\n                o.attr(\"title\", ((((p + \" \")) + q))), o.JSBNG__find(\".month\").text(p), o.JSBNG__find(\".year\").text(q), k = m, h.setUTCMonth(((h.getUTCMonth() + 1))), m = ((h.getTime() / 1000)), o.attr(\"href\", ((\"/search?\" + $.param({\n                    mode: \"archive\",\n                    q: this.attr.query,\n                    src: this.attr.timeNavQuerySource,\n                    since_time: k,\n                    until_time: m\n                })))), o.addClass(\"js-nav\"), ((((((this.attr.sinceTime == k)) && ((this.attr.untilTime == m)))) && o.addClass(this.attr.activeItemClass))), l = n;\n                var r = this.getElementOffsetForCoordinate({\n                    x: m,\n                    y: 0\n                });\n                n = Math.round(r.left), o.data(\"monthsInPast\", this.offsetToMonthsPast(r.left, !0)), o.css(\"width\", ((((n - l)) + \"px\"))), this.select(\"timeRangeSelector\").append(o), g.JSBNG__moveTo(((n - 338904)), i), g.lineTo(((n - 338921)), j);\n            };\n        ;\n            g.stroke();\n        }, this.rangeClick = function(a) {\n            var b = $(a.target).closest(\"a\");\n            if (b.is(\".active\")) {\n                a.preventDefault();\n                return;\n            }\n        ;\n        ;\n            this.trigger(\"uiArchiveRangeClick\", {\n                monthsInPast: b.data(\"monthsInPast\")\n            });\n        }, this.highlightClick = function(a) {\n            var b = $(a.target).closest(\"a\");\n            if (b.is(\".active\")) {\n                a.preventDefault();\n                return;\n            }\n        ;\n        ;\n            this.trigger(\"uiArchiveHighlightClick\", {\n                monthsInPast: b.data(\"monthsInPast\")\n            });\n        }, this.navFuture = function() {\n            var a = Math.round(((((((((-1 * SECONDS_IN_YEAR)) * 3)) / 4)) / this.graphResolution)));\n            this.navTime(a);\n            var b = this.offsetToMonthsPast(this.containerOffset);\n            this.trigger(\"uiArchiveNavFuture\", {\n                monthsInPast: b\n            });\n        }, this.navPast = function() {\n            var a = Math.round(((((((SECONDS_IN_YEAR * 3)) / 4)) / this.graphResolution)));\n            this.navTime(a);\n            var b = this.offsetToMonthsPast(this.containerOffset);\n            this.trigger(\"uiArchiveNavPast\", {\n                monthsInPast: b\n            });\n        }, this.offsetToMonthsPast = function(a, b) {\n            return ((b && (a = ((this.canvas.width - a))))), Math.round(((((((a * this.graphResolution)) / SECONDS_IN_YEAR)) * 12)));\n        }, this.navActive = function() {\n            var a = this.$node.JSBNG__find(((\".\" + this.attr.activeItemClass))), b = 0;\n            if (((a.length > 0))) {\n                var c = $(a).position(), d = this.select(\"canvasContainerSelector\").width(), e = this.canvas.width;\n                b = ((((e - c.left)) - ((d / 2))));\n            }\n        ;\n        ;\n            this.navTime(b);\n        }, this.navTime = function(a) {\n            this.containerOffset += a;\n            var b = this.select(\"canvasContainerSelector\").width(), c = this.canvas.width, d = ((c - b));\n            if (((b == c))) {\n                return;\n            }\n        ;\n        ;\n            this.containerOffset = Math.min(Math.max(this.containerOffset, 0), d), this.select(\"pastNavSelector\").css(\"visibility\", ((((this.containerOffset < d)) ? \"visible\" : \"hidden\"))), this.select(\"futureNavSelector\").css(\"visibility\", ((((this.containerOffset > 0)) ? \"visible\" : \"hidden\"))), $(\"#archive-drilldown-content\").css(\"transform\", ((((\"translateX(\" + this.containerOffset)) + \"px)\")));\n        }, this.updateFromCache = function() {\n            var a = this.storage.getItem(\"query\");\n            ((((((a == this.attr.query)) && ((this.attr.timeRanges.length == 0)))) ? (this.attr.timeRanges = ((this.storage.getItem(\"timeRanges\") || [])), this.attr.highlights = ((this.storage.getItem(\"highlights\") || [])), this.canvasTransform = this.storage.getItem(\"canvasTransform\")) : ((((this.attr.timeRanges.length > 0)) && (this.storage.setItem(\"query\", this.attr.query, this.attr.ttl_ms), this.storage.setItem(\"timeRanges\", this.attr.timeRanges, this.attr.ttl_ms), this.storage.setItem(\"highlights\", this.attr.highlights, this.attr.ttl_ms))))));\n        }, this.after(\"initialize\", function() {\n            var a = JSBNG__document.createElement(\"canvas\");\n            if (((!a.getContext || !a.getContext(\"2d\")))) {\n                this.$node.hide();\n                return;\n            }\n        ;\n        ;\n            this.JSBNG__on(\"click\", {\n                pastNavSelector: this.navPast,\n                futureNavSelector: this.navFuture,\n                timeRangeLinkSelector: this.rangeClick,\n                highlightLinkSelector: this.highlightClick\n            });\n            var b = customStorage({\n                withExpiry: !0\n            });\n            this.storage = new b(\"archiveSearch\"), this.updateFromCache();\n            if (((this.attr.timeRanges.length == 0))) {\n                this.$node.hide();\n                return;\n            }\n        ;\n        ;\n            this.$node.show(), this.canvas = this.select(\"canvasSelector\")[0], this.monthLinkTemplate = this.select(\"timeRangeLinkSelector\").clone(!1), this.select(\"timeRangeLinkSelector\").remove(), this.highlightItemTemplate = this.select(\"highlightLinkSelector\").clone(!1), this.select(\"highlightLinkSelector\").remove(), this.setupCoordinates(), this.drawGraph(), this.containerOffset = 0, this.navActive();\n            var c = this.select(\"timeRangeLinkSelector\").length;\n            this.trigger(\"uiArchiveShown\", {\n                monthsDisplayed: c\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), customStorage = require(\"app/utils/storage/custom\"), _ = require(\"core/i18n\");\n    module.exports = defineComponent(archiveNavigator);\n    var SECONDS_IN_YEAR = 31536000, STROKE_WIDTH = 2, TOP_INSET = 0, BOTTOM_INSET = 0, MINIMUM_TIME_PERIOD = 5184000, TWEET_EPOCH = 1142899200, GRAPH_GRID_COLOR = \"#e8e8e8\", GRADIENT_FILL_TOP_COLOR = \"rgba(44, 138, 205, 0.75)\", GRADIENT_FILL_BOTTOM_COLOR = \"rgba(44, 138, 205, 0.00)\", STROKE_GRADIENT_TOP_COLOR = \"#203c87\", STROKE_GRADIENT_MIDDLE_COLOR = \"#0075be\", STROKE_GRADIENT_BOTTOM_COLOR = \"#29abe2\";\n});\ndefine(\"app/data/archive_navigator_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/utils\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function ArchiveNavigatorScribe() {\n        this.generateNavData = function(a) {\n            return {\n                event_info: a.monthsInPast\n            };\n        }, this.generateImpressionData = function(a) {\n            return {\n                event_info: a.monthsDisplayed\n            };\n        }, this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiArchiveRangeClick\", {\n                element: \"section\",\n                action: \"search\"\n            }, this.generateNavData), this.scribeOnEvent(\"uiArchiveHighlightClick\", {\n                element: \"peak\",\n                action: \"search\"\n            }, this.generateNavData), this.scribeOnEvent(\"uiArchiveNavFuture\", {\n                element: \"future_nav\",\n                action: \"JSBNG__navigate\"\n            }, this.generateNavData), this.scribeOnEvent(\"uiArchiveNavPast\", {\n                element: \"past_nav\",\n                action: \"JSBNG__navigate\"\n            }, this.generateNavData), this.scribeOnEvent(\"uiArchiveShown\", \"impression\", this.generateImpressionData);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), utils = require(\"core/utils\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(ArchiveNavigatorScribe, withScribe);\n});\ndefine(\"app/boot/search\", [\"module\",\"require\",\"exports\",\"app/boot/app\",\"app/boot/logged_out\",\"core/utils\",\"app/boot/wtf_module\",\"app/boot/trends\",\"core/i18n\",\"app/ui/facets\",\"app/data/media_thumbnails_scribe\",\"app/ui/media/card_thumbnails\",\"app/data/facets_timeline\",\"app/ui/navigation_links\",\"app/ui/dialogs/iph_search_result_dialog\",\"app/ui/search/archive_navigator\",\"app/data/archive_navigator_scribe\",\"app/data/client_event\",], function(module, require, exports) {\n    var bootApp = require(\"app/boot/app\"), loggedOutBoot = require(\"app/boot/logged_out\"), utils = require(\"core/utils\"), whoToFollowModule = require(\"app/boot/wtf_module\"), trends = require(\"app/boot/trends\"), _ = require(\"core/i18n\"), uiFacets = require(\"app/ui/facets\"), MediaThumbnailsScribe = require(\"app/data/media_thumbnails_scribe\"), CardThumbnails = require(\"app/ui/media/card_thumbnails\"), FacetsTimeline = require(\"app/data/facets_timeline\"), NavigationLinks = require(\"app/ui/navigation_links\"), InProductHelpDialog = require(\"app/ui/dialogs/iph_search_result_dialog\"), ArchiveNavigator = require(\"app/ui/search/archive_navigator\"), ArchiveNavigatorScribe = require(\"app/data/archive_navigator_scribe\"), clientEvent = require(\"app/data/client_event\");\n    module.exports = function(b) {\n        bootApp(b), loggedOutBoot(b), clientEvent.scribeData.query = b.query, whoToFollowModule(b), trends(b), MediaThumbnailsScribe.attachTo(JSBNG__document, b), FacetsTimeline.attachTo(JSBNG__document, {\n            endpoint: \"/i/search/facets\",\n            query: b.query\n        }), CardThumbnails.attachTo(\".top-images\", utils.merge(b, {\n            thumbnailSize: 66,\n            thumbnailsVisible: 4,\n            loadOnEventName: \"uiLoadThumbnails\",\n            defaultGalleryTitle: _(\"Top photos for \\\"{{query}}\\\"\", {\n                query: b.query\n            }),\n            profileUser: !1,\n            mediaGrid: !1,\n            dataEvents: {\n                requestItems: \"uiWantsMoreFacetTimelineItems\",\n                gotItems: \"dataGotMoreFacetimagesTimelineItems\"\n            },\n            defaultRequestData: {\n                facet_type: \"images\",\n                onebox_type: b.oneboxType\n            },\n            eventData: {\n                scribeContext: {\n                    component: \"dashboard_photos\"\n                }\n            }\n        })), CardThumbnails.attachTo(\".top-videos\", utils.merge(b, {\n            thumbnailSize: 66,\n            thumbnailsVisible: 4,\n            loadOnEventName: \"uiLoadThumbnails\",\n            defaultGalleryTitle: _(\"Top videos for \\\"{{query}}\\\"\", {\n                query: b.query\n            }),\n            profileUser: !1,\n            mediaGrid: !1,\n            dataEvents: {\n                requestItems: \"uiWantsMoreFacetTimelineItems\",\n                gotItems: \"dataGotMoreFacetvideosTimelineItems\"\n            },\n            defaultRequestData: {\n                facet_type: \"videos\",\n                onebox_type: b.oneboxType\n            },\n            eventData: {\n                scribeContext: {\n                    component: \"dashboard_videos\"\n                }\n            }\n        })), uiFacets.attachTo(\".dashboard\", utils.merge(b, {\n            thumbnailLoadEvent: \"uiLoadThumbnails\"\n        })), ArchiveNavigatorScribe.attachTo(\".module.archive-search\"), ArchiveNavigator.attachTo(\".module.archive-search\", utils.merge(b.timeNavData, {\n            eventData: {\n                scribeContext: {\n                    component: \"archive_navigator\"\n                }\n            }\n        })), InProductHelpDialog.attachTo(\"#in_product_help_dialog\"), NavigationLinks.attachTo(\".search-nav\", {\n            eventData: {\n                scribeContext: {\n                    component: \"stream_nav\"\n                }\n            }\n        }), NavigationLinks.attachTo(\".js-search-pivot\", {\n            eventData: {\n                scribeContext: {\n                    component: \"stream_nav\"\n                }\n            }\n        }), NavigationLinks.attachTo(\".js-related-queries\", {\n            eventData: {\n                scribeContext: {\n                    component: \"related_queries\"\n                }\n            }\n        }), NavigationLinks.attachTo(\".js-spelling-corrections\", {\n            eventData: {\n                scribeContext: {\n                    component: \"spelling_corrections\"\n                }\n            }\n        });\n    };\n});\ndefine(\"app/ui/timelines/with_story_pagination\", [\"module\",\"require\",\"exports\",], function(module, require, exports) {\n    function withStoryPagination() {\n        this.isOldItem = function(a) {\n            return a.is_scrolling_request;\n        }, this.isNewItem = function(a) {\n            return a.is_refresh_request;\n        }, this.wasNewItemsRequest = function(a) {\n            return !!a.refresh_cursor;\n        }, this.wasOldItemsRequest = function(a) {\n            return !!a.scroll_cursor;\n        }, this.wasRangeRequest = function() {\n            return !1;\n        }, this.shouldGetOldItems = function() {\n            return this.has_more_items;\n        }, this.getOldItemsData = function() {\n            return {\n                scroll_cursor: this.scroll_cursor\n            };\n        }, this.getNewItemsData = function() {\n            return {\n                refresh_cursor: this.refresh_cursor\n            };\n        }, this.resetStateVariables = function(a) {\n            a = ((a || {\n            })), this.resetScrollCursor(a), this.resetRefreshCursor(a), this.trigger(\"uiStoryPaginationReset\");\n        }, this.resetScrollCursor = function(a) {\n            if (a.scroll_cursor) {\n                this.scroll_cursor = a.scroll_cursor, this.$container.attr(\"data-scroll-cursor\", this.scroll_cursor);\n            }\n             else {\n                if (a.is_scrolling_request) this.has_more_items = !1, this.scroll_cursor = null, this.$container.removeAttr(\"data-scroll-cursor\");\n                 else {\n                    var b = this.$container.attr(\"data-scroll-cursor\");\n                    this.scroll_cursor = ((b ? b : null));\n                }\n            ;\n            }\n        ;\n        ;\n        }, this.resetRefreshCursor = function(a) {\n            if (a.refresh_cursor) this.refresh_cursor = a.refresh_cursor, this.$container.attr(\"data-refresh-cursor\", this.refresh_cursor);\n             else {\n                var b = this.$container.attr(\"data-refresh-cursor\");\n                this.refresh_cursor = ((b ? b : null));\n            }\n        ;\n        ;\n        }, this.onTimelineReset = function(a, b) {\n            this.resetStateVariables(b);\n        }, this.after(\"initialize\", function(a) {\n            this.$container = this.select(\"containerSelector\"), this.has_more_items = !0, this.resetStateVariables(), this.JSBNG__on(\"uiTimelineReset\", this.onTimelineReset);\n        });\n    };\n;\n    module.exports = withStoryPagination;\n});\ndefine(\"app/ui/gallery/with_grid\", [\"module\",\"require\",\"exports\",\"app/utils/image/image_loader\",], function(module, require, exports) {\n    function withGrid() {\n        this.defaultAttrs({\n            scribeRows: !1,\n            gridWidth: 512,\n            gridHeight: 120,\n            gridMargin: 8,\n            gridRatio: 3,\n            gridPanoRatio: 2.5,\n            mediaSelector: \".media-thumbnail:not(.twitter-timeline-link)\",\n            mediaRowFirstSelector: \".media-thumbnail.clear:not(.twitter-timeline-link)\"\n        }), this.render = function(a) {\n            this.currentRow = this.getCurrentRow();\n            var b = this.getUnprocessedMedia();\n            if (!b.length) {\n                this.scribeResults();\n                return;\n            }\n        ;\n        ;\n            var c = 0, d = 0, e = [];\n            for (var f = 0; ((f < b.length)); f++) {\n                if (((this.attr.gridRowLimit && ((this.currentRow > this.attr.gridRowLimit))))) {\n                    return;\n                }\n            ;\n            ;\n                var g = $(b.get(f));\n                ((!c && (c = parseInt(g.attr(\"data-height\"))))), ((a && (c = this.attr.gridHeight))), d += this.scaleGridMedia(g, c), e.push(g);\n                if (((((((d / c)) >= this.attr.gridRatio)) || a))) {\n                    ((a && (d = this.attr.gridWidth))), this.setGridRow(e, d, c, a), this.setCurrentRow(), this.currentRow++, d = 0, c = 0, e = [];\n                }\n            ;\n            ;\n            };\n        ;\n            this.scribeResults();\n        }, this.renderAll = function() {\n            JSBNG__clearTimeout(this.renderDelay), this.renderDelay = JSBNG__setTimeout(this.render.bind(this), 20);\n        }, this.setCurrentRow = function() {\n            $(this.node).attr(\"data-processed-rows\", this.currentRow);\n        }, this.getCurrentRow = function() {\n            var a = parseInt($(this.node).attr(\"data-processed-rows\"));\n            return ((a ? this.currentRow = a : this.currentRow = 1)), this.currentRow;\n        }, this.scaleGridMedia = function(a, b) {\n            var c = parseInt(a.attr(\"data-height\")), d = parseInt(a.attr(\"data-width\")), e = ((((b / c)) * d));\n            return ((((((d / c)) > this.attr.gridPanoRatio)) && (e = ((b * this.attr.gridPanoRatio)), a.attr(\"data-pano\", \"true\")))), a.attr({\n                \"scaled-height\": b,\n                \"scaled-width\": e\n            }), e;\n        }, this.setGridRow = function(a, b, c, d) {\n            var e = ((this.attr.gridWidth - ((a.length * this.attr.gridMargin)))), f = ((e / b)), g = ((c * f));\n            $.each(a, function(a, b) {\n                var c = $(b), e = ((parseInt(c.attr(\"scaled-width\")) * f));\n                c.height(g), c.width(e), c.attr(\"scaled-height\", g), c.attr(\"Scaled-width\", e), c.attr(\"data-grid-processed\", \"true\"), c.addClass(\"enabled\"), ((((((a == 0)) && !d)) && c.addClass(\"clear\"))), this.renderMedia(c);\n            }.bind(this));\n        }, this.scribeResults = function() {\n            if (this.attr.scribeRows) {\n                var a = this.getUnscribedMedia(), b = {\n                    thumbnails: [],\n                    scribeContext: {\n                        section: \"media_gallery\"\n                    }\n                };\n                $.each(a, function(a, c) {\n                    b.thumbnails.push($(c).attr(\"data-url\")), $(c).attr(\"data-scribed\", !0);\n                }), this.trigger(\"uiMediaGalleryResults\", b);\n            }\n        ;\n        ;\n        }, this.getMedia = function() {\n            return this.select(\"mediaSelector\");\n        }, this.getUnprocessedMedia = function() {\n            return this.getMedia().filter(\":not([data-grid-processed='true'])\");\n        }, this.getUnscribedMedia = function() {\n            return this.getMedia().filter(\":not([data-scribed='true'])\");\n        }, this.markFailedMedia = function(a) {\n            var b;\n            if (a.hasClass(\"clear\")) {\n                b = a.next(this.attr.mediaSelector);\n                if (!b.length) {\n                    return;\n                }\n            ;\n            ;\n            }\n             else {\n                b = a.prev(this.attr.mediaSelector);\n                while (((b && !b.hasClass(\"clear\")))) {\n                    b = b.prev(this.attr.mediaSelector);\n                ;\n                };\n            ;\n            }\n        ;\n        ;\n            b.attr(\"data-grid-processed\", \"false\"), b.nextAll(this.attr.mediaSelector).attr(\"data-grid-processed\", \"false\"), b.nextAll(this.attr.mediaSelector).removeClass(\"clear\"), JSBNG__clearTimeout(this.resetTimer), this.resetTimer = JSBNG__setTimeout(this.render.bind(this), 200);\n        }, this.renderMedia = function(a) {\n            var b = $(a);\n            if (b.attr(\"data-loaded\")) {\n                return;\n            }\n        ;\n        ;\n            var c = function(a) {\n                this.loadThumbSuccess(b, a);\n            }.bind(this), d = function() {\n                this.loadThumbFail(b);\n            }.bind(this);\n            imageLoader.load(b.attr(\"data-resolved-url-small\"), c, d);\n        }, this.loadThumbSuccess = function(a, b) {\n            if (a.attr(\"data-pano\")) {\n                var c = ((((a.height() / parseInt(a.attr(\"data-height\")))) * parseInt(a.attr(\"data-width\"))));\n                b.width(c), b.css(\"margin-left\", ((((-((c - a.width())) / 2)) + \"px\")));\n            }\n        ;\n        ;\n            a.prepend(b), a.attr(\"data-loaded\", !0);\n        }, this.loadThumbFail = function(a) {\n            this.markFailedMedia(a), a.remove();\n        }, this.openGallery = function(a) {\n            a.preventDefault(), a.stopPropagation(), this.trigger(a.target, \"uiOpenGallery\", {\n                title: \"Photo\"\n            });\n            var b = $(a.target);\n            this.trigger(\"uiMediaThumbnailClick\", {\n                url: b.attr(\"data-url\")\n            });\n        }, this.after(\"initialize\", function() {\n            this.render(), this.JSBNG__on(\"click\", {\n                mediaSelector: this.openGallery\n            }), this.JSBNG__on(\"uiHasInjectedOldTimelineItems\", this.renderAll);\n        });\n    };\n;\n    var imageLoader = require(\"app/utils/image/image_loader\");\n    module.exports = withGrid;\n});\ndefine(\"app/ui/timelines/universal_timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/timelines/with_base_timeline\",\"app/ui/timelines/with_old_items\",\"app/ui/timelines/with_new_items\",\"app/ui/timelines/with_story_pagination\",\"app/ui/timelines/with_activity_supplements\",\"app/ui/with_timestamp_updating\",\"app/ui/with_tweet_actions\",\"app/ui/with_item_actions\",\"app/ui/timelines/with_traveling_ptw\",\"app/ui/timelines/with_pinned_stream_items\",\"app/ui/gallery/with_grid\",\"app/ui/with_interaction_data\",\"app/ui/with_user_actions\",\"app/ui/gallery/with_gallery\",], function(module, require, exports) {\n    function universalTimeline() {\n        this.defaultAttrs({\n            gridRowLimit: 2,\n            separationModuleSelector: \".separation-module\",\n            prevToModuleClass: \"before-module\",\n            userGalleryItemSelector: \".stream-user-gallery\",\n            prevToUserGalleryItemClass: \"before-user-gallery\",\n            eventData: {\n                scribeContext: {\n                    component: \"\"\n                }\n            }\n        }), this.setPrevToModuleClass = function() {\n            this.select(\"separationModuleSelector\").prev().addClass(this.attr.prevToModuleClass);\n        }, this.initialItemsDisplayed = function() {\n            var a = this.select(\"genericItemSelector\"), b = [], c = [], d = function(a, d) {\n                if (!$(d).data(\"item-type\")) {\n                    return;\n                }\n            ;\n            ;\n                var e = this.interactionData(this.findFirstItemContent($(d)));\n                switch (e.itemType) {\n                  case \"tweet\":\n                    b.push(e);\n                    break;\n                  case \"user\":\n                    c.push(e);\n                };\n            ;\n            }.bind(this);\n            for (var e = 0, f = a.length; ((e < f)); e++) {\n                d(e, a[e]);\n            ;\n            };\n        ;\n            this.reportUsersAndTweets(c, b);\n        }, this.reportItemsDisplayed = function(a, b) {\n            var c = [], d = [];\n            b.items.forEach(function(a) {\n                switch (a.itemType) {\n                  case \"tweet\":\n                    d.push(a);\n                    break;\n                  case \"user\":\n                    c.push(a);\n                };\n            ;\n            }), this.reportUsersAndTweets(c, d);\n        }, this.reportUsersAndTweets = function(a, b) {\n            this.trigger(\"uiTweetsDisplayed\", {\n                tweets: b\n            }), this.trigger(\"uiUsersDisplayed\", {\n                users: a\n            });\n        }, this.setItemType = function(a) {\n            var b = a.closest(this.attr.genericItemSelector), c = b.data(\"item-type\");\n            this.attr.itemType = c, this.attr.eventData.scribeContext.component = c;\n        }, this.after(\"initialize\", function(a) {\n            this.setPrevToModuleClass(), this.initialItemsDisplayed(), this.JSBNG__on(\"uiHasInjectedNewTimeline uiHasInjectedOldTimelineItems uiHasInjectedRangeTimelineItems\", this.reportItemsDisplayed);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withBaseTimeline = require(\"app/ui/timelines/with_base_timeline\"), withOldItems = require(\"app/ui/timelines/with_old_items\"), withNewItems = require(\"app/ui/timelines/with_new_items\"), withStoryPagination = require(\"app/ui/timelines/with_story_pagination\"), withActivitySupplements = require(\"app/ui/timelines/with_activity_supplements\"), withTimestampUpdating = require(\"app/ui/with_timestamp_updating\"), withTweetActions = require(\"app/ui/with_tweet_actions\"), withItemActions = require(\"app/ui/with_item_actions\"), withTravelingPtw = require(\"app/ui/timelines/with_traveling_ptw\"), withPinnedStreamItems = require(\"app/ui/timelines/with_pinned_stream_items\"), withGrid = require(\"app/ui/gallery/with_grid\"), withInteractionData = require(\"app/ui/with_interaction_data\"), withUserActions = require(\"app/ui/with_user_actions\"), withGallery = require(\"app/ui/gallery/with_gallery\");\n    module.exports = defineComponent(universalTimeline, withBaseTimeline, withStoryPagination, withOldItems, withNewItems, withTimestampUpdating, withTweetActions, withItemActions, withTravelingPtw, withPinnedStreamItems, withActivitySupplements, withGrid, withUserActions, withGallery);\n});\ndefine(\"app/boot/universal_timeline\", [\"module\",\"require\",\"exports\",\"app/boot/timeline\",\"app/boot/tweets\",\"app/boot/help_pips\",\"app/ui/expando/close_all_button\",\"app/ui/timelines/universal_timeline\",\"core/utils\",], function(module, require, exports) {\n    function initialize(a) {\n        var b = utils.merge(a, {\n            endpoint: a.search_endpoint\n        });\n        timelineBoot(b), tweetsBoot(\"#timeline\", utils.merge(b, {\n            excludeUserActions: !0\n        })), ((b.help_pips_decider && helpPipsBoot(b))), CloseAllButton.attachTo(\"#close-all-button\", {\n            addEvent: \"uiHasExpandedTweet\",\n            subtractEvent: \"uiHasCollapsedTweet\",\n            where: \"#timeline\",\n            closeAllEvent: \"uiWantsToCloseAllTweets\"\n        }), UniversalTimeline.attachTo(\"#timeline\", utils.merge(b, {\n            tweetItemSelector: \"div.original-tweet\",\n            gridRowLimit: 2,\n            scribeRows: !0\n        }));\n    };\n;\n    var timelineBoot = require(\"app/boot/timeline\"), tweetsBoot = require(\"app/boot/tweets\"), helpPipsBoot = require(\"app/boot/help_pips\"), CloseAllButton = require(\"app/ui/expando/close_all_button\"), UniversalTimeline = require(\"app/ui/timelines/universal_timeline\"), utils = require(\"core/utils\");\n    module.exports = initialize;\n});\ndefine(\"app/data/user_search\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",], function(module, require, exports) {\n    function userSearchData() {\n        this.defaultAttrs({\n            query: null\n        }), this.makeUserSearchModuleRequest = function() {\n            if (!this.attr.query) {\n                return;\n            }\n        ;\n        ;\n            var a = {\n                q: this.attr.query\n            };\n            this.get({\n                url: \"/i/search/top_users/\",\n                data: a,\n                eventData: a,\n                success: \"dataUserSearchContent\",\n                error: \"dataUserSearchContentError\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiRefreshUserSearchModule\", this.makeUserSearchModuleRequest);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\");\n    module.exports = defineComponent(userSearchData, withData);\n});\ndefine(\"app/data/user_search_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",\"app/utils/scribe_item_types\",], function(module, require, exports) {\n    function userSearchDataScribe() {\n        this.scribeResults = function(a, b) {\n            var c = {\n                action: \"impression\"\n            };\n            this.scribe(c, b);\n            var d = {\n            };\n            c.element = b.element, ((((b.items && b.items.length)) ? (c.action = \"results\", d = {\n                items: b.items.map(function(a, b) {\n                    return {\n                        id: a,\n                        item_type: itemTypes.user,\n                        position: b\n                    };\n                })\n            }) : c.action = \"no_results\")), this.scribe(c, b, d);\n        }, this.scribeUserSearch = function(a, b) {\n            this.scribe({\n                action: \"search\"\n            }, b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiUserSearchModuleDisplayed\", this.scribeResults), this.JSBNG__on(\"uiUserSearchNavigation\", this.scribeUserSearch);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\"), itemTypes = require(\"app/utils/scribe_item_types\");\n    module.exports = defineComponent(userSearchDataScribe, withScribe);\n});\ndefine(\"app/ui/user_search\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_item_actions\",], function(module, require, exports) {\n    function userSearchModule() {\n        this.defaultAttrs({\n            peopleLinkSelector: \"a.list-link\",\n            avatarRowSelector: \".avatar-row\",\n            userThumbSelector: \".user-thumb\",\n            itemType: \"user\"\n        }), this.updateContent = function(a, b) {\n            var c = this.select(\"peopleLinkSelector\");\n            c.JSBNG__find(this.attr.avatarRowSelector).remove(), c.append(b.users_module), this.userItemsDisplayed();\n        }, this.userItemsDisplayed = function() {\n            var a = this.select(\"userThumbSelector\").map(function() {\n                return (($(this).data(\"user-id\") + \"\"));\n            }).toArray();\n            this.trigger(\"uiUserSearchModuleDisplayed\", {\n                items: a,\n                element: \"initial\"\n            });\n        }, this.searchForUsers = function(a, b) {\n            ((((a.target == b.el)) && this.trigger(\"uiUserSearchNavigation\")));\n        }, this.getItemPosition = function(a) {\n            return a.closest(this.attr.userThumbSelector).index();\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(JSBNG__document, \"dataUserSearchContent\", this.updateContent), this.JSBNG__on(\"click\", {\n                peopleLinkSelector: this.searchForUsers\n            }), this.trigger(\"uiRefreshUserSearchModule\");\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withItemActions = require(\"app/ui/with_item_actions\");\n    module.exports = defineComponent(userSearchModule, withItemActions);\n});\ndefine(\"app/data/saved_searches\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_data\",\"app/data/with_auth_token\",], function(module, require, exports) {\n    function savedSearches() {\n        this.saveSearch = function(a, b) {\n            this.post({\n                url: \"/i/saved_searches/create.json\",\n                data: b,\n                headers: {\n                    \"X-PHX\": !0\n                },\n                eventData: \"\",\n                success: \"dataAddedSavedSearch\",\n                error: $.noop\n            });\n        }, this.removeSavedSearch = function(a, b) {\n            this.post({\n                url: ((((\"/i/saved_searches/destroy/\" + encodeURIComponent(b.id))) + \".json\")),\n                data: \"\",\n                headers: {\n                    \"X-PHX\": !0\n                },\n                eventData: \"\",\n                success: \"dataRemovedSavedSearch\",\n                error: $.noop\n            });\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(\"uiAddSavedSearch\", this.saveSearch), this.JSBNG__on(\"uiRemoveSavedSearch\", this.removeSavedSearch);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withData = require(\"app/data/with_data\"), withAuthToken = require(\"app/data/with_auth_token\");\n    module.exports = defineComponent(savedSearches, withData, withAuthToken);\n});\ndefine(\"app/ui/search_dropdown\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"app/ui/with_dropdown\",], function(module, require, exports) {\n    function searchDropdown() {\n        this.defaultAttrs({\n            toggler: \".js-search-dropdown\",\n            saveOrRemoveSelector: \".js-toggle-saved-search-link\",\n            savedSearchSelector: \".js-saved-search\",\n            unsavedSearchSelector: \".js-unsaved-search\",\n            searchTitleSelector: \".search-title\",\n            advancedSearchSelector: \".advanced-search\",\n            embedSearchSelector: \".embed-search\"\n        }), this.addSavedSearch = function(a, b) {\n            this.trigger(\"uiAddSavedSearch\", {\n                query: $(a.target).data(\"query\")\n            });\n        }, this.removeSavedSearch = function(a, b) {\n            this.savedSearchId = $(a.target).data(\"id\"), this.trigger(\"uiOpenConfirmDialog\", {\n                titleText: _(\"Remove saved search\"),\n                bodyText: _(\"Are you sure you want to remove this search?\"),\n                cancelText: _(\"No\"),\n                submitText: _(\"Yes\"),\n                action: \"SavedSearchRemove\"\n            });\n        }, this.confirmSavedSearchRemoval = function() {\n            if (!this.savedSearchId) {\n                return;\n            }\n        ;\n        ;\n            this.trigger(\"uiRemoveSavedSearch\", {\n                id: this.savedSearchId\n            });\n        }, this.savedSearchRemoved = function(a, b) {\n            this.select(\"saveOrRemoveSelector\").removeClass(\"js-saved-search\").addClass(\"js-unsaved-search\").text(_(\"Save search\"));\n            var c = $(this.attr.searchTitleSelector).JSBNG__find(\".search-query\").text();\n            c = $(\"\\u003Cdiv/\\u003E\").text(c).html(), $(this.attr.searchTitleSelector).html(_(\"Results for \\u003Cstrong class=\\\"search-query\\\"\\u003E{{query}}\\u003C/strong\\u003E\", {\n                query: c\n            }));\n        }, this.navigatePage = function(a, b) {\n            this.trigger(\"uiNavigate\", {\n                href: $(a.target).attr(\"href\")\n            });\n        }, this.savedSearchAdded = function(a, b) {\n            this.select(\"saveOrRemoveSelector\").removeClass(\"js-unsaved-search\").addClass(\"js-saved-search\").text(_(\"Remove saved search\")).data(\"id\", b.id);\n            var c = $(this.attr.searchTitleSelector).JSBNG__find(\".search-query\").text();\n            c = $(\"\\u003Cdiv/\\u003E\").text(c).html(), $(this.attr.searchTitleSelector).html(_(\"Saved search: \\u003Cstrong class=\\\"search-query\\\"\\u003E{{query}}\\u003C/strong\\u003E\", {\n                query: c\n            }));\n        }, this.after(\"initialize\", function(a) {\n            this.JSBNG__on(\"click\", {\n                advancedSearchSelector: this.navigatePage,\n                embedSearchSelector: this.navigatePage,\n                savedSearchSelector: this.removeSavedSearch,\n                unsavedSearchSelector: this.addSavedSearch\n            }), this.JSBNG__on(JSBNG__document, \"uiSavedSearchRemoveConfirm\", this.confirmSavedSearchRemoval), this.JSBNG__on(JSBNG__document, \"dataAddedSavedSearch\", this.savedSearchAdded), this.JSBNG__on(JSBNG__document, \"dataRemovedSavedSearch\", this.savedSearchRemoved);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), withDropdown = require(\"app/ui/with_dropdown\");\n    module.exports = defineComponent(searchDropdown, withDropdown);\n});\ndefine(\"app/data/story_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_interaction_data_scribe\",], function(module, require, exports) {\n    function storyScribe() {\n        this.defaultAttrs({\n            t1dScribeErrors: !1,\n            t1dScribeTimes: !1\n        }), this.scribeCardSearchClick = function(a, b) {\n            this.scribeInteraction({\n                element: \"topic\",\n                action: \"search\"\n            }, b);\n        }, this.scribeCardNewsClick = function(a, b) {\n            var c = {\n            };\n            ((b.tcoUrl && (c.message = b.tcoUrl))), ((((b.text && ((b.text.indexOf(\"pic.twitter.com\") == 0)))) && (b.url = ((\"http://\" + b.text))))), this.scribeInteraction({\n                element: \"article\",\n                action: \"open_link\"\n            }, b, c);\n        }, this.scribeCardMediaClick = function(a, b) {\n            this.scribeInteraction({\n                element: b.storyMediaType,\n                action: \"click\"\n            }, b);\n        }, this.scribeTweetStory = function(a, b) {\n            this.scribeInteraction({\n                element: \"tweet_link\",\n                action: ((((a.type === \"uiStoryTweetSent\")) ? \"success\" : \"click\"))\n            }, b);\n        }, this.scribeCardImageLoadTime = function(a, b) {\n            ((this.attr.t1dScribeTimes && this.scribe({\n                component: \"topic_story\",\n                action: \"complete\"\n            }, b)));\n        }, this.scribeCardImageLoadError = function(a, b) {\n            ((this.attr.t1dScribeErrors && this.scribe({\n                component: \"topic_story\",\n                action: \"error\"\n            }, b)));\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiCardMediaClick\", this.scribeCardMediaClick), this.JSBNG__on(\"uiCardNewsClick\", this.scribeCardNewsClick), this.JSBNG__on(\"uiCardSearchClick\", this.scribeCardSearchClick), this.JSBNG__on(\"uiTweetStoryLinkClicked uiStoryTweetSent\", this.scribeTweetStory), this.JSBNG__on(\"uiCardImageLoaded\", this.scribeCardImageLoadTime), this.JSBNG__on(\"uiCardImageLoadError\", this.scribeCardImageLoadError);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withInterationDataScribe = require(\"app/data/with_interaction_data_scribe\");\n    module.exports = defineComponent(storyScribe, withInterationDataScribe);\n});\ndefine(\"app/data/onebox_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function oneboxScribe() {\n        this.scribeOneboxImpression = function(a, b) {\n            var c = {\n                component: b.type,\n                action: \"impression\"\n            };\n            this.scribe(c);\n            if (b.items) {\n                var d = {\n                    item_count: b.items.length,\n                    item_ids: b.items\n                };\n                c.action = ((b.items.length ? \"results\" : \"no_results\")), this.scribe(c, b, d);\n            }\n        ;\n        ;\n        }, this.scribeViewAllClick = function(a, b) {\n            var c = {\n                component: b.type,\n                action: \"view_all\"\n            };\n            this.scribe(c, b);\n        }, this.scribeEventOneboxClick = function(a, b) {\n            this.scribe({\n                component: \"JSBNG__event\",\n                section: \"onebox\",\n                action: \"click\"\n            }, b);\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiOneboxDisplayed\", this.scribeOneboxImpression), this.JSBNG__on(\"uiOneboxViewAllClick\", this.scribeViewAllClick), this.JSBNG__on(\"uiEventOneboxClick\", this.scribeEventOneboxClick);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(oneboxScribe, withScribe);\n});\ndefine(\"app/ui/with_story_clicks\", [\"module\",\"require\",\"exports\",\"core/compose\",\"app/ui/with_interaction_data\",], function(module, require, exports) {\n    function withStoryClicks() {\n        compose.mixin(this, [withInteractionData,]), this.defaultAttrs({\n            cardSearchSelector: \".js-action-card-search\",\n            cardNewsSelector: \".js-action-card-news\",\n            cardMediaSelector: \".js-action-card-media\",\n            cardHeadlineSelector: \".js-news-headline .js-action-card-news\",\n            tweetLinkButtonSelector: \".story-social-new-tweet\",\n            storyItemContainerSelector: \".js-story-item\"\n        }), this.getLinkData = function(a) {\n            var b = $(a).closest(\"[data-url]\");\n            return {\n                url: b.attr(\"data-url\"),\n                tcoUrl: $(a).closest(\"a[href]\").attr(\"href\"),\n                text: b.text()\n            };\n        }, this.cardSearchClick = function(a, b) {\n            this.trigger(\"uiCardSearchClick\", this.interactionData(a, this.getLinkData(a.target)));\n        }, this.cardNewsClick = function(a, b) {\n            var c = $(a.target);\n            this.trigger(\"uiCardNewsClick\", this.interactionData(a, this.getLinkData(a.target)));\n        }, this.cardMediaClick = function(a, b) {\n            this.trigger(\"uiCardMediaClick\", this.interactionData(a, this.getLinkData(a.target)));\n        }, this.selectStory = function(a, b) {\n            var c = ((((a.type === \"uiHasExpandedStory\")) ? \"uiItemSelected\" : \"uiItemDeselected\")), d = $(a.target).JSBNG__find(this.attr.storyItemContainerSelector), e = this.interactionData(d);\n            e.scribeContext.element = ((((e.storySource === \"trends\")) ? \"top_tweets\" : \"social_context\")), this.trigger(c, e);\n        }, this.tweetSent = function(a, b) {\n            var c = b.in_reply_to_status_id;\n            if (c) {\n                var d = this.$node.JSBNG__find(((\".open \" + this.attr.storyItemSelector))).has(((((\".tweet[data-tweet-id=\" + c)) + \"]\")));\n                if (!d.length) {\n                    return;\n                }\n            ;\n            ;\n                var e = this.getItemData(d, c, \"reply\");\n                this.trigger(\"uiStoryTweetAction\", e);\n            }\n             else {\n                var d = this.$node.JSBNG__find(((((((this.attr.storyItemSelector + \"[data-query=\\\"\")) + b.customData.query)) + \"\\\"]\")));\n                if (!d.length) {\n                    return;\n                }\n            ;\n            ;\n                this.trigger(\"uiStoryTweetSent\", this.interactionData(d));\n            }\n        ;\n        ;\n        }, this.tweetSelectedStory = function(a, b) {\n            var c = $(b.el).closest(this.attr.storyItemSelector), d = this.interactionData(c);\n            this.trigger(\"uiOpenTweetDialog\", {\n                defaultText: ((\" \" + c.data(\"url\"))),\n                cursorPosition: 0,\n                customData: {\n                    query: c.data(\"query\")\n                },\n                scribeContext: d.scribeContext\n            }), this.trigger(\"uiTweetStoryLinkClicked\", this.interactionData(c));\n        }, this.getCardPosition = function(a) {\n            var b;\n            return this.select(\"storyItemSelector\").each(function(c) {\n                if ((($(this).attr(\"data-query\") === a))) {\n                    return b = c, !1;\n                }\n            ;\n            ;\n            }), b;\n        }, this.getItemData = function(a, b, c) {\n            var d = $(a).closest(this.attr.storyItemSelector), e = d.JSBNG__find(this.attr.cardHeadlineSelector), f = d.data(\"query\"), g = [];\n            d.JSBNG__find(\".tweet[data-tweet-id]\").each(function() {\n                g.push($(this).data(\"tweet-id\"));\n            });\n            var h = {\n                cardType: d.data(\"story-type\"),\n                query: f,\n                title: e.text().trim(),\n                tweetIds: g,\n                cardMediaType: d.data(\"card-media-type\"),\n                position: this.getCardPosition(f),\n                href: e.attr(\"href\"),\n                source: d.data(\"source\"),\n                tweetId: b,\n                action: c\n            };\n            return h;\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                cardSearchSelector: this.cardSearchClick,\n                cardNewsSelector: this.cardNewsClick,\n                cardMediaSelector: this.cardMediaClick,\n                tweetLinkButtonSelector: this.tweetSelectedStory\n            }), this.JSBNG__on(JSBNG__document, \"uiTweetSent\", this.tweetSent), this.JSBNG__on(\"uiHasCollapsedStory uiHasExpandedStory\", this.selectStory);\n        });\n    };\n;\n    var compose = require(\"core/compose\"), withInteractionData = require(\"app/ui/with_interaction_data\");\n    module.exports = withStoryClicks;\n});\ndeferred(\"$lib/jquery_autoellipsis.js\", function() {\n    (function($) {\n        function e(a, b) {\n            var c = a.data(\"jqae\");\n            ((c || (c = {\n            })));\n            var d = c.wrapperElement;\n            ((d || (d = a.wrapInner(\"\\u003Cdiv/\\u003E\").JSBNG__find(\"\\u003Ediv\"))));\n            var e = d.data(\"jqae\");\n            ((e || (e = {\n            })));\n            var i = e.originalContent;\n            ((i ? d = e.originalContent.clone(!0).data(\"jqae\", {\n                originalContent: i\n            }).replaceAll(d) : d.data(\"jqae\", {\n                originalContent: d.clone(!0)\n            }))), a.data(\"jqae\", {\n                wrapperElement: d,\n                containerWidth: a.JSBNG__innerWidth(),\n                containerHeight: a.JSBNG__innerHeight()\n            });\n            var j = !1, k = d;\n            ((b.selector && (k = $(d.JSBNG__find(b.selector).get().reverse())))), k.each(function() {\n                var c = $(this), e = c.text(), i = !1;\n                if (((((d.JSBNG__innerHeight() - c.JSBNG__innerHeight())) > a.JSBNG__innerHeight()))) c.remove();\n                 else {\n                    h(c);\n                    if (c.contents().length) {\n                        ((j && (g(c).get(0).nodeValue += b.ellipsis, j = !1)));\n                        while (((d.JSBNG__innerHeight() > a.JSBNG__innerHeight()))) {\n                            i = f(c);\n                            if (!i) {\n                                j = !0, c.remove();\n                                break;\n                            }\n                        ;\n                        ;\n                            h(c);\n                            if (!c.contents().length) {\n                                j = !0, c.remove();\n                                break;\n                            }\n                        ;\n                        ;\n                            g(c).get(0).nodeValue += b.ellipsis;\n                        };\n                    ;\n                        ((((((((b.setTitle == \"onEllipsis\")) && i)) || ((b.setTitle == \"always\")))) ? c.attr(\"title\", e) : ((((b.setTitle != \"never\")) && c.removeAttr(\"title\")))));\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n            });\n        };\n    ;\n        function f(a) {\n            var b = g(a);\n            if (b.length) {\n                var c = b.get(0).nodeValue, d = c.lastIndexOf(\" \");\n                return ((((d > -1)) ? (c = $.trim(c.substring(0, d)), b.get(0).nodeValue = c) : b.get(0).nodeValue = \"\")), !0;\n            }\n        ;\n        ;\n            return !1;\n        };\n    ;\n        function g(a) {\n            if (a.contents().length) {\n                var b = a.contents(), c = b.eq(((b.length - 1)));\n                return ((c.filter(i).length ? c : g(c)));\n            }\n        ;\n        ;\n            a.append(\"\");\n            var b = a.contents();\n            return b.eq(((b.length - 1)));\n        };\n    ;\n        function h(a) {\n            if (a.contents().length) {\n                var b = a.contents(), c = b.eq(((b.length - 1)));\n                if (c.filter(i).length) {\n                    var d = c.get(0).nodeValue;\n                    return d = $.trim(d), ((((d == \"\")) ? (c.remove(), !0) : !1));\n                }\n            ;\n            ;\n                while (h(c)) {\n                ;\n                };\n            ;\n                return ((c.contents().length ? !1 : (c.remove(), !0)));\n            }\n        ;\n        ;\n            return !1;\n        };\n    ;\n        function i() {\n            return ((this.nodeType === 3));\n        };\n    ;\n        function j(c, d) {\n            a[c] = d, ((b || (b = window.JSBNG__setInterval(function() {\n                l();\n            }, 200))));\n        };\n    ;\n        function k(c) {\n            ((a[c] && (delete a[c], ((a.length || ((b && (window.JSBNG__clearInterval(b), b = undefined))))))));\n        };\n    ;\n        function l() {\n            if (!c) {\n                c = !0;\n                {\n                    var fin58keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin58i = (0);\n                    var b;\n                    for (; (fin58i < fin58keys.length); (fin58i++)) {\n                        ((b) = (fin58keys[fin58i]));\n                        {\n                            $(b).each(function() {\n                                var c, d;\n                                c = $(this), d = c.data(\"jqae\"), ((((((d.containerWidth != c.JSBNG__innerWidth())) || ((d.containerHeight != c.JSBNG__innerHeight())))) && e(c, a[b])));\n                            });\n                        ;\n                        };\n                    };\n                };\n            ;\n                c = !1;\n            }\n        ;\n        ;\n        };\n    ;\n        var a = {\n        }, b, c = !1, d = {\n            ellipsis: \"...\",\n            setTitle: \"never\",\n            live: !1\n        };\n        $.fn.ellipsis = function(a, b) {\n            var c, f;\n            return c = $(this), ((((typeof a != \"string\")) && (b = a, a = undefined))), f = $.extend({\n            }, d, b), f.selector = a, c.each(function() {\n                var a = $(this);\n                e(a, f);\n            }), ((f.live ? j(c.selector, f) : k(c.selector))), this;\n        };\n    })(jQuery);\n});\ndefine(\"app/utils/ellipsis\", [\"module\",\"require\",\"exports\",\"$lib/jquery_autoellipsis.js\",], function(module, require, exports) {\n    require(\"$lib/jquery_autoellipsis.js\");\n    var isTextOverflowEllipsisSupported = ((\"textOverflow\" in $(\"\\u003Cdiv\\u003E\")[0].style)), isEllipsisSupported = function(a) {\n        return ((((typeof a.forceEllipsisSupport == \"boolean\")) ? a.forceEllipsisSupport : isTextOverflowEllipsisSupported));\n    }, singleLineEllipsis = function(a, b) {\n        return ((isEllipsisSupported(b) ? !1 : ($(a).each(function() {\n            var a = $(this);\n            if (a.hasClass(\"ellipsify-container\")) {\n                if (!b.force) {\n                    return !0;\n                }\n            ;\n            ;\n                var c = a.JSBNG__find(\"span.ellip-content\");\n                ((c.length && a.html(c.html())));\n            }\n        ;\n        ;\n            a.addClass(\"ellipsify-container\").wrapInner($(\"\\u003Cspan\\u003E\").addClass(\"ellip-content\"));\n            var d = a.JSBNG__find(\"span.ellip-content\");\n            if (((d.width() > a.width()))) {\n                var e = $(\"\\u003Cdiv class=\\\"ellip\\\"\\u003E&hellip;\\u003C/div\\u003E\");\n                a.append(e), d.width(((a.width() - e.width()))).css(\"margin-right\", e.width());\n            }\n        ;\n        ;\n        }), !0)));\n    }, multilineEllipsis = function(a, b) {\n        $(a).each(function(a, c) {\n            var d = $(c);\n            d.ellipsis(b.multilineSelector, b.multilineOptions);\n            var e = d.JSBNG__find(\"\\u003Ediv\"), f = e.contents();\n            d.append(f), e.remove();\n        });\n    }, ellipsify = function(a, b) {\n        b = ((b || {\n        }));\n        var c = ((b.multiline ? ((b.multilineFunction || multilineEllipsis)) : ((b.singlelineFunction || singleLineEllipsis))));\n        return c(a, b);\n    };\n    module.exports = ellipsify;\n});\ndefine(\"app/ui/with_story_ellipsis\", [\"module\",\"require\",\"exports\",\"app/utils/ellipsis\",], function(module, require, exports) {\n    function withStoryEllipsis() {\n        this.defaultAttrs({\n            singleLineEllipsisSelector: \"h3.js-story-title, p.js-metadata\",\n            multilineEllipsisSelector: \"p.js-news-snippet, h3.js-news-headline, .cards-summary h3, .cards-summary .article\",\n            ellipsisChar: \"&ellip;\"\n        }), this.ellipsify = function() {\n            ellipsify(this.select(\"singleLineEllipsisSelector\")), ellipsify(this.select(\"multilineEllipsisSelector\"), {\n                multiline: !0,\n                multilineOptions: {\n                    ellipsis: this.attr.ellipsisChar\n                }\n            });\n        };\n    };\n;\n    var ellipsify = require(\"app/utils/ellipsis\");\n    module.exports = withStoryEllipsis;\n});\ndefine(\"app/ui/search/news_onebox\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_story_clicks\",\"app/ui/with_story_ellipsis\",], function(module, require, exports) {\n    function newsOnebox() {\n        this.defaultAttrs({\n            itemType: \"story\"\n        }), this.oneboxDisplayed = function() {\n            this.trigger(\"uiOneboxDisplayed\", {\n                type: \"news_story\"\n            });\n        }, this.after(\"initialize\", function() {\n            this.ellipsify(), this.oneboxDisplayed();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withStoryClicks = require(\"app/ui/with_story_clicks\"), withStoryEllipsis = require(\"app/ui/with_story_ellipsis\");\n    module.exports = defineComponent(newsOnebox, withStoryClicks, withStoryEllipsis);\n});\ndefine(\"app/ui/search/user_onebox\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/with_item_actions\",\"app/ui/with_story_clicks\",], function(module, require, exports) {\n    function userOnebox() {\n        this.defaultAttrs({\n            itemSelector: \".user-story-item\",\n            viewAllSelector: \".js-onebox-view-all\",\n            itemType: \"story\"\n        }), this.oneboxDisplayed = function() {\n            var a = {\n                type: \"user_story\",\n                items: this.getItemIds()\n            };\n            this.trigger(\"uiOneboxDisplayed\", a);\n        }, this.viewAllClicked = function() {\n            this.trigger(\"uiOneboxViewAllClick\", {\n                type: \"user_story\"\n            });\n        }, this.getItemIds = function() {\n            var a = [];\n            return this.select(\"itemSelector\").each(function() {\n                var b = $(this);\n                a.push(b.data(\"item-id\"));\n            }), a;\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                viewAllSelector: this.viewAllClicked\n            }), this.oneboxDisplayed();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withItemActions = require(\"app/ui/with_item_actions\"), withStoryClicks = require(\"app/ui/with_story_clicks\");\n    module.exports = defineComponent(userOnebox, withItemActions, withStoryClicks);\n});\ndefine(\"app/ui/search/event_onebox\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function eventOnebox() {\n        this.defaultAttrs({\n            itemType: \"story\"\n        }), this.oneboxDisplayed = function() {\n            this.trigger(\"uiOneboxDisplayed\", {\n                type: \"event_story\"\n            });\n        }, this.broadcastClick = function(a) {\n            this.trigger(\"uiEventOneboxClick\");\n        }, this.after(\"initialize\", function() {\n            this.oneboxDisplayed(), this.JSBNG__on(\"click\", this.broadcastClick);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(eventOnebox);\n});\ndefine(\"app/ui/search/media_onebox\", [\"module\",\"require\",\"exports\",\"core/component\",\"core/i18n\",\"app/ui/with_story_clicks\",], function(module, require, exports) {\n    function mediaOnebox() {\n        this.defaultAttrs({\n            itemSelector: \".media-item\",\n            itemType: \"story\",\n            query: \"\"\n        }), this.oneboxDisplayed = function() {\n            var a = {\n                type: \"media_story\",\n                items: this.getStatusIds()\n            };\n            this.trigger(\"uiOneboxDisplayed\", a);\n        }, this.getStatusIds = function() {\n            var a = [];\n            return this.select(\"itemSelector\").each(function() {\n                var b = $(this);\n                a.push(b.data(\"status-id\"));\n            }), a;\n        }, this.mediaItemClick = function(a, b) {\n            this.trigger(a.target, \"uiOpenGallery\", {\n                title: _(\"Photos of {{query}}\", {\n                    query: this.attr.query\n                })\n            });\n        }, this.after(\"initialize\", function(a) {\n            this.oneboxDisplayed(), this.JSBNG__on(\"click\", this.mediaItemClick);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), _ = require(\"core/i18n\"), withStoryClicks = require(\"app/ui/with_story_clicks\");\n    module.exports = defineComponent(mediaOnebox, withStoryClicks);\n});\ndefine(\"app/ui/search/spelling_corrections\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function SpellingCorrections() {\n        this.defaultAttrs({\n            dismissSelector: \".js-action-dismiss-correction\",\n            spellingCorrectionSelector: \".corrected-query\",\n            wrapperNodeSelector: \"\"\n        }), this.dismissCorrection = function(a) {\n            var b = this.select(\"wrapperNodeSelector\");\n            ((((b.length == 0)) && (b = this.$node))), b.fadeOut(250, function() {\n                $(this).hide();\n            }), this.scribeEvent(\"dismiss\");\n        }, this.clickCorrection = function(a) {\n            this.scribeEvent(\"search\");\n        }, this.scribeEvent = function(a) {\n            var b = this.select(\"spellingCorrectionSelector\");\n            this.trigger(\"uiSearchAssistanceAction\", {\n                component: \"spelling_corrections\",\n                action: a,\n                query: b.data(\"query\"),\n                item_names: [b.data(\"search-assistance\"),]\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                dismissSelector: this.dismissCorrection,\n                spellingCorrectionSelector: this.clickCorrection\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(SpellingCorrections);\n});\ndefine(\"app/ui/search/related_queries\", [\"module\",\"require\",\"exports\",\"core/component\",], function(module, require, exports) {\n    function RelatedQueries() {\n        this.defaultAttrs({\n            relatedQuerySelector: \".related-query\"\n        }), this.relatedQueryClick = function(a) {\n            this.trigger(\"uiSearchAssistanceAction\", {\n                component: \"related_queries\",\n                action: \"search\",\n                query: $(a.target).data(\"query\"),\n                item_names: [$(a.target).data(\"search-assistance\"),]\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"click\", {\n                relatedQuerySelector: this.relatedQueryClick\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\");\n    module.exports = defineComponent(RelatedQueries);\n});\ndefine(\"app/data/search_assistance_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function SearchAssistanceScribe() {\n        this.scribeSearchAssistance = function(a, b) {\n            this.scribe({\n                section: \"search\",\n                component: b.component,\n                action: b.action\n            }, {\n                query: b.query,\n                item_names: b.item_names\n            });\n        }, this.after(\"initialize\", function() {\n            this.JSBNG__on(\"uiSearchAssistanceAction\", this.scribeSearchAssistance);\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\");\n    module.exports = defineComponent(SearchAssistanceScribe, withScribe);\n});\ndefine(\"app/data/timeline_controls_scribe\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/data/with_scribe\",], function(module, require, exports) {\n    function timelineControlsScribe() {\n        this.after(\"initialize\", function() {\n            this.scribeOnEvent(\"uiHasEnabledAutoplay\", {\n                action: \"JSBNG__on\",\n                component: \"timeline_controls\",\n                element: \"autoplay\"\n            }), this.scribeOnEvent(\"uiHasDisabledAutoplay\", {\n                action: \"off\",\n                component: \"timeline_controls\",\n                element: \"autoplay\"\n            });\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withScribe = require(\"app/data/with_scribe\"), TimelineControlsScribe = defineComponent(timelineControlsScribe, withScribe);\n    module.exports = TimelineControlsScribe;\n});\ndefine(\"app/pages/search/search\", [\"module\",\"require\",\"exports\",\"app/boot/search\",\"core/utils\",\"app/boot/tweet_timeline\",\"app/boot/universal_timeline\",\"app/data/user_search\",\"app/data/user_search_scribe\",\"app/ui/user_search\",\"app/data/saved_searches\",\"app/ui/search_dropdown\",\"app/data/story_scribe\",\"app/data/onebox_scribe\",\"app/ui/search/news_onebox\",\"app/ui/search/user_onebox\",\"app/ui/search/event_onebox\",\"app/ui/search/media_onebox\",\"app/ui/search/spelling_corrections\",\"app/ui/search/related_queries\",\"app/data/search_assistance_scribe\",\"app/data/timeline_controls_scribe\",], function(module, require, exports) {\n    var searchBoot = require(\"app/boot/search\"), utils = require(\"core/utils\"), tweetTimelineBoot = require(\"app/boot/tweet_timeline\"), universalTimelineBoot = require(\"app/boot/universal_timeline\"), UserSearchData = require(\"app/data/user_search\"), UserSearchScribe = require(\"app/data/user_search_scribe\"), UserSearchModule = require(\"app/ui/user_search\"), SavedSearchesData = require(\"app/data/saved_searches\"), SearchDropdown = require(\"app/ui/search_dropdown\"), StoryScribe = require(\"app/data/story_scribe\"), OneboxScribe = require(\"app/data/onebox_scribe\"), NewsOnebox = require(\"app/ui/search/news_onebox\"), UserOnebox = require(\"app/ui/search/user_onebox\"), EventOnebox = require(\"app/ui/search/event_onebox\"), MediaOnebox = require(\"app/ui/search/media_onebox\"), SpellingCorrections = require(\"app/ui/search/spelling_corrections\"), RelatedQueries = require(\"app/ui/search/related_queries\"), SearchAssistanceScribe = require(\"app/data/search_assistance_scribe\"), TimelineControlsScribe = require(\"app/data/timeline_controls_scribe\");\n    module.exports = function(b) {\n        searchBoot(b), ((b.universalSearch ? (TimelineControlsScribe.attachTo(JSBNG__document), universalTimelineBoot(utils.merge(b, {\n            autoplay: !!b.autoplay_search_timeline,\n            travelingPTw: !!b.autoplay_search_timeline\n        })), SpellingCorrections.attachTo(\"#timeline\", utils.merge(b, {\n            wrapperNodeSelector: \".stream-spelling-corrections\"\n        })), RelatedQueries.attachTo(\"#timeline\")) : (tweetTimelineBoot(b, b.search_endpoint, \"tweet\"), UserSearchScribe.attachTo(JSBNG__document, b), UserSearchData.attachTo(JSBNG__document, b), UserSearchModule.attachTo(\".js-nav-links .people\", utils.merge(b, {\n            eventData: {\n                scribeContext: {\n                    component: \"user_search_module\"\n                }\n            }\n        })), StoryScribe.attachTo(JSBNG__document), OneboxScribe.attachTo(JSBNG__document, b), NewsOnebox.attachTo(\".onebox .discover-item[data-story-type=news]\"), UserOnebox.attachTo(\".onebox .discover-item[data-story-type=user]\", b), EventOnebox.attachTo(\".onebox .discover-item[data-story-type=event]\"), MediaOnebox.attachTo(\".onebox .discover-item[data-story-type=media]\", b), SpellingCorrections.attachTo(\".search-assist-spelling\"), RelatedQueries.attachTo(\".search-assist-related-queries\")))), SavedSearchesData.attachTo(JSBNG__document, b), SearchDropdown.attachTo(\".js-search-dropdown\", b), SearchAssistanceScribe.attachTo(JSBNG__document, b);\n    };\n});\ndefine(\"app/ui/timelines/with_search_media_pagination\", [\"module\",\"require\",\"exports\",\"app/ui/timelines/with_tweet_pagination\",\"core/compose\",], function(module, require, exports) {\n    function withSearchMediaPagination() {\n        compose.mixin(this, [withTweetPagination,]), this.shouldGetOldItems = function() {\n            return !1;\n        };\n    };\n;\n    var withTweetPagination = require(\"app/ui/timelines/with_tweet_pagination\"), compose = require(\"core/compose\");\n    module.exports = withSearchMediaPagination;\n});\ndefine(\"app/ui/timelines/media_timeline\", [\"module\",\"require\",\"exports\",\"core/component\",\"app/ui/timelines/with_base_timeline\",\"app/ui/timelines/with_old_items\",\"app/ui/timelines/with_search_media_pagination\",\"app/ui/gallery/with_grid\",], function(module, require, exports) {\n    function mediaTimeline() {\n        this.defaultAttrs({\n            itemType: \"media\"\n        }), this.after(\"initialize\", function(a) {\n            this.hideWhaleEnd(), this.hideMoreSpinner();\n        });\n    };\n;\n    var defineComponent = require(\"core/component\"), withBaseTimeline = require(\"app/ui/timelines/with_base_timeline\"), withOldItems = require(\"app/ui/timelines/with_old_items\"), withSearchMediaPagination = require(\"app/ui/timelines/with_search_media_pagination\"), withGrid = require(\"app/ui/gallery/with_grid\");\n    module.exports = defineComponent(mediaTimeline, withBaseTimeline, withOldItems, withSearchMediaPagination, withGrid);\n});\ndefine(\"app/boot/media_timeline\", [\"module\",\"require\",\"exports\",\"app/boot/timeline\",\"app/boot/help_pips\",\"app/ui/expando/close_all_button\",\"app/ui/timelines/media_timeline\",\"core/utils\",], function(module, require, exports) {\n    function initialize(a, b, c, d) {\n        var e = utils.merge(a, {\n            endpoint: b,\n            itemType: c,\n            eventData: {\n                scribeContext: {\n                    component: ((d || c))\n                }\n            }\n        });\n        timelineBoot(e), ((e.help_pips_decider && helpPipsBoot(e))), CloseAllButton.attachTo(\"#close-all-button\", {\n            addEvent: \"uiHasExpandedTweet\",\n            subtractEvent: \"uiHasCollapsedTweet\",\n            where: \"#timeline\",\n            closeAllEvent: \"uiWantsToCloseAllTweets\"\n        }), MediaTimeline.attachTo(\"#timeline\", utils.merge(e, {\n            tweetItemSelector: \"div.original-tweet\"\n        }));\n    };\n;\n    var timelineBoot = require(\"app/boot/timeline\"), helpPipsBoot = require(\"app/boot/help_pips\"), CloseAllButton = require(\"app/ui/expando/close_all_button\"), MediaTimeline = require(\"app/ui/timelines/media_timeline\"), utils = require(\"core/utils\");\n    module.exports = initialize;\n});\ndefine(\"app/pages/search/media\", [\"module\",\"require\",\"exports\",\"app/boot/search\",\"core/utils\",\"app/boot/tweets\",\"app/boot/media_timeline\",\"app/data/user_search\",\"app/data/user_search_scribe\",\"app/ui/user_search\",\"app/data/saved_searches\",\"app/ui/search_dropdown\",\"app/ui/search/spelling_corrections\",\"app/ui/search/related_queries\",\"app/data/search_assistance_scribe\",], function(module, require, exports) {\n    var searchBoot = require(\"app/boot/search\"), utils = require(\"core/utils\"), tweetsBoot = require(\"app/boot/tweets\"), mediaTimelineBoot = require(\"app/boot/media_timeline\"), UserSearchData = require(\"app/data/user_search\"), UserSearchScribe = require(\"app/data/user_search_scribe\"), UserSearchModule = require(\"app/ui/user_search\"), SavedSearchesData = require(\"app/data/saved_searches\"), SearchDropdown = require(\"app/ui/search_dropdown\"), SpellingCorrections = require(\"app/ui/search/spelling_corrections\"), RelatedQueries = require(\"app/ui/search/related_queries\"), SearchAssistanceScribe = require(\"app/data/search_assistance_scribe\");\n    module.exports = function(b) {\n        searchBoot(b), tweetsBoot(\"#timeline\", b), mediaTimelineBoot(b, b.timeline_url, \"tweet\"), SavedSearchesData.attachTo(JSBNG__document, b), SearchDropdown.attachTo(\".js-search-dropdown\", b), SpellingCorrections.attachTo(\".search-assist-spelling\"), RelatedQueries.attachTo(\".search-assist-related-queries\"), SearchAssistanceScribe.attachTo(JSBNG__document, b), UserSearchScribe.attachTo(JSBNG__document, b), UserSearchData.attachTo(JSBNG__document, b), UserSearchModule.attachTo(\".js-nav-links .people\", utils.merge(b, {\n            eventData: {\n                scribeContext: {\n                    component: \"user_search_module\"\n                }\n            }\n        }));\n    };\n});\ndefine(\"app/pages/simple_t1\", [\"module\",\"require\",\"exports\",\"app/boot/app\",], function(module, require, exports) {\n    var bootApp = require(\"app/boot/app\");\n    module.exports = function(a) {\n        bootApp(a);\n    };\n});");
+// 4769
+cb(); return null; }
+finalize(); })();