Merge branch 'master' of /home/git/concurrency-benchmarks
[c11concurrency-benchmarks.git] / jsbench-2013.1 / amazon / safari / urem.js
diff --git a/jsbench-2013.1/amazon/safari/urem.js b/jsbench-2013.1/amazon/safari/urem.js
new file mode 100644 (file)
index 0000000..af484bb
--- /dev/null
@@ -0,0 +1,7352 @@
+/* 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 ow737951042 = window;
+var f737951042_0;
+var o0;
+var f737951042_6;
+var f737951042_7;
+var f737951042_12;
+var f737951042_13;
+var o1;
+var o2;
+var f737951042_57;
+var f737951042_143;
+var o3;
+var f737951042_424;
+var f737951042_427;
+var o4;
+var o5;
+var o6;
+var f737951042_438;
+var o7;
+var o8;
+var f737951042_443;
+var f737951042_444;
+var f737951042_445;
+var o9;
+var f737951042_451;
+var o10;
+var o11;
+var f737951042_455;
+var o12;
+var o13;
+var f737951042_466;
+var f737951042_469;
+var o14;
+var o15;
+var f737951042_483;
+var o16;
+var o17;
+var f737951042_497;
+var o18;
+var fo737951042_813_clientWidth;
+var f737951042_815;
+var f737951042_820;
+var f737951042_823;
+var fo737951042_1066_clientWidth;
+JSBNG_Replay.s7dc9638224cef078c874cd3fa975dc7b976952e8_1 = [];
+JSBNG_Replay.s23fdf1998fb4cb0dea31f7ff9caa5c49cd23230d_11 = [];
+JSBNG_Replay.s27f27cc0a8f393a5b2b9cfab146b0487a0fed46c_0 = [];
+JSBNG_Replay.sfbdb2900fa18bccd81cab55c766ea737c1109ca0_8 = [];
+JSBNG_Replay.s6f54c5bf5199cec31b0b6ef5af74f23d8e084f79_1 = [];
+JSBNG_Replay.s6f54c5bf5199cec31b0b6ef5af74f23d8e084f79_2 = [];
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15 = [];
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_26 = [];
+JSBNG_Replay.s43fc3a4faaae123905c065ee7216f6efb640b86f_1 = [];
+JSBNG_Replay.s6642b77f01f4d49ef240b29032e6da4372359178_0 = [];
+JSBNG_Replay.s19bfa2ac1e19f511e50bfae28fc42f693a531db5_1 = [];
+JSBNG_Replay.s19bfa2ac1e19f511e50bfae28fc42f693a531db5_2 = [];
+JSBNG_Replay.s6642b77f01f4d49ef240b29032e6da4372359178_1 = [];
+// 1
+// record generated by JSBench  at 2013-07-10T18:14:27.183Z
+// 2
+// 3
+f737951042_0 = function() { return f737951042_0.returns[f737951042_0.inst++]; };
+f737951042_0.returns = [];
+f737951042_0.inst = 0;
+// 4
+ow737951042.JSBNG__Date = f737951042_0;
+// 5
+o0 = {};
+// 6
+ow737951042.JSBNG__document = o0;
+// 15
+f737951042_6 = function() { return f737951042_6.returns[f737951042_6.inst++]; };
+f737951042_6.returns = [];
+f737951042_6.inst = 0;
+// 16
+ow737951042.JSBNG__removeEventListener = f737951042_6;
+// 17
+f737951042_7 = function() { return f737951042_7.returns[f737951042_7.inst++]; };
+f737951042_7.returns = [];
+f737951042_7.inst = 0;
+// 18
+ow737951042.JSBNG__addEventListener = f737951042_7;
+// 19
+ow737951042.JSBNG__top = ow737951042;
+// 24
+ow737951042.JSBNG__scrollX = 0;
+// 25
+ow737951042.JSBNG__scrollY = 0;
+// 30
+f737951042_12 = function() { return f737951042_12.returns[f737951042_12.inst++]; };
+f737951042_12.returns = [];
+f737951042_12.inst = 0;
+// 31
+ow737951042.JSBNG__setTimeout = f737951042_12;
+// 32
+f737951042_13 = function() { return f737951042_13.returns[f737951042_13.inst++]; };
+f737951042_13.returns = [];
+f737951042_13.inst = 0;
+// 33
+ow737951042.JSBNG__setInterval = f737951042_13;
+// 42
+ow737951042.JSBNG__frames = ow737951042;
+// 45
+ow737951042.JSBNG__self = ow737951042;
+// 46
+o1 = {};
+// 47
+ow737951042.JSBNG__navigator = o1;
+// 62
+ow737951042.JSBNG__closed = false;
+// 65
+ow737951042.JSBNG__opener = null;
+// 66
+ow737951042.JSBNG__defaultStatus = "";
+// 67
+o2 = {};
+// 68
+ow737951042.JSBNG__location = o2;
+// 69
+ow737951042.JSBNG__innerWidth = 1024;
+// 70
+ow737951042.JSBNG__innerHeight = 702;
+// 71
+ow737951042.JSBNG__outerWidth = 1024;
+// 72
+ow737951042.JSBNG__outerHeight = 774;
+// 73
+ow737951042.JSBNG__screenX = 79;
+// 74
+ow737951042.JSBNG__screenY = 22;
+// 75
+ow737951042.JSBNG__pageXOffset = 0;
+// 76
+ow737951042.JSBNG__pageYOffset = 0;
+// 101
+ow737951042.JSBNG__frameElement = null;
+// 112
+ow737951042.JSBNG__screenLeft = 79;
+// 113
+ow737951042.JSBNG__clientInformation = o1;
+// 114
+ow737951042.JSBNG__defaultstatus = "";
+// 119
+ow737951042.JSBNG__devicePixelRatio = 1;
+// 122
+ow737951042.JSBNG__offscreenBuffering = true;
+// 123
+ow737951042.JSBNG__screenTop = 22;
+// 140
+f737951042_57 = function() { return f737951042_57.returns[f737951042_57.inst++]; };
+f737951042_57.returns = [];
+f737951042_57.inst = 0;
+// 141
+ow737951042.JSBNG__Image = f737951042_57;
+// 142
+ow737951042.JSBNG__name = "uaMatch";
+// 149
+ow737951042.JSBNG__status = "";
+// 314
+f737951042_143 = function() { return f737951042_143.returns[f737951042_143.inst++]; };
+f737951042_143.returns = [];
+f737951042_143.inst = 0;
+// 315
+ow737951042.JSBNG__Document = f737951042_143;
+// 588
+ow737951042.JSBNG__XMLDocument = f737951042_143;
+// 863
+ow737951042.JSBNG__onerror = null;
+// 866
+// 868
+o3 = {};
+// 869
+f737951042_0.returns.push(o3);
+// undefined
+o3 = null;
+// 871
+o3 = {};
+// 872
+f737951042_0.returns.push(o3);
+// undefined
+o3 = null;
+// 873
+o3 = {};
+// 874
+f737951042_0.returns.push(o3);
+// undefined
+o3 = null;
+// 875
+o3 = {};
+// 876
+f737951042_0.returns.push(o3);
+// undefined
+o3 = null;
+// 877
+o3 = {};
+// 878
+f737951042_0.returns.push(o3);
+// undefined
+o3 = null;
+// 879
+o3 = {};
+// 880
+f737951042_0.returns.push(o3);
+// undefined
+o3 = null;
+// 881
+ow737951042.JSBNG__onJSBNG__stop = undefined;
+// 882
+f737951042_424 = function() { return f737951042_424.returns[f737951042_424.inst++]; };
+f737951042_424.returns = [];
+f737951042_424.inst = 0;
+// 883
+ow737951042.JSBNG__onbeforeunload = f737951042_424;
+// 884
+o0.webkitHidden = void 0;
+// 885
+o0.oHidden = void 0;
+// 886
+o0.msHidden = void 0;
+// 887
+o0.mozHidden = void 0;
+// 888
+o0["null"] = void 0;
+// 889
+o3 = {};
+// 890
+f737951042_0.returns.push(o3);
+// undefined
+o3 = null;
+// 891
+f737951042_7.returns.push(undefined);
+// 892
+f737951042_7.returns.push(undefined);
+// 893
+o3 = {};
+// 894
+f737951042_0.returns.push(o3);
+// 895
+f737951042_427 = function() { return f737951042_427.returns[f737951042_427.inst++]; };
+f737951042_427.returns = [];
+f737951042_427.inst = 0;
+// 896
+o3.getTime = f737951042_427;
+// undefined
+o3 = null;
+// 897
+f737951042_427.returns.push(1373480092811);
+// 898
+o3 = {};
+// 899
+f737951042_0.returns.push(o3);
+// undefined
+o3 = null;
+// 900
+o3 = {};
+// 901
+f737951042_0.returns.push(o3);
+// undefined
+o3 = null;
+// 902
+o3 = {};
+// 903
+f737951042_0.returns.push(o3);
+// undefined
+o3 = null;
+// 905
+o3 = {};
+// 906
+f737951042_57.returns.push(o3);
+// 907
+// 908
+// 909
+o4 = {};
+// 911
+o5 = {};
+// 912
+f737951042_0.returns.push(o5);
+// 913
+o5.getTime = f737951042_427;
+// undefined
+o5 = null;
+// 914
+f737951042_427.returns.push(1373480093022);
+// 923
+o5 = {};
+// 924
+f737951042_0.returns.push(o5);
+// 925
+o5.getTime = f737951042_427;
+// undefined
+o5 = null;
+// 926
+f737951042_427.returns.push(1373480097717);
+// 928
+o5 = {};
+// 929
+f737951042_0.returns.push(o5);
+// 930
+o5.getTime = f737951042_427;
+// undefined
+o5 = null;
+// 931
+f737951042_427.returns.push(1373480097727);
+// 932
+o5 = {};
+// 933
+f737951042_57.returns.push(o5);
+// 934
+// 935
+// 938
+o6 = {};
+// 939
+f737951042_57.returns.push(o6);
+// 940
+// undefined
+o6 = null;
+// 944
+f737951042_438 = function() { return f737951042_438.returns[f737951042_438.inst++]; };
+f737951042_438.returns = [];
+f737951042_438.inst = 0;
+// 945
+o0.getElementById = f737951042_438;
+// 946
+o6 = {};
+// 947
+f737951042_438.returns.push(o6);
+// 950
+o7 = {};
+// 951
+f737951042_438.returns.push(o7);
+// 952
+o7.className = "size0 bottom-thumbs main-image-widget-for-dp standard";
+// 953
+// 954
+// 955
+// 956
+o8 = {};
+// 957
+o6.style = o8;
+// 958
+// undefined
+o8 = null;
+// 981
+o8 = {};
+// 982
+f737951042_0.returns.push(o8);
+// 983
+f737951042_443 = function() { return f737951042_443.returns[f737951042_443.inst++]; };
+f737951042_443.returns = [];
+f737951042_443.inst = 0;
+// 984
+o8.getHours = f737951042_443;
+// 985
+f737951042_443.returns.push(14);
+// 986
+f737951042_444 = function() { return f737951042_444.returns[f737951042_444.inst++]; };
+f737951042_444.returns = [];
+f737951042_444.inst = 0;
+// 987
+o8.getMinutes = f737951042_444;
+// 988
+f737951042_444.returns.push(14);
+// 989
+f737951042_445 = function() { return f737951042_445.returns[f737951042_445.inst++]; };
+f737951042_445.returns = [];
+f737951042_445.inst = 0;
+// 990
+o8.getSeconds = f737951042_445;
+// undefined
+o8 = null;
+// 991
+f737951042_445.returns.push(57);
+// 992
+o8 = {};
+// 993
+f737951042_0.returns.push(o8);
+// 994
+o8.getHours = f737951042_443;
+// 995
+f737951042_443.returns.push(14);
+// 996
+o8.getMinutes = f737951042_444;
+// 997
+f737951042_444.returns.push(14);
+// 998
+o8.getSeconds = f737951042_445;
+// undefined
+o8 = null;
+// 999
+f737951042_445.returns.push(57);
+// 1000
+o0.layers = void 0;
+// 1001
+o0.all = void 0;
+// 1004
+f737951042_438.returns.push(null);
+// 1009
+f737951042_438.returns.push(null);
+// 1010
+f737951042_12.returns.push(16);
+// 1015
+o8 = {};
+// 1016
+f737951042_438.returns.push(o8);
+// 1017
+o9 = {};
+// 1018
+o8.style = o9;
+// 1020
+// undefined
+o9 = null;
+// 1026
+o9 = {};
+// 1027
+f737951042_0.returns.push(o9);
+// undefined
+o9 = null;
+// 1029
+o9 = {};
+// 1030
+f737951042_0.returns.push(o9);
+// undefined
+o9 = null;
+// 1038
+f737951042_451 = function() { return f737951042_451.returns[f737951042_451.inst++]; };
+f737951042_451.returns = [];
+f737951042_451.inst = 0;
+// 1039
+o0.createElement = f737951042_451;
+// 1040
+o9 = {};
+// 1041
+f737951042_451.returns.push(o9);
+// 1042
+// 1043
+o10 = {};
+// 1044
+o0.body = o10;
+// 1045
+o11 = {};
+// 1046
+o10.childNodes = o11;
+// 1047
+o11.length = 2;
+// 1049
+f737951042_455 = function() { return f737951042_455.returns[f737951042_455.inst++]; };
+f737951042_455.returns = [];
+f737951042_455.inst = 0;
+// 1050
+o10.insertBefore = f737951042_455;
+// undefined
+o10 = null;
+// 1053
+o10 = {};
+// 1054
+o11["0"] = o10;
+// undefined
+o11 = null;
+// undefined
+o10 = null;
+// 1055
+f737951042_455.returns.push(o9);
+// 1057
+o10 = {};
+// 1058
+o0.head = o10;
+// 1060
+o11 = {};
+// 1061
+f737951042_451.returns.push(o11);
+// 1062
+// 1063
+// 1064
+o10.insertBefore = f737951042_455;
+// 1065
+o12 = {};
+// 1066
+o10.firstChild = o12;
+// undefined
+o12 = null;
+// 1067
+f737951042_455.returns.push(o11);
+// undefined
+o11 = null;
+// 1080
+o11 = {};
+// 1081
+f737951042_0.returns.push(o11);
+// 1082
+o11.getTime = f737951042_427;
+// undefined
+o11 = null;
+// 1083
+f737951042_427.returns.push(1373480097828);
+// 1084
+f737951042_12.returns.push(17);
+// 1087
+o11 = {};
+// 1088
+f737951042_438.returns.push(o11);
+// 1089
+// 1090
+// 1091
+// 1092
+o0.readyState = "loading";
+// 1093
+f737951042_7.returns.push(undefined);
+// 1096
+o12 = {};
+// 1097
+f737951042_57.returns.push(o12);
+// 1098
+o2.protocol = "http:";
+// undefined
+o2 = null;
+// 1099
+f737951042_7.returns.push(undefined);
+// 1126
+ow737951042.JSBNG__attachEvent = undefined;
+// 1127
+f737951042_7.returns.push(undefined);
+// 1136
+o2 = {};
+// 1137
+o0.ue_backdetect = o2;
+// 1139
+o13 = {};
+// 1140
+o2.ue_back = o13;
+// undefined
+o2 = null;
+// 1143
+o13.value = "1";
+// undefined
+o13 = null;
+// 1144
+o2 = {};
+// 1145
+f737951042_0.returns.push(o2);
+// 1146
+o2.getTime = f737951042_427;
+// undefined
+o2 = null;
+// 1147
+f737951042_427.returns.push(1373480097920);
+// 1148
+f737951042_7.returns.push(undefined);
+// 1149
+f737951042_466 = function() { return f737951042_466.returns[f737951042_466.inst++]; };
+f737951042_466.returns = [];
+f737951042_466.inst = 0;
+// 1150
+ow737951042.JSBNG__onload = f737951042_466;
+// 1152
+ow737951042.JSBNG__performance = undefined;
+// 1153
+o2 = {};
+// 1154
+f737951042_0.returns.push(o2);
+// undefined
+o2 = null;
+// 1155
+o2 = {};
+// 1156
+f737951042_0.returns.push(o2);
+// 1157
+f737951042_469 = function() { return f737951042_469.returns[f737951042_469.inst++]; };
+f737951042_469.returns = [];
+f737951042_469.inst = 0;
+// 1158
+o2.toGMTString = f737951042_469;
+// undefined
+o2 = null;
+// 1159
+f737951042_469.returns.push("Invalid Date");
+// 1160
+o2 = {};
+// 1161
+f737951042_0.returns.push(o2);
+// undefined
+o2 = null;
+// 1162
+o2 = {};
+// 1164
+o13 = {};
+// 1165
+f737951042_0.returns.push(o13);
+// 1166
+o13.getTime = f737951042_427;
+// undefined
+o13 = null;
+// 1167
+f737951042_427.returns.push(1373480097981);
+// 1168
+o13 = {};
+// 1170
+o14 = {};
+// 1171
+f737951042_0.returns.push(o14);
+// 1172
+o14.getTime = f737951042_427;
+// undefined
+o14 = null;
+// 1173
+f737951042_427.returns.push(1373480097982);
+// 1174
+o14 = {};
+// 1175
+f737951042_0.returns.push(o14);
+// 1176
+o14.getTime = f737951042_427;
+// undefined
+o14 = null;
+// 1177
+f737951042_427.returns.push(1373480097982);
+// 1179
+o14 = {};
+// 1180
+f737951042_0.returns.push(o14);
+// undefined
+o14 = null;
+// 1181
+o0.defaultView = ow737951042;
+// 1182
+o1.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
+o1 = null;
+// 1183
+// 1185
+o1 = {};
+// 1186
+f737951042_0.returns.push(o1);
+// 1187
+o1.getHours = f737951042_443;
+// 1188
+f737951042_443.returns.push(14);
+// 1189
+o1.getMinutes = f737951042_444;
+// 1190
+f737951042_444.returns.push(14);
+// 1191
+o1.getSeconds = f737951042_445;
+// undefined
+o1 = null;
+// 1192
+f737951042_445.returns.push(58);
+// 1197
+f737951042_438.returns.push(null);
+// 1202
+f737951042_438.returns.push(null);
+// 1203
+f737951042_12.returns.push(18);
+// 1205
+o1 = {};
+// 1206
+f737951042_438.returns.push(o1);
+// 1207
+// 1209
+o14 = {};
+// 1210
+f737951042_0.returns.push(o14);
+// 1211
+o14.getHours = f737951042_443;
+// 1212
+f737951042_443.returns.push(14);
+// 1213
+o14.getMinutes = f737951042_444;
+// 1214
+f737951042_444.returns.push(14);
+// 1215
+o14.getSeconds = f737951042_445;
+// undefined
+o14 = null;
+// 1216
+f737951042_445.returns.push(59);
+// 1221
+f737951042_438.returns.push(null);
+// 1226
+f737951042_438.returns.push(null);
+// 1227
+f737951042_12.returns.push(19);
+// 1229
+f737951042_438.returns.push(o1);
+// 1231
+o14 = {};
+// 1232
+f737951042_0.returns.push(o14);
+// 1233
+o14.getHours = f737951042_443;
+// 1234
+f737951042_443.returns.push(14);
+// 1235
+o14.getMinutes = f737951042_444;
+// 1236
+f737951042_444.returns.push(15);
+// 1237
+o14.getSeconds = f737951042_445;
+// undefined
+o14 = null;
+// 1238
+f737951042_445.returns.push(0);
+// 1243
+f737951042_438.returns.push(null);
+// 1248
+f737951042_438.returns.push(null);
+// 1249
+f737951042_12.returns.push(20);
+// 1251
+f737951042_438.returns.push(o1);
+// 1254
+o14 = {};
+// 1255
+f737951042_438.returns.push(o14);
+// 1257
+o15 = {};
+// 1258
+f737951042_451.returns.push(o15);
+// 1259
+// 1260
+// 1261
+// 1262
+f737951042_483 = function() { return f737951042_483.returns[f737951042_483.inst++]; };
+f737951042_483.returns = [];
+f737951042_483.inst = 0;
+// 1263
+o14.appendChild = f737951042_483;
+// undefined
+o14 = null;
+// 1264
+f737951042_483.returns.push(o15);
+// 1265
+o14 = {};
+// 1267
+o16 = {};
+// 1268
+f737951042_0.returns.push(o16);
+// 1269
+o16.getTime = f737951042_427;
+// undefined
+o16 = null;
+// 1270
+f737951042_427.returns.push(1373480101233);
+// 1272
+ow737951042.JSBNG__webkitPerformance = undefined;
+// 1273
+o16 = {};
+// 1274
+f737951042_0.returns.push(o16);
+// 1275
+o16.getTime = f737951042_427;
+// undefined
+o16 = null;
+// 1276
+f737951042_427.returns.push(1373480101233);
+// 1278
+o16 = {};
+// 1279
+f737951042_0.returns.push(o16);
+// 1280
+o16.getHours = f737951042_443;
+// 1281
+f737951042_443.returns.push(14);
+// 1282
+o16.getMinutes = f737951042_444;
+// 1283
+f737951042_444.returns.push(15);
+// 1284
+o16.getSeconds = f737951042_445;
+// undefined
+o16 = null;
+// 1285
+f737951042_445.returns.push(1);
+// 1290
+f737951042_438.returns.push(null);
+// 1295
+f737951042_438.returns.push(null);
+// 1296
+f737951042_12.returns.push(21);
+// 1298
+f737951042_438.returns.push(o1);
+// 1300
+o16 = {};
+// 1301
+f737951042_0.returns.push(o16);
+// 1302
+o16.getHours = f737951042_443;
+// 1303
+f737951042_443.returns.push(14);
+// 1304
+o16.getMinutes = f737951042_444;
+// 1305
+f737951042_444.returns.push(15);
+// 1306
+o16.getSeconds = f737951042_445;
+// undefined
+o16 = null;
+// 1307
+f737951042_445.returns.push(2);
+// 1312
+f737951042_438.returns.push(null);
+// 1317
+f737951042_438.returns.push(null);
+// 1318
+f737951042_12.returns.push(22);
+// 1320
+f737951042_438.returns.push(o1);
+// 1321
+o16 = {};
+// 1323
+o17 = {};
+// 1324
+f737951042_0.returns.push(o17);
+// 1325
+o17.getTime = f737951042_427;
+// undefined
+o17 = null;
+// 1326
+f737951042_427.returns.push(1373480103335);
+// 1329
+f737951042_6.returns.push(undefined);
+// 1336
+o17 = {};
+// 1337
+f737951042_0.returns.push(o17);
+// 1338
+o17.getTime = f737951042_427;
+// undefined
+o17 = null;
+// 1339
+f737951042_427.returns.push(1373480103336);
+// 1340
+o17 = {};
+// 1341
+f737951042_57.returns.push(o17);
+// 1342
+// undefined
+o17 = null;
+// 1343
+o17 = {};
+// 1344
+f737951042_0.returns.push(o17);
+// undefined
+o17 = null;
+// 1345
+f737951042_13.returns.push(23);
+// 1346
+o17 = {};
+// 1347
+f737951042_57.returns.push(o17);
+// undefined
+o17 = null;
+// 1348
+o17 = {};
+// 1349
+f737951042_0.returns.push(o17);
+// undefined
+o17 = null;
+// 1350
+f737951042_466.returns.push(undefined);
+// 1352
+f737951042_466.returns.push(undefined);
+// 1354
+f737951042_466.returns.push(undefined);
+// 1356
+f737951042_466.returns.push(undefined);
+// 1358
+f737951042_466.returns.push(undefined);
+// 1360
+f737951042_466.returns.push(undefined);
+// 1362
+f737951042_466.returns.push(undefined);
+// 1364
+f737951042_466.returns.push(undefined);
+// 1366
+f737951042_466.returns.push(undefined);
+// 1368
+f737951042_466.returns.push(undefined);
+// 1370
+f737951042_466.returns.push(undefined);
+// 1372
+f737951042_466.returns.push(undefined);
+// 1374
+f737951042_466.returns.push(undefined);
+// 1376
+f737951042_466.returns.push(undefined);
+// 1378
+f737951042_466.returns.push(undefined);
+// 1380
+f737951042_466.returns.push(undefined);
+// 1382
+f737951042_466.returns.push(undefined);
+// 1384
+f737951042_466.returns.push(undefined);
+// 1386
+f737951042_466.returns.push(undefined);
+// 1388
+f737951042_466.returns.push(undefined);
+// 1390
+f737951042_466.returns.push(undefined);
+// 1392
+f737951042_466.returns.push(undefined);
+// 1394
+f737951042_466.returns.push(undefined);
+// 1396
+f737951042_466.returns.push(undefined);
+// 1398
+f737951042_466.returns.push(undefined);
+// 1400
+f737951042_466.returns.push(undefined);
+// 1402
+f737951042_466.returns.push(undefined);
+// 1404
+f737951042_466.returns.push(undefined);
+// 1406
+f737951042_466.returns.push(undefined);
+// 1408
+f737951042_466.returns.push(undefined);
+// 1410
+f737951042_466.returns.push(undefined);
+// 1412
+f737951042_466.returns.push(undefined);
+// 1414
+f737951042_466.returns.push(undefined);
+// 1416
+f737951042_466.returns.push(undefined);
+// 1418
+f737951042_466.returns.push(undefined);
+// 1420
+f737951042_466.returns.push(undefined);
+// 1422
+f737951042_466.returns.push(undefined);
+// 1424
+f737951042_466.returns.push(undefined);
+// 1426
+f737951042_466.returns.push(undefined);
+// 1428
+f737951042_466.returns.push(undefined);
+// 1430
+f737951042_466.returns.push(undefined);
+// 1432
+f737951042_466.returns.push(undefined);
+// 1434
+f737951042_466.returns.push(undefined);
+// 1436
+f737951042_466.returns.push(undefined);
+// 1438
+f737951042_466.returns.push(undefined);
+// 1440
+f737951042_466.returns.push(undefined);
+// 1442
+f737951042_466.returns.push(undefined);
+// 1444
+f737951042_466.returns.push(undefined);
+// 1446
+f737951042_466.returns.push(undefined);
+// 1448
+f737951042_466.returns.push(undefined);
+// 1450
+f737951042_466.returns.push(undefined);
+// 1452
+f737951042_466.returns.push(undefined);
+// 1454
+f737951042_466.returns.push(undefined);
+// 1456
+f737951042_466.returns.push(undefined);
+// 1458
+f737951042_466.returns.push(undefined);
+// 1460
+f737951042_466.returns.push(undefined);
+// 1462
+f737951042_466.returns.push(undefined);
+// 1464
+f737951042_466.returns.push(undefined);
+// 1466
+f737951042_466.returns.push(undefined);
+// 1468
+f737951042_466.returns.push(undefined);
+// 1470
+f737951042_466.returns.push(undefined);
+// 1472
+f737951042_466.returns.push(undefined);
+// 1474
+f737951042_466.returns.push(undefined);
+// 1476
+f737951042_466.returns.push(undefined);
+// 1478
+f737951042_466.returns.push(undefined);
+// 1480
+f737951042_466.returns.push(undefined);
+// 1482
+f737951042_466.returns.push(undefined);
+// 1484
+f737951042_466.returns.push(undefined);
+// 1486
+f737951042_466.returns.push(undefined);
+// 1488
+f737951042_466.returns.push(undefined);
+// 1490
+f737951042_466.returns.push(undefined);
+// 1492
+f737951042_466.returns.push(undefined);
+// 1494
+f737951042_466.returns.push(undefined);
+// 1496
+f737951042_466.returns.push(undefined);
+// 1498
+f737951042_466.returns.push(undefined);
+// 1500
+f737951042_466.returns.push(undefined);
+// 1502
+f737951042_466.returns.push(undefined);
+// 1504
+f737951042_466.returns.push(undefined);
+// 1506
+f737951042_466.returns.push(undefined);
+// 1508
+f737951042_466.returns.push(undefined);
+// 1510
+f737951042_466.returns.push(undefined);
+// 1512
+f737951042_466.returns.push(undefined);
+// 1514
+f737951042_466.returns.push(undefined);
+// 1516
+f737951042_466.returns.push(undefined);
+// 1518
+f737951042_466.returns.push(undefined);
+// 1520
+f737951042_466.returns.push(undefined);
+// 1522
+f737951042_466.returns.push(undefined);
+// 1524
+f737951042_466.returns.push(undefined);
+// 1526
+f737951042_466.returns.push(undefined);
+// 1528
+f737951042_466.returns.push(undefined);
+// 1530
+f737951042_466.returns.push(undefined);
+// 1532
+f737951042_466.returns.push(undefined);
+// 1534
+f737951042_466.returns.push(undefined);
+// 1536
+f737951042_466.returns.push(undefined);
+// 1538
+f737951042_466.returns.push(undefined);
+// 1540
+f737951042_466.returns.push(undefined);
+// 1542
+f737951042_466.returns.push(undefined);
+// 1544
+f737951042_466.returns.push(undefined);
+// 1546
+f737951042_466.returns.push(undefined);
+// 1548
+f737951042_466.returns.push(undefined);
+// 1550
+f737951042_466.returns.push(undefined);
+// 1552
+f737951042_466.returns.push(undefined);
+// 1554
+f737951042_466.returns.push(undefined);
+// 1556
+f737951042_466.returns.push(undefined);
+// 1558
+f737951042_466.returns.push(undefined);
+// 1560
+f737951042_466.returns.push(undefined);
+// 1562
+f737951042_466.returns.push(undefined);
+// 1564
+f737951042_466.returns.push(undefined);
+// 1566
+f737951042_466.returns.push(undefined);
+// 1568
+f737951042_466.returns.push(undefined);
+// 1570
+f737951042_466.returns.push(undefined);
+// 1572
+f737951042_466.returns.push(undefined);
+// 1574
+f737951042_466.returns.push(undefined);
+// 1576
+f737951042_466.returns.push(undefined);
+// 1578
+f737951042_466.returns.push(undefined);
+// 1580
+f737951042_466.returns.push(undefined);
+// 1582
+f737951042_466.returns.push(undefined);
+// 1584
+f737951042_466.returns.push(undefined);
+// 1586
+f737951042_466.returns.push(undefined);
+// 1588
+f737951042_466.returns.push(undefined);
+// 1590
+f737951042_466.returns.push(undefined);
+// 1592
+f737951042_466.returns.push(undefined);
+// 1594
+f737951042_466.returns.push(undefined);
+// 1596
+f737951042_466.returns.push(undefined);
+// 1598
+f737951042_466.returns.push(undefined);
+// 1600
+f737951042_466.returns.push(undefined);
+// 1602
+f737951042_466.returns.push(undefined);
+// 1604
+f737951042_466.returns.push(undefined);
+// 1606
+f737951042_466.returns.push(undefined);
+// 1608
+f737951042_466.returns.push(undefined);
+// 1610
+f737951042_466.returns.push(undefined);
+// 1612
+f737951042_466.returns.push(undefined);
+// 1614
+f737951042_466.returns.push(undefined);
+// 1616
+f737951042_466.returns.push(undefined);
+// 1618
+f737951042_466.returns.push(undefined);
+// 1620
+f737951042_466.returns.push(undefined);
+// 1622
+f737951042_466.returns.push(undefined);
+// 1624
+f737951042_466.returns.push(undefined);
+// 1626
+f737951042_466.returns.push(undefined);
+// 1628
+f737951042_466.returns.push(undefined);
+// 1630
+f737951042_466.returns.push(undefined);
+// 1632
+f737951042_466.returns.push(undefined);
+// 1634
+f737951042_466.returns.push(undefined);
+// 1636
+f737951042_466.returns.push(undefined);
+// 1638
+f737951042_466.returns.push(undefined);
+// 1640
+f737951042_466.returns.push(undefined);
+// 1642
+f737951042_466.returns.push(undefined);
+// 1644
+f737951042_466.returns.push(undefined);
+// 1646
+f737951042_466.returns.push(undefined);
+// 1648
+f737951042_466.returns.push(undefined);
+// 1650
+f737951042_466.returns.push(undefined);
+// 1652
+f737951042_466.returns.push(undefined);
+// 1654
+f737951042_466.returns.push(undefined);
+// 1656
+f737951042_466.returns.push(undefined);
+// 1658
+f737951042_466.returns.push(undefined);
+// 1660
+f737951042_466.returns.push(undefined);
+// 1662
+f737951042_466.returns.push(undefined);
+// 1664
+f737951042_466.returns.push(undefined);
+// 1666
+f737951042_466.returns.push(undefined);
+// 1668
+f737951042_466.returns.push(undefined);
+// 1670
+f737951042_466.returns.push(undefined);
+// 1672
+f737951042_466.returns.push(undefined);
+// 1674
+f737951042_466.returns.push(undefined);
+// 1676
+f737951042_466.returns.push(undefined);
+// 1678
+f737951042_466.returns.push(undefined);
+// 1680
+f737951042_466.returns.push(undefined);
+// 1682
+f737951042_466.returns.push(undefined);
+// 1684
+f737951042_466.returns.push(undefined);
+// 1686
+f737951042_466.returns.push(undefined);
+// 1688
+f737951042_466.returns.push(undefined);
+// 1690
+f737951042_466.returns.push(undefined);
+// 1692
+f737951042_466.returns.push(undefined);
+// 1694
+f737951042_466.returns.push(undefined);
+// 1696
+f737951042_466.returns.push(undefined);
+// 1698
+f737951042_466.returns.push(undefined);
+// 1700
+f737951042_466.returns.push(undefined);
+// 1702
+f737951042_466.returns.push(undefined);
+// 1704
+f737951042_466.returns.push(undefined);
+// 1706
+f737951042_466.returns.push(undefined);
+// 1708
+f737951042_466.returns.push(undefined);
+// 1710
+f737951042_466.returns.push(undefined);
+// 1712
+f737951042_466.returns.push(undefined);
+// 1714
+f737951042_466.returns.push(undefined);
+// 1716
+f737951042_466.returns.push(undefined);
+// 1718
+f737951042_466.returns.push(undefined);
+// 1720
+f737951042_466.returns.push(undefined);
+// 1722
+f737951042_466.returns.push(undefined);
+// 1724
+f737951042_466.returns.push(undefined);
+// 1726
+f737951042_466.returns.push(undefined);
+// 1728
+f737951042_466.returns.push(undefined);
+// 1730
+f737951042_466.returns.push(undefined);
+// 1732
+f737951042_466.returns.push(undefined);
+// 1734
+f737951042_466.returns.push(undefined);
+// 1736
+f737951042_466.returns.push(undefined);
+// 1738
+f737951042_466.returns.push(undefined);
+// 1740
+f737951042_466.returns.push(undefined);
+// 1742
+f737951042_466.returns.push(undefined);
+// 1744
+f737951042_466.returns.push(undefined);
+// 1746
+f737951042_466.returns.push(undefined);
+// 1748
+f737951042_466.returns.push(undefined);
+// 1750
+f737951042_466.returns.push(undefined);
+// 1752
+f737951042_466.returns.push(undefined);
+// 1754
+f737951042_466.returns.push(undefined);
+// 1756
+f737951042_466.returns.push(undefined);
+// 1758
+f737951042_466.returns.push(undefined);
+// 1760
+f737951042_466.returns.push(undefined);
+// 1762
+f737951042_466.returns.push(undefined);
+// 1764
+f737951042_466.returns.push(undefined);
+// 1766
+f737951042_466.returns.push(undefined);
+// 1768
+f737951042_466.returns.push(undefined);
+// 1770
+f737951042_466.returns.push(undefined);
+// 1772
+f737951042_466.returns.push(undefined);
+// 1774
+f737951042_466.returns.push(undefined);
+// 1776
+f737951042_466.returns.push(undefined);
+// 1778
+f737951042_466.returns.push(undefined);
+// 1780
+f737951042_466.returns.push(undefined);
+// 1782
+f737951042_466.returns.push(undefined);
+// 1784
+f737951042_466.returns.push(undefined);
+// 1786
+f737951042_466.returns.push(undefined);
+// 1788
+f737951042_466.returns.push(undefined);
+// 1790
+f737951042_466.returns.push(undefined);
+// 1792
+f737951042_466.returns.push(undefined);
+// 1794
+f737951042_466.returns.push(undefined);
+// 1796
+f737951042_466.returns.push(undefined);
+// 1798
+f737951042_466.returns.push(undefined);
+// 1800
+f737951042_466.returns.push(undefined);
+// 1802
+f737951042_466.returns.push(undefined);
+// 1804
+f737951042_466.returns.push(undefined);
+// 1806
+f737951042_466.returns.push(undefined);
+// 1808
+f737951042_466.returns.push(undefined);
+// 1810
+f737951042_466.returns.push(undefined);
+// 1812
+f737951042_466.returns.push(undefined);
+// 1814
+f737951042_466.returns.push(undefined);
+// 1816
+f737951042_466.returns.push(undefined);
+// 1818
+f737951042_466.returns.push(undefined);
+// 1820
+f737951042_466.returns.push(undefined);
+// 1822
+f737951042_466.returns.push(undefined);
+// 1824
+f737951042_466.returns.push(undefined);
+// 1826
+f737951042_466.returns.push(undefined);
+// 1828
+f737951042_466.returns.push(undefined);
+// 1830
+f737951042_466.returns.push(undefined);
+// 1832
+f737951042_466.returns.push(undefined);
+// 1834
+f737951042_466.returns.push(undefined);
+// 1836
+f737951042_466.returns.push(undefined);
+// 1838
+f737951042_466.returns.push(undefined);
+// 1840
+f737951042_466.returns.push(undefined);
+// 1842
+f737951042_466.returns.push(undefined);
+// 1844
+f737951042_466.returns.push(undefined);
+// 1846
+f737951042_466.returns.push(undefined);
+// 1848
+f737951042_466.returns.push(undefined);
+// 1850
+f737951042_466.returns.push(undefined);
+// 1852
+f737951042_466.returns.push(undefined);
+// 1854
+f737951042_466.returns.push(undefined);
+// 1856
+f737951042_466.returns.push(undefined);
+// 1858
+// 1862
+o17 = {};
+// 1863
+f737951042_451.returns.push(o17);
+// 1864
+// 1865
+f737951042_497 = function() { return f737951042_497.returns[f737951042_497.inst++]; };
+f737951042_497.returns = [];
+f737951042_497.inst = 0;
+// 1866
+o0.getElementsByTagName = f737951042_497;
+// 1867
+o18 = {};
+// 1868
+f737951042_497.returns.push(o18);
+// 1869
+o18["0"] = o10;
+// 1870
+o10.appendChild = f737951042_483;
+// undefined
+o10 = null;
+// 1871
+f737951042_483.returns.push(o17);
+// undefined
+o17 = null;
+// 1873
+f737951042_12.returns.push(24);
+// 1875
+f737951042_12.returns.push(25);
+// 1879
+o10 = {};
+// 1880
+f737951042_438.returns.push(o10);
+// 1881
+// 1883
+o17 = {};
+// 1884
+f737951042_0.returns.push(o17);
+// 1885
+o17.getHours = f737951042_443;
+// 1886
+f737951042_443.returns.push(14);
+// 1887
+o17.getMinutes = f737951042_444;
+// 1888
+f737951042_444.returns.push(15);
+// 1889
+o17.getSeconds = f737951042_445;
+// undefined
+o17 = null;
+// 1890
+f737951042_445.returns.push(3);
+// 1895
+f737951042_438.returns.push(null);
+// 1900
+f737951042_438.returns.push(null);
+// 1901
+f737951042_12.returns.push(26);
+// 1903
+f737951042_438.returns.push(o1);
+// 1905
+// undefined
+o12 = null;
+// 1910
+f737951042_497.returns.push(o18);
+// undefined
+o18 = null;
+// 1913
+o12 = {};
+// 1914
+f737951042_497.returns.push(o12);
+// 1915
+o12.length = 558;
+// 1917
+o12["0"] = o9;
+// undefined
+o9 = null;
+// 1918
+o9 = {};
+// 1919
+o12["1"] = o9;
+// 1920
+o9.id = "divsinglecolumnminwidth";
+// undefined
+o9 = null;
+// 1921
+o9 = {};
+// 1922
+o12["2"] = o9;
+// 1923
+o9.id = "navbar";
+// undefined
+o9 = null;
+// 1924
+o9 = {};
+// 1925
+o12["3"] = o9;
+// 1926
+o9.id = "nav-cross-shop";
+// undefined
+o9 = null;
+// 1927
+o9 = {};
+// 1928
+o12["4"] = o9;
+// 1929
+o9.id = "welcomeRowTable";
+// undefined
+o9 = null;
+// 1930
+o9 = {};
+// 1931
+o12["5"] = o9;
+// 1932
+o9.id = "nav-ad-background-style";
+// undefined
+o9 = null;
+// 1933
+o9 = {};
+// 1934
+o12["6"] = o9;
+// 1935
+o9.id = "navSwmSlot";
+// undefined
+o9 = null;
+// 1936
+o9 = {};
+// 1937
+o12["7"] = o9;
+// 1938
+o9.id = "navSwmHoliday";
+// undefined
+o9 = null;
+// 1939
+o9 = {};
+// 1940
+o12["8"] = o9;
+// 1941
+o9.id = "";
+// undefined
+o9 = null;
+// 1942
+o9 = {};
+// 1943
+o12["9"] = o9;
+// 1944
+o9.id = "";
+// undefined
+o9 = null;
+// 1945
+o9 = {};
+// 1946
+o12["10"] = o9;
+// 1947
+o9.id = "nav-bar-outer";
+// undefined
+o9 = null;
+// 1948
+o9 = {};
+// 1949
+o12["11"] = o9;
+// 1950
+o9.id = "nav-logo-borderfade";
+// undefined
+o9 = null;
+// 1951
+o9 = {};
+// 1952
+o12["12"] = o9;
+// 1953
+o9.id = "";
+// undefined
+o9 = null;
+// 1954
+o9 = {};
+// 1955
+o12["13"] = o9;
+// 1956
+o9.id = "";
+// undefined
+o9 = null;
+// 1957
+o9 = {};
+// 1958
+o12["14"] = o9;
+// 1959
+o9.id = "nav-bar-inner";
+// undefined
+o9 = null;
+// 1960
+o9 = {};
+// 1961
+o12["15"] = o9;
+// 1962
+o9.id = "";
+// undefined
+o9 = null;
+// 1963
+o9 = {};
+// 1964
+o12["16"] = o9;
+// 1965
+o9.id = "";
+// undefined
+o9 = null;
+// 1966
+o9 = {};
+// 1967
+o12["17"] = o9;
+// 1968
+o9.id = "";
+// undefined
+o9 = null;
+// 1969
+o9 = {};
+// 1970
+o12["18"] = o9;
+// 1971
+o9.id = "";
+// undefined
+o9 = null;
+// 1972
+o9 = {};
+// 1973
+o12["19"] = o9;
+// 1974
+o9.id = "nav-iss-attach";
+// undefined
+o9 = null;
+// 1975
+o9 = {};
+// 1976
+o12["20"] = o9;
+// 1977
+o9.id = "";
+// undefined
+o9 = null;
+// 1978
+o9 = {};
+// 1979
+o12["21"] = o9;
+// 1980
+o9.id = "";
+// undefined
+o9 = null;
+// 1981
+o9 = {};
+// 1982
+o12["22"] = o9;
+// 1983
+o9.id = "rwImages_hidden";
+// undefined
+o9 = null;
+// 1984
+o9 = {};
+// 1985
+o12["23"] = o9;
+// 1986
+o9.id = "PrimeStripeContent";
+// undefined
+o9 = null;
+// 1987
+o9 = {};
+// 1988
+o12["24"] = o9;
+// 1989
+o9.id = "";
+// undefined
+o9 = null;
+// 1990
+o12["25"] = o7;
+// 1991
+o7.id = "main-image-widget";
+// undefined
+o7 = null;
+// 1992
+o7 = {};
+// 1993
+o12["26"] = o7;
+// 1994
+o7.id = "main-image-content";
+// undefined
+o7 = null;
+// 1995
+o7 = {};
+// 1996
+o12["27"] = o7;
+// 1997
+o7.id = "main-image-relative-container";
+// undefined
+o7 = null;
+// 1998
+o7 = {};
+// 1999
+o12["28"] = o7;
+// 2000
+o7.id = "main-image-fixed-container";
+// undefined
+o7 = null;
+// 2001
+o7 = {};
+// 2002
+o12["29"] = o7;
+// 2003
+o7.id = "main-image-wrapper-outer";
+// undefined
+o7 = null;
+// 2004
+o7 = {};
+// 2005
+o12["30"] = o7;
+// 2006
+o7.id = "main-image-wrapper";
+// undefined
+o7 = null;
+// 2007
+o7 = {};
+// 2008
+o12["31"] = o7;
+// 2009
+o7.id = "holderMainImage";
+// undefined
+o7 = null;
+// 2010
+o7 = {};
+// 2011
+o12["32"] = o7;
+// 2012
+o7.id = "twister-main-image";
+// undefined
+o7 = null;
+// 2013
+o7 = {};
+// 2014
+o12["33"] = o7;
+// 2015
+o7.id = "main-image-unavailable";
+// undefined
+o7 = null;
+// 2016
+o7 = {};
+// 2017
+o12["34"] = o7;
+// 2018
+o7.id = "";
+// undefined
+o7 = null;
+// 2019
+o7 = {};
+// 2020
+o12["35"] = o7;
+// 2021
+o7.id = "";
+// undefined
+o7 = null;
+// 2022
+o7 = {};
+// 2023
+o12["36"] = o7;
+// 2024
+o7.id = "";
+// undefined
+o7 = null;
+// 2025
+o7 = {};
+// 2026
+o12["37"] = o7;
+// 2027
+o7.id = "";
+// undefined
+o7 = null;
+// 2028
+o7 = {};
+// 2029
+o12["38"] = o7;
+// 2030
+o7.id = "main-image-caption";
+// undefined
+o7 = null;
+// 2031
+o7 = {};
+// 2032
+o12["39"] = o7;
+// 2033
+o7.id = "thumbs-image";
+// undefined
+o7 = null;
+// 2034
+o7 = {};
+// 2035
+o12["40"] = o7;
+// 2036
+o7.id = "";
+// undefined
+o7 = null;
+// 2037
+o7 = {};
+// 2038
+o12["41"] = o7;
+// 2039
+o7.id = "";
+// undefined
+o7 = null;
+// 2040
+o7 = {};
+// 2041
+o12["42"] = o7;
+// 2042
+o7.id = "prodImageCell";
+// undefined
+o7 = null;
+// 2043
+o7 = {};
+// 2044
+o12["43"] = o7;
+// 2045
+o7.id = "";
+// undefined
+o7 = null;
+// 2046
+o7 = {};
+// 2047
+o12["44"] = o7;
+// 2048
+o7.id = "radiobuyboxDivId";
+// undefined
+o7 = null;
+// 2049
+o7 = {};
+// 2050
+o12["45"] = o7;
+// 2051
+o7.id = "rbbContainer";
+// undefined
+o7 = null;
+// 2052
+o7 = {};
+// 2053
+o12["46"] = o7;
+// 2054
+o7.id = "";
+// undefined
+o7 = null;
+// 2055
+o7 = {};
+// 2056
+o12["47"] = o7;
+// 2057
+o7.id = "bb_section";
+// undefined
+o7 = null;
+// 2058
+o7 = {};
+// 2059
+o12["48"] = o7;
+// 2060
+o7.id = "rbb_bb_trigger";
+// undefined
+o7 = null;
+// 2061
+o7 = {};
+// 2062
+o12["49"] = o7;
+// 2063
+o7.id = "rbb_bb";
+// undefined
+o7 = null;
+// 2064
+o7 = {};
+// 2065
+o12["50"] = o7;
+// 2066
+o7.id = "twister-atf-emwa_feature_div";
+// undefined
+o7 = null;
+// 2067
+o7 = {};
+// 2068
+o12["51"] = o7;
+// 2069
+o7.id = "buyboxDivId";
+// undefined
+o7 = null;
+// 2070
+o7 = {};
+// 2071
+o12["52"] = o7;
+// 2072
+o7.id = "addonBuyboxID";
+// undefined
+o7 = null;
+// 2073
+o7 = {};
+// 2074
+o12["53"] = o7;
+// 2075
+o7.id = "";
+// undefined
+o7 = null;
+// 2076
+o7 = {};
+// 2077
+o12["54"] = o7;
+// 2078
+o7.id = "goldBoxBuyBoxDivId";
+// undefined
+o7 = null;
+// 2079
+o7 = {};
+// 2080
+o12["55"] = o7;
+// 2081
+o7.id = "buyBoxContent";
+// undefined
+o7 = null;
+// 2082
+o7 = {};
+// 2083
+o12["56"] = o7;
+// 2084
+o7.id = "quantityDropdownDiv";
+// undefined
+o7 = null;
+// 2085
+o7 = {};
+// 2086
+o12["57"] = o7;
+// 2087
+o7.id = "buyboxTwisterJS";
+// undefined
+o7 = null;
+// 2088
+o7 = {};
+// 2089
+o12["58"] = o7;
+// 2090
+o7.id = "buyNewDiv";
+// undefined
+o7 = null;
+// 2091
+o7 = {};
+// 2092
+o12["59"] = o7;
+// 2093
+o7.id = "";
+// undefined
+o7 = null;
+// 2094
+o7 = {};
+// 2095
+o12["60"] = o7;
+// 2096
+o7.id = "BBPricePlusShipID";
+// undefined
+o7 = null;
+// 2097
+o7 = {};
+// 2098
+o12["61"] = o7;
+// 2099
+o7.id = "BBAvailPlusMerchID";
+// undefined
+o7 = null;
+// 2100
+o7 = {};
+// 2101
+o12["62"] = o7;
+// 2102
+o7.id = "prime-rcx-subs-checkbox-outer";
+// undefined
+o7 = null;
+// 2103
+o7 = {};
+// 2104
+o12["63"] = o7;
+// 2105
+o7.id = "";
+// undefined
+o7 = null;
+// 2106
+o7 = {};
+// 2107
+o12["64"] = o7;
+// 2108
+o7.id = "";
+// undefined
+o7 = null;
+// 2109
+o7 = {};
+// 2110
+o12["65"] = o7;
+// 2111
+o7.id = "primeLearnMoreDiv";
+// undefined
+o7 = null;
+// 2112
+o7 = {};
+// 2113
+o12["66"] = o7;
+// 2114
+o7.id = "oneClickDivId";
+// undefined
+o7 = null;
+// 2115
+o7 = {};
+// 2116
+o12["67"] = o7;
+// 2117
+o7.id = "";
+// undefined
+o7 = null;
+// 2118
+o7 = {};
+// 2119
+o12["68"] = o7;
+// 2120
+o7.id = "";
+// undefined
+o7 = null;
+// 2121
+o7 = {};
+// 2122
+o12["69"] = o7;
+// 2123
+o7.id = "";
+// undefined
+o7 = null;
+// 2124
+o7 = {};
+// 2125
+o12["70"] = o7;
+// 2126
+o7.id = "rbbFooter";
+// undefined
+o7 = null;
+// 2127
+o7 = {};
+// 2128
+o12["71"] = o7;
+// 2129
+o7.id = "";
+// undefined
+o7 = null;
+// 2130
+o7 = {};
+// 2131
+o12["72"] = o7;
+// 2132
+o7.id = "";
+// undefined
+o7 = null;
+// 2133
+o7 = {};
+// 2134
+o12["73"] = o7;
+// 2135
+o7.id = "";
+// undefined
+o7 = null;
+// 2136
+o7 = {};
+// 2137
+o12["74"] = o7;
+// 2138
+o7.id = "";
+// undefined
+o7 = null;
+// 2139
+o7 = {};
+// 2140
+o12["75"] = o7;
+// 2141
+o7.id = "tradeInBuyboxFeatureDiv";
+// undefined
+o7 = null;
+// 2142
+o7 = {};
+// 2143
+o12["76"] = o7;
+// 2144
+o7.id = "";
+// undefined
+o7 = null;
+// 2145
+o7 = {};
+// 2146
+o12["77"] = o7;
+// 2147
+o7.id = "";
+// undefined
+o7 = null;
+// 2148
+o7 = {};
+// 2149
+o12["78"] = o7;
+// 2150
+o7.id = "";
+// undefined
+o7 = null;
+// 2151
+o7 = {};
+// 2152
+o12["79"] = o7;
+// 2153
+o7.id = "";
+// undefined
+o7 = null;
+// 2154
+o7 = {};
+// 2155
+o12["80"] = o7;
+// 2156
+o7.id = "";
+// undefined
+o7 = null;
+// 2157
+o7 = {};
+// 2158
+o12["81"] = o7;
+// 2159
+o7.id = "";
+// undefined
+o7 = null;
+// 2160
+o7 = {};
+// 2161
+o12["82"] = o7;
+// 2162
+o7.id = "";
+// undefined
+o7 = null;
+// 2163
+o7 = {};
+// 2164
+o12["83"] = o7;
+// 2165
+o7.id = "";
+// undefined
+o7 = null;
+// 2166
+o7 = {};
+// 2167
+o12["84"] = o7;
+// 2168
+o7.id = "";
+// undefined
+o7 = null;
+// 2169
+o7 = {};
+// 2170
+o12["85"] = o7;
+// 2171
+o7.id = "more-buying-choice-content-div";
+// undefined
+o7 = null;
+// 2172
+o7 = {};
+// 2173
+o12["86"] = o7;
+// 2174
+o7.id = "secondaryUsedAndNew";
+// undefined
+o7 = null;
+// 2175
+o7 = {};
+// 2176
+o12["87"] = o7;
+// 2177
+o7.id = "";
+// undefined
+o7 = null;
+// 2178
+o7 = {};
+// 2179
+o12["88"] = o7;
+// 2180
+o7.id = "SDPBlock";
+// undefined
+o7 = null;
+// 2181
+o7 = {};
+// 2182
+o12["89"] = o7;
+// 2183
+o7.id = "";
+// undefined
+o7 = null;
+// 2184
+o7 = {};
+// 2185
+o12["90"] = o7;
+// 2186
+o7.id = "";
+// undefined
+o7 = null;
+// 2187
+o7 = {};
+// 2188
+o12["91"] = o7;
+// 2189
+o7.id = "";
+// undefined
+o7 = null;
+// 2190
+o7 = {};
+// 2191
+o12["92"] = o7;
+// 2192
+o7.id = "";
+// undefined
+o7 = null;
+// 2193
+o7 = {};
+// 2194
+o12["93"] = o7;
+// 2195
+o7.id = "";
+// undefined
+o7 = null;
+// 2196
+o7 = {};
+// 2197
+o12["94"] = o7;
+// 2198
+o7.id = "";
+// undefined
+o7 = null;
+// 2199
+o7 = {};
+// 2200
+o12["95"] = o7;
+// 2201
+o7.id = "tafContainerDiv";
+// undefined
+o7 = null;
+// 2202
+o7 = {};
+// 2203
+o12["96"] = o7;
+// 2204
+o7.id = "";
+// undefined
+o7 = null;
+// 2205
+o7 = {};
+// 2206
+o12["97"] = o7;
+// 2207
+o7.id = "contributorContainerB002N3VYB60596517742";
+// undefined
+o7 = null;
+// 2208
+o7 = {};
+// 2209
+o12["98"] = o7;
+// 2210
+o7.id = "contributorImageContainerB002N3VYB60596517742";
+// undefined
+o7 = null;
+// 2211
+o7 = {};
+// 2212
+o12["99"] = o7;
+// 2213
+o7.id = "";
+// undefined
+o7 = null;
+// 2214
+o7 = {};
+// 2215
+o12["100"] = o7;
+// 2216
+o7.id = "";
+// undefined
+o7 = null;
+// 2217
+o7 = {};
+// 2218
+o12["101"] = o7;
+// 2219
+o7.id = "";
+// undefined
+o7 = null;
+// 2220
+o7 = {};
+// 2221
+o12["102"] = o7;
+// 2222
+o7.id = "";
+// undefined
+o7 = null;
+// 2223
+o7 = {};
+// 2224
+o12["103"] = o7;
+// 2225
+o7.id = "";
+// undefined
+o7 = null;
+// 2226
+o7 = {};
+// 2227
+o12["104"] = o7;
+// 2228
+o7.id = "";
+// undefined
+o7 = null;
+// 2229
+o7 = {};
+// 2230
+o12["105"] = o7;
+// 2231
+o7.id = "";
+// undefined
+o7 = null;
+// 2232
+o7 = {};
+// 2233
+o12["106"] = o7;
+// 2234
+o7.id = "";
+// undefined
+o7 = null;
+// 2235
+o7 = {};
+// 2236
+o12["107"] = o7;
+// 2237
+o7.id = "priceBlock";
+// undefined
+o7 = null;
+// 2238
+o7 = {};
+// 2239
+o12["108"] = o7;
+// 2240
+o7.id = "";
+// undefined
+o7 = null;
+// 2241
+o7 = {};
+// 2242
+o12["109"] = o7;
+// 2243
+o7.id = "ftMessage";
+// undefined
+o7 = null;
+// 2244
+o12["110"] = o8;
+// 2245
+o8.id = "ftMessageTimer";
+// undefined
+o8 = null;
+// 2246
+o7 = {};
+// 2247
+o12["111"] = o7;
+// 2248
+o7.id = "olpDivId";
+// undefined
+o7 = null;
+// 2249
+o7 = {};
+// 2250
+o12["112"] = o7;
+// 2251
+o7.id = "";
+// undefined
+o7 = null;
+// 2252
+o7 = {};
+// 2253
+o12["113"] = o7;
+// 2254
+o7.id = "vellumMsg";
+// undefined
+o7 = null;
+// 2255
+o7 = {};
+// 2256
+o12["114"] = o7;
+// 2257
+o7.id = "vellumMsgIco";
+// undefined
+o7 = null;
+// 2258
+o7 = {};
+// 2259
+o12["115"] = o7;
+// 2260
+o7.id = "vellumMsgHdr";
+// undefined
+o7 = null;
+// 2261
+o7 = {};
+// 2262
+o12["116"] = o7;
+// 2263
+o7.id = "vellumMsgTxt";
+// undefined
+o7 = null;
+// 2264
+o7 = {};
+// 2265
+o12["117"] = o7;
+// 2266
+o7.id = "vellumMsgCls";
+// undefined
+o7 = null;
+// 2267
+o7 = {};
+// 2268
+o12["118"] = o7;
+// 2269
+o7.id = "vellumShade";
+// undefined
+o7 = null;
+// 2270
+o7 = {};
+// 2271
+o12["119"] = o7;
+// 2272
+o7.id = "vellumLdgIco";
+// undefined
+o7 = null;
+// 2273
+o7 = {};
+// 2274
+o12["120"] = o7;
+// 2275
+o7.id = "sitbReaderPlaceholder";
+// undefined
+o7 = null;
+// 2276
+o7 = {};
+// 2277
+o12["121"] = o7;
+// 2278
+o7.id = "";
+// undefined
+o7 = null;
+// 2279
+o7 = {};
+// 2280
+o12["122"] = o7;
+// 2281
+o7.id = "";
+// undefined
+o7 = null;
+// 2282
+o7 = {};
+// 2283
+o12["123"] = o7;
+// 2284
+o7.id = "";
+// undefined
+o7 = null;
+// 2285
+o7 = {};
+// 2286
+o12["124"] = o7;
+// 2287
+o7.id = "";
+// undefined
+o7 = null;
+// 2288
+o7 = {};
+// 2289
+o12["125"] = o7;
+// 2290
+o7.id = "";
+// undefined
+o7 = null;
+// 2291
+o7 = {};
+// 2292
+o12["126"] = o7;
+// 2293
+o7.id = "heroQuickPromoDiv";
+// undefined
+o7 = null;
+// 2294
+o7 = {};
+// 2295
+o12["127"] = o7;
+// 2296
+o7.id = "";
+// undefined
+o7 = null;
+// 2297
+o7 = {};
+// 2298
+o12["128"] = o7;
+// 2299
+o7.id = "promoGrid";
+// undefined
+o7 = null;
+// 2300
+o7 = {};
+// 2301
+o12["129"] = o7;
+// 2302
+o7.id = "ps-content";
+// undefined
+o7 = null;
+// 2303
+o7 = {};
+// 2304
+o12["130"] = o7;
+// 2305
+o7.id = "";
+// undefined
+o7 = null;
+// 2306
+o7 = {};
+// 2307
+o12["131"] = o7;
+// 2308
+o7.id = "";
+// undefined
+o7 = null;
+// 2309
+o7 = {};
+// 2310
+o12["132"] = o7;
+// 2311
+o7.id = "outer_postBodyPS";
+// undefined
+o7 = null;
+// 2312
+o7 = {};
+// 2313
+o12["133"] = o7;
+// 2314
+o7.id = "postBodyPS";
+// undefined
+o7 = null;
+// 2315
+o7 = {};
+// 2316
+o12["134"] = o7;
+// 2317
+o7.id = "";
+// undefined
+o7 = null;
+// 2318
+o7 = {};
+// 2319
+o12["135"] = o7;
+// 2320
+o7.id = "";
+// undefined
+o7 = null;
+// 2321
+o7 = {};
+// 2322
+o12["136"] = o7;
+// 2323
+o7.id = "psGradient";
+// undefined
+o7 = null;
+// 2324
+o7 = {};
+// 2325
+o12["137"] = o7;
+// 2326
+o7.id = "psPlaceHolder";
+// undefined
+o7 = null;
+// 2327
+o7 = {};
+// 2328
+o12["138"] = o7;
+// 2329
+o7.id = "expandPS";
+// undefined
+o7 = null;
+// 2330
+o7 = {};
+// 2331
+o12["139"] = o7;
+// 2332
+o7.id = "collapsePS";
+// undefined
+o7 = null;
+// 2333
+o7 = {};
+// 2334
+o12["140"] = o7;
+// 2335
+o7.id = "sims_fbt";
+// undefined
+o7 = null;
+// 2336
+o7 = {};
+// 2337
+o12["141"] = o7;
+// 2338
+o7.id = "";
+// undefined
+o7 = null;
+// 2339
+o7 = {};
+// 2340
+o12["142"] = o7;
+// 2341
+o7.id = "fbt_price_block";
+// undefined
+o7 = null;
+// 2342
+o7 = {};
+// 2343
+o12["143"] = o7;
+// 2344
+o7.id = "xInfoWrapper";
+// undefined
+o7 = null;
+// 2345
+o7 = {};
+// 2346
+o12["144"] = o7;
+// 2347
+o7.id = "yInfoWrapper";
+// undefined
+o7 = null;
+// 2348
+o7 = {};
+// 2349
+o12["145"] = o7;
+// 2350
+o7.id = "zInfoWrapper";
+// undefined
+o7 = null;
+// 2351
+o7 = {};
+// 2352
+o12["146"] = o7;
+// 2353
+o7.id = "fbt_item_data";
+// undefined
+o7 = null;
+// 2354
+o7 = {};
+// 2355
+o12["147"] = o7;
+// 2356
+o7.id = "purchase-sims-feature";
+// undefined
+o7 = null;
+// 2357
+o7 = {};
+// 2358
+o12["148"] = o7;
+// 2359
+o7.id = "";
+// undefined
+o7 = null;
+// 2360
+o7 = {};
+// 2361
+o12["149"] = o7;
+// 2362
+o7.id = "";
+// undefined
+o7 = null;
+// 2363
+o7 = {};
+// 2364
+o12["150"] = o7;
+// 2365
+o7.id = "purchaseShvl";
+// undefined
+o7 = null;
+// 2366
+o7 = {};
+// 2367
+o12["151"] = o7;
+// 2368
+o7.id = "";
+// undefined
+o7 = null;
+// 2369
+o7 = {};
+// 2370
+o12["152"] = o7;
+// 2371
+o7.id = "";
+// undefined
+o7 = null;
+// 2372
+o7 = {};
+// 2373
+o12["153"] = o7;
+// 2374
+o7.id = "purchaseButtonWrapper";
+// undefined
+o7 = null;
+// 2375
+o7 = {};
+// 2376
+o12["154"] = o7;
+// 2377
+o7.id = "";
+// undefined
+o7 = null;
+// 2378
+o7 = {};
+// 2379
+o12["155"] = o7;
+// 2380
+o7.id = "purchase_0596806752";
+// undefined
+o7 = null;
+// 2381
+o7 = {};
+// 2382
+o12["156"] = o7;
+// 2383
+o7.id = "";
+// undefined
+o7 = null;
+// 2384
+o7 = {};
+// 2385
+o12["157"] = o7;
+// 2386
+o7.id = "";
+// undefined
+o7 = null;
+// 2387
+o7 = {};
+// 2388
+o12["158"] = o7;
+// 2389
+o7.id = "";
+// undefined
+o7 = null;
+// 2390
+o7 = {};
+// 2391
+o12["159"] = o7;
+// 2392
+o7.id = "";
+// undefined
+o7 = null;
+// 2393
+o7 = {};
+// 2394
+o12["160"] = o7;
+// 2395
+o7.id = "";
+// undefined
+o7 = null;
+// 2396
+o7 = {};
+// 2397
+o12["161"] = o7;
+// 2398
+o7.id = "purchase_0596805527";
+// undefined
+o7 = null;
+// 2399
+o7 = {};
+// 2400
+o12["162"] = o7;
+// 2401
+o7.id = "";
+// undefined
+o7 = null;
+// 2402
+o7 = {};
+// 2403
+o12["163"] = o7;
+// 2404
+o7.id = "";
+// undefined
+o7 = null;
+// 2405
+o7 = {};
+// 2406
+o12["164"] = o7;
+// 2407
+o7.id = "";
+// undefined
+o7 = null;
+// 2408
+o7 = {};
+// 2409
+o12["165"] = o7;
+// 2410
+o7.id = "";
+// undefined
+o7 = null;
+// 2411
+o7 = {};
+// 2412
+o12["166"] = o7;
+// 2413
+o7.id = "";
+// undefined
+o7 = null;
+// 2414
+o7 = {};
+// 2415
+o12["167"] = o7;
+// 2416
+o7.id = "purchase_193398869X";
+// undefined
+o7 = null;
+// 2417
+o7 = {};
+// 2418
+o12["168"] = o7;
+// 2419
+o7.id = "";
+// undefined
+o7 = null;
+// 2420
+o7 = {};
+// 2421
+o12["169"] = o7;
+// 2422
+o7.id = "";
+// undefined
+o7 = null;
+// 2423
+o7 = {};
+// 2424
+o12["170"] = o7;
+// 2425
+o7.id = "";
+// undefined
+o7 = null;
+// 2426
+o7 = {};
+// 2427
+o12["171"] = o7;
+// 2428
+o7.id = "";
+// undefined
+o7 = null;
+// 2429
+o7 = {};
+// 2430
+o12["172"] = o7;
+// 2431
+o7.id = "";
+// undefined
+o7 = null;
+// 2432
+o7 = {};
+// 2433
+o12["173"] = o7;
+// 2434
+o7.id = "purchase_0321812182";
+// undefined
+o7 = null;
+// 2435
+o7 = {};
+// 2436
+o12["174"] = o7;
+// 2437
+o7.id = "";
+// undefined
+o7 = null;
+// 2438
+o7 = {};
+// 2439
+o12["175"] = o7;
+// 2440
+o7.id = "";
+// undefined
+o7 = null;
+// 2441
+o7 = {};
+// 2442
+o12["176"] = o7;
+// 2443
+o7.id = "";
+// undefined
+o7 = null;
+// 2444
+o7 = {};
+// 2445
+o12["177"] = o7;
+// 2446
+o7.id = "";
+// undefined
+o7 = null;
+// 2447
+o7 = {};
+// 2448
+o12["178"] = o7;
+// 2449
+o7.id = "";
+// undefined
+o7 = null;
+// 2450
+o7 = {};
+// 2451
+o12["179"] = o7;
+// 2452
+o7.id = "purchase_1593272820";
+// undefined
+o7 = null;
+// 2453
+o7 = {};
+// 2454
+o12["180"] = o7;
+// 2455
+o7.id = "";
+// undefined
+o7 = null;
+// 2456
+o7 = {};
+// 2457
+o12["181"] = o7;
+// 2458
+o7.id = "";
+// undefined
+o7 = null;
+// 2459
+o7 = {};
+// 2460
+o12["182"] = o7;
+// 2461
+o7.id = "";
+// undefined
+o7 = null;
+// 2462
+o7 = {};
+// 2463
+o12["183"] = o7;
+// 2464
+o7.id = "";
+// undefined
+o7 = null;
+// 2465
+o7 = {};
+// 2466
+o12["184"] = o7;
+// 2467
+o7.id = "";
+// undefined
+o7 = null;
+// 2468
+o7 = {};
+// 2469
+o12["185"] = o7;
+// 2470
+o7.id = "purchase_059680279X";
+// undefined
+o7 = null;
+// 2471
+o7 = {};
+// 2472
+o12["186"] = o7;
+// 2473
+o7.id = "";
+// undefined
+o7 = null;
+// 2474
+o7 = {};
+// 2475
+o12["187"] = o7;
+// 2476
+o7.id = "";
+// undefined
+o7 = null;
+// 2477
+o7 = {};
+// 2478
+o12["188"] = o7;
+// 2479
+o7.id = "";
+// undefined
+o7 = null;
+// 2480
+o7 = {};
+// 2481
+o12["189"] = o7;
+// 2482
+o7.id = "";
+// undefined
+o7 = null;
+// 2483
+o7 = {};
+// 2484
+o12["190"] = o7;
+// 2485
+o7.id = "";
+// undefined
+o7 = null;
+// 2486
+o7 = {};
+// 2487
+o12["191"] = o7;
+// 2488
+o7.id = "purchaseSimsData";
+// undefined
+o7 = null;
+// 2489
+o7 = {};
+// 2490
+o12["192"] = o7;
+// 2491
+o7.id = "";
+// undefined
+o7 = null;
+// 2492
+o7 = {};
+// 2493
+o12["193"] = o7;
+// 2494
+o7.id = "cpsia-product-safety-warning_feature_div";
+// undefined
+o7 = null;
+// 2495
+o7 = {};
+// 2496
+o12["194"] = o7;
+// 2497
+o7.id = "productDescription";
+// undefined
+o7 = null;
+// 2498
+o7 = {};
+// 2499
+o12["195"] = o7;
+// 2500
+o7.id = "";
+// undefined
+o7 = null;
+// 2501
+o7 = {};
+// 2502
+o12["196"] = o7;
+// 2503
+o7.id = "";
+// undefined
+o7 = null;
+// 2504
+o7 = {};
+// 2505
+o12["197"] = o7;
+// 2506
+o7.id = "";
+// undefined
+o7 = null;
+// 2507
+o7 = {};
+// 2508
+o12["198"] = o7;
+// 2509
+o7.id = "";
+// undefined
+o7 = null;
+// 2510
+o7 = {};
+// 2511
+o12["199"] = o7;
+// 2512
+o7.id = "detail-bullets";
+// undefined
+o7 = null;
+// 2513
+o7 = {};
+// 2514
+o12["200"] = o7;
+// 2515
+o7.id = "";
+// undefined
+o7 = null;
+// 2516
+o7 = {};
+// 2517
+o12["201"] = o7;
+// 2518
+o7.id = "feedbackFeaturesContainer";
+// undefined
+o7 = null;
+// 2519
+o7 = {};
+// 2520
+o12["202"] = o7;
+// 2521
+o7.id = "lwcfContainer";
+// undefined
+o7 = null;
+// 2522
+o7 = {};
+// 2523
+o12["203"] = o7;
+// 2524
+o7.id = "gfixFeaturesContainer";
+// undefined
+o7 = null;
+// 2525
+o7 = {};
+// 2526
+o12["204"] = o7;
+// 2527
+o7.id = "books-entity-teaser";
+// undefined
+o7 = null;
+// 2528
+o7 = {};
+// 2529
+o12["205"] = o7;
+// 2530
+o7.id = "";
+// undefined
+o7 = null;
+// 2531
+o7 = {};
+// 2532
+o12["206"] = o7;
+// 2533
+o7.id = "summaryContainer";
+// undefined
+o7 = null;
+// 2534
+o7 = {};
+// 2535
+o12["207"] = o7;
+// 2536
+o7.id = "revSum";
+// undefined
+o7 = null;
+// 2537
+o7 = {};
+// 2538
+o12["208"] = o7;
+// 2539
+o7.id = "";
+// undefined
+o7 = null;
+// 2540
+o7 = {};
+// 2541
+o12["209"] = o7;
+// 2542
+o7.id = "acr";
+// undefined
+o7 = null;
+// 2543
+o7 = {};
+// 2544
+o12["210"] = o7;
+// 2545
+o7.id = "acr-dpReviewsSummaryWithQuotes-0596517742";
+// undefined
+o7 = null;
+// 2546
+o7 = {};
+// 2547
+o12["211"] = o7;
+// 2548
+o7.id = "";
+// undefined
+o7 = null;
+// 2549
+o7 = {};
+// 2550
+o12["212"] = o7;
+// 2551
+o7.id = "";
+// undefined
+o7 = null;
+// 2552
+o7 = {};
+// 2553
+o12["213"] = o7;
+// 2554
+o7.id = "";
+// undefined
+o7 = null;
+// 2555
+o7 = {};
+// 2556
+o12["214"] = o7;
+// 2557
+o7.id = "";
+// undefined
+o7 = null;
+// 2558
+o7 = {};
+// 2559
+o12["215"] = o7;
+// 2560
+o7.id = "revH";
+// undefined
+o7 = null;
+// 2561
+o7 = {};
+// 2562
+o12["216"] = o7;
+// 2563
+o7.id = "revHist-dpReviewsSummaryWithQuotes-0596517742";
+// undefined
+o7 = null;
+// 2564
+o7 = {};
+// 2565
+o12["217"] = o7;
+// 2566
+o7.id = "";
+// undefined
+o7 = null;
+// 2567
+o7 = {};
+// 2568
+o12["218"] = o7;
+// 2569
+o7.id = "";
+// undefined
+o7 = null;
+// 2570
+o7 = {};
+// 2571
+o12["219"] = o7;
+// 2572
+o7.id = "";
+// undefined
+o7 = null;
+// 2573
+o7 = {};
+// 2574
+o12["220"] = o7;
+// 2575
+o7.id = "";
+// undefined
+o7 = null;
+// 2576
+o7 = {};
+// 2577
+o12["221"] = o7;
+// 2578
+o7.id = "";
+// undefined
+o7 = null;
+// 2579
+o7 = {};
+// 2580
+o12["222"] = o7;
+// 2581
+o7.id = "";
+// undefined
+o7 = null;
+// 2582
+o7 = {};
+// 2583
+o12["223"] = o7;
+// 2584
+o7.id = "";
+// undefined
+o7 = null;
+// 2585
+o7 = {};
+// 2586
+o12["224"] = o7;
+// 2587
+o7.id = "";
+// undefined
+o7 = null;
+// 2588
+o7 = {};
+// 2589
+o12["225"] = o7;
+// 2590
+o7.id = "";
+// undefined
+o7 = null;
+// 2591
+o7 = {};
+// 2592
+o12["226"] = o7;
+// 2593
+o7.id = "";
+// undefined
+o7 = null;
+// 2594
+o7 = {};
+// 2595
+o12["227"] = o7;
+// 2596
+o7.id = "";
+// undefined
+o7 = null;
+// 2597
+o7 = {};
+// 2598
+o12["228"] = o7;
+// 2599
+o7.id = "";
+// undefined
+o7 = null;
+// 2600
+o7 = {};
+// 2601
+o12["229"] = o7;
+// 2602
+o7.id = "";
+// undefined
+o7 = null;
+// 2603
+o7 = {};
+// 2604
+o12["230"] = o7;
+// 2605
+o7.id = "";
+// undefined
+o7 = null;
+// 2606
+o7 = {};
+// 2607
+o12["231"] = o7;
+// 2608
+o7.id = "";
+// undefined
+o7 = null;
+// 2609
+o7 = {};
+// 2610
+o12["232"] = o7;
+// 2611
+o7.id = "";
+// undefined
+o7 = null;
+// 2612
+o7 = {};
+// 2613
+o12["233"] = o7;
+// 2614
+o7.id = "";
+// undefined
+o7 = null;
+// 2615
+o7 = {};
+// 2616
+o12["234"] = o7;
+// 2617
+o7.id = "";
+// undefined
+o7 = null;
+// 2618
+o7 = {};
+// 2619
+o12["235"] = o7;
+// 2620
+o7.id = "";
+// undefined
+o7 = null;
+// 2621
+o7 = {};
+// 2622
+o12["236"] = o7;
+// 2623
+o7.id = "";
+// undefined
+o7 = null;
+// 2624
+o7 = {};
+// 2625
+o12["237"] = o7;
+// 2626
+o7.id = "";
+// undefined
+o7 = null;
+// 2627
+o7 = {};
+// 2628
+o12["238"] = o7;
+// 2629
+o7.id = "";
+// undefined
+o7 = null;
+// 2630
+o7 = {};
+// 2631
+o12["239"] = o7;
+// 2632
+o7.id = "";
+// undefined
+o7 = null;
+// 2633
+o7 = {};
+// 2634
+o12["240"] = o7;
+// 2635
+o7.id = "";
+// undefined
+o7 = null;
+// 2636
+o7 = {};
+// 2637
+o12["241"] = o7;
+// 2638
+o7.id = "";
+// undefined
+o7 = null;
+// 2639
+o7 = {};
+// 2640
+o12["242"] = o7;
+// 2641
+o7.id = "";
+// undefined
+o7 = null;
+// 2642
+o7 = {};
+// 2643
+o12["243"] = o7;
+// 2644
+o7.id = "quotesContainer";
+// undefined
+o7 = null;
+// 2645
+o7 = {};
+// 2646
+o12["244"] = o7;
+// 2647
+o7.id = "advice-quote-list-dpReviewsBucketSummary-0596517742";
+// undefined
+o7 = null;
+// 2648
+o7 = {};
+// 2649
+o12["245"] = o7;
+// 2650
+o7.id = "";
+// undefined
+o7 = null;
+// 2651
+o7 = {};
+// 2652
+o12["246"] = o7;
+// 2653
+o7.id = "";
+// undefined
+o7 = null;
+// 2654
+o7 = {};
+// 2655
+o12["247"] = o7;
+// 2656
+o7.id = "";
+// undefined
+o7 = null;
+// 2657
+o7 = {};
+// 2658
+o12["248"] = o7;
+// 2659
+o7.id = "";
+// undefined
+o7 = null;
+// 2660
+o7 = {};
+// 2661
+o12["249"] = o7;
+// 2662
+o7.id = "";
+// undefined
+o7 = null;
+// 2663
+o7 = {};
+// 2664
+o12["250"] = o7;
+// 2665
+o7.id = "revListContainer";
+// undefined
+o7 = null;
+// 2666
+o7 = {};
+// 2667
+o12["251"] = o7;
+// 2668
+o7.id = "revMHLContainer";
+// undefined
+o7 = null;
+// 2669
+o7 = {};
+// 2670
+o12["252"] = o7;
+// 2671
+o7.id = "revMHLContainerChild";
+// undefined
+o7 = null;
+// 2672
+o7 = {};
+// 2673
+o12["253"] = o7;
+// 2674
+o7.id = "revMH";
+// undefined
+o7 = null;
+// 2675
+o7 = {};
+// 2676
+o12["254"] = o7;
+// 2677
+o7.id = "revMHT";
+// undefined
+o7 = null;
+// 2678
+o7 = {};
+// 2679
+o12["255"] = o7;
+// 2680
+o7.id = "revMHRL";
+// undefined
+o7 = null;
+// 2681
+o7 = {};
+// 2682
+o12["256"] = o7;
+// 2683
+o7.id = "rev-dpReviewsMostHelpful-RNX5PEPWHPSHW";
+// undefined
+o7 = null;
+// 2684
+o7 = {};
+// 2685
+o12["257"] = o7;
+// 2686
+o7.id = "";
+// undefined
+o7 = null;
+// 2687
+o7 = {};
+// 2688
+o12["258"] = o7;
+// 2689
+o7.id = "";
+// undefined
+o7 = null;
+// 2690
+o7 = {};
+// 2691
+o12["259"] = o7;
+// 2692
+o7.id = "";
+// undefined
+o7 = null;
+// 2693
+o7 = {};
+// 2694
+o12["260"] = o7;
+// 2695
+o7.id = "";
+// undefined
+o7 = null;
+// 2696
+o7 = {};
+// 2697
+o12["261"] = o7;
+// 2698
+o7.id = "";
+// undefined
+o7 = null;
+// 2699
+o7 = {};
+// 2700
+o12["262"] = o7;
+// 2701
+o7.id = "";
+// undefined
+o7 = null;
+// 2702
+o7 = {};
+// 2703
+o12["263"] = o7;
+// 2704
+o7.id = "";
+// undefined
+o7 = null;
+// 2705
+o7 = {};
+// 2706
+o12["264"] = o7;
+// 2707
+o7.id = "";
+// undefined
+o7 = null;
+// 2708
+o7 = {};
+// 2709
+o12["265"] = o7;
+// 2710
+o7.id = "";
+// undefined
+o7 = null;
+// 2711
+o7 = {};
+// 2712
+o12["266"] = o7;
+// 2713
+o7.id = "";
+// undefined
+o7 = null;
+// 2714
+o7 = {};
+// 2715
+o12["267"] = o7;
+// 2716
+o7.id = "";
+// undefined
+o7 = null;
+// 2717
+o7 = {};
+// 2718
+o12["268"] = o7;
+// 2719
+o7.id = "";
+// undefined
+o7 = null;
+// 2720
+o7 = {};
+// 2721
+o12["269"] = o7;
+// 2722
+o7.id = "";
+// undefined
+o7 = null;
+// 2723
+o7 = {};
+// 2724
+o12["270"] = o7;
+// 2725
+o7.id = "";
+// undefined
+o7 = null;
+// 2726
+o7 = {};
+// 2727
+o12["271"] = o7;
+// 2728
+o7.id = "";
+// undefined
+o7 = null;
+// 2729
+o7 = {};
+// 2730
+o12["272"] = o7;
+// 2731
+o7.id = "";
+// undefined
+o7 = null;
+// 2732
+o7 = {};
+// 2733
+o12["273"] = o7;
+// 2734
+o7.id = "rev-dpReviewsMostHelpful-R2XPWE2CEP5FAN";
+// undefined
+o7 = null;
+// 2735
+o7 = {};
+// 2736
+o12["274"] = o7;
+// 2737
+o7.id = "";
+// undefined
+o7 = null;
+// 2738
+o7 = {};
+// 2739
+o12["275"] = o7;
+// 2740
+o7.id = "";
+// undefined
+o7 = null;
+// 2741
+o7 = {};
+// 2742
+o12["276"] = o7;
+// 2743
+o7.id = "";
+// undefined
+o7 = null;
+// 2744
+o7 = {};
+// 2745
+o12["277"] = o7;
+// 2746
+o7.id = "";
+// undefined
+o7 = null;
+// 2747
+o7 = {};
+// 2748
+o12["278"] = o7;
+// 2749
+o7.id = "";
+// undefined
+o7 = null;
+// 2750
+o7 = {};
+// 2751
+o12["279"] = o7;
+// 2752
+o7.id = "";
+// undefined
+o7 = null;
+// 2753
+o7 = {};
+// 2754
+o12["280"] = o7;
+// 2755
+o7.id = "";
+// undefined
+o7 = null;
+// 2756
+o7 = {};
+// 2757
+o12["281"] = o7;
+// 2758
+o7.id = "";
+// undefined
+o7 = null;
+// 2759
+o7 = {};
+// 2760
+o12["282"] = o7;
+// 2761
+o7.id = "";
+// undefined
+o7 = null;
+// 2762
+o7 = {};
+// 2763
+o12["283"] = o7;
+// 2764
+o7.id = "";
+// undefined
+o7 = null;
+// 2765
+o7 = {};
+// 2766
+o12["284"] = o7;
+// 2767
+o7.id = "";
+// undefined
+o7 = null;
+// 2768
+o7 = {};
+// 2769
+o12["285"] = o7;
+// 2770
+o7.id = "";
+// undefined
+o7 = null;
+// 2771
+o7 = {};
+// 2772
+o12["286"] = o7;
+// 2773
+o7.id = "";
+// undefined
+o7 = null;
+// 2774
+o7 = {};
+// 2775
+o12["287"] = o7;
+// 2776
+o7.id = "";
+// undefined
+o7 = null;
+// 2777
+o7 = {};
+// 2778
+o12["288"] = o7;
+// 2779
+o7.id = "";
+// undefined
+o7 = null;
+// 2780
+o7 = {};
+// 2781
+o12["289"] = o7;
+// 2782
+o7.id = "";
+// undefined
+o7 = null;
+// 2783
+o7 = {};
+// 2784
+o12["290"] = o7;
+// 2785
+o7.id = "rev-dpReviewsMostHelpful-R1BU48HVX41IK9";
+// undefined
+o7 = null;
+// 2786
+o7 = {};
+// 2787
+o12["291"] = o7;
+// 2788
+o7.id = "";
+// undefined
+o7 = null;
+// 2789
+o7 = {};
+// 2790
+o12["292"] = o7;
+// 2791
+o7.id = "";
+// undefined
+o7 = null;
+// 2792
+o7 = {};
+// 2793
+o12["293"] = o7;
+// 2794
+o7.id = "";
+// undefined
+o7 = null;
+// 2795
+o7 = {};
+// 2796
+o12["294"] = o7;
+// 2797
+o7.id = "";
+// undefined
+o7 = null;
+// 2798
+o7 = {};
+// 2799
+o12["295"] = o7;
+// 2800
+o7.id = "";
+// undefined
+o7 = null;
+// 2801
+o7 = {};
+// 2802
+o12["296"] = o7;
+// 2803
+o7.id = "";
+// undefined
+o7 = null;
+// 2804
+o7 = {};
+// 2805
+o12["297"] = o7;
+// 2806
+o7.id = "";
+// undefined
+o7 = null;
+// 2807
+o7 = {};
+// 2808
+o12["298"] = o7;
+// 2809
+o7.id = "";
+// undefined
+o7 = null;
+// 2810
+o7 = {};
+// 2811
+o12["299"] = o7;
+// 2812
+o7.id = "";
+// undefined
+o7 = null;
+// 2813
+o7 = {};
+// 2814
+o12["300"] = o7;
+// 2815
+o7.id = "";
+// undefined
+o7 = null;
+// 2816
+o7 = {};
+// 2817
+o12["301"] = o7;
+// 2818
+o7.id = "";
+// undefined
+o7 = null;
+// 2819
+o7 = {};
+// 2820
+o12["302"] = o7;
+// 2821
+o7.id = "";
+// undefined
+o7 = null;
+// 2822
+o7 = {};
+// 2823
+o12["303"] = o7;
+// 2824
+o7.id = "";
+// undefined
+o7 = null;
+// 2825
+o7 = {};
+// 2826
+o12["304"] = o7;
+// 2827
+o7.id = "";
+// undefined
+o7 = null;
+// 2828
+o7 = {};
+// 2829
+o12["305"] = o7;
+// 2830
+o7.id = "";
+// undefined
+o7 = null;
+// 2831
+o7 = {};
+// 2832
+o12["306"] = o7;
+// 2833
+o7.id = "";
+// undefined
+o7 = null;
+// 2834
+o7 = {};
+// 2835
+o12["307"] = o7;
+// 2836
+o7.id = "revF";
+// undefined
+o7 = null;
+// 2837
+o7 = {};
+// 2838
+o12["308"] = o7;
+// 2839
+o7.id = "";
+// undefined
+o7 = null;
+// 2840
+o7 = {};
+// 2841
+o12["309"] = o7;
+// 2842
+o7.id = "ftWR";
+// undefined
+o7 = null;
+// 2843
+o7 = {};
+// 2844
+o12["310"] = o7;
+// 2845
+o7.id = "";
+// undefined
+o7 = null;
+// 2846
+o7 = {};
+// 2847
+o12["311"] = o7;
+// 2848
+o7.id = "revOH";
+// undefined
+o7 = null;
+// 2849
+o7 = {};
+// 2850
+o12["312"] = o7;
+// 2851
+o7.id = "revMRLContainer";
+// undefined
+o7 = null;
+// 2852
+o7 = {};
+// 2853
+o12["313"] = o7;
+// 2854
+o7.id = "ADPlaceholder";
+// 2855
+o8 = {};
+// 2856
+o12["314"] = o8;
+// 2857
+o8.id = "DAcrt";
+// 2858
+o8.contentWindow = void 0;
+// 2861
+o8.width = void 0;
+// undefined
+fo737951042_813_clientWidth = function() { return fo737951042_813_clientWidth.returns[fo737951042_813_clientWidth.inst++]; };
+fo737951042_813_clientWidth.returns = [];
+fo737951042_813_clientWidth.inst = 0;
+defineGetter(o8, "clientWidth", fo737951042_813_clientWidth, undefined);
+// undefined
+fo737951042_813_clientWidth.returns.push(300);
+// 2863
+o9 = {};
+// 2864
+o8.style = o9;
+// 2865
+// undefined
+fo737951042_813_clientWidth.returns.push(299);
+// 2870
+// undefined
+o9 = null;
+// 2871
+o8.parentNode = o7;
+// 2874
+o7.ad = void 0;
+// 2875
+o8.f = void 0;
+// 2878
+o8.g = void 0;
+// 2879
+f737951042_815 = function() { return f737951042_815.returns[f737951042_815.inst++]; };
+f737951042_815.returns = [];
+f737951042_815.inst = 0;
+// 2880
+o7.getElementsByTagName = f737951042_815;
+// undefined
+o7 = null;
+// 2881
+o7 = {};
+// 2882
+f737951042_815.returns.push(o7);
+// 2883
+o7["0"] = o8;
+// undefined
+o7 = null;
+// 2885
+o12["315"] = o11;
+// 2886
+o11.id = "DA3297i";
+// 2887
+o11.contentWindow = void 0;
+// 2890
+o11.width = void 0;
+// 2891
+o11.clientWidth = 0;
+// 2895
+o11.parentNode = o8;
+// 2898
+o8.ad = void 0;
+// 2901
+o11.g = void 0;
+// 2902
+o8.getElementsByTagName = f737951042_815;
+// undefined
+o8 = null;
+// 2903
+o7 = {};
+// 2904
+f737951042_815.returns.push(o7);
+// 2905
+o7["0"] = o11;
+// undefined
+o7 = null;
+// 2906
+o11.getElementsByTagName = f737951042_815;
+// 2907
+o7 = {};
+// 2908
+f737951042_815.returns.push(o7);
+// 2909
+o7["0"] = void 0;
+// undefined
+o7 = null;
+// 2911
+o7 = {};
+// 2912
+f737951042_451.returns.push(o7);
+// 2913
+f737951042_820 = function() { return f737951042_820.returns[f737951042_820.inst++]; };
+f737951042_820.returns = [];
+f737951042_820.inst = 0;
+// 2914
+o7.cloneNode = f737951042_820;
+// undefined
+o7 = null;
+// 2915
+o7 = {};
+// 2916
+f737951042_820.returns.push(o7);
+// 2917
+o8 = {};
+// 2918
+o7.style = o8;
+// 2919
+// 2920
+// 2921
+// 2922
+// 2923
+// 2924
+// 2925
+o11.insertBefore = f737951042_455;
+// undefined
+o11 = null;
+// 2926
+f737951042_455.returns.push(o7);
+// 2927
+// 2928
+f737951042_823 = function() { return f737951042_823.returns[f737951042_823.inst++]; };
+f737951042_823.returns = [];
+f737951042_823.inst = 0;
+// 2929
+o7.JSBNG__addEventListener = f737951042_823;
+// 2931
+f737951042_823.returns.push(undefined);
+// 2934
+f737951042_823.returns.push(undefined);
+// 2937
+f737951042_823.returns.push(undefined);
+// 2939
+// 2940
+// undefined
+o8 = null;
+// 2941
+o7.getElementsByTagName = f737951042_815;
+// undefined
+o7 = null;
+// 2942
+o7 = {};
+// 2943
+f737951042_815.returns.push(o7);
+// 2944
+o8 = {};
+// 2945
+o7["0"] = o8;
+// undefined
+o7 = null;
+// 2946
+o7 = {};
+// 2947
+o8.style = o7;
+// undefined
+o8 = null;
+// 2948
+// undefined
+o7 = null;
+// 2950
+o7 = {};
+// 2951
+o12["316"] = o7;
+// 2952
+o7.id = "";
+// undefined
+o7 = null;
+// 2953
+o7 = {};
+// 2954
+o12["317"] = o7;
+// 2955
+o7.id = "revMRT";
+// undefined
+o7 = null;
+// 2956
+o7 = {};
+// 2957
+o12["318"] = o7;
+// 2958
+o7.id = "revMRRL";
+// undefined
+o7 = null;
+// 2959
+o7 = {};
+// 2960
+o12["319"] = o7;
+// 2961
+o7.id = "rev-dpReviewsMostRecent-R2BM46SXMRWEL";
+// undefined
+o7 = null;
+// 2962
+o7 = {};
+// 2963
+o12["320"] = o7;
+// 2964
+o7.id = "";
+// undefined
+o7 = null;
+// 2965
+o7 = {};
+// 2966
+o12["321"] = o7;
+// 2967
+o7.id = "";
+// undefined
+o7 = null;
+// 2968
+o7 = {};
+// 2969
+o12["322"] = o7;
+// 2970
+o7.id = "";
+// undefined
+o7 = null;
+// 2971
+o7 = {};
+// 2972
+o12["323"] = o7;
+// 2973
+o7.id = "";
+// undefined
+o7 = null;
+// 2974
+o7 = {};
+// 2975
+o12["324"] = o7;
+// 2976
+o7.id = "rev-dpReviewsMostRecent-R3AOL0Y2H4SN9A";
+// undefined
+o7 = null;
+// 2977
+o7 = {};
+// 2978
+o12["325"] = o7;
+// 2979
+o7.id = "";
+// undefined
+o7 = null;
+// 2980
+o7 = {};
+// 2981
+o12["326"] = o7;
+// 2982
+o7.id = "";
+// undefined
+o7 = null;
+// 2983
+o7 = {};
+// 2984
+o12["327"] = o7;
+// 2985
+o7.id = "";
+// undefined
+o7 = null;
+// 2986
+o7 = {};
+// 2987
+o12["328"] = o7;
+// 2988
+o7.id = "";
+// undefined
+o7 = null;
+// 2989
+o7 = {};
+// 2990
+o12["329"] = o7;
+// 2991
+o7.id = "rev-dpReviewsMostRecent-RHO6KJES5M4CT";
+// undefined
+o7 = null;
+// 2992
+o7 = {};
+// 2993
+o12["330"] = o7;
+// 2994
+o7.id = "";
+// undefined
+o7 = null;
+// 2995
+o7 = {};
+// 2996
+o12["331"] = o7;
+// 2997
+o7.id = "";
+// undefined
+o7 = null;
+// 2998
+o7 = {};
+// 2999
+o12["332"] = o7;
+// 3000
+o7.id = "";
+// undefined
+o7 = null;
+// 3001
+o7 = {};
+// 3002
+o12["333"] = o7;
+// 3003
+o7.id = "";
+// undefined
+o7 = null;
+// 3004
+o7 = {};
+// 3005
+o12["334"] = o7;
+// 3006
+o7.id = "rev-dpReviewsMostRecent-R38985AUCNQS98";
+// undefined
+o7 = null;
+// 3007
+o7 = {};
+// 3008
+o12["335"] = o7;
+// 3009
+o7.id = "";
+// undefined
+o7 = null;
+// 3010
+o7 = {};
+// 3011
+o12["336"] = o7;
+// 3012
+o7.id = "";
+// undefined
+o7 = null;
+// 3013
+o7 = {};
+// 3014
+o12["337"] = o7;
+// 3015
+o7.id = "";
+// undefined
+o7 = null;
+// 3016
+o7 = {};
+// 3017
+o12["338"] = o7;
+// 3018
+o7.id = "";
+// undefined
+o7 = null;
+// 3019
+o7 = {};
+// 3020
+o12["339"] = o7;
+// 3021
+o7.id = "rev-dpReviewsMostRecent-R21OCHUX0YAQHY";
+// undefined
+o7 = null;
+// 3022
+o7 = {};
+// 3023
+o12["340"] = o7;
+// 3024
+o7.id = "";
+// undefined
+o7 = null;
+// 3025
+o7 = {};
+// 3026
+o12["341"] = o7;
+// 3027
+o7.id = "";
+// undefined
+o7 = null;
+// 3028
+o7 = {};
+// 3029
+o12["342"] = o7;
+// 3030
+o7.id = "";
+// undefined
+o7 = null;
+// 3031
+o7 = {};
+// 3032
+o12["343"] = o7;
+// 3033
+o7.id = "";
+// undefined
+o7 = null;
+// 3034
+o7 = {};
+// 3035
+o12["344"] = o7;
+// 3036
+o7.id = "rev-dpReviewsMostRecent-RLMS89XS21LHH";
+// undefined
+o7 = null;
+// 3037
+o7 = {};
+// 3038
+o12["345"] = o7;
+// 3039
+o7.id = "";
+// undefined
+o7 = null;
+// 3040
+o7 = {};
+// 3041
+o12["346"] = o7;
+// 3042
+o7.id = "";
+// undefined
+o7 = null;
+// 3043
+o7 = {};
+// 3044
+o12["347"] = o7;
+// 3045
+o7.id = "";
+// undefined
+o7 = null;
+// 3046
+o7 = {};
+// 3047
+o12["348"] = o7;
+// 3048
+o7.id = "";
+// undefined
+o7 = null;
+// 3049
+o7 = {};
+// 3050
+o12["349"] = o7;
+// 3051
+o7.id = "rev-dpReviewsMostRecent-R1AR9HJ6D34LQP";
+// undefined
+o7 = null;
+// 3052
+o7 = {};
+// 3053
+o12["350"] = o7;
+// 3054
+o7.id = "";
+// undefined
+o7 = null;
+// 3055
+o7 = {};
+// 3056
+o12["351"] = o7;
+// 3057
+o7.id = "";
+// undefined
+o7 = null;
+// 3058
+o7 = {};
+// 3059
+o12["352"] = o7;
+// 3060
+o7.id = "";
+// undefined
+o7 = null;
+// 3061
+o7 = {};
+// 3062
+o12["353"] = o7;
+// 3063
+o7.id = "";
+// undefined
+o7 = null;
+// 3064
+o7 = {};
+// 3065
+o12["354"] = o7;
+// 3066
+o7.id = "rev-dpReviewsMostRecent-R10HPX2Y40PNKP";
+// undefined
+o7 = null;
+// 3067
+o7 = {};
+// 3068
+o12["355"] = o7;
+// 3069
+o7.id = "";
+// undefined
+o7 = null;
+// 3070
+o7 = {};
+// 3071
+o12["356"] = o7;
+// 3072
+o7.id = "";
+// undefined
+o7 = null;
+// 3073
+o7 = {};
+// 3074
+o12["357"] = o7;
+// 3075
+o7.id = "";
+// undefined
+o7 = null;
+// 3076
+o7 = {};
+// 3077
+o12["358"] = o7;
+// 3078
+o7.id = "";
+// undefined
+o7 = null;
+// 3079
+o7 = {};
+// 3080
+o12["359"] = o7;
+// 3081
+o7.id = "rev-dpReviewsMostRecent-R1YAZS1X4VKU58";
+// undefined
+o7 = null;
+// 3082
+o7 = {};
+// 3083
+o12["360"] = o7;
+// 3084
+o7.id = "";
+// undefined
+o7 = null;
+// 3085
+o7 = {};
+// 3086
+o12["361"] = o7;
+// 3087
+o7.id = "";
+// undefined
+o7 = null;
+// 3088
+o7 = {};
+// 3089
+o12["362"] = o7;
+// 3090
+o7.id = "";
+// undefined
+o7 = null;
+// 3091
+o7 = {};
+// 3092
+o12["363"] = o7;
+// 3093
+o7.id = "";
+// undefined
+o7 = null;
+// 3094
+o7 = {};
+// 3095
+o12["364"] = o7;
+// 3096
+o7.id = "rev-dpReviewsMostRecent-R9AOJHI3XPETD";
+// undefined
+o7 = null;
+// 3097
+o7 = {};
+// 3098
+o12["365"] = o7;
+// 3099
+o7.id = "";
+// undefined
+o7 = null;
+// 3100
+o7 = {};
+// 3101
+o12["366"] = o7;
+// 3102
+o7.id = "";
+// undefined
+o7 = null;
+// 3103
+o7 = {};
+// 3104
+o12["367"] = o7;
+// 3105
+o7.id = "";
+// undefined
+o7 = null;
+// 3106
+o7 = {};
+// 3107
+o12["368"] = o7;
+// 3108
+o7.id = "";
+// undefined
+o7 = null;
+// 3109
+o7 = {};
+// 3110
+o12["369"] = o7;
+// 3111
+o7.id = "revS";
+// undefined
+o7 = null;
+// 3112
+o7 = {};
+// 3113
+o12["370"] = o7;
+// 3114
+o7.id = "";
+// undefined
+o7 = null;
+// 3115
+o7 = {};
+// 3116
+o12["371"] = o7;
+// 3117
+o7.id = "";
+// undefined
+o7 = null;
+// 3118
+o7 = {};
+// 3119
+o12["372"] = o7;
+// 3120
+o7.id = "";
+// undefined
+o7 = null;
+// 3121
+o7 = {};
+// 3122
+o12["373"] = o7;
+// 3123
+o7.id = "searchCustomerReviewsButton";
+// undefined
+o7 = null;
+// 3124
+o7 = {};
+// 3125
+o12["374"] = o7;
+// 3126
+o7.id = "";
+// undefined
+o7 = null;
+// 3127
+o7 = {};
+// 3128
+o12["375"] = o7;
+// 3129
+o7.id = "";
+// undefined
+o7 = null;
+// 3130
+o7 = {};
+// 3131
+o12["376"] = o7;
+// 3132
+o7.id = "";
+// undefined
+o7 = null;
+// 3133
+o7 = {};
+// 3134
+o12["377"] = o7;
+// 3135
+o7.id = "nav-prime-menu";
+// undefined
+o7 = null;
+// 3136
+o7 = {};
+// 3137
+o12["378"] = o7;
+// 3138
+o7.id = "";
+// undefined
+o7 = null;
+// 3139
+o7 = {};
+// 3140
+o12["379"] = o7;
+// 3141
+o7.id = "";
+// undefined
+o7 = null;
+// 3142
+o7 = {};
+// 3143
+o12["380"] = o7;
+// 3144
+o7.id = "";
+// undefined
+o7 = null;
+// 3145
+o7 = {};
+// 3146
+o12["381"] = o7;
+// 3147
+o7.id = "";
+// undefined
+o7 = null;
+// 3148
+o7 = {};
+// 3149
+o12["382"] = o7;
+// 3150
+o7.id = "nav-prime-tooltip";
+// undefined
+o7 = null;
+// 3151
+o7 = {};
+// 3152
+o12["383"] = o7;
+// 3153
+o7.id = "";
+// undefined
+o7 = null;
+// 3154
+o7 = {};
+// 3155
+o12["384"] = o7;
+// 3156
+o7.id = "";
+// undefined
+o7 = null;
+// 3157
+o7 = {};
+// 3158
+o12["385"] = o7;
+// 3159
+o7.id = "";
+// undefined
+o7 = null;
+// 3160
+o7 = {};
+// 3161
+o12["386"] = o7;
+// 3162
+o7.id = "";
+// undefined
+o7 = null;
+// 3163
+o7 = {};
+// 3164
+o12["387"] = o7;
+// 3165
+o7.id = "nav_browse_flyout";
+// undefined
+o7 = null;
+// 3166
+o7 = {};
+// 3167
+o12["388"] = o7;
+// 3168
+o7.id = "nav_subcats_wrap";
+// undefined
+o7 = null;
+// 3169
+o7 = {};
+// 3170
+o12["389"] = o7;
+// 3171
+o7.id = "nav_subcats";
+// undefined
+o7 = null;
+// 3172
+o7 = {};
+// 3173
+o12["390"] = o7;
+// 3174
+o7.id = "nav_subcats_0";
+// undefined
+o7 = null;
+// 3175
+o7 = {};
+// 3176
+o12["391"] = o7;
+// 3177
+o7.id = "";
+// undefined
+o7 = null;
+// 3178
+o7 = {};
+// 3179
+o12["392"] = o7;
+// 3180
+o7.id = "";
+// undefined
+o7 = null;
+// 3181
+o7 = {};
+// 3182
+o12["393"] = o7;
+// 3183
+o7.id = "";
+// undefined
+o7 = null;
+// 3184
+o7 = {};
+// 3185
+o12["394"] = o7;
+// 3186
+o7.id = "";
+// undefined
+o7 = null;
+// 3187
+o7 = {};
+// 3188
+o12["395"] = o7;
+// 3189
+o7.id = "nav_subcats_1";
+// undefined
+o7 = null;
+// 3190
+o7 = {};
+// 3191
+o12["396"] = o7;
+// 3192
+o7.id = "";
+// undefined
+o7 = null;
+// 3193
+o7 = {};
+// 3194
+o12["397"] = o7;
+// 3195
+o7.id = "";
+// undefined
+o7 = null;
+// 3196
+o7 = {};
+// 3197
+o12["398"] = o7;
+// 3198
+o7.id = "";
+// undefined
+o7 = null;
+// 3199
+o7 = {};
+// 3200
+o12["399"] = o7;
+// 3201
+o7.id = "";
+// undefined
+o7 = null;
+// 3202
+o7 = {};
+// 3203
+o12["400"] = o7;
+// 3204
+o7.id = "";
+// undefined
+o7 = null;
+// 3205
+o7 = {};
+// 3206
+o12["401"] = o7;
+// 3207
+o7.id = "";
+// undefined
+o7 = null;
+// 3208
+o7 = {};
+// 3209
+o12["402"] = o7;
+// 3210
+o7.id = "";
+// undefined
+o7 = null;
+// 3211
+o7 = {};
+// 3212
+o12["403"] = o7;
+// 3213
+o7.id = "nav_subcats_2";
+// undefined
+o7 = null;
+// 3214
+o7 = {};
+// 3215
+o12["404"] = o7;
+// 3216
+o7.id = "";
+// undefined
+o7 = null;
+// 3217
+o7 = {};
+// 3218
+o12["405"] = o7;
+// 3219
+o7.id = "";
+// undefined
+o7 = null;
+// 3220
+o7 = {};
+// 3221
+o12["406"] = o7;
+// 3222
+o7.id = "";
+// undefined
+o7 = null;
+// 3223
+o7 = {};
+// 3224
+o12["407"] = o7;
+// 3225
+o7.id = "";
+// undefined
+o7 = null;
+// 3226
+o7 = {};
+// 3227
+o12["408"] = o7;
+// 3228
+o7.id = "nav_subcats_3";
+// undefined
+o7 = null;
+// 3229
+o7 = {};
+// 3230
+o12["409"] = o7;
+// 3231
+o7.id = "";
+// undefined
+o7 = null;
+// 3232
+o7 = {};
+// 3233
+o12["410"] = o7;
+// 3234
+o7.id = "";
+// undefined
+o7 = null;
+// 3235
+o7 = {};
+// 3236
+o12["411"] = o7;
+// 3237
+o7.id = "";
+// undefined
+o7 = null;
+// 3238
+o7 = {};
+// 3239
+o12["412"] = o7;
+// 3240
+o7.id = "";
+// undefined
+o7 = null;
+// 3241
+o7 = {};
+// 3242
+o12["413"] = o7;
+// 3243
+o7.id = "";
+// undefined
+o7 = null;
+// 3244
+o7 = {};
+// 3245
+o12["414"] = o7;
+// 3246
+o7.id = "";
+// undefined
+o7 = null;
+// 3247
+o7 = {};
+// 3248
+o12["415"] = o7;
+// 3249
+o7.id = "";
+// undefined
+o7 = null;
+// 3250
+o7 = {};
+// 3251
+o12["416"] = o7;
+// 3252
+o7.id = "";
+// undefined
+o7 = null;
+// 3253
+o7 = {};
+// 3254
+o12["417"] = o7;
+// 3255
+o7.id = "";
+// undefined
+o7 = null;
+// 3256
+o7 = {};
+// 3257
+o12["418"] = o7;
+// 3258
+o7.id = "";
+// undefined
+o7 = null;
+// 3259
+o7 = {};
+// 3260
+o12["419"] = o7;
+// 3261
+o7.id = "";
+// undefined
+o7 = null;
+// 3262
+o7 = {};
+// 3263
+o12["420"] = o7;
+// 3264
+o7.id = "";
+// undefined
+o7 = null;
+// 3265
+o7 = {};
+// 3266
+o12["421"] = o7;
+// 3267
+o7.id = "nav_subcats_4";
+// undefined
+o7 = null;
+// 3268
+o7 = {};
+// 3269
+o12["422"] = o7;
+// 3270
+o7.id = "";
+// undefined
+o7 = null;
+// 3271
+o7 = {};
+// 3272
+o12["423"] = o7;
+// 3273
+o7.id = "";
+// undefined
+o7 = null;
+// 3274
+o7 = {};
+// 3275
+o12["424"] = o7;
+// 3276
+o7.id = "";
+// undefined
+o7 = null;
+// 3277
+o7 = {};
+// 3278
+o12["425"] = o7;
+// 3279
+o7.id = "nav_subcats_5";
+// undefined
+o7 = null;
+// 3280
+o7 = {};
+// 3281
+o12["426"] = o7;
+// 3282
+o7.id = "";
+// undefined
+o7 = null;
+// 3283
+o7 = {};
+// 3284
+o12["427"] = o7;
+// 3285
+o7.id = "";
+// undefined
+o7 = null;
+// 3286
+o7 = {};
+// 3287
+o12["428"] = o7;
+// 3288
+o7.id = "";
+// undefined
+o7 = null;
+// 3289
+o7 = {};
+// 3290
+o12["429"] = o7;
+// 3291
+o7.id = "nav_subcats_6";
+// undefined
+o7 = null;
+// 3292
+o7 = {};
+// 3293
+o12["430"] = o7;
+// 3294
+o7.id = "";
+// undefined
+o7 = null;
+// 3295
+o7 = {};
+// 3296
+o12["431"] = o7;
+// 3297
+o7.id = "";
+// undefined
+o7 = null;
+// 3298
+o7 = {};
+// 3299
+o12["432"] = o7;
+// 3300
+o7.id = "nav_subcats_7";
+// undefined
+o7 = null;
+// 3301
+o7 = {};
+// 3302
+o12["433"] = o7;
+// 3303
+o7.id = "nav_subcats_8";
+// undefined
+o7 = null;
+// 3304
+o7 = {};
+// 3305
+o12["434"] = o7;
+// 3306
+o7.id = "nav_subcats_9";
+// undefined
+o7 = null;
+// 3307
+o7 = {};
+// 3308
+o12["435"] = o7;
+// 3309
+o7.id = "";
+// undefined
+o7 = null;
+// 3310
+o7 = {};
+// 3311
+o12["436"] = o7;
+// 3312
+o7.id = "nav_subcats_10";
+// undefined
+o7 = null;
+// 3313
+o7 = {};
+// 3314
+o12["437"] = o7;
+// 3315
+o7.id = "nav_subcats_11";
+// undefined
+o7 = null;
+// 3316
+o7 = {};
+// 3317
+o12["438"] = o7;
+// 3318
+o7.id = "nav_subcats_12";
+// undefined
+o7 = null;
+// 3319
+o7 = {};
+// 3320
+o12["439"] = o7;
+// 3321
+o7.id = "";
+// undefined
+o7 = null;
+// 3322
+o7 = {};
+// 3323
+o12["440"] = o7;
+// 3324
+o7.id = "nav_subcats_13";
+// undefined
+o7 = null;
+// 3325
+o7 = {};
+// 3326
+o12["441"] = o7;
+// 3327
+o7.id = "nav_subcats_14";
+// undefined
+o7 = null;
+// 3328
+o7 = {};
+// 3329
+o12["442"] = o7;
+// 3330
+o7.id = "nav_subcats_15";
+// undefined
+o7 = null;
+// 3331
+o7 = {};
+// 3332
+o12["443"] = o7;
+// 3333
+o7.id = "";
+// undefined
+o7 = null;
+// 3334
+o7 = {};
+// 3335
+o12["444"] = o7;
+// 3336
+o7.id = "";
+// undefined
+o7 = null;
+// 3337
+o7 = {};
+// 3338
+o12["445"] = o7;
+// 3339
+o7.id = "nav_cats_wrap";
+// undefined
+o7 = null;
+// 3340
+o7 = {};
+// 3341
+o12["446"] = o7;
+// 3342
+o7.id = "";
+// undefined
+o7 = null;
+// 3343
+o7 = {};
+// 3344
+o12["447"] = o7;
+// 3345
+o7.id = "";
+// undefined
+o7 = null;
+// 3346
+o7 = {};
+// 3347
+o12["448"] = o7;
+// 3348
+o7.id = "";
+// undefined
+o7 = null;
+// 3349
+o7 = {};
+// 3350
+o12["449"] = o7;
+// 3351
+o7.id = "nav_cat_indicator";
+// undefined
+o7 = null;
+// 3352
+o7 = {};
+// 3353
+o12["450"] = o7;
+// 3354
+o7.id = "nav_your_account_flyout";
+// undefined
+o7 = null;
+// 3355
+o7 = {};
+// 3356
+o12["451"] = o7;
+// 3357
+o7.id = "";
+// undefined
+o7 = null;
+// 3358
+o7 = {};
+// 3359
+o12["452"] = o7;
+// 3360
+o7.id = "";
+// undefined
+o7 = null;
+// 3361
+o7 = {};
+// 3362
+o12["453"] = o7;
+// 3363
+o7.id = "";
+// undefined
+o7 = null;
+// 3364
+o7 = {};
+// 3365
+o12["454"] = o7;
+// 3366
+o7.id = "";
+// undefined
+o7 = null;
+// 3367
+o7 = {};
+// 3368
+o12["455"] = o7;
+// 3369
+o7.id = "";
+// undefined
+o7 = null;
+// 3370
+o7 = {};
+// 3371
+o12["456"] = o7;
+// 3372
+o7.id = "nav_cart_flyout";
+// undefined
+o7 = null;
+// 3373
+o7 = {};
+// 3374
+o12["457"] = o7;
+// 3375
+o7.id = "";
+// undefined
+o7 = null;
+// 3376
+o7 = {};
+// 3377
+o12["458"] = o7;
+// 3378
+o7.id = "";
+// undefined
+o7 = null;
+// 3379
+o7 = {};
+// 3380
+o12["459"] = o7;
+// 3381
+o7.id = "";
+// undefined
+o7 = null;
+// 3382
+o7 = {};
+// 3383
+o12["460"] = o7;
+// 3384
+o7.id = "nav_wishlist_flyout";
+// undefined
+o7 = null;
+// 3385
+o7 = {};
+// 3386
+o12["461"] = o7;
+// 3387
+o7.id = "";
+// undefined
+o7 = null;
+// 3388
+o7 = {};
+// 3389
+o12["462"] = o7;
+// 3390
+o7.id = "";
+// undefined
+o7 = null;
+// 3391
+o7 = {};
+// 3392
+o12["463"] = o7;
+// 3393
+o7.id = "sitb-pop";
+// undefined
+o7 = null;
+// 3394
+o7 = {};
+// 3395
+o12["464"] = o7;
+// 3396
+o7.id = "";
+// undefined
+o7 = null;
+// 3397
+o7 = {};
+// 3398
+o12["465"] = o7;
+// 3399
+o7.id = "";
+// undefined
+o7 = null;
+// 3400
+o7 = {};
+// 3401
+o12["466"] = o7;
+// 3402
+o7.id = "A9AdsMiddleBoxTop";
+// undefined
+o7 = null;
+// 3403
+o7 = {};
+// 3404
+o12["467"] = o7;
+// 3405
+o7.id = "SlDiv_0";
+// undefined
+o7 = null;
+// 3406
+o7 = {};
+// 3407
+o12["468"] = o7;
+// 3408
+o7.id = "A9AdsWidgetAdsWrapper";
+// undefined
+o7 = null;
+// 3409
+o7 = {};
+// 3410
+o12["469"] = o7;
+// 3411
+o7.id = "";
+// undefined
+o7 = null;
+// 3412
+o7 = {};
+// 3413
+o12["470"] = o7;
+// 3414
+o7.id = "";
+// undefined
+o7 = null;
+// 3415
+o7 = {};
+// 3416
+o12["471"] = o7;
+// 3417
+o7.id = "";
+// undefined
+o7 = null;
+// 3418
+o7 = {};
+// 3419
+o12["472"] = o7;
+// 3420
+o7.id = "";
+// undefined
+o7 = null;
+// 3421
+o7 = {};
+// 3422
+o12["473"] = o7;
+// 3423
+o7.id = "";
+// undefined
+o7 = null;
+// 3424
+o7 = {};
+// 3425
+o12["474"] = o7;
+// 3426
+o7.id = "";
+// undefined
+o7 = null;
+// 3427
+o7 = {};
+// 3428
+o12["475"] = o7;
+// 3429
+o7.id = "";
+// undefined
+o7 = null;
+// 3430
+o7 = {};
+// 3431
+o12["476"] = o7;
+// 3432
+o7.id = "";
+// undefined
+o7 = null;
+// 3433
+o7 = {};
+// 3434
+o12["477"] = o7;
+// 3435
+o7.id = "";
+// undefined
+o7 = null;
+// 3436
+o7 = {};
+// 3437
+o12["478"] = o7;
+// 3438
+o7.id = "";
+// undefined
+o7 = null;
+// 3439
+o7 = {};
+// 3440
+o12["479"] = o7;
+// 3441
+o7.id = "";
+// undefined
+o7 = null;
+// 3442
+o7 = {};
+// 3443
+o12["480"] = o7;
+// 3444
+o7.id = "";
+// undefined
+o7 = null;
+// 3445
+o7 = {};
+// 3446
+o12["481"] = o7;
+// 3447
+o7.id = "";
+// undefined
+o7 = null;
+// 3448
+o7 = {};
+// 3449
+o12["482"] = o7;
+// 3450
+o7.id = "";
+// undefined
+o7 = null;
+// 3451
+o7 = {};
+// 3452
+o12["483"] = o7;
+// 3453
+o7.id = "";
+// undefined
+o7 = null;
+// 3454
+o7 = {};
+// 3455
+o12["484"] = o7;
+// 3456
+o7.id = "reports-ads-abuse";
+// undefined
+o7 = null;
+// 3457
+o7 = {};
+// 3458
+o12["485"] = o7;
+// 3459
+o7.id = "FeedbackFormDiv";
+// undefined
+o7 = null;
+// 3460
+o7 = {};
+// 3461
+o12["486"] = o7;
+// 3462
+o7.id = "";
+// undefined
+o7 = null;
+// 3463
+o7 = {};
+// 3464
+o12["487"] = o7;
+// 3465
+o7.id = "view_to_purchase-sims-feature";
+// undefined
+o7 = null;
+// 3466
+o7 = {};
+// 3467
+o12["488"] = o7;
+// 3468
+o7.id = "";
+// undefined
+o7 = null;
+// 3469
+o7 = {};
+// 3470
+o12["489"] = o7;
+// 3471
+o7.id = "";
+// undefined
+o7 = null;
+// 3472
+o7 = {};
+// 3473
+o12["490"] = o7;
+// 3474
+o7.id = "view_to_purchaseShvl";
+// undefined
+o7 = null;
+// 3475
+o7 = {};
+// 3476
+o12["491"] = o7;
+// 3477
+o7.id = "";
+// undefined
+o7 = null;
+// 3478
+o7 = {};
+// 3479
+o12["492"] = o7;
+// 3480
+o7.id = "";
+// undefined
+o7 = null;
+// 3481
+o7 = {};
+// 3482
+o12["493"] = o7;
+// 3483
+o7.id = "view_to_purchaseButtonWrapper";
+// undefined
+o7 = null;
+// 3484
+o7 = {};
+// 3485
+o12["494"] = o7;
+// 3486
+o7.id = "";
+// undefined
+o7 = null;
+// 3487
+o7 = {};
+// 3488
+o12["495"] = o7;
+// 3489
+o7.id = "view_to_purchase_B000OOYECC";
+// undefined
+o7 = null;
+// 3490
+o7 = {};
+// 3491
+o12["496"] = o7;
+// 3492
+o7.id = "";
+// undefined
+o7 = null;
+// 3493
+o7 = {};
+// 3494
+o12["497"] = o7;
+// 3495
+o7.id = "";
+// undefined
+o7 = null;
+// 3496
+o7 = {};
+// 3497
+o12["498"] = o7;
+// 3498
+o7.id = "";
+// undefined
+o7 = null;
+// 3499
+o7 = {};
+// 3500
+o12["499"] = o7;
+// 3501
+o7.id = "view_to_purchase_B008ALAHA4";
+// undefined
+o7 = null;
+// 3502
+o7 = {};
+// 3503
+o12["500"] = o7;
+// 3504
+o7.id = "";
+// undefined
+o7 = null;
+// 3505
+o7 = {};
+// 3506
+o12["501"] = o7;
+// 3507
+o7.id = "";
+// undefined
+o7 = null;
+// 3508
+o7 = {};
+// 3509
+o12["502"] = o7;
+// 3510
+o7.id = "";
+// undefined
+o7 = null;
+// 3511
+o7 = {};
+// 3512
+o12["503"] = o7;
+// 3513
+o7.id = "view_to_purchase_B005DLDTAE";
+// undefined
+o7 = null;
+// 3514
+o7 = {};
+// 3515
+o12["504"] = o7;
+// 3516
+o7.id = "";
+// undefined
+o7 = null;
+// 3517
+o7 = {};
+// 3518
+o12["505"] = o7;
+// 3519
+o7.id = "";
+// undefined
+o7 = null;
+// 3520
+o7 = {};
+// 3521
+o12["506"] = o7;
+// 3522
+o7.id = "";
+// undefined
+o7 = null;
+// 3523
+o7 = {};
+// 3524
+o12["507"] = o7;
+// 3525
+o7.id = "view_to_purchase_B009SQQF9C";
+// undefined
+o7 = null;
+// 3526
+o7 = {};
+// 3527
+o12["508"] = o7;
+// 3528
+o7.id = "";
+// undefined
+o7 = null;
+// 3529
+o7 = {};
+// 3530
+o12["509"] = o7;
+// 3531
+o7.id = "";
+// undefined
+o7 = null;
+// 3532
+o7 = {};
+// 3533
+o12["510"] = o7;
+// 3534
+o7.id = "";
+// undefined
+o7 = null;
+// 3535
+o7 = {};
+// 3536
+o12["511"] = o7;
+// 3537
+o7.id = "view_to_purchase_B002XVYZ82";
+// undefined
+o7 = null;
+// 3538
+o7 = {};
+// 3539
+o12["512"] = o7;
+// 3540
+o7.id = "";
+// undefined
+o7 = null;
+// 3541
+o7 = {};
+// 3542
+o12["513"] = o7;
+// 3543
+o7.id = "";
+// undefined
+o7 = null;
+// 3544
+o7 = {};
+// 3545
+o12["514"] = o7;
+// 3546
+o7.id = "";
+// undefined
+o7 = null;
+// 3547
+o7 = {};
+// 3548
+o12["515"] = o7;
+// 3549
+o7.id = "view_to_purchase_B008PFDUW2";
+// undefined
+o7 = null;
+// 3550
+o7 = {};
+// 3551
+o12["516"] = o7;
+// 3552
+o7.id = "";
+// undefined
+o7 = null;
+// 3553
+o7 = {};
+// 3554
+o12["517"] = o7;
+// 3555
+o7.id = "";
+// undefined
+o7 = null;
+// 3556
+o7 = {};
+// 3557
+o12["518"] = o7;
+// 3558
+o7.id = "";
+// undefined
+o7 = null;
+// 3559
+o7 = {};
+// 3560
+o12["519"] = o7;
+// 3561
+o7.id = "view_to_purchaseSimsData";
+// undefined
+o7 = null;
+// 3562
+o7 = {};
+// 3563
+o12["520"] = o7;
+// 3564
+o7.id = "";
+// undefined
+o7 = null;
+// 3565
+o7 = {};
+// 3566
+o12["521"] = o7;
+// 3567
+o7.id = "likeAndShareBarLazyLoad";
+// undefined
+o7 = null;
+// 3568
+o7 = {};
+// 3569
+o12["522"] = o7;
+// 3570
+o7.id = "customer_discussions_lazy_load_div";
+// undefined
+o7 = null;
+// 3571
+o7 = {};
+// 3572
+o12["523"] = o7;
+// 3573
+o7.id = "";
+// undefined
+o7 = null;
+// 3574
+o7 = {};
+// 3575
+o12["524"] = o7;
+// 3576
+o7.id = "";
+// undefined
+o7 = null;
+// 3577
+o7 = {};
+// 3578
+o12["525"] = o7;
+// 3579
+o7.id = "";
+// undefined
+o7 = null;
+// 3580
+o7 = {};
+// 3581
+o12["526"] = o7;
+// 3582
+o7.id = "";
+// undefined
+o7 = null;
+// 3583
+o7 = {};
+// 3584
+o12["527"] = o7;
+// 3585
+o7.id = "dp_bottom_lazy_lazy_load_div";
+// undefined
+o7 = null;
+// 3586
+o7 = {};
+// 3587
+o12["528"] = o7;
+// 3588
+o7.id = "";
+// undefined
+o7 = null;
+// 3589
+o7 = {};
+// 3590
+o12["529"] = o7;
+// 3591
+o7.id = "";
+// undefined
+o7 = null;
+// 3592
+o7 = {};
+// 3593
+o12["530"] = o7;
+// 3594
+o7.id = "";
+// undefined
+o7 = null;
+// 3595
+o7 = {};
+// 3596
+o12["531"] = o7;
+// 3597
+o7.id = "";
+// undefined
+o7 = null;
+// 3598
+o7 = {};
+// 3599
+o12["532"] = o7;
+// 3600
+o7.id = "";
+// undefined
+o7 = null;
+// 3601
+o7 = {};
+// 3602
+o12["533"] = o7;
+// 3603
+o7.id = "";
+// undefined
+o7 = null;
+// 3604
+o7 = {};
+// 3605
+o12["534"] = o7;
+// 3606
+o7.id = "";
+// undefined
+o7 = null;
+// 3607
+o7 = {};
+// 3608
+o12["535"] = o7;
+// 3609
+o7.id = "";
+// undefined
+o7 = null;
+// 3610
+o7 = {};
+// 3611
+o12["536"] = o7;
+// 3612
+o7.id = "";
+// undefined
+o7 = null;
+// 3613
+o7 = {};
+// 3614
+o12["537"] = o7;
+// 3615
+o7.id = "hmdFormDiv";
+// undefined
+o7 = null;
+// 3616
+o7 = {};
+// 3617
+o12["538"] = o7;
+// 3618
+o7.id = "rhf";
+// undefined
+o7 = null;
+// 3619
+o7 = {};
+// 3620
+o12["539"] = o7;
+// 3621
+o7.id = "";
+// undefined
+o7 = null;
+// 3622
+o7 = {};
+// 3623
+o12["540"] = o7;
+// 3624
+o7.id = "";
+// undefined
+o7 = null;
+// 3625
+o7 = {};
+// 3626
+o12["541"] = o7;
+// 3627
+o7.id = "";
+// undefined
+o7 = null;
+// 3628
+o7 = {};
+// 3629
+o12["542"] = o7;
+// 3630
+o7.id = "rhf_container";
+// undefined
+o7 = null;
+// 3631
+o7 = {};
+// 3632
+o12["543"] = o7;
+// 3633
+o7.id = "";
+// undefined
+o7 = null;
+// 3634
+o7 = {};
+// 3635
+o12["544"] = o7;
+// 3636
+o7.id = "rhf_error";
+// undefined
+o7 = null;
+// 3637
+o7 = {};
+// 3638
+o12["545"] = o7;
+// 3639
+o7.id = "";
+// undefined
+o7 = null;
+// 3640
+o7 = {};
+// 3641
+o12["546"] = o7;
+// 3642
+o7.id = "";
+// undefined
+o7 = null;
+// 3643
+o7 = {};
+// 3644
+o12["547"] = o7;
+// 3645
+o7.id = "navFooter";
+// undefined
+o7 = null;
+// 3646
+o7 = {};
+// 3647
+o12["548"] = o7;
+// 3648
+o7.id = "";
+// undefined
+o7 = null;
+// 3649
+o7 = {};
+// 3650
+o12["549"] = o7;
+// 3651
+o7.id = "";
+// undefined
+o7 = null;
+// 3652
+o7 = {};
+// 3653
+o12["550"] = o7;
+// 3654
+o7.id = "";
+// undefined
+o7 = null;
+// 3655
+o7 = {};
+// 3656
+o12["551"] = o7;
+// 3657
+o7.id = "";
+// undefined
+o7 = null;
+// 3658
+o7 = {};
+// 3659
+o12["552"] = o7;
+// 3660
+o7.id = "";
+// undefined
+o7 = null;
+// 3661
+o7 = {};
+// 3662
+o12["553"] = o7;
+// 3663
+o7.id = "";
+// undefined
+o7 = null;
+// 3664
+o7 = {};
+// 3665
+o12["554"] = o7;
+// 3666
+o7.id = "";
+// undefined
+o7 = null;
+// 3667
+o12["555"] = o10;
+// 3668
+o10.id = "sis_pixel_r2";
+// 3669
+o7 = {};
+// 3670
+o12["556"] = o7;
+// 3671
+o7.id = "DAsis";
+// 3672
+o7.contentWindow = void 0;
+// 3675
+o7.width = void 0;
+// undefined
+fo737951042_1066_clientWidth = function() { return fo737951042_1066_clientWidth.returns[fo737951042_1066_clientWidth.inst++]; };
+fo737951042_1066_clientWidth.returns = [];
+fo737951042_1066_clientWidth.inst = 0;
+defineGetter(o7, "clientWidth", fo737951042_1066_clientWidth, undefined);
+// undefined
+fo737951042_1066_clientWidth.returns.push(1008);
+// 3677
+o8 = {};
+// 3678
+o7.style = o8;
+// 3679
+// undefined
+fo737951042_1066_clientWidth.returns.push(1007);
+// 3684
+// undefined
+o8 = null;
+// 3685
+o7.parentNode = o10;
+// 3688
+o10.ad = void 0;
+// 3689
+o7.f = void 0;
+// 3692
+o7.g = void 0;
+// 3693
+o10.getElementsByTagName = f737951042_815;
+// undefined
+o10 = null;
+// 3694
+o8 = {};
+// 3695
+f737951042_815.returns.push(o8);
+// 3696
+o8["0"] = o7;
+// undefined
+o8 = null;
+// undefined
+o7 = null;
+// 3698
+o7 = {};
+// 3699
+o12["557"] = o7;
+// undefined
+o12 = null;
+// 3700
+o7.id = "be";
+// undefined
+o7 = null;
+// 3701
+o0.nodeType = 9;
+// 3702
+// 3704
+o7 = {};
+// 3705
+f737951042_0.returns.push(o7);
+// 3706
+o7.getHours = f737951042_443;
+// 3707
+f737951042_443.returns.push(14);
+// 3708
+o7.getMinutes = f737951042_444;
+// 3709
+f737951042_444.returns.push(15);
+// 3710
+o7.getSeconds = f737951042_445;
+// undefined
+o7 = null;
+// 3711
+f737951042_445.returns.push(4);
+// 3716
+f737951042_438.returns.push(null);
+// 3721
+f737951042_438.returns.push(null);
+// 3722
+f737951042_12.returns.push(27);
+// 3724
+f737951042_438.returns.push(o1);
+// 3726
+o7 = {};
+// 3727
+f737951042_0.returns.push(o7);
+// 3728
+o7.getHours = f737951042_443;
+// 3729
+f737951042_443.returns.push(14);
+// 3730
+o7.getMinutes = f737951042_444;
+// 3731
+f737951042_444.returns.push(15);
+// 3732
+o7.getSeconds = f737951042_445;
+// undefined
+o7 = null;
+// 3733
+f737951042_445.returns.push(5);
+// 3738
+f737951042_438.returns.push(null);
+// 3743
+f737951042_438.returns.push(null);
+// 3744
+f737951042_12.returns.push(28);
+// 3746
+f737951042_438.returns.push(o1);
+// 3748
+o7 = {};
+// 3749
+f737951042_0.returns.push(o7);
+// 3750
+o7.getHours = f737951042_443;
+// 3751
+f737951042_443.returns.push(14);
+// 3752
+o7.getMinutes = f737951042_444;
+// 3753
+f737951042_444.returns.push(15);
+// 3754
+o7.getSeconds = f737951042_445;
+// undefined
+o7 = null;
+// 3755
+f737951042_445.returns.push(6);
+// 3760
+f737951042_438.returns.push(null);
+// 3765
+f737951042_438.returns.push(null);
+// 3766
+f737951042_12.returns.push(29);
+// 3768
+f737951042_438.returns.push(o1);
+// undefined
+o1 = null;
+// 3769
+// 0
+JSBNG_Replay$ = function(real, cb) { if (!real) return;
+// 867
+geval("var ue_t0 = ((ue_t0 || +new JSBNG__Date()));");
+// 870
+geval("var ue_csm = window;\nue_csm.ue_hob = ((ue_csm.ue_hob || +new JSBNG__Date()));\n(function(d) {\n    var a = {\n        ec: 0,\n        pec: 0,\n        ts: 0,\n        erl: [],\n        mxe: 50,\n        startTimer: function() {\n            a.ts++;\n            JSBNG__setInterval(function() {\n                ((((d.ue && ((a.pec < a.ec)))) && d.uex(\"at\")));\n                a.pec = a.ec;\n            }, 10000);\n        }\n    };\n    function c(e) {\n        if (((a.ec > a.mxe))) {\n            return;\n        }\n    ;\n    ;\n        a.ec++;\n        if (d.ue_jserrv2) {\n            e.pageURL = ((\"\" + ((window.JSBNG__location ? window.JSBNG__location.href : \"\"))));\n        }\n    ;\n    ;\n        a.erl.push(e);\n    };\n;\n    function b(h, g, e) {\n        var f = {\n            m: h,\n            f: g,\n            l: e,\n            fromOnError: 1,\n            args: arguments\n        };\n        d.ueLogError(f);\n        return false;\n    };\n;\n    b.skipTrace = 1;\n    c.skipTrace = 1;\n    d.ueLogError = c;\n    d.ue_err = a;\n    window.JSBNG__onerror = b;\n})(ue_csm);\nue_csm.ue_hoe = +new JSBNG__Date();\nvar ue_id = \"0H7NC1MNEB4A52DXKGX7\", ue_sid = \"177-2724246-1767538\", ue_mid = \"ATVPDKIKX0DER\", ue_sn = \"www.amazon.com\", ue_url = \"/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742/ref=sr_1_1/uedata/unsticky/177-2724246-1767538/Detail/ntpoffrw\", ue_furl = \"fls-na.amazon.com\", ue_pr = 0, ue_navtiming = 1, ue_log_idx = 0, ue_log_f = 0, ue_fcsn = 1, ue_ctb0tf = 1, ue_fst = 0, ue_fna = 1, ue_swi = 1, ue_swm = 4, ue_onbful = 3, ue_jserrv2 = 3;\nif (!window.ue_csm) {\n    var ue_csm = window;\n}\n;\n;\nue_csm.ue_hob = ((ue_csm.ue_hob || +new JSBNG__Date));\nfunction ue_viz() {\n    (function(d, j, g) {\n        var b, l, e, a, c = [\"\",\"moz\",\"ms\",\"o\",\"webkit\",], k = 0, f = 20, h = \"JSBNG__addEventListener\", i = \"JSBNG__attachEvent\";\n        while ((((b = c.pop()) && !k))) {\n            l = ((((b ? ((b + \"H\")) : \"h\")) + \"idden\"));\n            if (k = ((typeof j[l] == \"boolean\"))) {\n                e = ((b + \"visibilitychange\"));\n                a = ((b + \"VisibilityState\"));\n            }\n        ;\n        ;\n        };\n    ;\n        function m(q) {\n            if (((d.ue.viz.length < f))) {\n                var p = q.type, n = q.originalEvent;\n                if (!((((/^focus./.test(p) && n)) && ((((n.toElement || n.fromElement)) || n.relatedTarget))))) {\n                    var r = ((j[a] || ((((((p == \"JSBNG__blur\")) || ((p == \"focusout\")))) ? \"hidden\" : \"visible\")))), o = ((+new JSBNG__Date - d.ue.t0));\n                    d.ue.viz.push(((((r + \":\")) + o)));\n                    ((((((ue.iel && ((ue.iel.length > 0)))) && ((r == \"visible\")))) && uex(\"at\")));\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n        };\n    ;\n        m({\n        });\n        if (k) {\n            j[h](e, m, 0);\n        }\n    ;\n    ;\n    })(ue_csm, JSBNG__document, window);\n};\n;\nue_csm.ue_hoe = +new JSBNG__Date;\nue_csm.ue_hob = ((ue_csm.ue_hob || +new JSBNG__Date()));\n(function(e, h) {\n    e.ueinit = ((((e.ueinit || 0)) + 1));\n    e.ue = {\n        t0: ((h.aPageStart || e.ue_t0)),\n        id: e.ue_id,\n        url: e.ue_url,\n        a: \"\",\n        b: \"\",\n        h: {\n        },\n        r: {\n            ld: 0,\n            oe: 0,\n            ul: 0\n        },\n        s: 1,\n        t: {\n        },\n        sc: {\n        },\n        iel: [],\n        ielf: [],\n        fc_idx: {\n        },\n        viz: [],\n        v: 30\n    };\n    e.ue.tagC = function() {\n        var j = [];\n        return function(k) {\n            if (k) {\n                j.push(k);\n            }\n        ;\n        ;\n            return j.slice(0);\n        };\n    };\n    e.ue.tag = e.ue.tagC();\n    e.ue.ifr = ((((((h.JSBNG__top !== h.JSBNG__self)) || (h.JSBNG__frameElement))) ? 1 : 0));\n    function c(l, o, q, n) {\n        if (((e.ue_log_f && e.ue.log))) {\n            e.ue.log({\n                f: \"uet\",\n                en: l,\n                s: o,\n                so: q,\n                to: n\n            }, \"csm\");\n        }\n    ;\n    ;\n        var p = ((n || (new JSBNG__Date()).getTime()));\n        var j = ((!o && ((typeof q != \"undefined\"))));\n        if (j) {\n            return;\n        }\n    ;\n    ;\n        if (l) {\n            var m = ((o ? ((d(\"t\", o) || d(\"t\", o, {\n            }))) : e.ue.t));\n            m[l] = p;\n            {\n                var fin0keys = ((window.top.JSBNG_Replay.forInKeys)((q))), fin0i = (0);\n                var k;\n                for (; (fin0i < fin0keys.length); (fin0i++)) {\n                    ((k) = (fin0keys[fin0i]));\n                    {\n                        d(k, o, q[k]);\n                    };\n                };\n            };\n        ;\n        }\n    ;\n    ;\n        return p;\n    };\n;\n    function d(k, l, m) {\n        if (((e.ue_log_f && e.ue.log))) {\n            e.ue.log({\n                f: \"ues\",\n                k: k,\n                s: l,\n                v: m\n            }, \"csm\");\n        }\n    ;\n    ;\n        var n, j;\n        if (k) {\n            n = j = e.ue;\n            if (((l && ((l != n.id))))) {\n                j = n.sc[l];\n                if (!j) {\n                    j = {\n                    };\n                    ((m ? (n.sc[l] = j) : j));\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            n = ((m ? (j[k] = m) : j[k]));\n        }\n    ;\n    ;\n        return n;\n    };\n;\n    function g(n, o, m, k, j) {\n        if (((e.ue_log_f && e.ue.log))) {\n            e.ue.log({\n                f: \"ueh\",\n                ek: n\n            }, \"csm\");\n        }\n    ;\n    ;\n        var l = ((\"JSBNG__on\" + m));\n        var p = o[l];\n        if (((typeof (p) == \"function\"))) {\n            if (n) {\n                e.ue.h[n] = p;\n            }\n        ;\n        ;\n        }\n         else {\n            p = function() {\n            \n            };\n        }\n    ;\n    ;\n        o[l] = ((j ? ((window.top.JSBNG_Replay.push)((window.top.JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15), function(q) {\n            k(q);\n            p(q);\n        })) : function(q) {\n            p(q);\n            k(q);\n        }));\n        o[l].isUeh = 1;\n    };\n;\n    function b(s, m, r) {\n        if (((e.ue_log_f && e.ue.log))) {\n            e.ue.log({\n                f: \"uex\",\n                en: s,\n                s: m,\n                so: r\n            }, \"csm\");\n        }\n    ;\n    ;\n        function l(P, N) {\n            var L = [P,], G = 0, M = {\n            };\n            if (N) {\n                L.push(\"m=1\");\n                M[N] = 1;\n            }\n             else {\n                M = e.ue.sc;\n            }\n        ;\n        ;\n            var E;\n            {\n                var fin1keys = ((window.top.JSBNG_Replay.forInKeys)((M))), fin1i = (0);\n                var F;\n                for (; (fin1i < fin1keys.length); (fin1i++)) {\n                    ((F) = (fin1keys[fin1i]));\n                    {\n                        var H = d(\"wb\", F), K = ((d(\"t\", F) || {\n                        })), J = ((d(\"t0\", F) || e.ue.t0));\n                        if (((N || ((H == 2))))) {\n                            var O = ((H ? G++ : \"\"));\n                            L.push(((((((\"sc\" + O)) + \"=\")) + F)));\n                            {\n                                var fin2keys = ((window.top.JSBNG_Replay.forInKeys)((K))), fin2i = (0);\n                                var I;\n                                for (; (fin2i < fin2keys.length); (fin2i++)) {\n                                    ((I) = (fin2keys[fin2i]));\n                                    {\n                                        if (((((I.length <= 3)) && K[I]))) {\n                                            L.push(((((((I + O)) + \"=\")) + ((K[I] - J)))));\n                                        }\n                                    ;\n                                    ;\n                                    };\n                                };\n                            };\n                        ;\n                            L.push(((((((\"t\" + O)) + \"=\")) + K[s])));\n                            if (((d(\"ctb\", F) || d(\"wb\", F)))) {\n                                E = 1;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    };\n                };\n            };\n        ;\n            if (((!n && E))) {\n                L.push(\"ctb=1\");\n            }\n        ;\n        ;\n            return L.join(\"&\");\n        };\n    ;\n        function v(H, F, J, E) {\n            if (!H) {\n                return;\n            }\n        ;\n        ;\n            var I = new JSBNG__Image();\n            var G = function() {\n                if (!e.ue.b) {\n                    return;\n                }\n            ;\n            ;\n                var L = e.ue.b;\n                e.ue.b = \"\";\n                v(L, F, J, 1);\n            };\n            if (((e.ue.b && !e.ue_swi))) {\n                I.JSBNG__onload = G;\n            }\n        ;\n        ;\n            var K = ((((((!E || !e.ue.log)) || !window.amznJQ)) || ((window.amznJQ && window.amznJQ.isMock))));\n            if (K) {\n                e.ue.iel.push(I);\n                I.src = H;\n            }\n        ;\n        ;\n            if (((e.ue.log && ((((J || E)) || e.ue_ctb0tf))))) {\n                e.ue.log(H, \"uedata\", {\n                    n: 1\n                });\n                e.ue.ielf.push(H);\n            }\n        ;\n        ;\n            if (((e.ue_err && !e.ue_err.ts))) {\n                e.ue_err.startTimer();\n            }\n        ;\n        ;\n            if (e.ue_swi) {\n                G();\n            }\n        ;\n        ;\n        };\n    ;\n        function B(E) {\n            if (!ue.collected) {\n                var G = E.timing;\n                if (G) {\n                    e.ue.t.na_ = G.navigationStart;\n                    e.ue.t.ul_ = G.unloadEventStart;\n                    e.ue.t._ul = G.unloadEventEnd;\n                    e.ue.t.rd_ = G.redirectStart;\n                    e.ue.t._rd = G.redirectEnd;\n                    e.ue.t.fe_ = G.fetchStart;\n                    e.ue.t.lk_ = G.domainLookupStart;\n                    e.ue.t._lk = G.domainLookupEnd;\n                    e.ue.t.co_ = G.connectStart;\n                    e.ue.t._co = G.connectEnd;\n                    e.ue.t.sc_ = G.secureConnectionStart;\n                    e.ue.t.rq_ = G.requestStart;\n                    e.ue.t.rs_ = G.responseStart;\n                    e.ue.t._rs = G.responseEnd;\n                    e.ue.t.dl_ = G.domLoading;\n                    e.ue.t.di_ = G.domInteractive;\n                    e.ue.t.de_ = G.domContentLoadedEventStart;\n                    e.ue.t._de = G.domContentLoadedEventEnd;\n                    e.ue.t._dc = G.domComplete;\n                    e.ue.t.ld_ = G.loadEventStart;\n                    e.ue.t._ld = G.loadEventEnd;\n                }\n            ;\n            ;\n                var F = E.navigation;\n                if (F) {\n                    e.ue.t.ty = ((F.type + e.ue.t0));\n                    e.ue.t.rc = ((F.redirectCount + e.ue.t0));\n                    if (e.ue.tag) {\n                        e.ue.tag(((F.redirectCount ? \"redirect\" : \"nonredirect\")));\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                e.ue.collected = 1;\n            }\n        ;\n        ;\n        };\n    ;\n        var D = ((!m && ((typeof r != \"undefined\"))));\n        if (D) {\n            return;\n        }\n    ;\n    ;\n        {\n            var fin3keys = ((window.top.JSBNG_Replay.forInKeys)((r))), fin3i = (0);\n            var j;\n            for (; (fin3i < fin3keys.length); (fin3i++)) {\n                ((j) = (fin3keys[fin3i]));\n                {\n                    d(j, m, r[j]);\n                };\n            };\n        };\n    ;\n        c(\"pc\", m, r);\n        var x = ((d(\"id\", m) || e.ue.id));\n        var p = ((((((((((((e.ue.url + \"?\")) + s)) + \"&v=\")) + e.ue.v)) + \"&id=\")) + x));\n        var n = ((d(\"ctb\", m) || d(\"wb\", m)));\n        if (n) {\n            p += ((\"&ctb=\" + n));\n        }\n    ;\n    ;\n        if (((e.ueinit > 1))) {\n            p += ((\"&ic=\" + e.ueinit));\n        }\n    ;\n    ;\n        var A = ((h.JSBNG__performance || h.JSBNG__webkitPerformance));\n        var y = e.ue.bfini;\n        var q = ((((A && A.navigation)) && ((A.navigation.type == 2))));\n        var o = ((((m && ((m != x)))) && d(\"ctb\", m)));\n        if (!o) {\n            if (((y && ((y > 1))))) {\n                p += ((\"&bft=\" + ((y - 1))));\n                p += \"&bfform=1\";\n            }\n             else {\n                if (q) {\n                    p += \"&bft=1\";\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            if (q) {\n                p += \"&bfnt=1\";\n            }\n        ;\n        ;\n        }\n    ;\n    ;\n        if (((((e.ue._fi && ((s == \"at\")))) && ((!m || ((m == x))))))) {\n            p += e.ue._fi();\n        }\n    ;\n    ;\n        var k;\n        if (((((((s == \"ld\")) || ((s == \"ul\")))) && ((!m || ((m == x))))))) {\n            if (((s == \"ld\"))) {\n                if (((h.JSBNG__onbeforeunload && h.JSBNG__onbeforeunload.isUeh))) {\n                    h.JSBNG__onbeforeunload = null;\n                }\n            ;\n            ;\n                ue.r.ul = e.ue_onbful;\n                if (((e.ue_onbful == 3))) {\n                    ue.detach(\"beforeunload\", e.onUl);\n                }\n            ;\n            ;\n                if (((JSBNG__document.ue_backdetect && JSBNG__document.ue_backdetect.ue_back))) {\n                    JSBNG__document.ue_backdetect.ue_back.value++;\n                }\n            ;\n            ;\n                if (e._uess) {\n                    k = e._uess();\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            if (((((e.ue_navtiming && A)) && A.timing))) {\n                d(\"ctb\", x, \"1\");\n                if (((e.ue_navtiming == 1))) {\n                    e.ue.t.tc = A.timing.navigationStart;\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            if (A) {\n                B(A);\n            }\n        ;\n        ;\n            if (((e.ue_hob && e.ue_hoe))) {\n                e.ue.t.hob = e.ue_hob;\n                e.ue.t.hoe = e.ue_hoe;\n            }\n        ;\n        ;\n            if (e.ue.ifr) {\n                p += \"&ifr=1\";\n            }\n        ;\n        ;\n        }\n    ;\n    ;\n        c(s, m, r);\n        var w = ((((((s == \"ld\")) && m)) && d(\"wb\", m)));\n        if (w) {\n            d(\"wb\", m, 2);\n        }\n    ;\n    ;\n        var z = 1;\n        {\n            var fin4keys = ((window.top.JSBNG_Replay.forInKeys)((e.ue.sc))), fin4i = (0);\n            var u;\n            for (; (fin4i < fin4keys.length); (fin4i++)) {\n                ((u) = (fin4keys[fin4i]));\n                {\n                    if (((d(\"wb\", u) == 1))) {\n                        z = 0;\n                        break;\n                    }\n                ;\n                ;\n                };\n            };\n        };\n    ;\n        if (w) {\n            if (((!e.ue.s && ((e.ue_swi || ((z && !e.ue_swi))))))) {\n                p = l(p, null);\n            }\n             else {\n                return;\n            }\n        ;\n        ;\n        }\n         else {\n            if (((((z && !e.ue_swi)) || e.ue_swi))) {\n                var C = l(p, null);\n                if (((C != p))) {\n                    e.ue.b = C;\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            if (k) {\n                p += k;\n            }\n        ;\n        ;\n            p = l(p, ((m || e.ue.id)));\n        }\n    ;\n    ;\n        if (((e.ue.b || w))) {\n            {\n                var fin5keys = ((window.top.JSBNG_Replay.forInKeys)((e.ue.sc))), fin5i = (0);\n                var u;\n                for (; (fin5i < fin5keys.length); (fin5i++)) {\n                    ((u) = (fin5keys[fin5i]));\n                    {\n                        if (((d(\"wb\", u) == 2))) {\n                            delete e.ue.sc[u];\n                        }\n                    ;\n                    ;\n                    };\n                };\n            };\n        ;\n        }\n    ;\n    ;\n        var t = 0;\n        if (!w) {\n            e.ue.s = 0;\n            if (((e.ue_err && ((e.ue_err.ec > 0))))) {\n                if (((e.ue_jserrv2 == 3))) {\n                    if (((e.ue_err.pec < e.ue_err.ec))) {\n                        e.ue_err.pec = e.ue_err.ec;\n                        p += ((\"&ec=\" + e.ue_err.ec));\n                    }\n                ;\n                ;\n                }\n                 else {\n                    p += ((\"&ec=\" + e.ue_err.ec));\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            t = d(\"ctb\", m);\n            d(\"t\", m, {\n            });\n        }\n    ;\n    ;\n        if (((!window.amznJQ && e.ue.tag))) {\n            e.ue.tag(\"noAmznJQ\");\n        }\n    ;\n    ;\n        if (((((p && e.ue.tag)) && ((e.ue.tag().length > 0))))) {\n            p += ((\"&csmtags=\" + e.ue.tag().join(\"|\")));\n            e.ue.tag = e.ue.tagC();\n        }\n    ;\n    ;\n        if (((((p && e.ue.viz)) && ((e.ue.viz.length > 0))))) {\n            p += ((\"&viz=\" + e.ue.viz.join(\"|\")));\n            e.ue.viz = [];\n        }\n    ;\n    ;\n        e.ue.a = p;\n        v(p, s, t, w);\n    };\n;\n    function a(j, k, l) {\n        l = ((l || h));\n        if (l.JSBNG__addEventListener) {\n            l.JSBNG__addEventListener(j, k, false);\n        }\n         else {\n            if (l.JSBNG__attachEvent) {\n                l.JSBNG__attachEvent(((\"JSBNG__on\" + j)), k);\n            }\n        ;\n        ;\n        }\n    ;\n    ;\n    };\n;\n    ue.attach = a;\n    function i(j, k, l) {\n        l = ((l || h));\n        if (l.JSBNG__removeEventListener) {\n            l.JSBNG__removeEventListener(j, k);\n        }\n         else {\n            if (l.JSBNG__detachEvent) {\n                l.JSBNG__detachEvent(((\"JSBNG__on\" + j)), k);\n            }\n        ;\n        ;\n        }\n    ;\n    ;\n    };\n;\n    ue.detach = i;\n    function f() {\n        if (((e.ue_log_f && e.ue.log))) {\n            e.ue.log({\n                f: \"uei\"\n            }, \"csm\");\n        }\n    ;\n    ;\n        var l = e.ue.r;\n        function k(n) {\n            return ((window.top.JSBNG_Replay.push)((window.top.JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_26), function() {\n                if (!l[n]) {\n                    l[n] = 1;\n                    b(n);\n                }\n            ;\n            ;\n            }));\n        };\n    ;\n        e.onLd = k(\"ld\");\n        e.onLdEnd = k(\"ld\");\n        e.onUl = k(\"ul\");\n        var j = {\n            beforeunload: e.onUl,\n            JSBNG__stop: function() {\n                b(\"os\");\n            }\n        };\n        {\n            var fin6keys = ((window.top.JSBNG_Replay.forInKeys)((j))), fin6i = (0);\n            var m;\n            for (; (fin6i < fin6keys.length); (fin6i++)) {\n                ((m) = (fin6keys[fin6i]));\n                {\n                    g(0, window, m, j[m]);\n                };\n            };\n        };\n    ;\n        ((e.ue_viz && ue_viz()));\n        ue.attach(\"load\", e.onLd);\n        if (((e.ue_onbful == 3))) {\n            ue.attach(\"beforeunload\", e.onUl);\n        }\n    ;\n    ;\n        e.ue._uep = function() {\n            new JSBNG__Image().src = ((((e.ue_md ? e.ue_md : \"http://uedata.amazon.com/uedata/?tp=\")) + (+new JSBNG__Date)));\n        };\n        if (((e.ue_pr && ((((e.ue_pr == 2)) || ((e.ue_pr == 4))))))) {\n            e.ue._uep();\n        }\n    ;\n    ;\n        c(\"ue\");\n    };\n;\n    ue.reset = function(k, j) {\n        if (!k) {\n            return;\n        }\n    ;\n    ;\n        ((e.ue_cel && e.ue_cel.reset()));\n        e.ue.t0 = +new JSBNG__Date();\n        e.ue.rid = k;\n        e.ue.id = k;\n        e.ue.fc_idx = {\n        };\n        e.ue.viz = [];\n    };\n    e.uei = f;\n    e.ueh = g;\n    e.ues = d;\n    e.uet = c;\n    e.uex = b;\n    f();\n})(ue_csm, window);\nue_csm.ue_hoe = +new JSBNG__Date();\nue_csm.ue_hob = ((ue_csm.ue_hob || +new JSBNG__Date()));\n(function(b) {\n    var a = b.ue;\n    a.rid = b.ue_id;\n    a.sid = b.ue_sid;\n    a.mid = b.ue_mid;\n    a.furl = b.ue_furl;\n    a.sn = b.ue_sn;\n    a.lr = [];\n    a.log = function(e, d, c) {\n        if (((a.lr.length == 500))) {\n            return;\n        }\n    ;\n    ;\n        a.lr.push([\"l\",e,d,c,a.d(),a.rid,]);\n    };\n    a.d = function(c) {\n        return ((+new JSBNG__Date - ((c ? 0 : a.t0))));\n    };\n})(ue_csm);\nue_csm.ue_hoe = +new JSBNG__Date();");
+// 904
+geval("var imaget0;\n(function() {\n    var i = new JSBNG__Image;\n    i.JSBNG__onload = ((window.top.JSBNG_Replay.push)((window.top.JSBNG_Replay.s7dc9638224cef078c874cd3fa975dc7b976952e8_1), function() {\n        imaget0 = new JSBNG__Date().getTime();\n    }));\n    i.src = \"http://ecx.images-amazon.com/images/I/51gdVAEfPUL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg\";\n})();");
+// 910
+fpc.call(JSBNG_Replay.s7dc9638224cef078c874cd3fa975dc7b976952e8_1[0], o3,o4);
+// undefined
+o3 = null;
+// undefined
+o4 = null;
+// 915
+geval("var amznJQ, jQueryPatchIPadOffset = false;\n(function() {\n    function f(x) {\n        return function() {\n            x.push(arguments);\n        };\n    };\n;\n    function ch(y) {\n        return String.fromCharCode(y);\n    };\n;\n    var a = [], c = [], cs = [], d = [], l = [], o = [], s = [], p = [], t = [];\n    amznJQ = {\n        _timesliceJS: false,\n        _a: a,\n        _c: c,\n        _cs: cs,\n        _d: d,\n        _l: l,\n        _o: o,\n        _s: s,\n        _pl: p,\n        addLogical: f(l),\n        addStyle: f(s),\n        addPL: f(p),\n        available: f(a),\n        chars: {\n            EOL: ch(10),\n            SQUOTE: ch(39),\n            DQUOTE: ch(34),\n            BACKSLASH: ch(92),\n            YEN: ch(165)\n        },\n        completedStage: f(cs),\n        declareAvailable: f(d),\n        onCompletion: f(c),\n        onReady: f(o),\n        strings: {\n        }\n    };\n}());");
+// 916
+geval("function amz_js_PopWin(url, JSBNG__name, options) {\n    var ContextWindow = window.open(url, JSBNG__name, options);\n    ContextWindow.JSBNG__focus();\n    return false;\n};\n;");
+// 917
+geval("function showElement(id) {\n    var elm = JSBNG__document.getElementById(id);\n    if (elm) {\n        elm.style.visibility = \"visible\";\n        if (((elm.getAttribute(\"JSBNG__name\") == \"heroQuickPromoDiv\"))) {\n            elm.style.display = \"block\";\n        }\n    ;\n    ;\n    }\n;\n;\n};\n;\nfunction hideElement(id) {\n    var elm = JSBNG__document.getElementById(id);\n    if (elm) {\n        elm.style.visibility = \"hidden\";\n        if (((elm.getAttribute(\"JSBNG__name\") == \"heroQuickPromoDiv\"))) {\n            elm.style.display = \"none\";\n        }\n    ;\n    ;\n    }\n;\n;\n};\n;\nfunction showHideElement(h_id, div_id) {\n    var hiddenTag = JSBNG__document.getElementById(h_id);\n    if (hiddenTag) {\n        showElement(div_id);\n    }\n     else {\n        hideElement(div_id);\n    }\n;\n;\n};\n;\nwindow.isBowserFeatureCleanup = 1;\nvar touchDeviceDetected = false;\nvar CSMReqs = {\n    af: {\n        c: 2,\n        e: \"amznJQ.AboveTheFold\",\n        p: \"atf\"\n    },\n    cf: {\n        c: 2,\n        e: \"amznJQ.criticalFeature\",\n        p: \"cf\"\n    }\n};\nfunction setCSMReq(a) {\n    a = a.toLowerCase();\n    var b = CSMReqs[a];\n    if (((b && ((--b.c == 0))))) {\n        if (((typeof uet == \"function\"))) {\n            uet(a);\n        }\n    ;\n    ;\n    ;\n        if (b.e) {\n            amznJQ.completedStage(b.e);\n        }\n    ;\n    ;\n    ;\n        if (((typeof P != \"undefined\"))) {\n            P.register(b.p);\n        }\n    ;\n    ;\n    ;\n    }\n;\n;\n};\n;");
+// 918
+geval("var gbEnableTwisterJS = 0;\nvar isTwisterPage = 0;");
+// 919
+geval("if (window.amznJQ) {\n    amznJQ.addLogical(\"csm-base\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/csm-base/csm-base-min-2486485847._V1_.js\",]);\n    amznJQ.available(\"csm-base\", function() {\n    \n    });\n}\n;\n;");
+// 920
+geval("amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n    amznJQ.available(\"navbarJS-jQuery\", function() {\n    \n    });\n    amznJQ.available(\"finderFitsJS\", function() {\n    \n    });\n    amznJQ.available(\"twister\", function() {\n    \n    });\n    amznJQ.available(\"swfjs\", function() {\n    \n    });\n});");
+// 921
+geval("(function(d) {\n    var e = function(d) {\n        function b(f, c, b) {\n            f[b] = function() {\n                a._replay.push(c.concat({\n                    m: b,\n                    a: [].slice.call(arguments)\n                }));\n            };\n        };\n    ;\n        var a = {\n        };\n        a._sourceName = d;\n        a._replay = [];\n        a.getNow = function(a, b) {\n            return b;\n        };\n        a.when = function() {\n            var a = [{\n                m: \"when\",\n                a: [].slice.call(arguments)\n            },], c = {\n            };\n            b(c, a, \"run\");\n            b(c, a, \"declare\");\n            b(c, a, \"publish\");\n            b(c, a, \"build\");\n            return c;\n        };\n        b(a, [], \"declare\");\n        b(a, [], \"build\");\n        b(a, [], \"publish\");\n        b(a, [], \"importEvent\");\n        e._shims.push(a);\n        return a;\n    };\n    e._shims = [];\n    if (!d.$Nav) {\n        d.$Nav = e(\"rcx-nav\");\n    }\n;\n;\n    if (!d.$Nav.make) {\n        d.$Nav.make = e;\n    }\n;\n;\n})(window);\nwindow.$Nav.when(\"exposeSBD.enable\", \"img.horz\", \"img.vert\", \"img.spin\", \"$popover\", \"btf.full\").run(function(d, e, j, b) {\n    function a(a) {\n        switch (typeof a) {\n          case \"boolean\":\n            h = a;\n            i = !0;\n            break;\n          case \"function\":\n            g = a;\n            c++;\n            break;\n          default:\n            c++;\n        };\n    ;\n        ((((i && ((c > 2)))) && g(h)));\n    };\n;\n    function f(a, b) {\n        var c = new JSBNG__Image;\n        if (b) {\n            c.JSBNG__onload = b;\n        }\n    ;\n    ;\n        c.src = a;\n        return c;\n    };\n;\n    var c = 0, g, h, i = !1;\n    f(e, ((d && a)));\n    f(j, ((d && a)));\n    window.$Nav.declare(\"protectExposeSBD\", a);\n    window.$Nav.declare(\"preloadSpinner\", function() {\n        f(b);\n    });\n});\n((window.amznJQ && amznJQ.available(\"navbarJS-beacon\", function() {\n\n})));\nwindow._navbarSpriteUrl = \"http://g-ecx.images-amazon.com/images/G/01/gno/beacon/BeaconSprite-US-01._V397411194_.png\";\n$Nav.importEvent(\"navbarJS-beacon\");\n$Nav.importEvent(\"NavAuiJS\");\n$Nav.declare(\"exposeSBD.enable\", false);\n$Nav.declare(\"img.spin\", \"http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/snake._V192571611_.gif\");\n$Nav.when(\"$\").run(function($) {\n    var ie6 = (($.browser.msie && ((parseInt($.browser.version) <= 6))));\n    $Nav.declare(\"img.horz\", ((ie6 ? \"http://g-ecx.images-amazon.com/images/G/01/gno/beacon/nav-pop-8bit-h._V155961234_.png\" : \"http://g-ecx.images-amazon.com/images/G/01/gno/beacon/nav-pop-h-v2._V137157005_.png\")));\n    $Nav.declare(\"img.vert\", ((ie6 ? \"http://g-ecx.images-amazon.com/images/G/01/gno/beacon/nav-pop-8bit-v._V155961234_.png\" : \"http://g-ecx.images-amazon.com/images/G/01/gno/beacon/nav-pop-v-v2._V137157005_.png\")));\n});");
+// 922
+geval("window.Navbar = function(options) {\n    options = ((options || {\n    }));\n    this._loadedCount = 0;\n    this._hasUedata = ((typeof uet == \"function\"));\n    this._finishLoadQuota = ((options[\"finishLoadQuota\"] || 2));\n    this._startedLoading = false;\n    this._btfFlyoutContents = [];\n    this._saFlyoutHorizOffset = -16;\n    this._saMaskHorizOffset = -17;\n    this._sbd_config = {\n        major_delay: 300,\n        minor_delay: 100,\n        target_slop: 25\n    };\n    ((window.$Nav && $Nav.declare(\"config.sbd\", this._sbd_config)));\n    this.addToBtfFlyoutContents = function(JSBNG__content, callback) {\n        this._btfFlyoutContents.push({\n            JSBNG__content: JSBNG__content,\n            callback: callback\n        });\n    };\n    this.getBtfFlyoutContents = function() {\n        return this._btfFlyoutContents;\n    };\n    this.loading = function() {\n        if (((!this._startedLoading && this._isReportingEvents()))) {\n            uet(\"ns\");\n        }\n    ;\n    ;\n        this._startedLoading = true;\n    };\n    this.componentLoaded = function() {\n        this._loadedCount++;\n        if (((((this._startedLoading && this._isReportingEvents())) && ((this._loadedCount == this._finishLoadQuota))))) {\n            uet(\"ne\");\n        }\n    ;\n    ;\n    };\n    this._isReportingEvents = function() {\n        return this._hasUedata;\n    };\n    this.browsepromos = {\n    };\n    this.issPromos = [];\n    var le = {\n    };\n    this.logEv = function(d, o) {\n    \n    };\n    ((window.$Nav && $Nav.declare(\"logEvent\", this.logEv)));\n};\nwindow._navbar = new Navbar({\n    finishLoadQuota: 1\n});\n_navbar.loading();\n((window.$Nav && $Nav.declare(\"config.lightningDeals\", ((window._navbar._lightningDealsData || {\n})))));\n((window.$Nav && $Nav.declare(\"config.swmStyleData\", ((window._navbar._swmStyleData || {\n})))));\n_navbar._ajaxProximity = [141,7,60,150,];\n((window.$Nav && $Nav.declare(\"config.ajaxProximity\", window._navbar._ajaxProximity)));");
+// 927
+geval("_navbar.dynamicMenuUrl = \"/gp/navigation/ajax/dynamicmenu.html\";\n((window.$Nav && $Nav.declare(\"config.dynamicMenuUrl\", _navbar.dynamicMenuUrl)));\n_navbar.dismissNotificationUrl = \"/gp/navigation/ajax/dismissnotification.html\";\n((window.$Nav && $Nav.declare(\"config.dismissNotificationUrl\", _navbar.dismissNotificationUrl)));\n_navbar.dynamicMenus = true;\n((window.$Nav && $Nav.declare(\"config.enableDynamicMenus\", true)));\n_navbar.recordEvUrl = \"/gp/navigation/ajax/recordevent.html\";\n_navbar.recordEvInterval = 60000;\n_navbar.sid = \"177-2724246-1767538\";\n_navbar.rid = \"0H7NC1MNEB4A52DXKGX7\";\n((window.$Nav && $Nav.declare(\"config.recordEvUrl\", _navbar.recordEvUrl)));\n((window.$Nav && $Nav.declare(\"config.recordEvInterval\", 60000)));\n((window.$Nav && $Nav.declare(\"config.sessionId\", _navbar.sid)));\n((window.$Nav && $Nav.declare(\"config.requestId\", _navbar.rid)));\n_navbar.readyOnATF = false;\n((window.$Nav && $Nav.declare(\"config.readyOnATF\", _navbar.readyOnATF)));\n_navbar.dynamicMenuArgs = {\n    isPrime: 0,\n    primeMenuWidth: 310\n};\n((window.$Nav && $Nav.declare(\"config.dynamicMenuArgs\", ((_navbar.dynamicMenuArgs || {\n})))));\n((window.$Nav && $Nav.declare(\"config.signOutText\", _navbar.signOutText)));\n((window.$Nav && $Nav.declare(\"config.yourAccountPrimeURL\", _navbar.yourAccountPrimer)));\nif (((window.amznJQ && amznJQ.available))) {\n    amznJQ.available(\"jQuery\", function() {\n        if (!jQuery.isArray) {\n            jQuery.isArray = function(o) {\n                return ((Object.prototype.toString.call(o) === \"[object Array]\"));\n            };\n        }\n    ;\n    ;\n    });\n}\n;\n;\nif (((typeof uet == \"function\"))) {\n    uet(\"bb\", \"iss-init-pc\", {\n        wb: 1\n    });\n}\n;\n;\nif (((!window.$SearchJS && window.$Nav))) {\n    window.$SearchJS = $Nav.make();\n}\n;\n;\nif (window.$SearchJS) {\n    var iss, issHost = \"completion.amazon.com/search/complete\", issMktid = \"1\", issSearchAliases = [\"aps\",\"stripbooks\",\"popular\",\"apparel\",\"electronics\",\"sporting\",\"garden\",\"videogames\",\"toys-and-games\",\"jewelry\",\"digital-text\",\"digital-music\",\"watches\",\"grocery\",\"hpc\",\"instant-video\",\"baby-products\",\"office-products\",\"software\",\"magazines\",\"tools\",\"automotive\",\"misc\",\"industrial\",\"mi\",\"pet-supplies\",\"digital-music-track\",\"digital-music-album\",\"mobile\",\"mobile-apps\",\"movies-tv\",\"music-artist\",\"music-album\",\"music-song\",\"stripbooks-spanish\",\"electronics-accessories\",\"photo\",\"audio-video\",\"computers\",\"furniture\",\"kitchen\",\"audiobooks\",\"beauty\",\"shoes\",\"arts-crafts\",\"appliances\",\"gift-cards\",\"pets\",\"outdoor\",\"lawngarden\",\"collectibles\",\"financial\",\"wine\",], updateISSCompletion = function() {\n        iss.updateAutoCompletion();\n    };\n    $SearchJS.importEvent(\"search-js-autocomplete-lib\");\n    $SearchJS.when(\"search-js-autocomplete-lib\").run(function() {\n        $SearchJS.importEvent(\"search-csl\");\n        $SearchJS.when(\"search-csl\").run(function(searchCSL) {\n            if (!searchCSL) {\n                searchCSL = jQuery.searchCSL;\n            }\n        ;\n        ;\n            searchCSL.init(\"Detail\", \"0H7NC1MNEB4A52DXKGX7\");\n            var ctw = [function() {\n                var searchSelect = jQuery(\"select.searchSelect\"), nodeRegEx = new RegExp(/node=\\d+/i);\n                return function() {\n                    var currDropdownSel = searchSelect.children();\n                    return ((((currDropdownSel.attr(\"data-root-alias\") || nodeRegEx.test(currDropdownSel.attr(\"value\")))) ? \"16458\" : undefined));\n                };\n            }(),];\n            iss = new AutoComplete({\n                src: issHost,\n                mkt: issMktid,\n                aliases: issSearchAliases,\n                fb: 1,\n                dd: \"select.searchSelect\",\n                dupElim: 0,\n                deptText: \"in {department}\",\n                sugText: \"Search suggestions\",\n                sc: 1,\n                ime: 0,\n                imeEnh: 0,\n                imeSpacing: 0,\n                isNavInline: 1,\n                iac: 0,\n                scs: 0,\n                np: 4,\n                deepNodeISS: {\n                    searchAliasAccessor: function() {\n                        return ((((window.SearchPageAccess && window.SearchPageAccess.searchAlias())) || jQuery(\"select.searchSelect\").children().attr(\"data-root-alias\")));\n                    },\n                    showDeepNodeCorr: 1,\n                    stayInDeepNode: 0\n                },\n                doCTW: function(e) {\n                    for (var i = 0; ((i < ctw.length)); i++) {\n                        searchCSL.addWlt(((ctw[i].call ? ctw[i](e) : ctw[i])));\n                    };\n                ;\n                }\n            });\n            $SearchJS.publish(\"search-js-autocomplete\", iss);\n            if (((((typeof uet == \"function\")) && ((typeof uex == \"function\"))))) {\n                uet(\"be\", \"iss-init-pc\", {\n                    wb: 1\n                });\n                uex(\"ld\", \"iss-init-pc\", {\n                    wb: 1\n                });\n            }\n        ;\n        ;\n        });\n    });\n}\n;\n;\n((window.amznJQ && amznJQ.declareAvailable(\"navbarInline\")));\n((window.$Nav && $Nav.declare(\"nav.inline\")));\n((window.amznJQ && amznJQ.available(\"jQuery\", function() {\n    amznJQ.available(\"navbarJS-beacon\", function() {\n    \n    });\n})));\n_navbar._endSpriteImage = new JSBNG__Image();\n_navbar._endSpriteImage.JSBNG__onload = ((window.top.JSBNG_Replay.push)((window.top.JSBNG_Replay.s23fdf1998fb4cb0dea31f7ff9caa5c49cd23230d_11), function() {\n    _navbar.componentLoaded();\n}));\n_navbar._endSpriteImage.src = window._navbarSpriteUrl;\n((window.$Nav && $Nav.declare(\"config.autoFocus\", false)));\n((window.$Nav && $Nav.declare(\"config.responsiveGW\", !!window._navbar.responsivegw)));\n((window.$Nav && $Nav.when(\"$\", \"flyout.JSBNG__content\").run(function(jQuery) {\n    jQuery(\"#nav_amabotandroid\").parent().html(\"Get CSG-Crazy Ball\\ufffdfree today\");\n})));\n_navbar.browsepromos[\"android\"] = {\n    destination: \"/gp/product/ref=nav_sap_mas_13_07_10?ie=UTF8&ASIN=B00AVFO41K\",\n    productTitle2: \"(List Price: $0.99)\",\n    button: \"Learn more\",\n    price: \"FREE\",\n    productTitle: \"CSG-Crazy Ball - Power Match5\",\n    headline: \"Free App of the Day\",\n    image: \"http://ecx.images-amazon.com/images/I/71ws-s180zL._SS100_.png\"\n};\n_navbar.browsepromos[\"audible\"] = {\n    width: 479,\n    promoType: \"wide\",\n    vertOffset: \"0\",\n    horizOffset: \"-19\",\n    height: 470,\n    image: \"http://g-ecx.images-amazon.com/images/G/01/Audible/en_US/images/creative/amazon/beacon/ADBLECRE_2309_Beacon_Headphones_mystery_thehit._V382182717_.png\"\n};\n_navbar.browsepromos[\"automotive-industrial\"] = {\n    width: 479,\n    promoType: \"wide\",\n    vertOffset: \"0\",\n    horizOffset: \"0\",\n    height: 472,\n    image: \"http://g-ecx.images-amazon.com/images/G/01/BISS/stores/homepage/flyouts/julyGNO._V381261427_.png\"\n};\n_navbar.browsepromos[\"books\"] = {\n    width: 495,\n    promoType: \"wide\",\n    vertOffset: \"0\",\n    horizOffset: \"0\",\n    height: 472,\n    image: \"http://g-ecx.images-amazon.com/images/G/01/img13/books/flyout/books_botysf_flyout_kids-2._V380040471_.png\"\n};\n_navbar.browsepromos[\"clothing-shoes-jewelry\"] = {\n    width: 460,\n    promoType: \"wide\",\n    vertOffset: \"0\",\n    horizOffset: \"-20\",\n    height: 472,\n    image: \"http://g-ecx.images-amazon.com/images/G/01/AMAZON_FASHION/2013/GATEWAY/BTS1/FLYOUTS/FO_watch._V381438784_.png\"\n};\n_navbar.browsepromos[\"cloud-drive\"] = {\n    width: 480,\n    promoType: \"wide\",\n    vertOffset: \"0\",\n    horizOffset: \"0\",\n    height: 472,\n    image: \"http://g-ecx.images-amazon.com/images/G/01/digital/adrive/images/gno/iOs_GNO1._V385462964_.jpg\"\n};\n_navbar.browsepromos[\"digital-games-software\"] = {\n    width: 518,\n    promoType: \"wide\",\n    vertOffset: \"0\",\n    horizOffset: \"-19\",\n    height: 472,\n    image: \"http://g-ecx.images-amazon.com/images/G/01/img13/digital-video-games/flyout/0610-dvg-civ-flyout-b._V382016459_.png\"\n};\n_navbar.browsepromos[\"electronics-computers\"] = {\n    width: 498,\n    promoType: \"wide\",\n    vertOffset: \"0\",\n    horizOffset: \"0\",\n    height: 228,\n    image: \"http://g-ecx.images-amazon.com/images/G/01/img13/camera-photo/flyout/7-1_-confidential-canon_GNO._V379604226_.png\"\n};\n_navbar.browsepromos[\"grocery-health-beauty\"] = {\n    width: 496,\n    promoType: \"wide\",\n    vertOffset: \"0\",\n    horizOffset: \"0\",\n    height: 471,\n    image: \"http://g-ecx.images-amazon.com/images/G/01/img13/wine/flyout/0702_wine_international_flyout.v2._V379935612_.png\"\n};\n_navbar.browsepromos[\"home-garden-tools\"] = {\n    width: 485,\n    promoType: \"wide\",\n    vertOffset: \"0\",\n    horizOffset: \"0\",\n    height: 270,\n    image: \"http://g-ecx.images-amazon.com/images/G/01/img13/home/flyout/6-20_home-craft_flyout._V380709162_.png\"\n};\n_navbar.browsepromos[\"instant-video\"] = {\n    width: 500,\n    promoType: \"wide\",\n    vertOffset: \"-10\",\n    horizOffset: \"-20\",\n    height: 495,\n    image: \"http://g-ecx.images-amazon.com/images/G/01/digital/video/merch/UnderTheDome/AIV_GNO-Flyout_UTDPostLaunchV2._V381606810_.png\"\n};\n_navbar.browsepromos[\"kindle\"] = {\n    width: 440,\n    promoType: \"wide\",\n    vertOffset: \"-35\",\n    horizOffset: \"28\",\n    height: 151,\n    image: \"http://g-ecx.images-amazon.com/images/G/01/gno/beacon/merch/browse/gno-family-440x151._V389693769_.png\"\n};\n_navbar.browsepromos[\"movies-music-games\"] = {\n    width: 524,\n    promoType: \"wide\",\n    vertOffset: \"-25\",\n    horizOffset: \"-21\",\n    height: 493,\n    image: \"http://g-ecx.images-amazon.com/images/G/01/img13/movies-tv/flyout/0628b-bsf-movie-n-music-flyout._V380036698_.png\"\n};\n_navbar.browsepromos[\"mp3\"] = {\n    width: 520,\n    promoType: \"wide\",\n    vertOffset: \"-20\",\n    horizOffset: \"-21\",\n    height: 492,\n    image: \"http://g-ecx.images-amazon.com/images/G/01/digital/music/mp3/flyout/JayZ_Flyout_1._V380151426_.png\"\n};\n_navbar.browsepromos[\"sports-outdoors\"] = {\n    width: 500,\n    promoType: \"wide\",\n    vertOffset: \"0\",\n    horizOffset: \"-20\",\n    height: 487,\n    image: \"http://g-ecx.images-amazon.com/images/G/01/img13/sports-outdoors/flyout/sgfitness._V382533691_.png\"\n};\n_navbar.browsepromos[\"toys-kids-baby\"] = {\n    width: 479,\n    promoType: \"wide\",\n    vertOffset: \"0\",\n    horizOffset: \"0\",\n    height: 395,\n    image: \"http://g-ecx.images-amazon.com/images/G/01/img13/babyregistry/2013sweepstakes/flyout/baby_2013sweeps_flyout._V381448744_.jpg\"\n};\n((window.$Nav && $Nav.declare(\"config.browsePromos\", window._navbar.browsepromos)));\n((window.amznJQ && amznJQ.declareAvailable(\"navbarPromosContent\")));");
+// 936
+geval("(function() {\n    var availableWidth = ((((window.JSBNG__innerWidth || JSBNG__document.body.offsetWidth)) - 1));\n;\n    var widths = [1280,];\n    var imageHashMain = [\"http://ecx.images-amazon.com/images/I/51gdVAEfPUL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg\",\"http://ecx.images-amazon.com/images/I/51gdVAEfPUL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg\",];\n    var imageObj = new JSBNG__Image();\n    var sz = 0;\n    for (; ((((sz < widths.length)) && ((availableWidth >= widths[sz])))); sz++) {\n    ;\n    };\n;\n    imageObj.src = imageHashMain[sz];\n})();");
+// 941
+geval("{\n    function eb5b0288fed53e19b78c01671c79d54cc37dfd3b4(JSBNG__event) {\n    ;\n        if (((typeof measureATFDiff == \"function\"))) {\n            measureATFDiff(new JSBNG__Date().getTime(), 0);\n        }\n    ;\n    ;\n    ;\n        if (((typeof setCSMReq == \"function\"))) {\n            setCSMReq(\"af\");\n            setCSMReq(\"cf\");\n        }\n         else if (((typeof uet == \"function\"))) {\n            uet(\"af\");\n            uet(\"cf\");\n            amznJQ.completedStage(\"amznJQ.AboveTheFold\");\n        }\n        \n    ;\n    ;\n    };\n    ((window.top.JSBNG_Replay.s27f27cc0a8f393a5b2b9cfab146b0487a0fed46c_0.push)((eb5b0288fed53e19b78c01671c79d54cc37dfd3b4)));\n};\n;");
+// 942
+geval("function e1b0b12fdb1fc60d25216fb2a57f235684e7754b6(JSBNG__event) {\n    return false;\n};\n;");
+// 943
+geval("var colorImages = {\n    initial: [{\n        large: \"http://ecx.images-amazon.com/images/I/51gdVAEfPUL.jpg\",\n        landing: [\"http://ecx.images-amazon.com/images/I/51gdVAEfPUL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg\",],\n        hiRes: \"http://ecx.images-amazon.com/images/I/814biaGJWaL._SL1500_.jpg\",\n        thumb: \"http://ecx.images-amazon.com/images/I/51gdVAEfPUL._SS30_.jpg\",\n        main: [\"http://ecx.images-amazon.com/images/I/51gdVAEfPUL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg\",\"http://ecx.images-amazon.com/images/I/51gdVAEfPUL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg\",]\n    },]\n};\n(function(doc) {\n    var mi = doc.getElementById(\"main-image\");\n    var w = ((window.JSBNG__innerWidth || doc.body.offsetWidth));\n    w--;\n    var widths = [1280,];\n    var sz = 0;\n    for (; ((((sz < 1)) && ((w >= widths[sz])))); sz++) {\n    ;\n    };\n;\n    if (((sz || 1))) {\n        var miw = doc.getElementById(\"main-image-widget\");\n        miw.className = miw.className.replace(/size[0-9]+/, ((\"size\" + sz)));\n        if (((sz && 1))) {\n            mi.width = 300;\n            mi.height = 300;\n        }\n         else if (((!sz && 1))) {\n            mi.width = 300;\n            mi.height = 300;\n        }\n        \n    ;\n    ;\n        amznJQ.onCompletion(\"amznJQ.AboveTheFold\", function() {\n            var src = colorImages.initial[0].main[sz];\n            var img = new JSBNG__Image();\n            img.JSBNG__onload = function() {\n                var clone = mi.cloneNode(true);\n                clone.src = src;\n                clone.removeAttribute(\"width\");\n                clone.removeAttribute(\"height\");\n                clone.removeAttribute(\"JSBNG__onload\");\n                mi.parentNode.replaceChild(clone, mi);\n                mi = clone;\n                amznJQ.declareAvailable(\"ImageBlockATF\");\n            };\n            img.src = src;\n        });\n    }\n     else {\n        amznJQ.declareAvailable(\"ImageBlockATF\");\n    }\n;\n;\n    mi.style.display = \"inline\";\n})(JSBNG__document);");
+// 959
+geval("function e27971e3cd30981ac73b4f7a29f45a807ff5ee736(JSBNG__event) {\n    if (((typeof (SitbReader) != \"undefined\"))) {\n        SitbReader.LightboxActions.openReader(\"sib_dp_ptu\");\n        return false;\n    }\n;\n;\n};\n;");
+// 960
+geval("var legacyOnSelectedQuantityChange = function() {\n    if (((jQuery(\"#pricePlusShippingQty\").length > 0))) {\n        jQuery.ajax({\n            url: \"/gp/product/du/quantity-sip-update.html\",\n            data: {\n                qt: jQuery(\"#quantityDropdownDiv select\").val(),\n                a: jQuery(\"#ASIN\").val(),\n                me: jQuery(\"#merchantID\").val()\n            },\n            dataType: \"html\",\n            success: function(sipHtml) {\n                jQuery(\"#pricePlusShippingQty\").html(sipHtml);\n            }\n        });\n    }\n;\n;\n};\namznJQ.onReady(\"jQuery\", function() {\n    jQuery(\"#quantityDropdownDiv select\").change(legacyOnSelectedQuantityChange);\n    amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n        amznJQ.available(\"quantityDropDownJS\", function() {\n            var qdd = new jQuery.fn.quantityDropDown();\n            qdd.setPopoverContent(\"\\u003Cstrong\\u003EWe're sorry.  This item is limited to %d per customer.\\u003C/strong\\u003E\", \"\\u003Cbr /\\u003E\\u003Cbr /\\u003EWe strive to provide customers with great prices, and sometimes that means we limit quantity to ensure that the majority of customers have an opportunity to order products that have very low prices or a limited supply.\\u003Cbr /\\u003E\\u003Cbr /\\u003EWe may also adjust quantity in checkout if you have recently purchased this item.\");\n        });\n    });\n});");
+// 961
+geval("amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n    amznJQ.available(\"bbopCheckBoxJS\", function() {\n        var bbopJS = new jQuery.fn.bbopCheckBox();\n        bbopJS.initialize(1, 0, \"To get FREE Two-Day Shipping on this item, proceed to checkout using &quot;Add to Cart&quot;\");\n    });\n});");
+// 962
+geval("var gbSecure1Click = true;\nif (((((typeof (gbSecure1Click) != \"undefined\")) && gbSecure1Click))) {\n    amznJQ.onReady(\"jQuery\", function() {\n        jQuery(\"#oneClickBuyButton\").click(function() {\n            var hbbAction = jQuery(\"#handleBuy\").attr(\"action\").replace(\"http:\", \"https:\");\n            jQuery(\"#handleBuy\").attr(\"action\", hbbAction);\n            return true;\n        });\n    });\n}\n;\n;");
+// 963
+geval("if (window.gbvar) {\n    amznJQ.onReady(\"jQuery\", function() {\n        jQuery(\"#oneClickSignInLinkID\").attr(\"href\", window.gbvar);\n    });\n}\n else {\n    window.gbvar = \"http://jsbngssl.www.amazon.com/gp/product/utility/edit-one-click-pref.html?ie=UTF8&query=selectObb%3Dnew&returnPath=%2Fgp%2Fproduct%2F0596517742\";\n}\n;\n;");
+// 964
+geval("if (window.gbvar) {\n    amznJQ.onReady(\"jQuery\", function() {\n        jQuery(\"#oneClickSignInLinkID\").attr(\"href\", window.gbvar);\n    });\n}\n else {\n    window.gbvar = \"http://jsbngssl.www.amazon.com/gp/product/utility/edit-one-click-pref.html?ie=UTF8&query=selectObb%3Dnew&returnPath=%2Fgp%2Fproduct%2F0596517742\";\n}\n;\n;");
+// 965
+geval("amznJQ.onReady(\"jQuery\", function() {\n    if (((((((typeof dpLdWidget !== \"undefined\")) && ((typeof dpLdWidget.deal !== \"undefined\")))) && ((typeof dpLdWidget.deal.asins !== \"undefined\"))))) {\n        var dealPriceText;\n        if (((((((typeof Deal !== \"undefined\")) && ((typeof Deal.Price !== \"undefined\")))) && ((typeof dpLdWidget.deal.asins[0] !== \"undefined\"))))) {\n            var dp = dpLdWidget.deal.asins[0].dealPrice;\n            if (((dp.price > 396))) {\n                dealPriceText = Deal.Price.format(dp);\n                jQuery(\"#rbb_bb_trigger .bb_price, #rentalPriceBlockGrid .buyNewOffers .rentPrice\").html(dealPriceText);\n            }\n        ;\n        ;\n        }\n    ;\n    ;\n    }\n;\n;\n    jQuery(\"#rbbContainer .rbb_section .rbb_header\").click(function(e) {\n        var target = jQuery(e.target);\n        if (!target.hasClass(\"rbb_header\")) {\n            target.parents(\".rbbHeaderLink\").attr(\"href\", \"javascript:void(0);\");\n        }\n    ;\n    ;\n        var t = jQuery(this);\n        var header = ((t.hasClass(\"rbb_header\") ? t : t.parents(\".rbb_header\")));\n        if (header.parents(\".rbb_section\").hasClass(\"selected\")) {\n            return false;\n        }\n    ;\n    ;\n        jQuery(\"#radiobuyboxDivId .bb_radio\").attr(\"checked\", false);\n        header.JSBNG__find(\".bb_radio\").attr(\"checked\", \"checked\");\n        header.parents(\".rbb_section\").removeClass(\"unselected\").addClass(\"selected\");\n        jQuery(\"#radiobuyboxDivId .abbListInput\").attr(\"checked\", false);\n        var bbClicked = jQuery(this).attr(\"id\");\n        var slideMeDown, slideMeUp;\n        jQuery(\"#radiobuyboxDivId .rbb_section\").each(function(i, bb) {\n            if (((jQuery(bb).JSBNG__find(\".rbb_header\")[0].id == bbClicked))) {\n                slideMeDown = jQuery(bb);\n            }\n             else if (jQuery(bb).hasClass(\"selected\")) {\n                slideMeUp = jQuery(bb);\n            }\n            \n        ;\n        ;\n        });\n        slideMeUp.JSBNG__find(\".rbb_content\").slideUp(500, function() {\n            slideMeUp.removeClass(\"selected\").addClass(\"unselected\");\n        });\n        slideMeDown.JSBNG__find(\".rbb_content\").slideDown(500);\n        JSBNG__location.hash = ((\"#selectedObb=\" + header.attr(\"id\")));\n        return true;\n    });\n    var locationHash = JSBNG__location.hash;\n    if (((locationHash.length != 0))) {\n        var selectObb = locationHash.substring(1).split(\"=\")[1];\n        if (((typeof (selectObb) != \"undefined\"))) {\n            var target = jQuery(((\"#\" + selectObb)));\n            if (((target.length != 0))) {\n                target.trigger(\"click\");\n            }\n        ;\n        ;\n        }\n    ;\n    ;\n    }\n;\n;\n});");
+// 966
+geval("function e40e2390f309411d63c2525776d94fb018097f85d(JSBNG__event) {\n    return false;\n};\n;");
+// 967
+geval("if (((typeof window.amznJQ != \"undefined\"))) {\n    amznJQ.onReady(\"popover\", function() {\n        jQuery(\"#tradeinBuyboxLearnMore\").amazonPopoverTrigger({\n            closeText: \"Close\",\n            width: 580,\n            group: \"tradein\",\n            destination: \"/gp/tradein/popovers/ajax-popover.html?ie=UTF8&name=howToTradeIn\",\n            title: \"How to Trade In\"\n        });\n    });\n}\n;\n;");
+// 968
+geval("function ef0bc3f377e3062d28aea1830ace34858ce86ac6f(JSBNG__event) {\n    window.open(this.href, \"_blank\", \"location=yes,width=700,height=400\");\n    return false;\n};\n;");
+// 969
+geval("function e5bb5de6867a5183a9c9c1ae1653a4ce8f4690a3e(JSBNG__event) {\n    window.open(this.href, \"_blank\", \"location=yes,width=700,height=400\");\n    return false;\n};\n;");
+// 970
+geval("function ed3072d3211730d66e3218a94559112058c7c5fc3(JSBNG__event) {\n    window.open(this.href, \"_blank\", \"location=yes,width=700,height=570\");\n    return false;\n};\n;");
+// 971
+geval("if (((typeof window.amznJQ != \"undefined\"))) {\n    amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n        amznJQ.available(\"share-with-friends-js-new\", function() {\n            var popoverParams = {\n                url: \"/gp/pdp/taf/dpPop.html/ref=cm_sw_p_view_dp_zsA3rb07CME45?ie=UTF8&contentID=0596517742&contentName=item&contentType=asin&contentURI=%2Fdp%2F0596517742&emailCaptionStrID=&emailCustomMsgStrID=&emailDescStrID=&emailSubjectStrID=&emailTemplate=%2Fgp%2Fpdp%2Fcommon%2Femail%2Fshare-product&forceSprites=1&id=0596517742&imageURL=&isDynamicSWF=0&isEmail=0&learnMoreButton=&merchantID=&parentASIN=0596517742&placementID=dp_zsA3rb07CME45&ra=taf&referer=http%253A%252F%252Fwww.amazon.com%252Fgp%252Fproduct%252F0596517742%252Fref%253D&relatedAccounts=amazondeals%2Camazonmp3&suppressPurchaseReqLogin=&titleText=&tt=sh&viaAccount=amazon\",\n                title: \"Share this item via Email\",\n                closeText: \"Close\",\n                isCompact: false\n            };\n            amz_taf_triggers.swftext = popoverParams;\n            amz_taf_generatePopover(\"swftext\", false);\n        });\n    });\n}\n;\n;");
+// 972
+geval("amznJQ.onReady(\"bylinePopover\", function() {\n\n});");
+// 973
+geval("function acrPopoverHover(e, h) {\n    if (h) {\n        window.acrAsinHover = e;\n    }\n     else {\n        if (((window.acrAsinHover == e))) {\n            window.acrAsinHover = null;\n        }\n    ;\n    }\n;\n;\n};\n;\namznJQ.onReady(\"popover\", function() {\n    (function($) {\n        if ($.fn.acrPopover) {\n            return;\n        }\n    ;\n    ;\n        var popoverConfig = {\n            showOnHover: true,\n            showCloseButton: true,\n            width: null,\n            JSBNG__location: \"bottom\",\n            locationAlign: \"left\",\n            locationOffset: [-20,0,],\n            paddingLeft: 15,\n            paddingBottom: 5,\n            paddingRight: 15,\n            group: \"reviewsPopover\",\n            clone: false,\n            hoverHideDelay: 300\n        };\n        $.fn.acrPopover = function() {\n            return this.each(function() {\n                var $this = $(this);\n                if (!$this.data(\"init\")) {\n                    $this.data(\"init\", 1);\n                    var getargs = $this.attr(\"getargs\");\n                    var ajaxURL = ((((((((((((((\"/gp/customer-reviews/common/du/displayHistoPopAjax.html?\" + \"&ASIN=\")) + $this.attr(\"JSBNG__name\"))) + \"&link=1\")) + \"&seeall=1\")) + \"&ref=\")) + $this.attr(\"ref\"))) + ((((typeof getargs != \"undefined\")) ? ((\"&getargs=\" + getargs)) : \"\"))));\n                    var myConfig = $.extend(true, {\n                        destination: ajaxURL\n                    }, popoverConfig);\n                    $this.amazonPopoverTrigger(myConfig);\n                    var w = window.acrAsinHover;\n                    if (((w && (($(w).parents(\".asinReviewsSummary\").get(0) == this))))) {\n                        $this.trigger(\"mouseover.amzPopover\");\n                        window.acrAsinHover = null;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n            });\n        };\n        window.reviewHistPopoverConfig = popoverConfig;\n        var jqInit = window.jQueryInitHistoPopovers = function(asin) {\n            $(((((\".acr-popover[name=\" + asin)) + \"]\"))).acrPopover();\n        };\n        window.doInit_average_customer_reviews = jqInit;\n        window.onAjaxUpdate_average_customer_reviews = jqInit;\n        window.onCacheUpdate_average_customer_reviews = jqInit;\n        window.onCacheUpdateReselect_average_customer_reviews = jqInit;\n        amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n            JSBNG__setTimeout(function() {\n                amznJQ.declareAvailable(\"acrPopover\");\n            }, 10);\n        });\n    })(jQuery);\n});\namznJQ.onReady(\"acrPopover\", function() {\n    jQuery(\".acr-popover,#searchTemplate .asinReviewsSummary\").each(function() {\n        jQuery(this).acrPopover();\n    });\n});");
+// 974
+geval("function e309f5704ece5ede498eae0765fc393089a6f15b8(JSBNG__event) {\n    return acrPopoverHover(this, 1);\n};\n;");
+// 975
+geval("function e862d63609207995e41de44e35ff14438231ac3f8(JSBNG__event) {\n    return acrPopoverHover(this, 0);\n};\n;");
+// 976
+geval("function e11c2cb1228b6dff9a9c26fb3c364431f848f7d47(JSBNG__event) {\n    return acrPopoverHover(this, 1);\n};\n;");
+// 977
+geval("function ee8a3b466a70108a3c86e2ea062737613424a1731(JSBNG__event) {\n    return acrPopoverHover(this, 0);\n};\n;");
+// 978
+geval("function ec9c5454880b85f6a43d3989ede361337cd78b89a(JSBNG__event) {\n    return amz_js_PopWin(\"/gp/help/customer/display.html/ref=mk_sss_dp_1?ie=UTF8&nodeId=527692&pop-up=1\", \"AmazonHelp\", \"width=550,height=550,resizable=1,scrollbars=1,toolbar=0,status=0\");\n};\n;");
+// 979
+geval("amznJQ.declareAvailable(\"gbPriceBlockFields\");");
+// 980
+geval("var ftCountdownElementIDs = new Array();\nvar ftEntireMessageElementIDs = new Array();\nvar FT_CurrentDisplayMin = new Array();\nvar clientServerTimeDrift;\nvar firstTimeUpdate = false;\nfunction ftRegisterCountdownElementID(elementID) {\n    ftCountdownElementIDs[ftCountdownElementIDs.length] = elementID;\n};\n;\nfunction ftRegisterEntireMessageElementID(elementID) {\n    ftEntireMessageElementIDs[ftEntireMessageElementIDs.length] = elementID;\n};\n;\nfunction getTimeRemainingString(hours, minutes) {\n    var hourString = ((((hours == 1)) ? \"hr\" : \"hrs\"));\n    var minuteString = ((((minutes == 1)) ? \"min\" : \"mins\"));\n    if (((hours == 0))) {\n        return ((((minutes + \" \")) + minuteString));\n    }\n;\n;\n    if (((minutes == 0))) {\n        return ((((hours + \" \")) + hourString));\n    }\n;\n;\n    return ((((((((((((hours + \" \")) + hourString)) + \" \")) + minutes)) + \" \")) + minuteString));\n    return ((((((((((((hours + \" \")) + hourString)) + \"  \")) + minutes)) + \" \")) + minuteString));\n};\n;\nfunction FT_displayCountdown(forceUpdate) {\n    if (((((!JSBNG__document.layers && !JSBNG__document.all)) && !JSBNG__document.getElementById))) {\n        return;\n    }\n;\n;\n    FT_showHtmlElement(\"ftShipString\", true, \"inline\");\n    var FT_remainSeconds = ((FT_givenSeconds - FT_actualSeconds));\n    if (((FT_remainSeconds < 1))) {\n        FT_showEntireMessageElement(false);\n    }\n;\n;\n    var FT_secondsPerDay = ((((24 * 60)) * 60));\n    var FT_daysLong = ((FT_remainSeconds / FT_secondsPerDay));\n    var FT_days = Math.floor(FT_daysLong);\n    var FT_hoursLong = ((((FT_daysLong - FT_days)) * 24));\n    var FT_hours = Math.floor(FT_hoursLong);\n    var FT_minsLong = ((((FT_hoursLong - FT_hours)) * 60));\n    var FT_mins = Math.floor(FT_minsLong);\n    var FT_secsLong = ((((FT_minsLong - FT_mins)) * 60));\n    var FT_secs = Math.floor(FT_secsLong);\n    if (((FT_days > 0))) {\n        FT_hours = ((((FT_days * 24)) + FT_hours));\n    }\n;\n;\n    window.JSBNG__setTimeout(\"FT_getTime()\", 1000);\n    var ftCountdown = getTimeRemainingString(FT_hours, FT_mins);\n    for (var i = 0; ((i < ftCountdownElementIDs.length)); i++) {\n        var countdownElement = JSBNG__document.getElementById(ftCountdownElementIDs[i]);\n        if (countdownElement) {\n            if (((((((((FT_CurrentDisplayMin[i] != FT_mins)) || forceUpdate)) || ((countdownElement.innerHTML == \"\")))) || firstTimeUpdate))) {\n                countdownElement.innerHTML = ftCountdown;\n                FT_CurrentDisplayMin[i] = FT_mins;\n                firstTimeUpdate = false;\n            }\n        ;\n        ;\n        }\n    ;\n    ;\n    };\n;\n};\n;\nfunction FT_showEntireMessageElement(shouldShow) {\n    for (var i = 0; ((i < ftEntireMessageElementIDs.length)); i++) {\n        FT_showHtmlElement(ftEntireMessageElementIDs[i], shouldShow);\n    };\n;\n};\n;\nfunction FT_showHtmlElement(elementID, shouldShow, displayStyle) {\n    var element = JSBNG__document.getElementById(elementID);\n    if (element) {\n        if (shouldShow) {\n            element.style.display = ((((displayStyle != null)) ? displayStyle : \"\"));\n        }\n         else {\n            element.style.display = \"none\";\n        }\n    ;\n    ;\n    }\n;\n;\n};\n;\nfunction FT_getAndClearCutOffEpochSeconds() {\n    var ftCutOffEpochSecondsElementID = \"ftCutOffEpochSeconds\";\n    var ftServerCurrentEpochSecondsElementID = \"ftServerCurrentEpochSeconds\";\n    if (((((JSBNG__document.layers || JSBNG__document.all)) || JSBNG__document.getElementById))) {\n        if (JSBNG__document.getElementById(ftCutOffEpochSecondsElementID)) {\n            var cutOffEpochSeconds = JSBNG__document.getElementById(ftCutOffEpochSecondsElementID).innerHTML;\n            if (((cutOffEpochSeconds != \"\"))) {\n                JSBNG__document.getElementById(ftCutOffEpochSecondsElementID).innerHTML = \"\";\n                if (((((clientServerTimeDrift == null)) && JSBNG__document.getElementById(ftServerCurrentEpochSecondsElementID)))) {\n                    var serverCurrentEpochSeconds = ((JSBNG__document.getElementById(ftServerCurrentEpochSecondsElementID).innerHTML * 1));\n                    clientServerTimeDrift = ((((new JSBNG__Date().getTime() / 1000)) - serverCurrentEpochSeconds));\n                }\n            ;\n            ;\n                return ((((((clientServerTimeDrift == null)) ? 0 : clientServerTimeDrift)) + ((cutOffEpochSeconds * 1))));\n            }\n        ;\n        ;\n        }\n    ;\n    ;\n    }\n;\n;\n    return 0;\n};\n;\nfunction FT_getCountdown(secondsLeft) {\n    var FT_currentTime = new JSBNG__Date();\n    var FT_currentHours = FT_currentTime.getHours();\n    var FT_currentMins = FT_currentTime.getMinutes();\n    var FT_currentSecs = FT_currentTime.getSeconds();\n    FT_givenSeconds = ((((((FT_currentHours * 3600)) + ((FT_currentMins * 60)))) + FT_currentSecs));\n    var FT_secondsFromCat = 17111;\n    if (((secondsLeft != null))) {\n        FT_secondsFromCat = secondsLeft;\n    }\n;\n;\n    FT_givenSeconds += FT_secondsFromCat;\n    FT_getTime();\n};\n;\n{\n    function FT_getTime() {\n        var FT_newCurrentTime = new JSBNG__Date();\n        var FT_actualHours = FT_newCurrentTime.getHours();\n        var FT_actualMins = FT_newCurrentTime.getMinutes();\n        var FT_actualSecs = FT_newCurrentTime.getSeconds();\n        FT_actualSeconds = ((((((FT_actualHours * 3600)) + ((FT_actualMins * 60)))) + FT_actualSecs));\n        var cutOffTimeFromPageElement = FT_getAndClearCutOffEpochSeconds();\n        if (cutOffTimeFromPageElement) {\n            var countDownSeconds = ((cutOffTimeFromPageElement - ((FT_newCurrentTime.getTime() / 1000))));\n            if (((countDownSeconds >= 1))) {\n                FT_showEntireMessageElement(true);\n            }\n        ;\n        ;\n            FT_givenSeconds = ((countDownSeconds + FT_actualSeconds));\n        }\n    ;\n    ;\n        FT_displayCountdown();\n    };\n    ((window.top.JSBNG_Replay.sfbdb2900fa18bccd81cab55c766ea737c1109ca0_8.push)((FT_getTime)));\n};\n;\nfunction onAjaxUpdate_fast_track(asin) {\n    var timerDiv = JSBNG__document.getElementById(\"ftMessageTimer\");\n    var cutOffElems = JSBNG__document.getElementsByName(((\"promise-cutoff-time.\" + asin)));\n    if (((((cutOffElems == null)) || ((cutOffElems.length == 0))))) {\n        return;\n    }\n;\n;\n    if (((timerDiv && timerDiv.style))) {\n        timerDiv.style.display = \"inline\";\n    }\n;\n;\n    var cutOffTimeVal = cutOffElems[0].value;\n    var cutOffTime = parseInt(cutOffTimeVal);\n    var currSecs = ((new JSBNG__Date().getTime() / 1000));\n    var secsLeft = ((cutOffTime - currSecs));\n    FT_getCountdown(secsLeft);\n};\n;\nFT_getCountdown();");
+// 1011
+geval("ftRegisterCountdownElementID(\"ftCountdown\");\nftRegisterEntireMessageElementID(\"ftMessage\");");
+// 1012
+geval("function e8240ace95e3e898320cc7b14b73b46573dfc7dc6(JSBNG__event) {\n    return amz_js_PopWin(\"/gp/help/customer/display.html/ref=ftinfo_dp_?ie=UTF8&nodeId=3510241&pop-up=1\", \"AmazonHelp\", \"width=550,height=600,resizable=1,scrollbars=1,toolbar=1,status=1\");\n};\n;");
+// 1013
+geval("var timerDiv = JSBNG__document.getElementById(\"ftMessageTimer\");\nif (((timerDiv && timerDiv.style))) {\n    timerDiv.style.display = \"inline\";\n}\n;\n;");
+// 1021
+geval("if (((typeof measureATFDiff == \"function\"))) {\n    measureATFDiff(0, new JSBNG__Date().getTime());\n}\n;\n;\n;\nif (((typeof setCSMReq == \"function\"))) {\n    setCSMReq(\"af\");\n}\n else if (((typeof uet == \"function\"))) {\n    uet(\"af\");\n}\n\n;\n;");
+// 1022
+geval("function e7644587aa18f1f011e5cb2af1a2ba28711e4f5ba(JSBNG__event) {\n    javascript:\n    Vellum.h();\n};\n;");
+// 1023
+geval("function e6596c5154f3368bd1eb7b54e55062297d8dac231(JSBNG__event) {\n    javascript:\n    Vellum.h();\n};\n;");
+// 1024
+geval("amznJQ.available(\"jQuery\", function() {\n    window.sitbWeblab = \"\";\n    if (((typeof (Vellum) == \"undefined\"))) {\n        Vellum = {\n            js: \"http://z-ecx.images-amazon.com/images/G/01/digital/sitb/reader/v4/201305301526/en_US/sitb-library-js._V383092699_.js\",\n            sj: \"/gp/search-inside/js?locale=en_US&version=201305301526\",\n            css: \"http://z-ecx.images-amazon.com/images/G/01/digital/sitb/reader/v4/201305301526/en_US/sitb-library-css._V383092698_.css\",\n            pl: function() {\n                Vellum.lj(Vellum.js, Vellum.sj, Vellum.css);\n            },\n            lj: function(u, u2, uc) {\n                if (window.vellumLjDone) {\n                    return;\n                }\n            ;\n            ;\n                window.vellumLjDone = true;\n                var d = JSBNG__document;\n                var s = d.createElement(\"link\");\n                s.type = \"text/css\";\n                s.rel = \"stylesheet\";\n                s.href = uc;\n                d.getElementsByTagName(\"head\")[0].appendChild(s);\n                s = d.createElement(\"script\");\n                s.type = \"text/javascript\";\n                s.src = u2;\n                d.getElementsByTagName(\"head\")[0].appendChild(s);\n            },\n            lj2: function(u) {\n                var d = JSBNG__document;\n                var s = d.createElement(\"script\");\n                s.type = \"text/javascript\";\n                s.src = u;\n                d.getElementsByTagName(\"head\")[0].appendChild(s);\n            },\n            go: function() {\n                sitbLodStart = new JSBNG__Date().getTime();\n                jQuery(\"body\").css(\"overflow\", \"hidden\");\n                var jqw = jQuery(window);\n                var h = jqw.height();\n                var w = jqw.width();\n                var st = jqw.scrollTop();\n                jQuery(\"#vellumShade\").css({\n                    JSBNG__top: st,\n                    height: h,\n                    width: w\n                }).show();\n                var vli = jQuery(\"#vellumLdgIco\");\n                var nl = ((((w / 2)) - ((vli.width() / 2))));\n                var nt = ((((st + ((h / 2)))) - ((vli.height() / 2))));\n                vli.css({\n                    left: nl,\n                    JSBNG__top: nt\n                }).show();\n                JSBNG__setTimeout(\"Vellum.x()\", 20000);\n                Vellum.pl();\n            },\n            x: function() {\n                jQuery(\"#vellumMsgTxt\").html(\"An error occurred while trying to show this book.\");\n                jQuery(\"#vellumMsgHdr\").html(\"Server Timeout\");\n                jQuery(\"#vellumMsg\").show();\n                var reftagImage = new JSBNG__Image();\n                reftagImage.src = \"/gp/search-inside/reftag/ref=rdr_bar_jsto\";\n            },\n            h: function() {\n                jQuery(\"#vellumMsg\").hide();\n                jQuery(\"#vellumShade\").hide();\n                jQuery(\"#vellumLdgIco\").hide();\n                jQuery(\"body\").css(\"overflow\", \"auto\");\n            },\n            cf: function(a) {\n                return function() {\n                    v.mt = a;\n                    v.rg = Array.prototype.slice.call(arguments);\n                    v.go();\n                };\n            },\n            c: function(a) {\n                var v = Vellum;\n                v.mt = \"c\";\n                v.rg = [a,];\n                v.pl();\n            }\n        };\n        var f = \"opqr\".split(\"\");\n        {\n            var fin7keys = ((window.top.JSBNG_Replay.forInKeys)((f))), fin7i = (0);\n            var i;\n            for (; (fin7i < fin7keys.length); (fin7i++)) {\n                ((i) = (fin7keys[fin7i]));\n                {\n                    var v = Vellum;\n                    v[f[i]] = v.cf(f[i]);\n                };\n            };\n        };\n    ;\n        sitbAsin = \"0596517742\";\n        SitbReader = {\n            LightboxActions: {\n                openReader: function(r) {\n                    Vellum.o(\"0596517742\", r);\n                    return false;\n                },\n                openReaderToRandomPage: function(r) {\n                    Vellum.r(\"0596517742\", r);\n                    return false;\n                },\n                openReaderToSearchResults: function(q, r) {\n                    Vellum.q(\"0596517742\", q, r);\n                    return false;\n                },\n                openReaderToPage: function(p, t, r) {\n                    Vellum.p(\"0596517742\", p, t, r);\n                    return false;\n                }\n            }\n        };\n    }\n;\n;\n    amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n        Vellum.c(\"0596517742\");\n    });\n});");
+// 1025
+geval("if (((typeof amznJQ != \"undefined\"))) {\n    amznJQ.addLogical(\"twister-media-matrix\", [\"http://z-ecx.images-amazon.com/images/G/01/nav2/gamma/tmmJS/tmmJS-combined-core-4624._V1_.js\",]);\n    window._tmm_1 = +new JSBNG__Date();\n}\n;\n;");
+// 1028
+geval("window._tmm_3 = +new JSBNG__Date();\nif (((typeof amznJQ != \"undefined\"))) {\n    amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n        amznJQ.available(\"twister-media-matrix\", function() {\n            window._tmm_2 = +new JSBNG__Date();\n            TwisterMediaMatrix.initialize({\n                kindle_meta_binding: {\n                    n: \"1\",\n                    start: \"1\"\n                },\n                paperback_meta_binding: {\n                    n: \"4\",\n                    start: \"1\"\n                },\n                other_meta_binding: {\n                    n: \"1\",\n                    start: \"1\"\n                }\n            }, \"3\", \"books\", \"0596517742\", \"B00279BLLE\", \"book_display_on_website\", \"Loading...\", \"Error. Please try again.\", \"http://g-ecx.images-amazon.com/images/G/01/x-locale/twister/tiny-snake._V192199047_.gif\", false, \"1-1\", \"1373480082\");\n        });\n    });\n}\n;\n;\nvar disableWinnerPopup;");
+// 1031
+geval("function ecbe91b05b7a0169a5c7579671634aa2479f32de2(JSBNG__event) {\n    amz_expandPostBodyDescription(\"PS\", [\"psGradient\",\"psPlaceHolder\",]);\n    return false;\n};\n;");
+// 1032
+geval("function ed799235278295d1a8efd2717f5d3b126b9c9d8ba(JSBNG__event) {\n    amz_collapsePostBodyDescription(\"PS\", [\"psGradient\",\"psPlaceHolder\",]);\n    return false;\n};\n;");
+// 1033
+geval("function amz_expandPostBodyDescription(id, objects) {\n    amznJQ.onReady(\"jQuery\", function() {\n        for (var i = 0; ((i < objects.length)); i++) {\n            jQuery(((\"#\" + objects[i]))).hide();\n        };\n    ;\n        jQuery(((\"#outer_postBody\" + id))).animate({\n            height: jQuery(((\"#postBody\" + id))).height()\n        }, 500);\n        jQuery(((\"#expand\" + id))).hide();\n        jQuery(((\"#collapse\" + id))).show();\n        jQuery.ajax({\n            url: \"/gp/product/utility/ajax/impression-tracking.html\",\n            data: {\n                a: \"0596517742\",\n                ref: \"dp_pd_showmore_b\"\n            }\n        });\n    });\n};\n;\nfunction amz_collapsePostBodyDescription(id, objects) {\n    amznJQ.onReady(\"jQuery\", function() {\n        for (var i = 0; ((i < objects.length)); i++) {\n            jQuery(((\"#\" + objects[i]))).show();\n        };\n    ;\n        jQuery(((\"#outer_postBody\" + id))).animate({\n            height: 200\n        }, 500);\n        jQuery(((\"#collapse\" + id))).hide();\n        jQuery(((\"#expand\" + id))).show();\n        jQuery.ajax({\n            url: \"/gp/product/utility/ajax/impression-tracking.html\",\n            data: {\n                a: \"0596517742\",\n                ref: \"dp_pd_showless_b\"\n            }\n        });\n    });\n};\n;\namznJQ.onReady(\"jQuery\", function() {\n    var psTotalHeight = jQuery(\"#postBodyPS\").height();\n    if (((psTotalHeight > 200))) {\n        jQuery(\"#outer_postBodyPS\").css(\"display\", \"block\").css(\"height\", 200);\n        jQuery(\"#psPlaceHolder\").css(\"display\", \"block\");\n        jQuery(\"#expandPS\").css(\"display\", \"block\");\n        jQuery(\"#psGradient\").css(\"display\", \"block\");\n    }\n     else {\n        jQuery(\"#outer_postBodyPS\").css(\"height\", \"auto\");\n        jQuery(\"#psGradient\").hide();\n        jQuery(\"#psPlaceHolder\").hide();\n    }\n;\n;\n});");
+// 1034
+geval("function e30f5ac80acd380a7d106b02b7641a90a00fe13b3(JSBNG__event) {\n    return false;\n};\n;");
+// 1035
+geval("function ec9f6814c6029cb408a199fa5e7c6237cb873a11a(JSBNG__event) {\n    return false;\n};\n;");
+// 1036
+geval("function e4ceb95b8a0d844b7809d3594d7b69f06acaa93e8(JSBNG__event) {\n    return false;\n};\n;");
+// 1037
+geval("window.AmazonPopoverImages = {\n    snake: \"http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/snake._V192571611_.gif\",\n    btnClose: \"http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/btn_close._V192188154_.gif\",\n    closeTan: \"http://g-ecx.images-amazon.com/images/G/01/nav2/images/close-tan-sm._V192185930_.gif\",\n    closeTanDown: \"http://g-ecx.images-amazon.com/images/G/01/nav2/images/close-tan-sm-dn._V192185961_.gif\",\n    loadingBar: \"http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/loading-bar-small._V192188123_.gif\",\n    pixel: \"http://g-ecx.images-amazon.com/images/G/01/icons/blank-pixel._V192192429_.gif\"\n};\nvar container = JSBNG__document.createElement(\"DIV\");\ncontainer.id = \"ap_container\";\nif (JSBNG__document.body.childNodes.length) {\n    JSBNG__document.body.insertBefore(container, JSBNG__document.body.childNodes[0]);\n}\n else {\n    JSBNG__document.body.appendChild(container);\n}\n;\n;");
+// 1056
+geval("(function() {\n    var h = ((((JSBNG__document.head || JSBNG__document.getElementsByTagName(\"head\")[0])) || JSBNG__document.documentElement));\n    var s = JSBNG__document.createElement(\"script\");\n    s.async = \"async\";\n    s.src = \"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/site-wide-js-1.2.6-beacon/site-wide-11198044143._V1_.js\";\n    h.insertBefore(s, h.firstChild);\n})();");
+// 1068
+geval("amznJQ.addLogical(\"popover\", []);\namznJQ.addLogical(\"navbarCSSUS-beacon\", []);\namznJQ.addLogical(\"search-js-autocomplete\", []);\namznJQ.addLogical(\"navbarJS-beacon\", []);\namznJQ.addLogical(\"LBHUCCSS-US\", []);\namznJQ.addLogical(\"CustomerPopover\", [\"http://z-ecx.images-amazon.com/images/G/01/x-locale/communities/profile/customer-popover/script-13-min._V224617671_.js\",]);\namznJQ.addLogical(\"amazonShoveler\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/amazonShoveler/amazonShoveler-1466453065._V1_.js\",]);\namznJQ.addLogical(\"dpCSS\", []);\namznJQ.addLogical(\"discussionsCSS\", []);\namznJQ.addLogical(\"bxgyCSS\", []);\namznJQ.addLogical(\"simCSS\", []);\namznJQ.addLogical(\"condProbCSS\", []);\namznJQ.addLogical(\"ciuAnnotations\", []);\namznJQ.addLogical(\"dpProductImage\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/dpProductImage/dpProductImage-2900646310._V1_.js\",]);\namznJQ.addLogical(\"cmuAnnotations\", [\"http://z-ecx.images-amazon.com/images/G/01/nav2/gamma/cmuAnnotations/cmuAnnotations-cmuAnnotations-55262._V1_.js\",]);\namznJQ.addLogical(\"search-csl\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/search-csl/search-csl-2400229912._V1_.js\",]);\namznJQ.addLogical(\"AmazonHistory\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/AmazonHistory/AmazonHistory-61973207._V1_.js\",]);\namznJQ.addLogical(\"AmazonCountdown\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/AmazonCountdownMerged/AmazonCountdownMerged-27059._V1_.js\",]);\namznJQ.addLogical(\"bylinePopover\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/bylinePopover/bylinePopover-1310866238._V1_.js\",]);\namznJQ.addLogical(\"simsJS\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/simsJSMerged/simsMerged-8063003390._V1_.js\",]);\namznJQ.addLogical(\"callOnVisible\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/callOnVisible/callOnVisible-3144292562._V1_.js\",]);\namznJQ.addLogical(\"p13nlogger\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/p13nlogger/p13nlogger-1808340331._V1_.js\",]);\namznJQ.addLogical(\"gridReviewCSS-US\", []);\namznJQ.addLogical(\"reviewsCSS-US\", []);\namznJQ.addLogical(\"lazyLoadLib\", [\"http://z-ecx.images-amazon.com/images/G/01/nav2/gamma/lazyLoadLib/lazyLoadLib-lazyLoadLib-60357._V1_.js\",]);\namznJQ.addLogical(\"immersiveView\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/immersiveView/immersiveView-990982538._V1_.js\",]);\namznJQ.addLogical(\"imageBlock\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/imageBlock/imageBlock-1812119340._V1_.js\",]);\namznJQ.addLogical(\"quantityDropDownJS\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/quantityDropDownJSMerged/quantityDropDownJSMerged-63734._V1_.js\",]);\namznJQ.addLogical(\"bbopCheckBoxJS\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/bbopCheckBoxJSMerged/bbopCheckBoxJSMerged-33025._V1_.js\",]);\namznJQ.addLogical(\"share-with-friends-js-new\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/share-with-friends-js-new/share-with-friends-js-new-4128511603._V1_.js\",]);");
+// 1069
+geval("function acrPopoverHover(e, h) {\n    if (h) {\n        window.acrAsinHover = e;\n    }\n     else {\n        if (((window.acrAsinHover == e))) {\n            window.acrAsinHover = null;\n        }\n    ;\n    }\n;\n;\n};\n;\namznJQ.onReady(\"popover\", function() {\n    (function($) {\n        if ($.fn.acrPopover) {\n            return;\n        }\n    ;\n    ;\n        var popoverConfig = {\n            showOnHover: true,\n            showCloseButton: true,\n            width: null,\n            JSBNG__location: \"bottom\",\n            locationAlign: \"left\",\n            locationOffset: [-20,0,],\n            paddingLeft: 15,\n            paddingBottom: 5,\n            paddingRight: 15,\n            group: \"reviewsPopover\",\n            clone: false,\n            hoverHideDelay: 300\n        };\n        $.fn.acrPopover = function() {\n            return this.each(function() {\n                var $this = $(this);\n                if (!$this.data(\"init\")) {\n                    $this.data(\"init\", 1);\n                    var getargs = $this.attr(\"getargs\");\n                    var ajaxURL = ((((((((((((((\"/gp/customer-reviews/common/du/displayHistoPopAjax.html?\" + \"&ASIN=\")) + $this.attr(\"JSBNG__name\"))) + \"&link=1\")) + \"&seeall=1\")) + \"&ref=\")) + $this.attr(\"ref\"))) + ((((typeof getargs != \"undefined\")) ? ((\"&getargs=\" + getargs)) : \"\"))));\n                    var myConfig = $.extend(true, {\n                        destination: ajaxURL\n                    }, popoverConfig);\n                    $this.amazonPopoverTrigger(myConfig);\n                    var w = window.acrAsinHover;\n                    if (((w && (($(w).parents(\".asinReviewsSummary\").get(0) == this))))) {\n                        $this.trigger(\"mouseover.amzPopover\");\n                        window.acrAsinHover = null;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n            });\n        };\n        window.reviewHistPopoverConfig = popoverConfig;\n        var jqInit = window.jQueryInitHistoPopovers = function(asin) {\n            $(((((\".acr-popover[name=\" + asin)) + \"]\"))).acrPopover();\n        };\n        window.doInit_average_customer_reviews = jqInit;\n        window.onAjaxUpdate_average_customer_reviews = jqInit;\n        window.onCacheUpdate_average_customer_reviews = jqInit;\n        window.onCacheUpdateReselect_average_customer_reviews = jqInit;\n        amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n            JSBNG__setTimeout(function() {\n                amznJQ.declareAvailable(\"acrPopover\");\n            }, 10);\n        });\n    })(jQuery);\n});\namznJQ.onReady(\"acrPopover\", function() {\n    jQuery(\".acr-popover,#searchTemplate .asinReviewsSummary\").each(function() {\n        jQuery(this).acrPopover();\n    });\n});");
+// 1070
+geval("function e578c1e13c6f29b2bbf7d44b26ef211b094ea72b4(JSBNG__event) {\n    return acrPopoverHover(this, 1);\n};\n;");
+// 1071
+geval("function e06e515d62da9bffd3461588068f6e3968f778d25(JSBNG__event) {\n    return acrPopoverHover(this, 0);\n};\n;");
+// 1072
+geval("function ea7a3a1b2d956ff3bc320306a8a957e5e3a84829b(JSBNG__event) {\n    return acrPopoverHover(this, 1);\n};\n;");
+// 1073
+geval("function e3a03f8207e9a4c559b40f64a87959b85ba281fc9(JSBNG__event) {\n    return acrPopoverHover(this, 0);\n};\n;");
+// 1074
+geval("var DEFAULT_RENDERING_TIME = 123;\namznJQ.onReady(\"popover\", function() {\n    jQuery(\"#ns_16FT3HARPGGCD65HKXMQ_515_1_community_feedback_trigger_product-detail\").amazonPopoverTrigger({\n        title: \"What product features are missing?\",\n        destination: \"/gp/lwcf/light-weight-form.html?asin=0596517742&root=283155\",\n        showOnHover: false,\n        draggable: true,\n        width: 650,\n        paddingBottom: 0,\n        onHide: function() {\n            logCloseWidgetEvent(DEFAULT_RENDERING_TIME);\n            cleanupSearchResults();\n        }\n    });\n});");
+// 1075
+geval("amznJQ.onReady(\"popover\", function() {\n    jQuery(\"#ns_16FT3HARPGGCD65HKXMQ_514_1_hmd_pricing_feedback_trigger_product-detail\").amazonPopoverTrigger({\n        title: \"Tell Us About a Lower Price\",\n        destination: \"/gp/pdp/pf/pricingFeedbackForm.html/ref=sr_1_1_pfdpb?ie=UTF8&ASIN=0596517742&PREFIX=ns_16FT3HARPGGCD65HKXMQ_514_2_&from=product-detail&originalURI=%2Fgp%2Fproduct%2F0596517742&storeID=books\",\n        showOnHover: false,\n        draggable: true\n    });\n});");
+// 1076
+geval("amznJQ.onReady(\"lazyLoadLib\", function() {\n    jQuery(\"#books-entity-teaser\").lazyLoadContent({\n        url: \"/gp/product/features/entity-teaser/books-entity-teaser-ajax.html?ASIN=0596517742\",\n        metrics: true,\n        JSBNG__name: \"books-entity-teaser\",\n        cache: true\n    });\n});");
+// 1077
+geval("function e7320d6ce68e3b4f8530e6a80207ae8477ecdb5ff(JSBNG__event) {\n    return amz_js_PopWin(this.href, \"AmazonHelp\", \"width=340,height=340,resizable=1,scrollbars=1,toolbar=1,status=1\");\n};\n;");
+// 1078
+geval("var paCusRevAllURL = \"http://product-ads-portal.amazon.com/gp/synd/?asin=0596517742&pAsin=&gl=14&sq=javascript%20the%20good%20parts&sa=&se=Amazon&noo=&pt=Detail&spt=Glance&sn=customer-reviews-top&pRID=0H7NC1MNEB4A52DXKGX7&ts=1373480089&h=281ECCD3A11A9ED579DA0216100E7E6984E2E5C0\";");
+// 1079
+geval("(function(d, w, i, b, e) {\n    if (w.uDA = ((((w.ues && w.uet)) && w.uex))) {\n        ues(\"wb\", i, 1);\n        uet(\"bb\", i);\n    }\n;\n;\n;\n    JSBNG__setTimeout(((window.top.JSBNG_Replay.push)((window.top.JSBNG_Replay.s6f54c5bf5199cec31b0b6ef5af74f23d8e084f79_1), function() {\n        b = d.getElementById(\"DAb\");\n        e = d.createElement(\"img\");\n        e.JSBNG__onload = ((window.top.JSBNG_Replay.push)((window.top.JSBNG_Replay.s6f54c5bf5199cec31b0b6ef5af74f23d8e084f79_2), function() {\n            ((w.uDA && uex(\"ld\", i)));\n        }));\n        e.src = \"//g-ecx.images-amazon.com/images/G/01/da/creatives/mp3._V1_.jpg\";\n        e.JSBNG__onmouseover = function() {\n            this.i = ((this.i || ((new JSBNG__Image).src = \"//ad.doubleclick.net/clk;266953187;45570551;s?\")));\n        };\n        b.appendChild(e);\n    })), 3200);\n})(JSBNG__document, window, \"DAcrt_7\");");
+// 1085
+geval("(function(w, d, e) {\n    e = d.getElementById(\"DA3297i\");\n    e.a = (w.aanParams = ((w.aanParams || {\n    })))[\"customer-reviews-top\"] = \"site=amazon.us;pt=Detail;slot=customer-reviews-top;pid=0596517742;prid=0H7NC1MNEB4A52DXKGX7;arid=ff8eff2c73d04e879b23b4a3067acb18\";\n    e.f = 1;\n    w.d16g_dclick_DAcrt = \"amzn.us.dp.books/textbooks;sz=300x250;oe=ISO-8859-1;u=ff8eff2c73d04e879b23b4a3067acb18;s=i0;s=i1;s=i2;s=i3;s=i5;s=i6;s=i7;s=i8;s=i9;s=m1;s=m4;s=u4;s=u13;s=u11;s=u2;z=180;z=153;z=141;z=173;s=3072;s=32;s=3172a;s=3172;s=3;s=12;s=67;s=142;s=150;s=622;s=762;s=833;s=921;s=1009;s=1046;s=1324;s=3102;s=3103;s=3174;s=3175;s=3176;dc_ref=http%3A%2F%2Fwww.amazon.com;tile=3;ord=0H7NC1MNEB4A52DXKGX7;cid=sailfish7\";\n    w.d16g_dclicknet_DAcrt = \"N4215\";\n    e.src = \"/aan/2009-09-09/static/amazon/iframeproxy-24.html#zus&cbDAcrt&iDAcrt\";\n    if (!w.DA) {\n        w.DA = [];\n        var L = ((window.top.JSBNG_Replay.push)((window.top.JSBNG_Replay.s43fc3a4faaae123905c065ee7216f6efb640b86f_1), function() {\n            e = d.createElement(\"script\");\n            e.src = \"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/DA-us/DA-us-1527499158._V381226140_.js\";\n            d.getElementsByTagName(\"head\")[0].appendChild(e);\n        }));\n        if (((d.readyState == \"complete\"))) {\n            L();\n        }\n         else {\n            if (((typeof w.JSBNG__addEventListener === \"function\"))) {\n                w.JSBNG__addEventListener(\"load\", L, !1);\n            }\n             else {\n                w.JSBNG__attachEvent(\"JSBNG__onload\", L);\n            }\n        ;\n        ;\n        }\n    ;\n    ;\n    }\n;\n;\n})(window, JSBNG__document);");
+// 1094
+geval("if (((typeof setCSMReq == \"function\"))) {\n    setCSMReq(\"cf\");\n}\n else {\n    if (((typeof uet == \"function\"))) {\n        uet(\"cf\");\n    }\n;\n;\n    amznJQ.completedStage(\"amznJQ.criticalFeature\");\n}\n;\n;");
+// 1095
+geval("var cloudfrontImg = new JSBNG__Image();\nif (((JSBNG__location.protocol == \"http:\"))) {\n    if (window.JSBNG__addEventListener) {\n        window.JSBNG__addEventListener(\"load\", ((window.top.JSBNG_Replay.push)((window.top.JSBNG_Replay.s6642b77f01f4d49ef240b29032e6da4372359178_0), function() {\n            JSBNG__setTimeout(((window.top.JSBNG_Replay.push)((window.top.JSBNG_Replay.s6642b77f01f4d49ef240b29032e6da4372359178_1), function() {\n                cloudfrontImg.src = \"http://cloudfront-labs.amazonaws.com/x.png\";\n            })), 400);\n        })), false);\n    }\n     else if (window.JSBNG__attachEvent) {\n        window.JSBNG__attachEvent(\"JSBNG__onload\", function() {\n            JSBNG__setTimeout(function() {\n                cloudfrontImg.src = \"http://cloudfront-labs.amazonaws.com/x.png\";\n            }, 400);\n        });\n    }\n    \n;\n;\n}\n;\n;");
+// 1100
+geval("amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n    var DPCL;\n    amznJQ.available(\"DPClientLogger\", function() {\n        if (((typeof window.DPClientLogger != \"undefined\"))) {\n            DPCL = new window.DPClientLogger.ImpressionLogger(\"dpbxapps\", \"bxapps-atfMarker\", true, true);\n        }\n    ;\n    ;\n    });\n    jQuery(\".oneClickSignInLink\").click(function(e) {\n        if (DPCL) {\n            DPCL.logImpression(\"ma-books-oneClick-signIn-C\");\n        }\n    ;\n    ;\n        return true;\n    });\n});");
+// 1101
+geval("var ImageBlockWeblabs = {\n};\nImageBlockWeblabs[\"swipe\"] = 0;\nImageBlockWeblabs[\"consolidated\"] = 1;\nImageBlockWeblabs[\"bookLargeImage\"] = 0;\namznJQ.available(\"ImageBlockATF\", function() {\n    amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n        var data = {\n            indexToColor: [\"initial\",],\n            visualDimensions: [\"color_name\",],\n            productGroupID: \"book_display_on_website\",\n            newVideoMissing: 0,\n            useIV: 1,\n            useChildVideos: 1,\n            numColors: 1,\n            defaultColor: \"initial\",\n            logMetrics: 0,\n            staticStrings: {\n                playVideo: \"Click to play video\",\n                rollOverToZoom: \"Roll over image to zoom in\",\n                images: \"Images\",\n                video: \"video\",\n                touchToZoom: \"Touch the image to zoom in\",\n                videos: \"Videos\",\n                close: \"Close\",\n                pleaseSelect: \"Please select\",\n                clickToExpand: \"Click to open expanded view\",\n                allMedia: \"All Media\"\n            },\n            gIsNewTwister: 0,\n            title: \"JavaScript: The Good Parts\",\n            ivRepresentativeAsin: {\n            },\n            mainImageSizes: [[\"300\",\"300\",],[\"300\",\"300\",],],\n            isQuickview: 0,\n            ipadVideoSizes: [[300,300,],[300,300,],],\n            colorToAsin: {\n            },\n            showLITBOnClick: 1,\n            stretchyGoodnessWidth: [1280,],\n            videoSizes: [[300,300,],[300,300,],],\n            autoplayVideo: 0,\n            hoverZoomIndicator: \"\",\n            sitbReftag: \"sib_dp_pt\",\n            useHoverZoom: 0,\n            staticImages: {\n                spinner: \"http://g-ecx.images-amazon.com/images/G/01/ui/loadIndicators/loading-large_labeled._V192238949_.gif\",\n                zoomOut: \"http://g-ecx.images-amazon.com/images/G/01/detail-page/cursors/zoom-out._V184888738_.bmp\",\n                hoverZoomIcon: \"http://g-ecx.images-amazon.com/images/G/01/img11/apparel/UX/DP/icon_zoom._V138923886_.png\",\n                zoomIn: \"http://g-ecx.images-amazon.com/images/G/01/detail-page/cursors/zoom-in._V184888790_.bmp\",\n                videoSWFPath: \"http://g-ecx.images-amazon.com/images/G/01/Quarterdeck/en_US/video/20110518115040892/Video._V178668404_.swf\",\n                zoomLensBackground: \"http://g-ecx.images-amazon.com/images/G/01/apparel/rcxgs/tile._V211431200_.gif\",\n                arrow: \"http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/light/sprite-vertical-popover-arrow._V186877868_.png\",\n                videoThumbIcon: \"http://g-ecx.images-amazon.com/images/G/01/Quarterdeck/en_US/images/video._V183716339_SS30_.gif\"\n            },\n            videos: [],\n            gPreferChildVideos: 1,\n            altsOnLeft: 0,\n            ivImageSetKeys: {\n                initial: 0\n            },\n            useHoverZoomIpad: \"\",\n            isUDP: 0,\n            alwaysIncludeVideo: 1,\n            widths: 0,\n            maxAlts: 7,\n            useChromelessVideoPlayer: 0\n        };\n        data[\"customerImages\"] = eval(\"[]\");\n        var def = ((colorImages ? colorImages[data.defaultColor] : []));\n        colorImages = {\n        };\n        colorImages[data.defaultColor] = def;\n        (function() {\n            var markup = \"%0A%0A%0A%0A%0A%0A%0A%0A%0A%3Cstyle%3E%0A%0Aa.slateLink%3Alink%7B%20color%3A%20rgb(119%2C119%2C119)%3B%20text-decoration%3Anone%3B%7D%0Aa.slateLink%3Aactive%20%7B%20color%3A%20rgb(119%2C119%2C119)%3B%20text-decoration%3Anone%3B%7D%0Aa.slateLink%3Avisited%7B%20color%3A%20rgb(119%2C119%2C119)%3B%20text-decoration%3Anone%3B%7D%0Aa.slateLink%3Ahover%7B%20color%3A%20rgb(119%2C119%2C119)%3B%20text-decoration%3Anone%3B%7D%0A%0A.shuttleGradient%20%7B%0A%20%20%20%20float%3Aleft%3B%0A%20%20%20%20width%3A100%25%3B%0A%20%20%20%20text-align%3Aleft%3B%0A%20%20%20%20line-height%3A%20normal%3B%0A%20%20%20%20position%3Arelative%3B%0A%20%20%20%20height%3A43px%3B%20%0A%20%20%20%20background-color%3A%23dddddd%3B%20%0A%20%20%20%20background-image%3A%20url(http%3A%2F%2Fg-ecx.images-amazon.com%2Fimages%2FG%2F01%2Fx-locale%2Fcommunities%2Fcustomerimage%2Fshuttle-gradient._V192250138_.gif)%3B%20%0A%20%20%20%20background-position%3A%20bottom%3B%20%0A%20%20%20%20background-repeat%20%3A%20repeat-x%3B%0A%7D%0A%0A.shuttleTextTop%20%7B%0A%20%20%20%20font-size%3A18px%3B%0A%20%20%20%20font-weight%3Abold%3B%0A%20%20%20%20font-family%3Averdana%2Carial%2Chelvetica%2Csans-serif%3B%0A%20%20%20%20color%3A%20rgb(119%2C119%2C119)%3B%0A%20%20%20%20margin-left%3A10px%3B%0A%7D%0A%0A.shuttleTextBottom%20%7B%0A%20%20%20%20margin-top%3A-2px%3B%0A%20%20%20%20font-size%3A15px%3B%0A%20%20%20%20font-family%3Averdana%2Carial%2Chelvetica%2Csans-serif%3B%0A%20%20%20%20color%3A%20rgb(119%2C119%2C119)%3B%0A%20%20%20%20margin-left%3A10px%3B%0A%7D%0A.outercenterslate%7B%0A%20%20%20%20cursor%3Apointer%3B%0A%7D%0A.innercenterslate%7B%0A%20%20%20%20overflow%3A%20hidden%3B%0A%7D%0A%0A.slateoverlay%7B%0A%20%20%20%20position%3A%20absolute%3B%0A%20%20%20%20top%3A%200px%3B%0A%20%20%20%20border%3A%200px%0A%7D%0A%0A.centerslate%20%7B%0A%20%20%20%20display%3A%20table-cell%3B%0A%20%20%20%20background-color%3Ablack%3B%20%0A%20%20%20%20text-align%3A%20center%3B%0A%20%20%20%20vertical-align%3A%20middle%3B%0A%7D%0A.centerslate%20*%20%7B%0A%20%20%20%20vertical-align%3A%20middle%3B%0A%7D%0A.centerslate%20%7B%20display%2F*%5C**%2F%3A%20block%5C9%20%7D%20%0A%2F*%5C*%2F%2F*%2F%0A.centerslate%20%7B%0A%20%20%20%20display%3A%20block%3B%0A%7D%0A.centerslate%20span%20%7B%0A%20%20%20%20display%3A%20inline-block%3B%0A%20%20%20%20height%3A%20100%25%3B%0A%20%20%20%20width%3A%201px%3B%0A%7D%0A%2F**%2F%0A%3C%2Fstyle%3E%0A%3C!--%5Bif%20lt%20IE%209%5D%3E%3Cstyle%3E%0A.centerslate%20span%20%7B%0A%20%20%20%20display%3A%20inline-block%3B%0A%20%20%20%20height%3A%20100%25%3B%0A%7D%0A%3C%2Fstyle%3E%3C!%5Bendif%5D--%3E%0A%3Cstyle%3E%0A%3C%2Fstyle%3E%0A%0A%3Cscript%20type%3D%22text%2Fjavascript%22%3E%0AamznJQ.addLogical(%22swfobject-2.2%22%2C%20%5B%22http%3A%2F%2Fz-ecx.images-amazon.com%2Fimages%2FG%2F01%2Fmedia%2Fswf%2Famznjq-swfobject-2.2._V210753426_.js%22%5D)%3B%0A%0Awindow.AmznVideoPlayer%3Dfunction(mediaObject%2CtargetId%2Cwidth%2Cheight)%7B%0A%20%20AmznVideoPlayer.players%5BmediaObject.mediaObjectId%5D%3Dthis%3B%0A%20%20this.slateImageUrl%3DmediaObject.slateImageUrl%3B%0A%20%20this.id%3DmediaObject.mediaObjectId%3B%0A%20%20this.preplayWidth%3Dwidth%3B%0A%20%20this.preplayHeight%3Dheight%3B%0A%20%20this.flashDivWidth%3Dwidth%3B%0A%20%20this.flashDivHeight%3Dheight%3B%0A%20%20this.targetId%3DtargetId%3B%0A%20%20this.swfLoading%3D0%3B%0A%20%20this.swfLoaded%3D0%3B%0A%20%20this.preplayDivId%3D'preplayDiv'%2Bthis.id%3B%0A%20%20this.flashDivId%3D'flashDiv'%2Bthis.id%3B%0A%7D%0A%0AAmznVideoPlayer.players%3D%5B%5D%3B%0AAmznVideoPlayer.session%3D'177-2724246-1767538'%3B%0AAmznVideoPlayer.root%3D'http%3A%2F%2Fwww.amazon.com'%3B%0AAmznVideoPlayer.locale%3D'en_US'%3B%0AAmznVideoPlayer.swf%3D'http%3A%2F%2Fg-ecx.images-amazon.com%2Fimages%2FG%2F01%2Fam3%2F20120510035744301%2FAMPlayer._V148501545_.swf'%3B%0AAmznVideoPlayer.preplayTemplate%3D'%3Cdiv%20style%3D%22width%3A0px%3Bheight%3A0px%3B%22%20class%3D%22outercenterslate%22%3E%3Cdiv%20style%3D%22width%3A0px%3Bheight%3A-43px%3B%22%20class%3D%22centerslate%22%20%3E%3Cspan%3E%3C%2Fspan%3E%3Cimg%20border%3D%220%22%20alt%3D%22Click%20to%20watch%20this%20video%22%20src%3D%22slateImageGoesHere%22%3E%3C%2Fdiv%3E%3Cdiv%20class%3D%22shuttleGradient%22%3E%3Cdiv%20class%3D%22shuttleTextTop%22%3EAmazon%3C%2Fdiv%3E%3Cdiv%20class%3D%22shuttleTextBottom%22%3EVideo%3C%2Fdiv%3E%3Cimg%20id%3D%22mediaObjectIdpreplayImageId%22%20style%3D%22height%3A74px%3Bposition%3Aabsolute%3Bleft%3A-31px%3Btop%3A-31px%3B%22%20src%3D%22http%3A%2F%2Fg-ecx.images-amazon.com%2Fimages%2FG%2F01%2Fx-locale%2Fcommunities%2Fcustomerimage%2Fplay-shuttle-off._V192250119_.gif%22%20border%3D%220%22%2F%3E%3C%2Fdiv%3E%3C%2Fdiv%3E'%3B%0AAmznVideoPlayer.rollOn%3D'http%3A%2F%2Fg-ecx.images-amazon.com%2Fimages%2FG%2F01%2Fx-locale%2Fcommunities%2Fcustomerimage%2Fplay-shuttle-on._V192250112_.gif'%3B%0AAmznVideoPlayer.rollOff%3D'http%3A%2F%2Fg-ecx.images-amazon.com%2Fimages%2FG%2F01%2Fx-locale%2Fcommunities%2Fcustomerimage%2Fplay-shuttle-off._V192250119_.gif'%3B%0AAmznVideoPlayer.flashVersion%3D'9.0.115'%3B%0AAmznVideoPlayer.noFlashMsg%3D'To%20view%20this%20video%20download%20%3Ca%20target%3D%22_blank%22%20href%3D%22http%3A%2F%2Fget.adobe.com%2Fflashplayer%2F%22%20target%3D%22_top%22%3EFlash%20Player%3C%2Fa%3E%20(version%209.0.115%20or%20higher)'%3B%0A%0AAmznVideoPlayer.hideAll%3Dfunction()%7B%0A%20%20for(var%20i%20in%20AmznVideoPlayer.players)%7B%0A%20%20%20%20AmznVideoPlayer.players%5Bi%5D.hidePreplay()%3B%0A%20%20%20%20AmznVideoPlayer.players%5Bi%5D.hideFlash()%3B%0A%20%20%7D%0A%7D%0A%0AAmznVideoPlayer.prototype.writePreplayHtml%3Dfunction()%7B%0A%20%20if(typeof%20this.preplayobject%3D%3D'undefined')%7B%0A%20%20%20%20this.preplayobject%3DjQuery(AmznVideoPlayer.preplayTemplate.replace(%22slateImageGoesHere%22%2Cthis.slateImageUrl)%0A%20%20%20%20%20%20%20%20.replace(%22mediaObjectId%22%2Cthis.id).replace(%22-43px%22%2C(this.preplayHeight-43)%2B%22px%22).replace(%22-31px%22%2C(Math.round(this.preplayWidth%2F2)-31)%2B%22px%22))%3B%0A%20%20%20%20this.preplayobject.width(this.preplayWidth%2B%22px%22).height(this.preplayHeight%2B%22px%22)%3B%0A%20%20%20%20this.preplayobject.find(%22.innercenterslate%22).width(this.preplayWidth%2B%22px%22).height(this.preplayHeight%2B%22px%22)%3B%0A%20%20%20%20this.preplayobject.find(%22.centerslate%22).width(this.preplayWidth%2B%22px%22)%3B%0A%20%20%20%20var%20self%3Dthis%3B%0A%20%20%20%20this.preparePlaceholder()%3B%0A%20%20%20%20jQuery(%22%23%22%2Bthis.preplayDivId).click(function()%7Bself.preplayClick()%3B%7D)%3B%0A%20%20%20%20jQuery(%22%23%22%2Bthis.preplayDivId).hover(%0A%20%20%20%20%20%20%20%20function()%7BjQuery(%22%23%22%2Bself.id%2B'preplayImageId').attr('src'%2CAmznVideoPlayer.rollOn)%3B%7D%2C%0A%20%20%20%20%20%20%20%20function()%7BjQuery(%22%23%22%2Bself.id%2B'preplayImageId').attr('src'%2CAmznVideoPlayer.rollOff)%3B%7D)%3B%0A%20%20%20%20jQuery(%22%23%22%2Bthis.preplayDivId).html(this.preplayobject)%3B%0A%20%20%7D%0A%7D%0A%0AAmznVideoPlayer.prototype.writeFlashHtml%3Dfunction()%7B%0A%20%20if(!this.swfLoaded%26%26!this.swfLoading)%7B%0A%20%20%20%20this.swfLoading%3D1%3B%0A%20%20%20%20var%20params%3D%7B'allowscriptaccess'%3A'always'%2C'allowfullscreen'%3A'true'%2C'wmode'%3A'transparent'%2C'quality'%3A'high'%7D%3B%0A%20%20%20%20var%20shiftJISRegExp%20%3D%20new%20RegExp(%22%5Ehttps%3F%3A%22%2BString.fromCharCode(0x5C)%2B%22%2F%22%2BString.fromCharCode(0x5C)%2B%22%2F%22)%3B%0A%20%20%20%20var%20flashvars%3D%7B'xmlUrl'%3AAmznVideoPlayer.root%2B'%2Fgp%2Fmpd%2Fgetplaylist-v2%2F'%2Bthis.id%2B'%2F'%2BAmznVideoPlayer.session%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'mediaObjectId'%3Athis.id%2C'locale'%3AAmznVideoPlayer.locale%2C'sessionId'%3AAmznVideoPlayer.session%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'amazonServer'%3AAmznVideoPlayer.root.replace(shiftJISRegExp%2C'')%2C'swfEmbedTime'%3Anew%20Date().getTime()%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'allowFullScreen'%3A'true'%2C'amazonPort'%3A'80'%2C'preset'%3A'detail'%2C'autoPlay'%3A'1'%2C'permUrl'%3A'gp%2Fmpd%2Fpermalink'%2C'scale'%3A'noscale'%7D%3B%0A%20%20%20%20var%20self%3Dthis%3B%0A%20%20%20%20swfobject.embedSWF(AmznVideoPlayer.swf%2C'so_'%2Bthis.id%2C%22100%25%22%2C%22100%25%22%2CAmznVideoPlayer.flashVersion%2Cfalse%2Cflashvars%2Cparams%2Cparams%2C%0A%20%20%20%20%20%20function(e)%7B%0A%20%20%20%20%20%20%20%20self.swfLoading%3D0%3B%0A%20%20%20%20%20%20%20%20if(e.success)%7BAmznVideoPlayer.lastPlayedId%3Dself.id%3Bself.swfLoaded%3D1%3Breturn%3B%7D%0A%20%20%20%20%20%20%20%20jQuery('%23'%2Bself.flashDivId).html('%3Cbr%2F%3E%3Cbr%2F%3E%3Cbr%2F%3E%3Cbr%2F%3E%3Cbr%2F%3E%3Cbr%2F%3E%3Cbr%2F%3E'%2BAmznVideoPlayer.noFlashMsg).css(%7B'background'%3A'%23ffffff'%7D)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20)%3B%0A%20%20%7D%0A%7D%0A%0AAmznVideoPlayer.prototype.showPreplay%3Dfunction()%7B%0A%20%20this.writePreplayHtml()%3B%0A%20%20this.preparePlaceholder()%3B%0A%20%20jQuery(%22%23%22%2Bthis.preplayDivId).show()%3B%0A%20%20return%20this%3B%0A%7D%0A%0AAmznVideoPlayer.prototype.hidePreplay%3Dfunction()%7B%0A%20%20this.preparePlaceholder()%3B%0A%20%20jQuery(%22%23%22%2Bthis.preplayDivId).hide()%3B%0A%20%20return%20this%3B%0A%7D%0A%0AAmznVideoPlayer.prototype.showFlash%3Dfunction()%7B%0A%20%20this.preparePlaceholder()%3B%0A%20%20if(!this.swfLoaded%26%26!this.swfLoading)%7B%0A%20%20%20%20var%20self%3Dthis%3B%0A%20%20%20%20amznJQ.available(%22swfobject-2.2%22%2Cfunction()%7Bself.writeFlashHtml()%3B%7D)%3B%0A%20%20%7D%0A%20%20jQuery(%22%23%22%2Bthis.flashDivId).width(this.flashDivWidth%2B'px').height(this.flashDivHeight%2B'px')%3B%0A%20%20AmznVideoPlayer.lastPlayedId%3Dthis.id%3B%0A%20%20return%20this%3B%0A%7D%0A%0AAmznVideoPlayer.prototype.hideFlash%3Dfunction()%7B%0A%20%20this.preparePlaceholder()%3B%0A%20%20jQuery(%22%23%22%2Bthis.flashDivId).width('0px').height('1px')%3B%0A%20%20return%20this%3B%0A%7D%0A%0AAmznVideoPlayer.prototype.preparePlaceholder%3Dfunction()%7B%0A%20%20if(!(jQuery('%23'%2Bthis.flashDivId).length)%7C%7C!(jQuery('%23'%2Bthis.preplayDivId)))%7B%0A%20%20%20%20var%20preplayDiv%3DjQuery(%22%3Cdiv%20id%3D'%22%2Bthis.preplayDivId%2B%22'%3E%3C%2Fdiv%3E%22).css(%7B'position'%3A'relative'%7D)%3B%0A%20%20%20%20var%20flashDiv%3DjQuery(%22%3Cdiv%20id%3D'%22%2Bthis.flashDivId%2B%22'%3E%3Cdiv%20id%3D'so_%22%2Bthis.id%2B%22'%2F%3E%3C%2Fdiv%3E%22).css(%7B'overflow'%3A'hidden'%2Cbackground%3A'%23000000'%7D)%3B%0A%20%20%20%20var%20wrapper%3DjQuery(%22%3Cdiv%2F%3E%22).css(%7B'position'%3A'relative'%2C'float'%3A'left'%7D).append(preplayDiv).append(flashDiv)%3B%0A%20%20%20%20jQuery('%23'%2Bthis.targetId).html(wrapper)%3B%0A%20%20%7D%0A%7D%0A%0AAmznVideoPlayer.prototype.resizeVideo%3Dfunction(width%2Cheight)%7B%0A%20%20this.flashDivWidth%3Dwidth%3B%0A%20%20this.flashDivHeight%3Dheight%3B%0A%20%20if%20(jQuery(%22%23%22%2Bthis.flashDivId)%26%26jQuery(%22%23%22%2Bthis.flashDivId).width()!%3D0)%7Bthis.showFlash()%3B%7D%0A%7D%0A%0AAmznVideoPlayer.prototype.preplayClick%3Dfunction()%7B%20%0A%20%20if(this.swfLoaded)%7Bthis.play()%3B%7D%20%0A%20%20this.showFlash()%3B%0A%20%20this.hidePreplay()%3B%0A%7D%0A%0AAmznVideoPlayer.prototype.play%3Dfunction()%7B%0A%20%20var%20so%3Dthis.getSO()%3B%0A%20%20if(typeof%20so.playVideo%3D%3D'function')%7B%0A%20%20%20%20if(this.id!%3DAmznVideoPlayer.lastPlayedId)%7B%0A%20%20%20%20%20%20AmznVideoPlayer.players%5BAmznVideoPlayer.lastPlayedId%5D.pause()%3B%0A%20%20%20%20%7D%0A%20%20%20%20AmznVideoPlayer.lastPlayedId%3Dthis.id%3Bso.playVideo()%3B%0A%20%20%7D%0A%7D%0A%0AAmznVideoPlayer.prototype.pause%3Dfunction()%7Bif(this.swfLoading%7C%7Cthis.swfLoaded)%7Bthis.autoplayCancelled%3Dtrue%3B%7Dvar%20so%3Dthis.getSO()%3Bif(so%20%26%26%20typeof%20so.pauseVideo%3D%3D'function')%7Bso.pauseVideo()%3B%7D%7D%0AAmznVideoPlayer.prototype.stop%3Dfunction()%7Bif(this.swfLoading%7C%7Cthis.swfLoaded)%7Bthis.autoplayCancelled%3Dtrue%3B%7Dvar%20so%3Dthis.getSO()%3Bif(so%20%26%26%20typeof%20so.stopVideo%3D%3D'function')%7Bso.stopVideo()%3B%7D%7D%0AAmznVideoPlayer.prototype.getSO%3Dfunction()%7Breturn%20jQuery(%22%23so_%22%2Bthis.id).get(0)%3B%7D%0A%0Afunction%20isAutoplayCancelled(showID)%20%7B%0A%20%20return%20(AmznVideoPlayer.players%5BshowID%5D%20%26%26%20AmznVideoPlayer.players%5BshowID%5D.autoplayCancelled%20%3D%3D%20true)%3B%20%0A%7D%0A%3C%2Fscript%3E%0A\";\n            jQuery(\"\\u003Cdiv\\u003E\\u003C/div\\u003E\").insertAfter(\"#main-image-widget\").html(decodeURIComponent(markup));\n        })();\n        data.cfEndTimer = new JSBNG__Date();\n        amznJQ.available(\"imageBlock\", function() {\n            jQuery.imageBlock = new ImageBlock(data);\n            ImageBlock.TwisterReArchModule = function() {\n                return jQuery.imageBlock.getTwisterReArchApis();\n            }();\n        });\n    });\n});");
+// 1102
+geval("if (window.amznJQ) {\n    amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n        var precacheDetailImages = function(imageUrls, pids) {\n            function transformUrl(imgUrl, pid) {\n                var suffix = \"._SL500_AA300_.jpg\", defaultApparel = \"._AA300_.jpg\", imgUrlSplit = imgUrl.split(\"._\");\n                if (imgUrlSplit.length) {\n                    var prefix = imgUrlSplit[0];\n                    if (((((!pid && ((storeName == \"books\")))) || ((pid == \"books_display_on_website\"))))) {\n                        if (imgUrl.match(\"PIsitb-sticker-arrow\")) {\n                            var OUID = imgUrl.substr(imgUrl.indexOf(\"_OU\"), 6);\n                            var lookInsideSticker = ((((\"._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20\" + OUID)) + \".jpg\"));\n                            urls.push(((prefix + lookInsideSticker)));\n                        }\n                         else {\n                            urls.push(((prefix + suffix)));\n                        }\n                    ;\n                    ;\n                    }\n                     else if (((((!pid && ((storeName == \"apparel\")))) || ((pid == \"apparel_display_on_website\"))))) {\n                        urls.push(((prefix + \"._SX342_.jpg\")));\n                        urls.push(((prefix + \"._SY445_.jpg\")));\n                    }\n                     else if (((((!pid && ((storeName == \"shoes\")))) || ((pid == \"shoes_display_on_website\"))))) {\n                        urls.push(((prefix + \"._SX395_.jpg\")));\n                        urls.push(((prefix + \"._SY395_.jpg\")));\n                    }\n                     else {\n                        urls.push(((prefix + suffix)));\n                    }\n                    \n                    \n                ;\n                ;\n                }\n            ;\n            ;\n            };\n        ;\n        ;\n            var urls = [], numImgsPreload = Math.min(6, imageUrls.length), storeName = \"books\";\n            for (var i = 0; ((i < numImgsPreload)); i++) {\n                var currPid = ((((pids && pids.length)) ? pids[i] : \"\"));\n                transformUrl(imageUrls[i], currPid);\n            };\n        ;\n            for (var j = 0; ((j < urls.length)); j++) {\n                var img = new JSBNG__Image();\n                img.src = urls[j];\n            };\n        ;\n        };\n        var win = jQuery(window);\n        var feature = jQuery(\"#purchaseShvl\");\n        var shvlPresent = ((((feature.length > 0)) ? 1 : 0));\n        var lastCheck = 0;\n        var pending = 0;\n        var onScrollPrecache = function() {\n            if (pending) {\n                return;\n            }\n        ;\n        ;\n            var lastCheckDiff = ((new JSBNG__Date().getTime() - lastCheck));\n            var checkDelay = ((((lastCheckDiff < 200)) ? ((200 - lastCheckDiff)) : 10));\n            pending = 1;\n            var u = function() {\n                if (((shvlPresent && ((((win.scrollTop() + win.height())) > ((feature.offset().JSBNG__top + 200))))))) {\n                    var p = precacheDetailImages, $ = jQuery;\n                    if (p) {\n                        var selector = \"#purchaseButtonWrapper\";\n                        var imgElems = $(selector).JSBNG__find(\"a \\u003E div \\u003E img\");\n                        var pgs, imgs = [], i = imgElems.length;\n                        while (((i-- > 0))) {\n                            imgs[i] = $(imgElems[i]).attr(\"src\");\n                        };\n                    ;\n                        p(imgs, pgs);\n                    }\n                ;\n                ;\n                    $(window).unbind(\"JSBNG__scroll\", onScrollPrecache);\n                    return;\n                }\n            ;\n            ;\n                pending = 0;\n                lastCheck = new JSBNG__Date().getTime();\n            };\n            JSBNG__setTimeout(u, checkDelay);\n            return;\n        };\n        jQuery(window).bind(\"JSBNG__scroll\", onScrollPrecache);\n    });\n}\n;\n;");
+// 1103
+geval("amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n    amznJQ.available(\"search-js-jq\", function() {\n    \n    });\n    amznJQ.available(\"amazonShoveler\", function() {\n    \n    });\n    amznJQ.available(\"simsJS\", function() {\n    \n    });\n    amznJQ.available(\"cmuAnnotations\", function() {\n    \n    });\n    amznJQ.available(\"externalJS.tagging\", function() {\n    \n    });\n    amznJQ.available(\"amzn-ratings-bar\", function() {\n    \n    });\n    amznJQ.available(\"accessoriesJS\", function() {\n    \n    });\n    amznJQ.available(\"priceformatterJS\", function() {\n    \n    });\n    amznJQ.available(\"CustomerPopover\", function() {\n    \n    });\n    if (!window.DPClientLogger) {\n        window.DPClientLogger = {\n        };\n    }\n;\n;\n    window.DPClientLogger.ImpressionLogger = function(program_group, feature, forceUpload, controlledLogging) {\n        var JSBNG__self = this, data = {\n        };\n        var isBooksUdploggingDisabled = false;\n        var enableNewCSMs = false;\n        var newCSMs = [\"ma-books-image-ftb-shown\",\"ma-books-image-listen-shown\",];\n        JSBNG__self.logImpression = function(key) {\n            if (!((((isBooksUdploggingDisabled && ((controlledLogging !== undefined)))) && controlledLogging))) {\n                var isNewCSM = JSBNG__self.isKeyNewCSM(key);\n                if (((!isNewCSM || ((isNewCSM && enableNewCSMs))))) {\n                    data[key] = 1;\n                    JSBNG__setTimeout(JSBNG__self.upload, 2000);\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n        };\n        JSBNG__self.isKeyNewCSM = function(key) {\n            var isNewCSM = false;\n            jQuery.each(newCSMs, function(index, csm) {\n                if (((csm == key))) {\n                    isNewCSM = true;\n                }\n            ;\n            ;\n            });\n            return isNewCSM;\n        };\n        JSBNG__self.upload = function() {\n            var t = [];\n            jQuery.each(data, function(k, v) {\n                t.push(k);\n            });\n            data = {\n            };\n            if (((t.length > 0))) {\n                var protocol = ((((JSBNG__location.protocol == \"https:\")) ? \"http://jsbngssl.\" : \"http://\")), url = ((((((((((((((((((((((((((((((protocol + ue.furl)) + \"/1/action-impressions/1/OP/\")) + program_group)) + \"/action/\")) + feature)) + \":\")) + t.join())) + \"?marketplaceId=\")) + ue.mid)) + \"&requestId=\")) + ue.rid)) + \"&session=\")) + ue.sid)) + \"&_=\")) + (new JSBNG__Date()).getTime()));\n                (new JSBNG__Image()).src = url;\n            }\n        ;\n        ;\n        };\n        if (forceUpload) {\n            jQuery(window).unload(function() {\n                JSBNG__self.upload();\n            });\n        }\n    ;\n    ;\n    };\n    amznJQ.onReady(\"jQuery\", function() {\n        amznJQ.declareAvailable(\"DPClientLogger\");\n    });\n});");
+// 1104
+geval("window.$Nav.declare(\"config.prefetchUrls\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/cartPerformanceJS/cartPerformanceJS-2638627971._V1_.js\",\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/cartWithAjaxJS/cartWithAjaxJS-40220677._V1_.js\",\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/fruitCSS/US-combined-2621868138._V1_.css\",\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/registriesCSS/US-combined-545184966._V376148880_.css\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/browser-scripts/site-wide-js-1.2.6-beacon/site-wide-11198044143._V1_.js\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/browser-scripts/us-site-wide-css-beacon/site-wide-6804619766._V1_.css\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/browser-scripts/wcs-ya-homepage-beaconized/wcs-ya-homepage-beaconized-1899362992._V1_.css\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/browser-scripts/wcs-ya-homepage-beaconized/wcs-ya-homepage-beaconized-3515399030._V1_.js\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/browser-scripts/wcs-ya-order-history-beaconized/wcs-ya-order-history-beaconized-2777963369._V1_.css\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/gno/beacon/BeaconSprite-US-01._V397411194_.png\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/gno/images/general/navAmazonLogoFooter._V169459313_.gif\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/common/transparent-pixel._V386942464_.gif\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/communities/social/snwicons_v2._V369764580_.png\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/cs/css/images/amznbtn-sprite03._V387356454_.png\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/cs/help/images/spotlight/kindle-family-02b._V386370244_.jpg\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/cs/orders/images/acorn._V192250692_.gif\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/cs/orders/images/amazon-gc-100._V192250695_.gif\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/cs/orders/images/amazon-gcs-100._V192250695_.gif\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/cs/orders/images/btn-close._V192250694_.gif\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/cs/projects/text-trace/texttrace_typ._V381285749_.js\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/cs/ya/images/new-link._V192250664_.gif\",\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/cs/ya/images/shipment_large_lt._V192250661_.gif\",]);\n_navbar = ((window._navbar || {\n}));\n_navbar.prefetch = function() {\n    ((window.amznJQ && amznJQ.addPL(window.$Nav.getNow(\"config.prefetchUrls\"))));\n};\n((window.$Nav && $Nav.declare(\"config.prefetch\", _navbar.prefetch)));\n((window.$Nav && $Nav.declare(\"config.flyoutURL\", null)));\n((window.$Nav && $Nav.declare(\"btf.lite\")));\n((window.amznJQ && amznJQ.declareAvailable(\"navbarBTFLite\")));\n((window.$Nav && $Nav.declare(\"btf.full\")));\n((window.amznJQ && amznJQ.declareAvailable(\"navbarBTF\")));");
+// 1105
+geval("function ea437a567b8951405923f1dd8a451ff2fb8af4bd9(JSBNG__event) {\n    if (((typeof (SitbReader) != \"undefined\"))) {\n        SitbReader.LightboxActions.openReaderToPage(1, null, \"sib_dp_pop_fc\");\n        return false;\n    }\n;\n;\n};\n;");
+// 1106
+geval("function eca22cd4d1fddb66e7e1131bc9351a418482824c6(JSBNG__event) {\n    if (((typeof (SitbReader) != \"undefined\"))) {\n        SitbReader.LightboxActions.openReaderToPage(8, null, \"sib_dp_pop_toc\");\n        return false;\n    }\n;\n;\n};\n;");
+// 1107
+geval("function eebf57e7d48ea0f9b644a375f832fa5c8e39288cf(JSBNG__event) {\n    if (((typeof (SitbReader) != \"undefined\"))) {\n        SitbReader.LightboxActions.openReaderToPage(16, null, \"sib_dp_pop_ex\");\n        return false;\n    }\n;\n;\n};\n;");
+// 1108
+geval("function eb63132dcbd7e3b87dbd8bdc80c7e6ac74502dbe7(JSBNG__event) {\n    if (((typeof (SitbReader) != \"undefined\"))) {\n        SitbReader.LightboxActions.openReaderToPage(162, null, \"sib_dp_pop_idx\");\n        return false;\n    }\n;\n;\n};\n;");
+// 1109
+geval("function e39fa9a32ceb518df7bdc69775f88030eb625c2e3(JSBNG__event) {\n    if (((typeof (SitbReader) != \"undefined\"))) {\n        SitbReader.LightboxActions.openReaderToPage(172, null, \"sib_dp_pop_bc\");\n        return false;\n    }\n;\n;\n};\n;");
+// 1110
+geval("function e6986d4a6bbbcb9d93324d13a669fcdc0e3ea6a91(JSBNG__event) {\n    if (((typeof (SitbReader) != \"undefined\"))) {\n        SitbReader.LightboxActions.openReaderToRandomPage(\"sib_dp_pop_sup\");\n        return false;\n    }\n;\n;\n};\n;");
+// 1111
+geval("function eb7facf46f7d690d56a594a47a467286f97f1c942(JSBNG__event) {\n    if (((typeof (SitbReader) != \"undefined\"))) {\n        SitbReader.LightboxActions.openReaderToSearchResults(jQuery(\"#sitb-pop-inputbox\").val(), \"sib_dp_srch_pop\");\n        return false;\n    }\n;\n;\n};\n;");
+// 1112
+geval("function sitb_doHide() {\n    return false;\n};\n;\nfunction sitb_showLayer() {\n    return false;\n};\n;\namznJQ.available(\"popover\", function() {\n    jQuery(\"div#main-image-wrapper\").amazonPopoverTrigger({\n        localContent: \"#sitb-pop\",\n        showOnHover: true,\n        showCloseButton: false,\n        hoverShowDelay: 500,\n        hoverHideDelay: 300,\n        width: 370,\n        JSBNG__location: \"left\",\n        locationOffset: [400,60,]\n    });\n});");
+// 1113
+geval("function e12164597c6e7aa13331b796bcfccfe8d183171fc(JSBNG__event) {\n    return amz_js_PopWin(this.href, \"AmazonHelp\", \"width=450,height=450,resizable=1,scrollbars=1,toolbar=1,status=1\");\n};\n;");
+// 1114
+geval("function e7b4b62ed63bb24fb5d3a93038a3297706881d76b(JSBNG__event) {\n    showSLF();\n};\n;");
+// 1115
+geval("amznJQ.available(\"jQuery\", function() {\n    var obj = [{\n        provider: \"g\",\n        description: \"Chosen by top software vendors. View 200+ examples &amp; full docs\",\n        title: \"Enterprise AJAX Framework\",\n        redirectUrl: \"http://rd.a9.com/srv/redirect/?info=AJ2aNCtL004gUZilaUqVplhytp01bzPVgJJ3bkCyDuXa.ysPWYKB24QMbX-QebySto9ULrlyNSZtBaSCraJTXDMSTZBkjwvFW8KR26Svjz0nz8t8hwtSnDVSTo.XuhNlcujP-KXRnhlh066vVXN5ct9X2fkgOKScX-.pDOoCwCEMvfdruxWPd3fwfe8beBif8ted6tAWddScs3UIhHJLsgkA6LAnEUHEHtcNPklKm3u-em-OkkpRYhUJ.M.ZIT.ARmZME4PRFJaAox9poewcJ4EarmV6eJfSn56tgHFLwCoVt1Vlb4IZWQTYYfNMzPY2IclkWlMFcv2rkhL51Zv8xFEhQY.9ijSBMgJ4Pmg7Bk07982cITzmunqOqBqZ6gxQ7oaIj0wLKQ0DSHw6NDBbN14EsxUdMNBc6KzTaoRZsjHHJn3pbb29A.mMbwfmorkFOGFGLb15ZhbdF93rsWZL3DGDd6VK2rTEV7WbFEsJEdeUHOjenEEbVX6aFjRJ5Sn6Fi4GPwbtjEKZ82XVka3bZvx1XD2k-BPuf7vQtkiIsnDBjIWpHXz5YOWWl7DKoPoRLmjJbwyAZz0UFvzEXR.jFaU_&awt=1&s=\",\n        visibleUrl: \"www.smartclient.com/\"\n    },{\n        provider: \"g\",\n        description: \"Find \\u003Cb\\u003EJavascript The Good Parts\\u003C/b\\u003E; Online at Ask.com. Try It Now!\",\n        title: \"\\u003Cb\\u003EJavascript The Good Parts\\u003C/b\\u003E\",\n        redirectUrl: \"http://rd.a9.com/srv/redirect/?info=AAw22oUkV89YOFGxfDDlH6u3QuipCjwXNPADJhGtVhKmRNT-.UtjyUOp9meMW66jiezXALcN42o3ErWrKrXkBoefwATIdnv7yG1adPJFhjlxeLkNe-H6mAiC5AW7l4UjEEogzXYCm7HQ9tuP3w5RnMR.wNHmi5uJhA.L3YmDrIvGLubHZgwaR.YEBSbACFN5HuegXC.4J-dw4mtQrDr.swQ98AAYinLRiUlOxKGyOtB7ir8hUZjpdczGFQR8qDJKalgmVNjdtVMNRIr5iaoPvc7pNp5cekMaJtytCpr-7yiLAC74Dpgu1XHP8cUCPBEtxDyWKb3HCVd.gmm2AFsxYzmce82mAfTSxBKpjsu1J0.MmtcE6cLjEFUIAC-BIRZPUr7QSVWLjKOH8KC7sdviB1aswBjV8YnFSbyg8ThfurAAGKjB4s.3F7XcfXNw1RQGm5DR.A9qTYRGjgkiSKBrln2.26P0UKnwuqznKnFyOkQSBrFjo6uBuM06Hph8akuFb5g6pBJifrfLySKj2mjBZ9pJIeqhkk0IakQmKsNyTkRdH3k3P6og5vRb6USm2hx0vivYKBAcmFBqqxJfh9sPeawV.nDz4WDIpHRMi0hDJDZV01nMLxdY8W3AHD43jrNZmtYJl8H-gcnoy9OZdfpIkuktAmGi6EBf.Z5coT9aTCh2AC5ui-vfIeVK.8YeSzbmGTQRq41iUQmHP1ithj509oircsmKljZnsK1HjLtmSBm8QXR.LFc0wLtgyHAfC7Yko3-7OaCRHZNxJojnD4SOpeBIodhJV9WMyw__&awt=1&s=\",\n        visibleUrl: \"www.ask.com/\\u003Cb\\u003EJavascript\\u003C/b\\u003E+The+\\u003Cb\\u003EGood\\u003C/b\\u003E+\\u003Cb\\u003EParts\\u003C/b\\u003E\"\n    },{\n        provider: \"g\",\n        description: \"Generate dynamical PDF documents out of Word templates with PHP\",\n        title: \"PDFs from Word Templates\",\n        redirectUrl: \"http://rd.a9.com/srv/redirect/?info=ALi0gFkAA0jg0m7Pbw8dHMm4-F.FJUKh3W9vtatzasdLbfEvaXy044E.6nWJZcF3FNCJz2IeDKM0KMDyOjNbccH.jZ1V5.5LSGareqCvWuoiKbNoNNtXZdJfXK1rWnGR6iOXqBzmYAG739YWgdlE5KYQxIm37EouYm60ypa7QHiFtL2W0lZcFNu8ibcsJ78hQ2OJoa-cwKnwNkwtJ8VMhZb0Pn68z9s8kBuVVqnopeuk8S-hdiPzRVKSGqABaT.BmjokBVUHj6uQ5m9jBuXcLKJEQ1L5tMmxJuBFllwiNlss5HjvbJySUwS10.iolF6MzQoXGz10-OWhvPMjdirr6mgdhLBaih5xeH7xraSdxN2JAeJ4YkzzCYdcHUssyd79r7aJNG2hH3ETJlk01C50DvucL-sjH7K3lEWvjRZ8F6piLaZ6yKZTvTV2S2dvoE-BYoXU5Cy70Flwp1TeLt8MTg1IVWqIRja2wP.etnytjuUp4BnAtKGqd96G2LbZJsfnGCxwpQT8tLoDsAHwGXYc6JNrtSJVqFPzFENzdzHLcS1XlV9p5ZF.TlqYsHRbDmmYNG2S9YRTd68KVqYn92ccwfcZwnYzQrJJGw__&awt=1&s=\",\n        visibleUrl: \"www.pdf-php.com/WordTemplates\"\n    },];\n    var adPropertiesDelimiter = \"__\";\n    var adCount = 3;\n    var slDiv = \"SlDiv\";\n    var expectedHeightWide = 34;\n    var expectedHeightMiddle = 56;\n    var reformatType = \"0\";\n    jQuery(window).load(function() {\n        amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n            var divWideName = ((slDiv + \"_0\"));\n            var divMiddleName = ((slDiv + \"_1\"));\n            var heightOfOneAd = ((jQuery(((\"#\" + divWideName))).height() / adCount));\n            if (((heightOfOneAd > expectedHeightWide))) {\n                reformatType = \"1\";\n                var newAdsHtml = ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((\"\\u003Ctr\\u003E\" + \"    \\u003Ctd\\u003E\")) + \"     \\u003Cdiv class=\\\"SponsoredLinkItemTD\\\"\\u003E\")) + \"         \\u003Cspan class = \\\"SponsoredLinkYellowBlockEnclosureTop\\\"\\u003E\")) + \"             \\u003Cspan class=\\\"SponsoredLinkYellowBlockEnclosure\\\"\\u003E\")) + \"                 \\u003Cspan class=\\\"SponsoredLinkYellowBlock\\\"\\u003E&nbsp;\\u003C/span\\u003E&nbsp;\")) + \"             \\u003C/span\\u003E\")) + \"         \\u003C/span\\u003E&nbsp;&nbsp;\")) + \"     \\u003C/div\\u003E\")) + \"    \\u003C/td\\u003E\")) + \"    \\u003Ctd\\u003E\")) + \"     \\u003Cdiv class=\\\"SponsoredLinkTitle\\\"\\u003E\")) + \"         \\u003Ca target=\\\"_blank\\\" href=\\\"\")) + adPropertiesDelimiter)) + \"redirectUrl\")) + adPropertiesDelimiter)) + \"\\\" rel=\\\"nofollow\\\"\\u003E\\u003Cb\\u003E\")) + adPropertiesDelimiter)) + \"title\")) + adPropertiesDelimiter)) + \"\\u003C/b\\u003E\\u003C/a\\u003E\")) + \"         \\u003Ca target=\\\"_blank\\\" href=\\\"\")) + adPropertiesDelimiter)) + \"redirectUrl\")) + adPropertiesDelimiter)) + \"\\\" rel=\\\"nofollow\\\"\\u003E\\u003Cimg src=\\\"http://g-ecx.images-amazon.com/images/G/01/icons/icon-offsite-sl-7069-t4._V171196157_.png\\\" width=\\\"23\\\" alt=\\\"opens new browser window\\\" align=\\\"absbottom\\\" style=\\\"padding-bottom:0px; margin-bottom:0px;\\\" height=\\\"20\\\" border=\\\"0\\\" /\\u003E\\u003C/a\\u003E\")) + \"     \\u003C/div\\u003E\")) + \"    \\u003C/td\\u003E\")) + \"    \\u003Ctd style=\\\"padding-left: 20px;\\\"\\u003E\")) + \"     \\u003Cdiv class=\\\"SponsoredLinkDescriptionDIV\\\"\\u003E\")) + \"         \\u003Cspan class=\\\"SponsoredLinkDescriptionText\\\"\\u003E\")) + adPropertiesDelimiter)) + \"description\")) + adPropertiesDelimiter)) + \"\\u003C/span\\u003E\")) + \"     \\u003C/div\\u003E\")) + \"    \\u003C/td\\u003E\")) + \"\\u003C/tr\\u003E\")) + \"\\u003Ctr\\u003E\")) + \"     \\u003Ctd\\u003E\")) + \"     \\u003C/td\\u003E\")) + \"     \\u003Ctd\\u003E\")) + \"     \\u003C/td\\u003E\")) + \"    \\u003Ctd style=\\\"padding-left: 20px;\\\"\\u003E\")) + \"     \\u003Cdiv class=\\\"SponsoredLinkDescriptionDIV\\\" style=\\\"padding-top:0px; padding-bottom:10px\\\"\\u003E\")) + \"         \\u003Ca target=\\\"_blank\\\" href=\\\"\")) + adPropertiesDelimiter)) + \"redirectUrl\")) + adPropertiesDelimiter)) + \"\\\" rel=\\\"nofollow\\\" class=\\\"SponsoredLinkDescriptionUrlLink\\\"\\u003E\")) + adPropertiesDelimiter)) + \"visibleUrl\")) + adPropertiesDelimiter)) + \"\\u003C/a\\u003E\")) + \"     \\u003C/div\\u003E\")) + \"    \\u003C/td\\u003E\")) + \"\\u003C/tr\\u003E\"));\n                dumpHtml(obj, newAdsHtml, \"\\u003Cdiv id=\\\"SlDiv_1\\\"\\u003E\\u003Cdiv id=\\\"A9AdsWidgetAdsWrapper\\\"\\u003E\\u003Ctable class=\\\"SponsoredLinkColumnAds\\\"\\u003E  \\u003Ctbody\\u003E \", \"\\u003C/tbody\\u003E \\u003C/table\\u003E \\u003C/div\\u003E\\u003C/div\\u003E\", divWideName);\n                var heightOfOneAd = ((jQuery(((\"#\" + divMiddleName))).height() / adCount));\n                if (((heightOfOneAd > expectedHeightMiddle))) {\n                    reformatType = \"2\";\n                    var newAdsHtml = ((((((((((((((((((((((((((((((((((((((((((((((((\"\\u003Cdiv class=\\\"SponsoredLinkItemTD\\\"\\u003E  \\u003Cspan class=\\\"SponsoredLinkYellowBlockEnclosureTop\\\"\\u003E\\u003Cspan class=\\\"SponsoredLinkYellowBlockEnclosure\\\"\\u003E\\u003Cspan class=\\\"SponsoredLinkYellowBlock\\\"\\u003E&nbsp;\\u003C/span\\u003E&nbsp; \\u003C/span\\u003E\\u003C/span\\u003E&nbsp;&nbsp;\\u003Ca target=\\\"_blank\\\" href=\\\"\" + adPropertiesDelimiter)) + \"redirectUrl\")) + adPropertiesDelimiter)) + \"\\\" rel=\\\"nofollow\\\"\\u003E\\u003Cb\\u003E\")) + adPropertiesDelimiter)) + \"title\")) + adPropertiesDelimiter)) + \"\\u003C/b\\u003E\\u003C/a\\u003E&nbsp;\\u003Ca rel=\\\"nofollow\\\" href=\\\"\")) + adPropertiesDelimiter)) + \"redirectUrl\")) + adPropertiesDelimiter)) + \"\\\" target=\\\"_blank\\\"\\u003E\\u003Cimg src=\\\"http://g-ecx.images-amazon.com/images/G/01/icons/icon-offsite-sl-7069-t4._V171196157_.png\\\" width=\\\"23\\\" alt=\\\"opens new browser window\\\" align=\\\"absbottom\\\" style=\\\"padding-bottom:0px; margin-bottom:0px;\\\" height=\\\"20\\\" border=\\\"0\\\" /\\u003E\\u003C/a\\u003E  \\u003Cdiv class=\\\"SponsoredLinkDescription\\\"\\u003E&nbsp;&nbsp;&nbsp;&nbsp;\\u003Ca target=\\\"_blank\\\" href=\\\"\")) + adPropertiesDelimiter)) + \"redirectUrl\")) + adPropertiesDelimiter)) + \"\\\" rel=\\\"nofollow\\\" class=\\\"SponsoredLinkDescriptionUrlLink\\\"\\u003E\")) + adPropertiesDelimiter)) + \"visibleUrl\")) + adPropertiesDelimiter)) + \"\\u003C/a\\u003E  \\u003C/div\\u003E  \\u003Cdiv class=\\\"SponsoredLinkDescription\\\"\\u003E&nbsp;&nbsp;&nbsp;&nbsp;\\u003Cspan class=\\\"SponsoredLinkDescriptionText\\\"\\u003E\")) + adPropertiesDelimiter)) + \"description\")) + adPropertiesDelimiter)) + \"\\u003C/span\\u003E  \\u003C/div\\u003E \\u003C/div\\u003E\"));\n                    dumpHtml(obj, newAdsHtml, \"\\u003Cdiv id=\\\"SlDiv_2\\\"\\u003E\\u003Cdiv id=\\\"A9AdsWidgetAdsWrapper\\\"\\u003E\", \"\\u003C/div\\u003E\\u003C/div\\u003E\", divMiddleName);\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            if (((typeof A9_SL_CSM_JS != \"undefined\"))) {\n                A9_SL_CSM_JS(reformatType);\n            }\n        ;\n        ;\n        });\n    });\n    function dumpHtml(obj, newAdsHtml, topHtml, bottomHtml, divParent) {\n        var i = 0;\n        var completeAdsHtml = \"\";\n        {\n            var fin8keys = ((window.top.JSBNG_Replay.forInKeys)((obj))), fin8i = (0);\n            (0);\n            for (; (fin8i < fin8keys.length); (fin8i++)) {\n                ((x) = (fin8keys[fin8i]));\n                {\n                    var adChunks = newAdsHtml.split(adPropertiesDelimiter);\n                    for (var j = 0; ((j < adChunks.length)); j++) {\n                        if (((typeof obj[i][adChunks[j]] != \"undefined\"))) {\n                            adChunks[j] = obj[i][adChunks[j]];\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    completeAdsHtml += adChunks.join(\"\");\n                    i++;\n                };\n            };\n        };\n    ;\n        newAdsHtml = ((((topHtml + completeAdsHtml)) + bottomHtml));\n        jQuery(((\"#\" + divParent))).replaceWith(newAdsHtml);\n    };\n;\n});\nvar jsonAds = \"[{\\\"provider\\\":\\\"g\\\",\\\"description\\\":\\\"Chosen by top software vendors. View 200+ examples &amp; full docs\\\",\\\"title\\\":\\\"Enterprise AJAX Framework\\\",\\\"redirectUrl\\\":\\\"http://rd.a9.com/srv/redirect/?info=AJ2aNCtL004gUZilaUqVplhytp01bzPVgJJ3bkCyDuXa.ysPWYKB24QMbX-QebySto9ULrlyNSZtBaSCraJTXDMSTZBkjwvFW8KR26Svjz0nz8t8hwtSnDVSTo.XuhNlcujP-KXRnhlh066vVXN5ct9X2fkgOKScX-.pDOoCwCEMvfdruxWPd3fwfe8beBif8ted6tAWddScs3UIhHJLsgkA6LAnEUHEHtcNPklKm3u-em-OkkpRYhUJ.M.ZIT.ARmZME4PRFJaAox9poewcJ4EarmV6eJfSn56tgHFLwCoVt1Vlb4IZWQTYYfNMzPY2IclkWlMFcv2rkhL51Zv8xFEhQY.9ijSBMgJ4Pmg7Bk07982cITzmunqOqBqZ6gxQ7oaIj0wLKQ0DSHw6NDBbN14EsxUdMNBc6KzTaoRZsjHHJn3pbb29A.mMbwfmorkFOGFGLb15ZhbdF93rsWZL3DGDd6VK2rTEV7WbFEsJEdeUHOjenEEbVX6aFjRJ5Sn6Fi4GPwbtjEKZ82XVka3bZvx1XD2k-BPuf7vQtkiIsnDBjIWpHXz5YOWWl7DKoPoRLmjJbwyAZz0UFvzEXR.jFaU_&awt=1&s=\\\",\\\"visibleUrl\\\":\\\"www.smartclient.com/\\\"},{\\\"provider\\\":\\\"g\\\",\\\"description\\\":\\\"Find \\u003Cb\\u003EJavascript The Good Parts\\u003C/b\\u003E; Online at Ask.com. Try It Now!\\\",\\\"title\\\":\\\"\\u003Cb\\u003EJavascript The Good Parts\\u003C/b\\u003E\\\",\\\"redirectUrl\\\":\\\"http://rd.a9.com/srv/redirect/?info=AAw22oUkV89YOFGxfDDlH6u3QuipCjwXNPADJhGtVhKmRNT-.UtjyUOp9meMW66jiezXALcN42o3ErWrKrXkBoefwATIdnv7yG1adPJFhjlxeLkNe-H6mAiC5AW7l4UjEEogzXYCm7HQ9tuP3w5RnMR.wNHmi5uJhA.L3YmDrIvGLubHZgwaR.YEBSbACFN5HuegXC.4J-dw4mtQrDr.swQ98AAYinLRiUlOxKGyOtB7ir8hUZjpdczGFQR8qDJKalgmVNjdtVMNRIr5iaoPvc7pNp5cekMaJtytCpr-7yiLAC74Dpgu1XHP8cUCPBEtxDyWKb3HCVd.gmm2AFsxYzmce82mAfTSxBKpjsu1J0.MmtcE6cLjEFUIAC-BIRZPUr7QSVWLjKOH8KC7sdviB1aswBjV8YnFSbyg8ThfurAAGKjB4s.3F7XcfXNw1RQGm5DR.A9qTYRGjgkiSKBrln2.26P0UKnwuqznKnFyOkQSBrFjo6uBuM06Hph8akuFb5g6pBJifrfLySKj2mjBZ9pJIeqhkk0IakQmKsNyTkRdH3k3P6og5vRb6USm2hx0vivYKBAcmFBqqxJfh9sPeawV.nDz4WDIpHRMi0hDJDZV01nMLxdY8W3AHD43jrNZmtYJl8H-gcnoy9OZdfpIkuktAmGi6EBf.Z5coT9aTCh2AC5ui-vfIeVK.8YeSzbmGTQRq41iUQmHP1ithj509oircsmKljZnsK1HjLtmSBm8QXR.LFc0wLtgyHAfC7Yko3-7OaCRHZNxJojnD4SOpeBIodhJV9WMyw__&awt=1&s=\\\",\\\"visibleUrl\\\":\\\"www.ask.com/\\u003Cb\\u003EJavascript\\u003C/b\\u003E+The+\\u003Cb\\u003EGood\\u003C/b\\u003E+\\u003Cb\\u003EParts\\u003C/b\\u003E\\\"},{\\\"provider\\\":\\\"g\\\",\\\"description\\\":\\\"Generate dynamical PDF documents out of Word templates with PHP\\\",\\\"title\\\":\\\"PDFs from Word Templates\\\",\\\"redirectUrl\\\":\\\"http://rd.a9.com/srv/redirect/?info=ALi0gFkAA0jg0m7Pbw8dHMm4-F.FJUKh3W9vtatzasdLbfEvaXy044E.6nWJZcF3FNCJz2IeDKM0KMDyOjNbccH.jZ1V5.5LSGareqCvWuoiKbNoNNtXZdJfXK1rWnGR6iOXqBzmYAG739YWgdlE5KYQxIm37EouYm60ypa7QHiFtL2W0lZcFNu8ibcsJ78hQ2OJoa-cwKnwNkwtJ8VMhZb0Pn68z9s8kBuVVqnopeuk8S-hdiPzRVKSGqABaT.BmjokBVUHj6uQ5m9jBuXcLKJEQ1L5tMmxJuBFllwiNlss5HjvbJySUwS10.iolF6MzQoXGz10-OWhvPMjdirr6mgdhLBaih5xeH7xraSdxN2JAeJ4YkzzCYdcHUssyd79r7aJNG2hH3ETJlk01C50DvucL-sjH7K3lEWvjRZ8F6piLaZ6yKZTvTV2S2dvoE-BYoXU5Cy70Flwp1TeLt8MTg1IVWqIRja2wP.etnytjuUp4BnAtKGqd96G2LbZJsfnGCxwpQT8tLoDsAHwGXYc6JNrtSJVqFPzFENzdzHLcS1XlV9p5ZF.TlqYsHRbDmmYNG2S9YRTd68KVqYn92ccwfcZwnYzQrJJGw__&awt=1&s=\\\",\\\"visibleUrl\\\":\\\"www.pdf-php.com/WordTemplates\\\"}]\";\nfunction enableFeedbackLinkDiv() {\n    amznJQ.onReady(\"jQuery\", function() {\n        jQuery(\"#ShowFeedbackLinkDiv\").show();\n    });\n};\n;\nenableFeedbackLinkDiv();\nvar flag = 1;\nfunction showSLF() {\n    if (((flag == 1))) {\n        jQuery.post(\"/gp/product/handler.html\", {\n            sid: \"177-2724246-1767538\",\n            jsonAds: escape(jsonAds)\n        }, function(data) {\n            jQuery(\"#FeedbackFormDiv\").html(data);\n            jQuery(\"#FeedbackFormDiv\").show();\n            jQuery(\"#ShowFeedbackLinkDiv\").hide();\n            jQuery(\"#ResponseFeedbackLinkDiv\").hide();\n            flag = 0;\n        });\n    }\n     else {\n        jQuery(\"#reports-ads-abuse-form\").show();\n        jQuery(\"#FeedbackFormDiv\").show();\n        jQuery(\"#reports-ads-abuse\").show();\n        jQuery(\"#ShowFeedbackLinkDiv\").hide();\n        jQuery(\"#ResponseFeedbackLinkDiv\").hide();\n    }\n;\n;\n};\n;");
+// 1116
+geval("function eb5afc37659316972838b2498108c35808983376f(JSBNG__event) {\n    return false;\n};\n;");
+// 1117
+geval("function e80a769177d00456a176fbb81073dc811af7afbae(JSBNG__event) {\n    return false;\n};\n;");
+// 1118
+geval("function ed24857301d54d9e736435a86f215a3d034c4f097(JSBNG__event) {\n    return false;\n};\n;");
+// 1119
+geval("function efd762d09faefd756387821da1d4611d4ac4fbe54(JSBNG__event) {\n    amznJQ.available(\"jQuery\", function() {\n        window.AMZN_LIKE_SUBMIT = true;\n    });\n    return false;\n};\n;");
+// 1120
+geval("amznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n    amznJQ.available(\"amazonLike\", function() {\n        var stateCache = new AmazonLikeStateCache(\"amznLikeStateCache_17727242461767538_dp_asin_0596517742\");\n        stateCache.init();\n        stateCache.ready(function() {\n            if (((stateCache.getTimestamp() < 1373480090))) {\n                stateCache.set(\"isLiked\", ((jQuery(\"#amznLikeStateCache_17727242461767538_dp_asin_0596517742_isLiked\").text() == \"true\")));\n                stateCache.set(\"customerWhitelistStatus\", parseInt(jQuery(\"#amznLikeStateCache_17727242461767538_dp_asin_0596517742_customerWhitelistStatus\").text()));\n                stateCache.set(\"likeCount\", parseInt(jQuery(\"#amznLikeStateCache_17727242461767538_dp_asin_0596517742_likeCount\").text()));\n                stateCache.set(\"commifiedLikeCount\", jQuery(\"#amznLikeStateCache_17727242461767538_dp_asin_0596517742_commifiedLikeCount\").text());\n                stateCache.set(\"commifiedLikeCountMinusOne\", jQuery(\"#amznLikeStateCache_17727242461767538_dp_asin_0596517742_commifiedLikeCountMinusOne\").text());\n                stateCache.set(\"ts\", \"1373480090\");\n            }\n        ;\n        ;\n            if (!window.amznLikeStateCache) {\n                window.amznLikeStateCache = {\n                };\n            }\n        ;\n        ;\n            window.amznLikeStateCache[\"amznLikeStateCache_17727242461767538_dp_asin_0596517742\"] = stateCache;\n        });\n        var amznLikeDiv = jQuery(\"#amznLike_0596517742\");\n        var stateCache = window.amznLikeStateCache[\"amznLikeStateCache_17727242461767538_dp_asin_0596517742\"];\n        amznLikeDiv.remove();\n        var amznLike;\n        amznLike = amznLikeDiv.amazonLike({\n            context: \"dp\",\n            itemId: \"0596517742\",\n            itemType: \"asin\",\n            isLiked: stateCache.get(\"isLiked\"),\n            customerWhitelistStatus: stateCache.get(\"customerWhitelistStatus\"),\n            isCustomerSignedIn: false,\n            isOnHover: false,\n            isPressed: false,\n            popoverWidth: 335,\n            popoverAlign: \"right\",\n            popoverOffset: 0,\n            sessionId: \"177-2724246-1767538\",\n            likeCount: stateCache.get(\"likeCount\"),\n            commifiedLikeCount: stateCache.get(\"commifiedLikeCount\"),\n            commifiedLikeCountMinusOne: stateCache.get(\"commifiedLikeCountMinusOne\"),\n            isSignInRedirect: false,\n            shareText: \"Share this item\",\n            onBeforeAttachPopoverCallback: function() {\n                jQuery(\"#likeAndShareBar\").append(amznLikeDiv).show();\n            },\n            spriteURL: \"http://g-ecx.images-amazon.com/images/G/01/x-locale/personalization/amznlike/amznlike_sprite_02._V196113939_.gif\",\n            buttonOnClass: \"JSBNG__on\",\n            buttonOffClass: \"off\",\n            buttonPressedClass: \"pressed\",\n            popoverHTML: ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((\"\\u003Cdiv id=\" + \"\\\"\")) + \"amazonLikePopoverWrapper_0596517742\")) + \"\\\"\")) + \" class=\")) + \"\\\"\")) + \"amazonLikePopoverWrapper amazonLikeContext_dp\")) + \"\\\"\")) + \" \\u003E\")) + String.fromCharCode(13))) + \"\\u003Cdiv class=\")) + \"\\\"\")) + \"amazonLikeBeak \")) + \"\\\"\")) + \"\\u003E&nbsp;\\u003C/div\\u003E    \\u003Cdiv class=\")) + \"\\\"\")) + \"amazonLikePopover\")) + \"\\\"\")) + \"\\u003E\")) + String.fromCharCode(13))) + \"\\u003Cdiv class=\")) + \"\\\"\")) + \"likePopoverError\")) + \"\\\"\")) + \" style=\")) + \"\\\"\")) + \"display: none;\")) + \"\\\"\")) + \"\\u003E\")) + String.fromCharCode(13))) + \"\\u003Cspan class=\")) + \"\\\"\")) + \"error\")) + \"\\\"\")) + \" style=\")) + \"\\\"\")) + \"color: #900;\")) + \"\\\"\")) + \"\\u003E\\u003Cstrong\\u003EAn error has occurred. Please try your request again.\\u003C/strong\\u003E\\u003C/span\\u003E\")) + String.fromCharCode(13))) + \"\\u003C/div\\u003E\")) + String.fromCharCode(13))) + \"\\u003Cdiv class=\")) + \"\\\"\")) + \"likeOffPopoverContent\")) + \"\\\"\")) + \" \\u003E\")) + String.fromCharCode(13))) + \"\\u003Cdiv\\u003E\")) + String.fromCharCode(13))) + \"\\u003Cdiv class=\")) + \"\\\"\")) + \"likeCountText likeCountLoadingIndicator\")) + \"\\\"\")) + \" style=\")) + \"\\\"\")) + \"display: none;\")) + \"\\\"\")) + \"\\u003E\\u003Cimg src=\")) + \"\\\"\")) + \"http://g-ecx.images-amazon.com/images/G/01/javascripts/lib/popover/images/snake._V192571611_.gif\")) + \"\\\"\")) + \" width=\")) + \"\\\"\")) + \"16\")) + \"\\\"\")) + \" alt=\")) + \"\\\"\")) + \"Loading\")) + \"\\\"\")) + \" height=\")) + \"\\\"\")) + \"16\")) + \"\\\"\")) + \" border=\")) + \"\\\"\")) + \"0\")) + \"\\\"\")) + \" /\\u003E\\u003C/div\\u003E\")) + String.fromCharCode(13))) + \"\\u003Cspan style=\")) + \"\\\"\")) + \"font-weight: bold;\")) + \"\\\"\")) + \"\\u003E\\u003Ca class=\")) + \"\\\"\")) + \"likeSignInLink\")) + \"\\\"\")) + \" href=\")) + \"\\\"\")) + \"/gp/like/sign-in/sign-in.html/ref=pd_like_unrec_signin_nojs_dp?ie=UTF8&isRedirect=1&location=%2Fgp%2Flike%2Fexternal%2Fsubmit.html%2Fref%3Dpd_like_submit_like_unrec_nojs_dp%3Fie%3DUTF8%26action%3Dlike%26context%3Ddp%26itemId%3D0596517742%26itemType%3Dasin%26redirect%3D1%26redirectPath%3D%252Fgp%252Fproduct%252F0596517742%253Fref%25255F%253Dsr%25255F1%25255F1%2526s%253Dbooks%2526qid%253D1373480082%2526sr%253D1-1%2526keywords%253Djavascript%252520the%252520good%252520parts&useRedirectOnSuccess=1\")) + \"\\\"\")) + \"\\u003ESign in to like this\\u003C/a\\u003E.\\u003C/span\\u003E\")) + String.fromCharCode(13))) + \"\\u003C/div\\u003E\")) + String.fromCharCode(13))) + \"\\u003Cdiv class=\")) + \"\\\"\")) + \"spacer\")) + \"\\\"\")) + \"\\u003ETelling us what you like can improve your shopping experience. \\u003Ca class=\")) + \"\\\"\")) + \"grayLink\")) + \"\\\"\")) + \" href=\")) + \"\\\"\")) + \"/gp/help/customer/display.html/ref=pd_like_help_dp?ie=UTF8&nodeId=13316081#like\")) + \"\\\"\")) + \"\\u003ELearn more\\u003C/a\\u003E\\u003C/div\\u003E\")) + String.fromCharCode(13))) + \"\\u003C/div\\u003E\")) + String.fromCharCode(13))) + \"\\u003C/div\\u003E\")) + String.fromCharCode(13))) + \"\\u003C/div\\u003E\")),\n            stateCache: stateCache\n        });\n        if (window.AMZN_LIKE_SUBMIT) {\n            amznLike.onLike();\n        }\n    ;\n    ;\n    });\n});");
+// 1121
+geval("amznJQ.onReady(\"lazyLoadLib\", function() {\n    jQuery(\"#customer_discussions_lazy_load_div\").lazyLoadContent({\n        threshold: 400,\n        url: \"/gp/rcxll/dpview/0596517742?ie=UTF8&enableDiscussionsRelatedForums=1&keywords=javascript%20the%20good%20parts&qid=1373480082&ref_=sr_1_1&s=books&sr=1-1&vi=custdiscuss\",\n        metrics: true,\n        JSBNG__name: \"customer_discussions\",\n        cache: true\n    });\n});");
+// 1122
+geval("amznJQ.onReady(\"lazyLoadLib\", function() {\n    jQuery(\"#dp_bottom_lazy_lazy_load_div\").lazyLoadContent({\n        threshold: 1200,\n        url: \"/gp/rcxll/dpview/0596517742?ie=UTF8&keywords=javascript%20the%20good%20parts&qid=1373480082&ref_=sr_1_1&s=books&sr=1-1&vi=zbottest\",\n        metrics: true,\n        JSBNG__name: \"dp_bottom_lazy\",\n        cache: true\n    });\n});");
+// 1123
+geval("amznJQ.onReady(\"popover\", function() {\n    jQuery(\"#ns_0H7NC1MNEB4A52DXKGX7_313_1_hmd_pricing_feedback_trigger_hmd\").amazonPopoverTrigger({\n        title: \"Tell Us About a Lower Price\",\n        destination: \"/gp/pdp/pf/pricingFeedbackForm.html/ref=sr_1_1_pfhmd?ie=UTF8&ASIN=0596517742&PREFIX=ns_0H7NC1MNEB4A52DXKGX7_313_2_&from=hmd&keywords=javascript%20the%20good%20parts&originalURI=%2Fgp%2Fproduct%2F0596517742&qid=1373480082&s=books&sr=1-1&storeID=books\",\n        showOnHover: false,\n        draggable: true\n    });\n});");
+// 1124
+geval("var auiJavaScriptPIsAvailable = ((((typeof P === \"object\")) && ((typeof P.when === \"function\"))));\nvar rhfShovelerBootstrapFunction = function($) {\n    (function($) {\n        window.RECS_rhfShvlLoading = false;\n        window.RECS_rhfShvlLoaded = false;\n        window.RECS_rhfInView = false;\n        window.RECS_rhfMetrics = {\n        };\n        $(\"#rhf_container\").show();\n        var rhfShvlEventHandler = function() {\n            if (((((!window.RECS_rhfShvlLoaded && !window.RECS_rhfShvlLoading)) && (($(\"#rhf_container\").size() > 0))))) {\n                var yPosition = (($(window).scrollTop() + $(window).height()));\n                var rhfElementFound = $(\"#rhfMainHeading\").size();\n                var rhfPosition = $(\"#rhfMainHeading\").offset().JSBNG__top;\n                if (/webkit.*mobile/i.test(JSBNG__navigator.userAgent)) {\n                    rhfPosition -= $(window).scrollTop();\n                }\n            ;\n            ;\n                if (((rhfElementFound && ((((rhfPosition - yPosition)) < 400))))) {\n                    window.RECS_rhfMetrics[\"start\"] = (new JSBNG__Date()).getTime();\n                    window.RECS_rhfShvlLoading = true;\n                    var handleSuccess = function(html) {\n                        $(\"#rhf_container\").html(html);\n                        $(\"#rhf0Shvl\").trigger(\"render-shoveler\");\n                        window.RECS_rhfShvlLoaded = true;\n                        window.RECS_rhfMetrics[\"loaded\"] = (new JSBNG__Date()).getTime();\n                    };\n                    var handleError = function() {\n                        $(\"#rhf_container\").hide();\n                        $(\"#rhf_error\").show();\n                        window.RECS_rhfMetrics[\"loaded\"] = \"error\";\n                    };\n                    var ajaxURL = \"/gp/history/external/full-rhf-rec-handler.html\";\n                    var ajaxArgs = {\n                        type: \"POST\",\n                        timeout: 10000,\n                        data: {\n                            shovelerName: \"rhf0\",\n                            key: \"rhf\",\n                            numToPreload: \"8\",\n                            isGateway: 0,\n                            refTag: \"pd_rhf_dp\",\n                            parentSession: \"177-2724246-1767538\",\n                            relatedRequestId: \"0H7NC1MNEB4A52DXKGX7\",\n                            excludeASIN: \"0596517742\",\n                            renderPopover: 0,\n                            forceSprites: 1,\n                            currentPageType: \"Detail\",\n                            currentSubPageType: \"Glance\",\n                            searchAlias: \"\",\n                            keywords: \"amF2YXNjcmlwdCB0aGUgZ29vZCBwYXJ0cw==\",\n                            node: \"\",\n                            ASIN: \"\",\n                            searchResults: \"\",\n                            isAUI: 0\n                        },\n                        dataType: \"json\",\n                        success: function(data, JSBNG__status) {\n                            if (((((((typeof (data) === \"object\")) && data.success)) && data.html))) {\n                                handleSuccess(data.html);\n                                if (((((typeof (P) === \"object\")) && ((typeof (P.when) === \"function\"))))) {\n                                    P.when(\"jQuery\", \"a-carousel-framework\").execute(function(jQuery, framework) {\n                                        jQuery(\"#rhf_upsell_div .a-carousel-viewport\").addClass(\"a-carousel-slide\");\n                                        framework.createAll();\n                                    });\n                                }\n                            ;\n                            ;\n                            }\n                             else {\n                                handleError();\n                            }\n                        ;\n                        ;\n                        },\n                        error: function(xhr, JSBNG__status) {\n                            handleError();\n                        }\n                    };\n                    if (((((typeof (P) === \"object\")) && ((typeof (P.when) === \"function\"))))) {\n                        P.when(\"A\").execute(function(A) {\n                            A.$.ajax(ajaxURL, ajaxArgs);\n                        });\n                    }\n                     else {\n                        ajaxArgs[\"url\"] = ajaxURL;\n                        $.ajax(ajaxArgs);\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n        };\n        var rhfInView = function() {\n            if (((!window.RECS_rhfInView && (($(\"#rhf_container\").size() > 0))))) {\n                var yPosition = (($(window).scrollTop() + $(window).height()));\n                var rhfElementFound = (($(\"#rhfMainHeading\").size() > 0));\n                var rhfPosition = $(\"#rhfMainHeading\").offset().JSBNG__top;\n                if (/webkit.*mobile/i.test(JSBNG__navigator.userAgent)) {\n                    rhfPosition -= $(window).scrollTop();\n                }\n            ;\n            ;\n                if (((rhfElementFound && ((((rhfPosition - yPosition)) < 0))))) {\n                    window.RECS_rhfInView = true;\n                    window.RECS_rhfMetrics[\"inView\"] = (new JSBNG__Date()).getTime();\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n        };\n        window.rhfYBHTurnOn = function() {\n            $.ajax({\n                url: \"/gp/history/external/full-rhf-ybh-on-handler.html\",\n                type: \"POST\",\n                timeout: 2000,\n                data: {\n                    parentSession: \"177-2724246-1767538\"\n                },\n                dataType: \"text\",\n                success: function(data, JSBNG__status) {\n                    $(\"#yourBrowsingHistoryOnText\").JSBNG__find(\"p\").html(\"You don't have any recently viewed Items.\");\n                    $(\"#rhf-ybh-turn-on-link\").hide();\n                }\n            });\n        };\n        $(JSBNG__document).ready(rhfShvlEventHandler);\n        $(window).JSBNG__scroll(rhfShvlEventHandler);\n        $(JSBNG__document).ready(rhfInView);\n        $(window).JSBNG__scroll(rhfInView);\n    })($);\n};\nif (((((typeof (P) === \"object\")) && ((typeof (P.when) === \"function\"))))) {\n    P.when(\"jQuery\", \"ready\").register(\"rhf-bootstrapper\", function($) {\n        return {\n            bootstrap: function() {\n                return rhfShovelerBootstrapFunction($);\n            }\n        };\n    });\n    P.when(\"rhf-bootstrapper\").execute(function(rhfBootstrapper) {\n        rhfBootstrapper.bootstrap();\n    });\n}\n else {\n    amznJQ.onReady(\"jQuery\", function() {\n        rhfShovelerBootstrapFunction(jQuery);\n    });\n}\n;\n;");
+// 1125
+geval("(function(a, b) {\n    ((a.JSBNG__attachEvent ? a.JSBNG__attachEvent(\"JSBNG__onload\", b) : ((a.JSBNG__addEventListener && a.JSBNG__addEventListener(\"load\", b, !1)))));\n})(window, ((window.top.JSBNG_Replay.push)((window.top.JSBNG_Replay.s19bfa2ac1e19f511e50bfae28fc42f693a531db5_1), function() {\n    JSBNG__setTimeout(((window.top.JSBNG_Replay.push)((window.top.JSBNG_Replay.s19bfa2ac1e19f511e50bfae28fc42f693a531db5_2), function() {\n        var el = JSBNG__document.getElementById(\"sis_pixel_r2\");\n        ((el && (el.innerHTML = \"\\u003Cdiv id=\\\"DAsis\\\" src=\\\"//s.amazon-adsystem.com/iu3?d=amazon.com&slot=navFooter&a2=0101f47d94d9f275a489e67268ab7d6041bd0ca77c55dc59bd08a530f9403a4fd206&old_oo=0&cb=1373480090105\\\" width=\\\"1\\\" height=\\\"1\\\" frameborder=\\\"0\\\" marginwidth=\\\"0\\\" marginheight=\\\"0\\\" scrolling=\\\"no\\\"\\u003E\\u003C/div\\u003E\")));\n    })), 300);\n})));");
+// 1128
+geval("amznJQ.addLogical(\"amazonLike\", [\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/amazonLike/amazonLike-682075628._V1_.js\",]);");
+// 1129
+geval("amznJQ.onReady(\"jQuery\", function() {\n    jQuery(\".MHRExpandLink\").click(function(JSBNG__event) {\n        JSBNG__event.preventDefault();\n        jQuery(this).hide();\n        var parent = jQuery(this).parent();\n        var fullText = ((parent.JSBNG__find(\".MHRHead\").html() + parent.JSBNG__find(\".MHRRest\").html()));\n        var pxInitialSize = parent.height();\n        parent.html(fullText);\n        var pxTargetSize = parent.height();\n        parent.height(pxInitialSize);\n        parent.animate({\n            height: ((pxTargetSize + \"px\"))\n        });\n    });\n});\namznJQ.onReady(\"jQuery\", function() {\n    var voteAjaxDefaultBeforeSendReviews = function(buttonAnchor, buttonContainer, messageContainer) {\n        messageContainer.html(\"Sending feedback...\");\n        buttonContainer.hide();\n        messageContainer.show();\n    };\n    var voteAjaxDefaultSuccessReviews = function(aData, aStatus, buttonAnchor, buttonContainer, messageContainer, isNoButton, inappUrl) {\n        if (((aData.redirect == 1))) {\n            return window.JSBNG__location.href = buttonAnchor.children[0].href;\n        }\n    ;\n    ;\n        if (((aData.error == 1))) {\n            jQuery(buttonContainer.children()[0]).html(\"Sorry, we failed to record your vote. Please try again\");\n            messageContainer.hide();\n            buttonContainer.show();\n        }\n         else {\n            messageContainer.html(\"Thank you for your feedback.\");\n            if (((isNoButton == 1))) {\n                messageContainer.append(\"\\u003Cspan class=\\\"black gl5\\\"\\u003EIf this review is inappropriate, \\u003Ca href=\\\"http://www.amazon.com/gp/voting/cast/Reviews/2115/RNX5PEPWHPSHW/Inappropriate/1/ref=cm_cr_dp_abuse_voteyn?ie=UTF8&target=&token=DC1039DFDCA9C50F6F3A24F9CA28ACE096511B78&voteAnchorName=RNX5PEPWHPSHW.2115.Inappropriate.Reviews&voteSessionID=177-2724246-1767538\\\" class=\\\"noTextDecoration\\\" style=\\\"color: #039;\\\" \\u003Eplease let us know.\\u003C/a\\u003E\\u003C/span\\u003E\");\n                messageContainer.JSBNG__find(\"a\").attr(\"href\", inappUrl);\n            }\n        ;\n        ;\n            messageContainer.addClass(\"green\");\n        }\n    ;\n    ;\n    };\n    var voteAjaxDefaultErrorReviews = function(aStatus, aError, buttonAnchor, buttonContainer, messageContainer) {\n        jQuery(buttonContainer.children()[0]).html(\"Sorry, we failed to record your vote. Please try again\");\n        messageContainer.hide();\n        buttonContainer.show();\n    };\n    jQuery(\".votingButtonReviews\").each(function() {\n        jQuery(this).unbind(\"click.vote.Reviews\");\n        jQuery(this).bind(\"click.vote.Reviews\", function() {\n            var buttonAnchor = this;\n            var buttonContainer = jQuery(this).parent();\n            var messageContainer = jQuery(buttonContainer).next(\".votingMessage\");\n            var inappUrl = messageContainer.children()[0].href;\n            var isNoButton = jQuery(this).hasClass(\"noButton\");\n            jQuery.ajax({\n                type: \"GET\",\n                dataType: \"json\",\n                ajaxTimeout: 10000,\n                cache: false,\n                beforeSend: function() {\n                    voteAjaxDefaultBeforeSendReviews(buttonAnchor, buttonContainer, messageContainer);\n                },\n                success: function(data, textStatus) {\n                    voteAjaxDefaultSuccessReviews(data, textStatus, buttonAnchor, buttonContainer, messageContainer, isNoButton, inappUrl);\n                },\n                error: function(JSBNG__XMLHttpRequest, textStatus, errorThrown) {\n                    voteAjaxDefaultErrorReviews(textStatus, errorThrown, buttonAnchor, buttonContainer, messageContainer);\n                },\n                url: ((buttonAnchor.children[0].href + \"&type=json\"))\n            });\n            return false;\n        });\n    });\n});");
+// 1130
+geval("if (((amznJQ && amznJQ.addPL))) {\n    amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/cs/css/images/amznbtn-sprite03._V387356454_.png\");\n    amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/gno/images/orangeBlue/navPackedSprites-US-22._V141013035_.png\");\n    amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/common/login/fwcim._V369602065_.js\");\n    amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/common/buttons/sign-in-secure._V192194766_.gif\");\n    amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/common/errors-alerts/error-styles-ssl._V219086192_.css\");\n    amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/authportal/common/js/ap_global-1.1._V371300931_.js\");\n    amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/orderApplication/js/authPortal/sign-in._V375965495_.js\");\n    amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/authportal/common/css/ap_global._V379708561_.css\");\n    amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/authportal/flex/reduced-nav/ap-flex-reduced-nav-2.0._V393733149_.js\");\n    amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/checkout/signin-banner._V192194415_.gif\");\n    amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/javascripts/lib/jquery/jquery-1.2.6.min._V253690767_.js\");\n    amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/advertising/dev/js/live/adSnippet._V142890782_.js\");\n    amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/authportal/flex/reduced-nav/ap-flex-reduced-nav-2.1._V382581933_.css\");\n    amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/orderApplication/css/authPortal/sign-in._V392399058_.css\");\n    amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/common/transparent-pixel._V386942464_.gif\");\n    amznJQ.addPL(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/authportal/common/images/amazon_logo_no-org_mid._V153387053_.png\");\n}\n;\n;");
+// 1131
+geval("if (((window.amznJQ && amznJQ.addPL))) {\n    amznJQ.addPL([\"http://z-ecx.images-amazon.com/images/G/01/AUIClients/AmazonUI.aff0ce299d8ddf2009c96f8326e68987a8ae59df.min._V1_.css\",\"http://z-ecx.images-amazon.com/images/G/01/AUIClients/AmazonUIPageJS.0dc375a02ca444aee997ad607d84d1385192713c.min._V384607259_.js\",\"http://z-ecx.images-amazon.com/images/G/01/AUIClients/AmazonUI.e8545a213b3c87a7feb5d35882c39903ed6997cb.min._V397413143_.js\",]);\n}\n;\n;");
+// 1132
+geval("amznJQ.available(\"jQuery\", function() {\n    jQuery(window).load(function() {\n        JSBNG__setTimeout(function() {\n            var imageAssets = new Array();\n            var jsCssAssets = new Array();\n            imageAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/common/buy-buttons/review-1-click-order._V192251243_.gif\");\n            imageAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/common/buttons/continue-shopping._V192193522_.gif\");\n            imageAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/common/buy-buttons/thank-you-elbow._V192238786_.gif\");\n            imageAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/communities/social/snwicons_v2._V369764580_.png\");\n            imageAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/checkout/assets/carrot._V192196173_.gif\");\n            imageAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/checkout/thank-you-page/assets/yellow-rounded-corner-sprite._V192238288_.gif\");\n            imageAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/checkout/thank-you-page/assets/white-rounded-corner-sprite._V192259929_.gif\");\n            imageAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/gno/beacon/BeaconSprite-US-01._V397411194_.png\");\n            imageAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/x-locale/common/transparent-pixel._V386942464_.gif\");\n            jsCssAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/nav2/gamma/share-with-friends-css-new/share-with-friends-css-new-share-17385.css._V154656367_.css\");\n            jsCssAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/nav2/gamma/share-with-friends-js-new/share-with-friends-js-new-share-2043.js._V157885514_.js\");\n            jsCssAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/nav2/gamma/websiteGridCSS/websiteGridCSS-websiteGridCSS-48346.css._V176526456_.css\");\n            imageAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/I/51gdVAEfPUL._SX35_.jpg\");\n            jsCssAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/browser-scripts/us-site-wide-css-beacon/site-wide-6804619766._V1_.css\");\n            jsCssAssets.push(\"http://jsbngssl.images-na.ssl-images-amazon.com/images/G/01/browser-scripts/site-wide-js-1.2.6-beacon/site-wide-11198044143._V1_.js\");\n            for (var i = 0; ((i < imageAssets.length)); i++) {\n                new JSBNG__Image().src = imageAssets[i];\n            };\n        ;\n            var isIE = 0;\n            var isFireFox = /Firefox/.test(JSBNG__navigator.userAgent);\n            if (isIE) {\n                for (var i = 0; ((i < jsCssAssets.length)); i++) {\n                    new JSBNG__Image().src = jsCssAssets[i];\n                };\n            ;\n            }\n             else if (isFireFox) {\n                for (var i = 0; ((i < jsCssAssets.length)); i++) {\n                    var o = JSBNG__document.createElement(\"object\");\n                    o.data = jsCssAssets[i];\n                    o.width = o.height = 0;\n                    JSBNG__document.body.appendChild(o);\n                };\n            ;\n            }\n            \n        ;\n        ;\n        }, 2000);\n    });\n});");
+// 1133
+geval("var ocInitTimestamp = 1373480090;\namznJQ.onCompletion(\"amznJQ.criticalFeature\", function() {\n    amznJQ.available(\"jQuery\", function() {\n        jQuery.ajax({\n            url: \"http://z-ecx.images-amazon.com/images/G/01/orderApplication/javascript/pipeline/201201041713-ocd._V394759207_.js\",\n            dataType: \"script\",\n            cache: true\n        });\n    });\n});");
+// 1134
+geval("if (((!window.$SearchJS && window.$Nav))) {\n    window.$SearchJS = $Nav.make();\n}\n;\n;\nif (window.$SearchJS) {\n    $SearchJS.when(\"jQuery\").run(function(jQuery) {\n        if (((jQuery.fn.jquery == \"1.2.6\"))) {\n            var windowUnloadHandlers = jQuery.data(window, \"events\").unload;\n            {\n                var fin9keys = ((window.top.JSBNG_Replay.forInKeys)((windowUnloadHandlers))), fin9i = (0);\n                var origUnloadUnbinder;\n                for (; (fin9i < fin9keys.length); (fin9i++)) {\n                    ((origUnloadUnbinder) = (fin9keys[fin9i]));\n                    {\n                        break;\n                    };\n                };\n            };\n        ;\n            jQuery(window).unbind(\"unload\", windowUnloadHandlers[origUnloadUnbinder]).unload(function() {\n                if (jQuery.browser.msie) {\n                    var elems = JSBNG__document.getElementsByTagName(\"*\"), pos = ((elems.length + 1)), dummy = {\n                    };\n                    jQuery.data(dummy);\n                    {\n                        var fin10keys = ((window.top.JSBNG_Replay.forInKeys)((dummy))), fin10i = (0);\n                        var expando;\n                        for (; (fin10i < fin10keys.length); (fin10i++)) {\n                            ((expando) = (fin10keys[fin10i]));\n                            {\n                            ;\n                            };\n                        };\n                    };\n                ;\n                    while (pos--) {\n                        var elem = ((elems[pos] || JSBNG__document)), id = elem[expando];\n                        if (((((id && jQuery.cache[id])) && jQuery.cache[id].events))) {\n                            jQuery.JSBNG__event.remove(elem);\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n            });\n        }\n    ;\n    ;\n    });\n    (function() {\n        var origPreloader = ((((((window.amznJQ && window.amznJQ.addPL)) || ((window.A && window.A.preload)))) || (function() {\n        \n        }))), preloader = origPreloader;\n        preloader([\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/search-css/search-css-1522082039._V1_.css\",\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/page-ajax/page-ajax-1808621310._V1_.js\",\"http://g-ecx.images-amazon.com/images/G/01/nav2/images/gui/searchSprite._V380202855_.png\",\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/us-site-wide-css-beacon/site-wide-6804619766._V1_.css\",\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/clickWithinSearchPageStatic/clickWithinSearchPageStatic-907040417._V1_.css\",\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/search-js-general/search-js-general-1348801466._V1_.js\",\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/search-ajax/search-ajax-3419689035._V1_.js\",\"http://g-ecx.images-amazon.com/images/G/01/gno/beacon/BeaconSprite-US-01._V397411194_.png\",\"http://g-ecx.images-amazon.com/images/G/01/x-locale/common/transparent-pixel._V386942464_.gif\",\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/site-wide-js-1.6.4-beacon/site-wide-11900254310._V1_.js\",\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/forester-client/forester-client-1094892990._V1_.js\",\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/csmCELLS/csmCELLS-2626677177._V1_.js\",\"http://z-ecx.images-amazon.com/images/G/01/browser-scripts/jserrors/jserrors-1871966242._V1_.js\",]);\n    })();\n}\n;\n;");
+// 1135
+geval("(function(a) {\n    if (((JSBNG__document.ue_backdetect && JSBNG__document.ue_backdetect.ue_back))) {\n        a.ue.bfini = JSBNG__document.ue_backdetect.ue_back.value;\n    }\n;\n;\n    if (a.uet) {\n        a.uet(\"be\");\n    }\n;\n;\n    if (a.onLdEnd) {\n        if (window.JSBNG__addEventListener) {\n            window.JSBNG__addEventListener(\"load\", a.onLdEnd, false);\n        }\n         else {\n            if (window.JSBNG__attachEvent) {\n                window.JSBNG__attachEvent(\"JSBNG__onload\", a.onLdEnd);\n            }\n        ;\n        ;\n        }\n    ;\n    ;\n    }\n;\n;\n    if (a.ueh) {\n        a.ueh(0, window, \"load\", a.onLd, 1);\n    }\n;\n;\n    if (((a.ue_pr && ((((a.ue_pr == 3)) || ((a.ue_pr == 4))))))) {\n        a.ue._uep();\n    }\n;\n;\n})(ue_csm);");
+// 1151
+geval("(function(a) {\n    a._uec = function(d) {\n        var h = window, b = h.JSBNG__performance, f = ((b ? b.navigation.type : 0));\n        if (((f == 0))) {\n            var e = ((\"; expires=\" + new JSBNG__Date(((+new JSBNG__Date + 604800000))).toGMTString())), c = ((+new JSBNG__Date - ue_t0));\n            if (((c > 0))) {\n                var g = ((\"|\" + +new JSBNG__Date));\n                JSBNG__document.cookie = ((((((((\"csm-hit=\" + ((d / c)).toFixed(2))) + g)) + e)) + \"; path=/\"));\n            }\n        ;\n        ;\n        }\n    ;\n    ;\n    };\n})(ue_csm);\n_uec(452453);");
+// 1163
+fpc.call(JSBNG_Replay.s23fdf1998fb4cb0dea31f7ff9caa5c49cd23230d_11[0], o5,o2);
+// undefined
+o5 = null;
+// undefined
+o2 = null;
+// 1169
+fpc.call(JSBNG_Replay.s27f27cc0a8f393a5b2b9cfab146b0487a0fed46c_0[0], o6,o13);
+// undefined
+o6 = null;
+// undefined
+o13 = null;
+// 1178
+geval("try {\n    (function() {\n        var initJQuery = function() {\n            var jQuery126PatchDelay = 13;\n            var _jQuery = window.jQuery, _$ = window.$;\n            var jQuery = window.jQuery = window.$ = function(selector, context) {\n                return new jQuery.fn.init(selector, context);\n            };\n            var quickExpr = /^[^<]*(<(.|\\s)+>)[^>]*$|^#(\\w+)$/, isSimple = /^.[^:#\\[\\.]*$/, undefined;\n            jQuery.fn = jQuery.prototype = {\n                init: function(selector, context) {\n                    selector = ((selector || JSBNG__document));\n                    if (selector.nodeType) {\n                        this[0] = selector;\n                        this.length = 1;\n                        return this;\n                    }\n                ;\n                ;\n                    if (((typeof selector == \"string\"))) {\n                        var match = quickExpr.exec(selector);\n                        if (((match && ((match[1] || !context))))) {\n                            if (match[1]) {\n                                selector = jQuery.clean([match[1],], context);\n                            }\n                             else {\n                                var elem = JSBNG__document.getElementById(match[3]);\n                                if (elem) {\n                                    if (((elem.id != match[3]))) {\n                                        return jQuery().JSBNG__find(selector);\n                                    }\n                                ;\n                                ;\n                                    return jQuery(elem);\n                                }\n                            ;\n                            ;\n                                selector = [];\n                            }\n                        ;\n                        ;\n                        }\n                         else {\n                            return jQuery(context).JSBNG__find(selector);\n                        }\n                    ;\n                    ;\n                    }\n                     else {\n                        if (jQuery.isFunction(selector)) {\n                            return jQuery(JSBNG__document)[((jQuery.fn.ready ? \"ready\" : \"load\"))](selector);\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    return this.setArray(jQuery.makeArray(selector));\n                },\n                jquery: \"1.2.6\",\n                size: function() {\n                    return this.length;\n                },\n                length: 0,\n                get: function(num) {\n                    return ((((num == undefined)) ? jQuery.makeArray(this) : this[num]));\n                },\n                pushStack: function(elems) {\n                    var ret = jQuery(elems);\n                    ret.prevObject = this;\n                    return ret;\n                },\n                setArray: function(elems) {\n                    this.length = 0;\n                    Array.prototype.push.apply(this, elems);\n                    return this;\n                },\n                each: function(callback, args) {\n                    return jQuery.each(this, callback, args);\n                },\n                index: function(elem) {\n                    var ret = -1;\n                    return jQuery.inArray(((((elem && elem.jquery)) ? elem[0] : elem)), this);\n                },\n                attr: function(JSBNG__name, value, type) {\n                    var options = JSBNG__name;\n                    if (((JSBNG__name.constructor == String))) {\n                        if (((value === undefined))) {\n                            return ((this[0] && jQuery[((type || \"attr\"))](this[0], JSBNG__name)));\n                        }\n                         else {\n                            options = {\n                            };\n                            options[JSBNG__name] = value;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    return this.each(function(i) {\n                        {\n                            var fin11keys = ((window.top.JSBNG_Replay.forInKeys)((options))), fin11i = (0);\n                            (0);\n                            for (; (fin11i < fin11keys.length); (fin11i++)) {\n                                ((name) = (fin11keys[fin11i]));\n                                {\n                                    jQuery.attr(((type ? this.style : this)), JSBNG__name, jQuery.prop(this, options[JSBNG__name], type, i, JSBNG__name));\n                                };\n                            };\n                        };\n                    ;\n                    });\n                },\n                css: function(key, value) {\n                    if (((((((key == \"width\")) || ((key == \"height\")))) && ((parseFloat(value) < 0))))) {\n                        value = undefined;\n                    }\n                ;\n                ;\n                    return this.attr(key, value, \"curCSS\");\n                },\n                text: function(text) {\n                    if (((((typeof text != \"object\")) && ((text != null))))) {\n                        return this.empty().append(((((this[0] && this[0].ownerDocument)) || JSBNG__document)).createTextNode(text));\n                    }\n                ;\n                ;\n                    var ret = \"\";\n                    jQuery.each(((text || this)), function() {\n                        jQuery.each(this.childNodes, function() {\n                            if (((this.nodeType != 8))) {\n                                ret += ((((this.nodeType != 1)) ? this.nodeValue : jQuery.fn.text([this,])));\n                            }\n                        ;\n                        ;\n                        });\n                    });\n                    return ret;\n                },\n                wrapAll: function(html) {\n                    if (this[0]) {\n                        jQuery(html, this[0].ownerDocument).clone().insertBefore(this[0]).map(function() {\n                            var elem = this;\n                            while (elem.firstChild) {\n                                elem = elem.firstChild;\n                            };\n                        ;\n                            return elem;\n                        }).append(this);\n                    }\n                ;\n                ;\n                    return this;\n                },\n                wrapInner: function(html) {\n                    return this.each(function() {\n                        jQuery(this).contents().wrapAll(html);\n                    });\n                },\n                wrap: function(html) {\n                    return this.each(function() {\n                        jQuery(this).wrapAll(html);\n                    });\n                },\n                append: function() {\n                    return this.domManip(arguments, true, false, function(elem) {\n                        if (((this.nodeType == 1))) {\n                            this.appendChild(elem);\n                        }\n                    ;\n                    ;\n                    });\n                },\n                prepend: function() {\n                    return this.domManip(arguments, true, true, function(elem) {\n                        if (((this.nodeType == 1))) {\n                            this.insertBefore(elem, this.firstChild);\n                        }\n                    ;\n                    ;\n                    });\n                },\n                before: function() {\n                    return this.domManip(arguments, false, false, function(elem) {\n                        this.parentNode.insertBefore(elem, this);\n                    });\n                },\n                after: function() {\n                    return this.domManip(arguments, false, true, function(elem) {\n                        this.parentNode.insertBefore(elem, this.nextSibling);\n                    });\n                },\n                end: function() {\n                    return ((this.prevObject || jQuery([])));\n                },\n                JSBNG__find: function(selector) {\n                    var elems = jQuery.map(this, function(elem) {\n                        return jQuery.JSBNG__find(selector, elem);\n                    });\n                    return this.pushStack(((((/[^+>] [^+>]/.test(selector) || ((selector.indexOf(\"..\") > -1)))) ? jQuery.unique(elems) : elems)));\n                },\n                clone: function(events) {\n                    var ret = this.map(function() {\n                        if (((jQuery.browser.msie && !jQuery.isXMLDoc(this)))) {\n                            var clone = this.cloneNode(true), container = JSBNG__document.createElement(\"div\");\n                            container.appendChild(clone);\n                            return jQuery.clean([container.innerHTML,])[0];\n                        }\n                         else {\n                            return this.cloneNode(true);\n                        }\n                    ;\n                    ;\n                    });\n                    var clone = ret.JSBNG__find(\"*\").andSelf().each(function() {\n                        if (((this[expando] != undefined))) {\n                            this[expando] = null;\n                        }\n                    ;\n                    ;\n                    });\n                    if (((events === true))) {\n                        this.JSBNG__find(\"*\").andSelf().each(function(i) {\n                            if (((this.nodeType == 3))) {\n                                return;\n                            }\n                        ;\n                        ;\n                            var events = jQuery.data(this, \"events\");\n                            {\n                                var fin12keys = ((window.top.JSBNG_Replay.forInKeys)((events))), fin12i = (0);\n                                var type;\n                                for (; (fin12i < fin12keys.length); (fin12i++)) {\n                                    ((type) = (fin12keys[fin12i]));\n                                    {\n                                        {\n                                            var fin13keys = ((window.top.JSBNG_Replay.forInKeys)((events[type]))), fin13i = (0);\n                                            var handler;\n                                            for (; (fin13i < fin13keys.length); (fin13i++)) {\n                                                ((handler) = (fin13keys[fin13i]));\n                                                {\n                                                    jQuery.JSBNG__event.add(clone[i], type, events[type][handler], events[type][handler].data);\n                                                };\n                                            };\n                                        };\n                                    ;\n                                    };\n                                };\n                            };\n                        ;\n                        });\n                    }\n                ;\n                ;\n                    return ret;\n                },\n                filter: function(selector) {\n                    return this.pushStack(((((jQuery.isFunction(selector) && jQuery.grep(this, function(elem, i) {\n                        return selector.call(elem, i);\n                    }))) || jQuery.multiFilter(selector, this))));\n                },\n                not: function(selector) {\n                    if (((selector.constructor == String))) {\n                        if (isSimple.test(selector)) {\n                            return this.pushStack(jQuery.multiFilter(selector, this, true));\n                        }\n                         else {\n                            selector = jQuery.multiFilter(selector, this);\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    var isArrayLike = ((((selector.length && ((selector[((selector.length - 1))] !== undefined)))) && !selector.nodeType));\n                    return this.filter(function() {\n                        return ((isArrayLike ? ((jQuery.inArray(this, selector) < 0)) : ((this != selector))));\n                    });\n                },\n                add: function(selector) {\n                    return this.pushStack(jQuery.unique(jQuery.merge(this.get(), ((((typeof selector == \"string\")) ? jQuery(selector) : jQuery.makeArray(selector))))));\n                },\n                is: function(selector) {\n                    return ((!!selector && ((jQuery.multiFilter(selector, this).length > 0))));\n                },\n                hasClass: function(selector) {\n                    return this.is(((\".\" + selector)));\n                },\n                val: function(value) {\n                    if (((value == undefined))) {\n                        if (this.length) {\n                            var elem = this[0];\n                            if (jQuery.nodeName(elem, \"select\")) {\n                                var index = elem.selectedIndex, values = [], options = elem.options, one = ((elem.type == \"select-one\"));\n                                if (((index < 0))) {\n                                    return null;\n                                }\n                            ;\n                            ;\n                                for (var i = ((one ? index : 0)), max = ((one ? ((index + 1)) : options.length)); ((i < max)); i++) {\n                                    var option = options[i];\n                                    if (option.selected) {\n                                        value = ((((jQuery.browser.msie && !option.attributes.value.specified)) ? option.text : option.value));\n                                        if (one) {\n                                            return value;\n                                        }\n                                    ;\n                                    ;\n                                        values.push(value);\n                                    }\n                                ;\n                                ;\n                                };\n                            ;\n                                return values;\n                            }\n                             else {\n                                return ((this[0].value || \"\")).replace(/\\r/g, \"\");\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        return undefined;\n                    }\n                ;\n                ;\n                    if (((value.constructor == Number))) {\n                        value += \"\";\n                    }\n                ;\n                ;\n                    return this.each(function() {\n                        if (((this.nodeType != 1))) {\n                            return;\n                        }\n                    ;\n                    ;\n                        if (((((value.constructor == Array)) && /radio|checkbox/.test(this.type)))) {\n                            this.checked = ((((jQuery.inArray(this.value, value) >= 0)) || ((jQuery.inArray(this.JSBNG__name, value) >= 0))));\n                        }\n                         else {\n                            if (jQuery.nodeName(this, \"select\")) {\n                                var values = jQuery.makeArray(value);\n                                jQuery(\"option\", this).each(function() {\n                                    this.selected = ((((jQuery.inArray(this.value, values) >= 0)) || ((jQuery.inArray(this.text, values) >= 0))));\n                                });\n                                if (!values.length) {\n                                    this.selectedIndex = -1;\n                                }\n                            ;\n                            ;\n                            }\n                             else {\n                                this.value = value;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    });\n                },\n                html: function(value) {\n                    return ((((value == undefined)) ? ((this[0] ? this[0].innerHTML : null)) : this.empty().append(value)));\n                },\n                replaceWith: function(value) {\n                    return this.after(value).remove();\n                },\n                eq: function(i) {\n                    return this.slice(i, ((i + 1)));\n                },\n                slice: function() {\n                    return this.pushStack(Array.prototype.slice.apply(this, arguments));\n                },\n                map: function(callback) {\n                    return this.pushStack(jQuery.map(this, function(elem, i) {\n                        return callback.call(elem, i, elem);\n                    }));\n                },\n                andSelf: function() {\n                    return this.add(this.prevObject);\n                },\n                data: function(key, value) {\n                    var parts = key.split(\".\");\n                    parts[1] = ((parts[1] ? ((\".\" + parts[1])) : \"\"));\n                    if (((value === undefined))) {\n                        var data = this.triggerHandler(((((\"getData\" + parts[1])) + \"!\")), [parts[0],]);\n                        if (((((data === undefined)) && this.length))) {\n                            data = jQuery.data(this[0], key);\n                        }\n                    ;\n                    ;\n                        return ((((((data === undefined)) && parts[1])) ? this.data(parts[0]) : data));\n                    }\n                     else {\n                        return this.trigger(((((\"setData\" + parts[1])) + \"!\")), [parts[0],value,]).each(function() {\n                            jQuery.data(this, key, value);\n                        });\n                    }\n                ;\n                ;\n                },\n                removeData: function(key) {\n                    return this.each(function() {\n                        jQuery.removeData(this, key);\n                    });\n                },\n                domManip: function(args, table, reverse, callback) {\n                    var clone = ((this.length > 1)), elems;\n                    return this.each(function() {\n                        if (!elems) {\n                            elems = jQuery.clean(args, this.ownerDocument);\n                            if (reverse) {\n                                elems.reverse();\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        var obj = this;\n                        if (((((table && jQuery.nodeName(this, \"table\"))) && jQuery.nodeName(elems[0], \"tr\")))) {\n                            obj = ((this.getElementsByTagName(\"tbody\")[0] || this.appendChild(this.ownerDocument.createElement(\"tbody\"))));\n                        }\n                    ;\n                    ;\n                        var scripts = jQuery([]);\n                        jQuery.each(elems, function() {\n                            var elem = ((clone ? jQuery(this).clone(true)[0] : this));\n                            if (jQuery.nodeName(elem, \"script\")) {\n                                scripts = scripts.add(elem);\n                            }\n                             else {\n                                if (((elem.nodeType == 1))) {\n                                    scripts = scripts.add(jQuery(\"script\", elem).remove());\n                                }\n                            ;\n                            ;\n                                callback.call(obj, elem);\n                            }\n                        ;\n                        ;\n                        });\n                        scripts.each(evalScript);\n                    });\n                }\n            };\n            jQuery.fn.init.prototype = jQuery.fn;\n            function evalScript(i, elem) {\n                if (elem.src) {\n                    jQuery.ajax({\n                        url: elem.src,\n                        async: false,\n                        dataType: \"script\"\n                    });\n                }\n                 else {\n                    jQuery.globalEval(((((((elem.text || elem.textContent)) || elem.innerHTML)) || \"\")));\n                }\n            ;\n            ;\n                if (elem.parentNode) {\n                    elem.parentNode.removeChild(elem);\n                }\n            ;\n            ;\n            };\n        ;\n            function now() {\n                return +new JSBNG__Date;\n            };\n        ;\n            jQuery.extend = jQuery.fn.extend = function() {\n                var target = ((arguments[0] || {\n                })), i = 1, length = arguments.length, deep = false, options;\n                if (((target.constructor == Boolean))) {\n                    deep = target;\n                    target = ((arguments[1] || {\n                    }));\n                    i = 2;\n                }\n            ;\n            ;\n                if (((((typeof target != \"object\")) && ((typeof target != \"function\"))))) {\n                    target = {\n                    };\n                }\n            ;\n            ;\n                if (((length == i))) {\n                    target = this;\n                    --i;\n                }\n            ;\n            ;\n                for (; ((i < length)); i++) {\n                    if ((((options = arguments[i]) != null))) {\n                        {\n                            var fin14keys = ((window.top.JSBNG_Replay.forInKeys)((options))), fin14i = (0);\n                            var JSBNG__name;\n                            for (; (fin14i < fin14keys.length); (fin14i++)) {\n                                ((name) = (fin14keys[fin14i]));\n                                {\n                                    var src = target[JSBNG__name], copy = options[JSBNG__name];\n                                    if (((target === copy))) {\n                                        continue;\n                                    }\n                                ;\n                                ;\n                                    if (((((((deep && copy)) && ((typeof copy == \"object\")))) && !copy.nodeType))) {\n                                        target[JSBNG__name] = jQuery.extend(deep, ((src || ((((copy.length != null)) ? [] : {\n                                        })))), copy);\n                                    }\n                                     else {\n                                        if (((copy !== undefined))) {\n                                            target[JSBNG__name] = copy;\n                                        }\n                                    ;\n                                    ;\n                                    }\n                                ;\n                                ;\n                                };\n                            };\n                        };\n                    ;\n                    }\n                ;\n                ;\n                };\n            ;\n                return target;\n            };\n            var expando = ((\"jQuery\" + now())), uuid = 0, windowData = {\n            }, exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i, defaultView = ((JSBNG__document.defaultView || {\n            }));\n            jQuery.extend({\n                noConflict: function(deep) {\n                    window.$ = _$;\n                    if (deep) {\n                        window.jQuery = _jQuery;\n                    }\n                ;\n                ;\n                    return jQuery;\n                },\n                isFunction: function(fn) {\n                    return ((((((((!!fn && ((typeof fn != \"string\")))) && !fn.nodeName)) && ((fn.constructor != Array)))) && /^[\\s[]?function/.test(((fn + \"\")))));\n                },\n                isXMLDoc: function(elem) {\n                    return ((((elem.documentElement && !elem.body)) || ((((elem.tagName && elem.ownerDocument)) && !elem.ownerDocument.body))));\n                },\n                globalEval: function(data) {\n                    data = jQuery.trim(data);\n                    if (data) {\n                        var head = ((JSBNG__document.getElementsByTagName(\"head\")[0] || JSBNG__document.documentElement)), script = JSBNG__document.createElement(\"script\");\n                        script.type = \"text/javascript\";\n                        if (jQuery.browser.msie) {\n                            script.text = data;\n                        }\n                         else {\n                            script.appendChild(JSBNG__document.createTextNode(data));\n                        }\n                    ;\n                    ;\n                        head.insertBefore(script, head.firstChild);\n                        head.removeChild(script);\n                    }\n                ;\n                ;\n                },\n                nodeName: function(elem, JSBNG__name) {\n                    return ((elem.nodeName && ((elem.nodeName.toUpperCase() == JSBNG__name.toUpperCase()))));\n                },\n                cache: {\n                },\n                data: function(elem, JSBNG__name, data) {\n                    elem = ((((elem == window)) ? windowData : elem));\n                    var id = elem[expando];\n                    if (!id) {\n                        id = elem[expando] = ++uuid;\n                    }\n                ;\n                ;\n                    if (((JSBNG__name && !jQuery.cache[id]))) {\n                        jQuery.cache[id] = {\n                        };\n                    }\n                ;\n                ;\n                    if (((data !== undefined))) {\n                        jQuery.cache[id][JSBNG__name] = data;\n                    }\n                ;\n                ;\n                    return ((JSBNG__name ? jQuery.cache[id][JSBNG__name] : id));\n                },\n                removeData: function(elem, JSBNG__name) {\n                    elem = ((((elem == window)) ? windowData : elem));\n                    var id = elem[expando];\n                    if (JSBNG__name) {\n                        if (jQuery.cache[id]) {\n                            delete jQuery.cache[id][JSBNG__name];\n                            JSBNG__name = \"\";\n                            {\n                                var fin15keys = ((window.top.JSBNG_Replay.forInKeys)((jQuery.cache[id]))), fin15i = (0);\n                                (0);\n                                for (; (fin15i < fin15keys.length); (fin15i++)) {\n                                    ((name) = (fin15keys[fin15i]));\n                                    {\n                                        break;\n                                    };\n                                };\n                            };\n                        ;\n                            if (!JSBNG__name) {\n                                jQuery.removeData(elem);\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                     else {\n                        try {\n                            delete elem[expando];\n                        } catch (e) {\n                            if (elem.removeAttribute) {\n                                elem.removeAttribute(expando);\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                        delete jQuery.cache[id];\n                    }\n                ;\n                ;\n                },\n                each: function(object, callback, args) {\n                    var JSBNG__name, i = 0, length = object.length;\n                    if (args) {\n                        if (((length == undefined))) {\n                            {\n                                var fin16keys = ((window.top.JSBNG_Replay.forInKeys)((object))), fin16i = (0);\n                                (0);\n                                for (; (fin16i < fin16keys.length); (fin16i++)) {\n                                    ((name) = (fin16keys[fin16i]));\n                                    {\n                                        if (((callback.apply(object[JSBNG__name], args) === false))) {\n                                            break;\n                                        }\n                                    ;\n                                    ;\n                                    };\n                                };\n                            };\n                        ;\n                        }\n                         else {\n                            for (; ((i < length)); ) {\n                                if (((callback.apply(object[i++], args) === false))) {\n                                    break;\n                                }\n                            ;\n                            ;\n                            };\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                     else {\n                        if (((length == undefined))) {\n                            {\n                                var fin17keys = ((window.top.JSBNG_Replay.forInKeys)((object))), fin17i = (0);\n                                (0);\n                                for (; (fin17i < fin17keys.length); (fin17i++)) {\n                                    ((name) = (fin17keys[fin17i]));\n                                    {\n                                        if (((callback.call(object[JSBNG__name], JSBNG__name, object[JSBNG__name]) === false))) {\n                                            break;\n                                        }\n                                    ;\n                                    ;\n                                    };\n                                };\n                            };\n                        ;\n                        }\n                         else {\n                            for (var value = object[0]; ((((i < length)) && ((callback.call(value, i, value) !== false)))); value = object[++i]) {\n                            \n                            };\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    return object;\n                },\n                prop: function(elem, value, type, i, JSBNG__name) {\n                    if (jQuery.isFunction(value)) {\n                        value = value.call(elem, i);\n                    }\n                ;\n                ;\n                    return ((((((((value && ((value.constructor == Number)))) && ((type == \"curCSS\")))) && !exclude.test(JSBNG__name))) ? ((value + \"px\")) : value));\n                },\n                className: {\n                    add: function(elem, classNames) {\n                        jQuery.each(((classNames || \"\")).split(/\\s+/), function(i, className) {\n                            if (((((elem.nodeType == 1)) && !jQuery.className.has(elem.className, className)))) {\n                                elem.className += ((((elem.className ? \" \" : \"\")) + className));\n                            }\n                        ;\n                        ;\n                        });\n                    },\n                    remove: function(elem, classNames) {\n                        if (((elem.nodeType == 1))) {\n                            elem.className = ((((classNames != undefined)) ? jQuery.grep(elem.className.split(/\\s+/), function(className) {\n                                return !jQuery.className.has(classNames, className);\n                            }).join(\" \") : \"\"));\n                        }\n                    ;\n                    ;\n                    },\n                    has: function(elem, className) {\n                        return ((jQuery.inArray(className, ((elem.className || elem)).toString().split(/\\s+/)) > -1));\n                    }\n                },\n                swap: function(elem, options, callback) {\n                    var old = {\n                    };\n                    {\n                        var fin18keys = ((window.top.JSBNG_Replay.forInKeys)((options))), fin18i = (0);\n                        var JSBNG__name;\n                        for (; (fin18i < fin18keys.length); (fin18i++)) {\n                            ((name) = (fin18keys[fin18i]));\n                            {\n                                old[JSBNG__name] = elem.style[JSBNG__name];\n                                elem.style[JSBNG__name] = options[JSBNG__name];\n                            };\n                        };\n                    };\n                ;\n                    callback.call(elem);\n                    {\n                        var fin19keys = ((window.top.JSBNG_Replay.forInKeys)((options))), fin19i = (0);\n                        var JSBNG__name;\n                        for (; (fin19i < fin19keys.length); (fin19i++)) {\n                            ((name) = (fin19keys[fin19i]));\n                            {\n                                elem.style[JSBNG__name] = old[JSBNG__name];\n                            };\n                        };\n                    };\n                ;\n                },\n                css: function(elem, JSBNG__name, force) {\n                    if (((((JSBNG__name == \"width\")) || ((JSBNG__name == \"height\"))))) {\n                        var val, props = {\n                            position: \"absolute\",\n                            visibility: \"hidden\",\n                            display: \"block\"\n                        }, which = ((((JSBNG__name == \"width\")) ? [\"Left\",\"Right\",] : [\"Top\",\"Bottom\",]));\n                        function getWH() {\n                            val = ((((JSBNG__name == \"width\")) ? elem.offsetWidth : elem.offsetHeight));\n                            var padding = 0, border = 0;\n                            jQuery.each(which, function() {\n                                padding += ((parseFloat(jQuery.curCSS(elem, ((\"padding\" + this)), true)) || 0));\n                                border += ((parseFloat(jQuery.curCSS(elem, ((((\"border\" + this)) + \"Width\")), true)) || 0));\n                            });\n                            val -= Math.round(((padding + border)));\n                        };\n                    ;\n                        if (jQuery(elem).is(\":visible\")) {\n                            getWH();\n                        }\n                         else {\n                            jQuery.swap(elem, props, getWH);\n                        }\n                    ;\n                    ;\n                        return Math.max(0, val);\n                    }\n                ;\n                ;\n                    return jQuery.curCSS(elem, JSBNG__name, force);\n                },\n                curCSS: function(elem, JSBNG__name, force) {\n                    var ret, style = elem.style;\n                    function color(elem) {\n                        if (!jQuery.browser.safari) {\n                            return false;\n                        }\n                    ;\n                    ;\n                        var ret = defaultView.JSBNG__getComputedStyle(elem, null);\n                        return ((!ret || ((ret.getPropertyValue(\"color\") == \"\"))));\n                    };\n                ;\n                    if (((((JSBNG__name == \"opacity\")) && jQuery.browser.msie))) {\n                        ret = jQuery.attr(style, \"opacity\");\n                        return ((((ret == \"\")) ? \"1\" : ret));\n                    }\n                ;\n                ;\n                    if (((jQuery.browser.JSBNG__opera && ((JSBNG__name == \"display\"))))) {\n                        var save = style.outline;\n                        style.outline = \"0 solid black\";\n                        style.outline = save;\n                    }\n                ;\n                ;\n                    if (JSBNG__name.match(/float/i)) {\n                        JSBNG__name = styleFloat;\n                    }\n                ;\n                ;\n                    if (((((!force && style)) && style[JSBNG__name]))) {\n                        ret = style[JSBNG__name];\n                    }\n                     else {\n                        if (defaultView.JSBNG__getComputedStyle) {\n                            if (JSBNG__name.match(/float/i)) {\n                                JSBNG__name = \"float\";\n                            }\n                        ;\n                        ;\n                            JSBNG__name = JSBNG__name.replace(/([A-Z])/g, \"-$1\").toLowerCase();\n                            var computedStyle = defaultView.JSBNG__getComputedStyle(elem, null);\n                            if (((computedStyle && !color(elem)))) {\n                                ret = computedStyle.getPropertyValue(JSBNG__name);\n                            }\n                             else {\n                                var swap = [], stack = [], a = elem, i = 0;\n                                for (; ((a && color(a))); a = a.parentNode) {\n                                    stack.unshift(a);\n                                };\n                            ;\n                                for (; ((i < stack.length)); i++) {\n                                    if (color(stack[i])) {\n                                        swap[i] = stack[i].style.display;\n                                        stack[i].style.display = \"block\";\n                                    }\n                                ;\n                                ;\n                                };\n                            ;\n                                ret = ((((((JSBNG__name == \"display\")) && ((swap[((stack.length - 1))] != null)))) ? \"none\" : ((((computedStyle && computedStyle.getPropertyValue(JSBNG__name))) || \"\"))));\n                                for (i = 0; ((i < swap.length)); i++) {\n                                    if (((swap[i] != null))) {\n                                        stack[i].style.display = swap[i];\n                                    }\n                                ;\n                                ;\n                                };\n                            ;\n                            }\n                        ;\n                        ;\n                            if (((((JSBNG__name == \"opacity\")) && ((ret == \"\"))))) {\n                                ret = \"1\";\n                            }\n                        ;\n                        ;\n                        }\n                         else {\n                            if (elem.currentStyle) {\n                                var camelCase = JSBNG__name.replace(/\\-(\\w)/g, function(all, letter) {\n                                    return letter.toUpperCase();\n                                });\n                                ret = ((elem.currentStyle[JSBNG__name] || elem.currentStyle[camelCase]));\n                                if (((!/^\\d+(px)?$/i.test(ret) && /^\\d/.test(ret)))) {\n                                    var left = style.left, rsLeft = elem.runtimeStyle.left;\n                                    elem.runtimeStyle.left = elem.currentStyle.left;\n                                    style.left = ((ret || 0));\n                                    ret = ((style.pixelLeft + \"px\"));\n                                    style.left = left;\n                                    elem.runtimeStyle.left = rsLeft;\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    return ret;\n                },\n                clean: function(elems, context) {\n                    var ret = [];\n                    context = ((context || JSBNG__document));\n                    if (((typeof context.createElement == \"undefined\"))) {\n                        context = ((((context.ownerDocument || ((context[0] && context[0].ownerDocument)))) || JSBNG__document));\n                    }\n                ;\n                ;\n                    jQuery.each(elems, function(i, elem) {\n                        if (!elem) {\n                            return;\n                        }\n                    ;\n                    ;\n                        if (((elem.constructor == Number))) {\n                            elem += \"\";\n                        }\n                    ;\n                    ;\n                        if (((typeof elem == \"string\"))) {\n                            elem = elem.replace(/(<(\\w+)[^>]*?)\\/>/g, function(all, front, tag) {\n                                return ((tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ? all : ((((((front + \"\\u003E\\u003C/\")) + tag)) + \"\\u003E\"))));\n                            });\n                            var tags = jQuery.trim(elem).toLowerCase(), div = context.createElement(\"div\");\n                            var wrap = ((((((((((((((((!tags.indexOf(\"\\u003Copt\") && [1,\"\\u003Cselect multiple='multiple'\\u003E\",\"\\u003C/select\\u003E\",])) || ((!tags.indexOf(\"\\u003Cleg\") && [1,\"\\u003Cfieldset\\u003E\",\"\\u003C/fieldset\\u003E\",])))) || ((tags.match(/^<(thead|tbody|tfoot|colg|cap)/) && [1,\"\\u003Ctable\\u003E\",\"\\u003C/table\\u003E\",])))) || ((!tags.indexOf(\"\\u003Ctr\") && [2,\"\\u003Ctable\\u003E\\u003Ctbody\\u003E\",\"\\u003C/tbody\\u003E\\u003C/table\\u003E\",])))) || ((((!tags.indexOf(\"\\u003Ctd\") || !tags.indexOf(\"\\u003Cth\"))) && [3,\"\\u003Ctable\\u003E\\u003Ctbody\\u003E\\u003Ctr\\u003E\",\"\\u003C/tr\\u003E\\u003C/tbody\\u003E\\u003C/table\\u003E\",])))) || ((!tags.indexOf(\"\\u003Ccol\") && [2,\"\\u003Ctable\\u003E\\u003Ctbody\\u003E\\u003C/tbody\\u003E\\u003Ccolgroup\\u003E\",\"\\u003C/colgroup\\u003E\\u003C/table\\u003E\",])))) || ((jQuery.browser.msie && [1,\"div\\u003Cdiv\\u003E\",\"\\u003C/div\\u003E\",])))) || [0,\"\",\"\",]));\n                            div.innerHTML = ((((wrap[1] + elem)) + wrap[2]));\n                            while (wrap[0]--) {\n                                div = div.lastChild;\n                            };\n                        ;\n                            if (jQuery.browser.msie) {\n                                var tbody = ((((!tags.indexOf(\"\\u003Ctable\") && ((tags.indexOf(\"\\u003Ctbody\") < 0)))) ? ((div.firstChild && div.firstChild.childNodes)) : ((((((wrap[1] == \"\\u003Ctable\\u003E\")) && ((tags.indexOf(\"\\u003Ctbody\") < 0)))) ? div.childNodes : []))));\n                                for (var j = ((tbody.length - 1)); ((j >= 0)); --j) {\n                                    if (((jQuery.nodeName(tbody[j], \"tbody\") && !tbody[j].childNodes.length))) {\n                                        tbody[j].parentNode.removeChild(tbody[j]);\n                                    }\n                                ;\n                                ;\n                                };\n                            ;\n                                if (/^\\s/.test(elem)) {\n                                    div.insertBefore(context.createTextNode(elem.match(/^\\s*/)[0]), div.firstChild);\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                            elem = jQuery.makeArray(div.childNodes);\n                        }\n                    ;\n                    ;\n                        if (((((elem.length === 0)) && ((!jQuery.nodeName(elem, \"form\") && !jQuery.nodeName(elem, \"select\")))))) {\n                            return;\n                        }\n                    ;\n                    ;\n                        if (((((((elem[0] == undefined)) || jQuery.nodeName(elem, \"form\"))) || elem.options))) {\n                            ret.push(elem);\n                        }\n                         else {\n                            ret = jQuery.merge(ret, elem);\n                        }\n                    ;\n                    ;\n                    });\n                    return ret;\n                },\n                attr: function(elem, JSBNG__name, value) {\n                    if (((((!elem || ((elem.nodeType == 3)))) || ((elem.nodeType == 8))))) {\n                        return undefined;\n                    }\n                ;\n                ;\n                    var notxml = !jQuery.isXMLDoc(elem), set = ((value !== undefined)), msie = jQuery.browser.msie;\n                    JSBNG__name = ((((notxml && jQuery.props[JSBNG__name])) || JSBNG__name));\n                    if (elem.tagName) {\n                        var special = /href|src|style/.test(JSBNG__name);\n                        if (((((JSBNG__name == \"selected\")) && jQuery.browser.safari))) {\n                            elem.parentNode.selectedIndex;\n                        }\n                    ;\n                    ;\n                        if (((((((JSBNG__name in elem)) && notxml)) && !special))) {\n                            if (set) {\n                                if (((((((JSBNG__name == \"type\")) && jQuery.nodeName(elem, \"input\"))) && elem.parentNode))) {\n                                    throw \"type property can't be changed\";\n                                }\n                            ;\n                            ;\n                                elem[JSBNG__name] = value;\n                            }\n                        ;\n                        ;\n                            if (((jQuery.nodeName(elem, \"form\") && elem.getAttributeNode(JSBNG__name)))) {\n                                return elem.getAttributeNode(JSBNG__name).nodeValue;\n                            }\n                        ;\n                        ;\n                            return elem[JSBNG__name];\n                        }\n                    ;\n                    ;\n                        if (((((msie && notxml)) && ((JSBNG__name == \"style\"))))) {\n                            return jQuery.attr(elem.style, \"cssText\", value);\n                        }\n                    ;\n                    ;\n                        if (set) {\n                            elem.setAttribute(JSBNG__name, ((\"\" + value)));\n                        }\n                    ;\n                    ;\n                        var attr = ((((((msie && notxml)) && special)) ? elem.getAttribute(JSBNG__name, 2) : elem.getAttribute(JSBNG__name)));\n                        return ((((attr === null)) ? undefined : attr));\n                    }\n                ;\n                ;\n                    if (((msie && ((JSBNG__name == \"opacity\"))))) {\n                        if (set) {\n                            elem.zoom = 1;\n                            elem.filter = ((((elem.filter || \"\")).replace(/alpha\\([^)]*\\)/, \"\") + ((((((parseInt(value) + \"\")) == \"NaN\")) ? \"\" : ((((\"alpha(opacity=\" + ((value * 100)))) + \")\"))))));\n                        }\n                    ;\n                    ;\n                        return ((((elem.filter && ((elem.filter.indexOf(\"opacity=\") >= 0)))) ? ((((parseFloat(elem.filter.match(/opacity=([^)]*)/)[1]) / 100)) + \"\")) : \"\"));\n                    }\n                ;\n                ;\n                    JSBNG__name = JSBNG__name.replace(/-([a-z])/gi, function(all, letter) {\n                        return letter.toUpperCase();\n                    });\n                    if (set) {\n                        elem[JSBNG__name] = value;\n                    }\n                ;\n                ;\n                    return elem[JSBNG__name];\n                },\n                trim: function(text) {\n                    return ((text || \"\")).replace(/^\\s+|\\s+$/g, \"\");\n                },\n                makeArray: function(array) {\n                    var ret = [];\n                    if (((array != null))) {\n                        var i = array.length;\n                        if (((((((((i == null)) || array.split)) || array.JSBNG__setInterval)) || array.call))) {\n                            ret[0] = array;\n                        }\n                         else {\n                            while (i) {\n                                ret[--i] = array[i];\n                            };\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    return ret;\n                },\n                inArray: function(elem, array) {\n                    for (var i = 0, length = array.length; ((i < length)); i++) {\n                        if (((array[i] === elem))) {\n                            return i;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    return -1;\n                },\n                merge: function(first, second) {\n                    var i = 0, elem, pos = first.length;\n                    if (jQuery.browser.msie) {\n                        while (elem = second[i++]) {\n                            if (((elem.nodeType != 8))) {\n                                first[pos++] = elem;\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                    }\n                     else {\n                        while (elem = second[i++]) {\n                            first[pos++] = elem;\n                        };\n                    ;\n                    }\n                ;\n                ;\n                    return first;\n                },\n                unique: function(array) {\n                    var ret = [], done = {\n                    };\n                    try {\n                        for (var i = 0, length = array.length; ((i < length)); i++) {\n                            var id = jQuery.data(array[i]);\n                            if (!done[id]) {\n                                done[id] = true;\n                                ret.push(array[i]);\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                    } catch (e) {\n                        ret = array;\n                    };\n                ;\n                    return ret;\n                },\n                grep: function(elems, callback, inv) {\n                    var ret = [];\n                    for (var i = 0, length = elems.length; ((i < length)); i++) {\n                        if (((!inv != !callback(elems[i], i)))) {\n                            ret.push(elems[i]);\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    return ret;\n                },\n                map: function(elems, callback) {\n                    var ret = [];\n                    for (var i = 0, length = elems.length; ((i < length)); i++) {\n                        var value = callback(elems[i], i);\n                        if (((value != null))) {\n                            ret[ret.length] = value;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    return ret.concat.apply([], ret);\n                }\n            });\n            var userAgent = JSBNG__navigator.userAgent.toLowerCase();\n            jQuery.browser = {\n                version: ((userAgent.match(/.+(?:rv|it|ra|ie)[\\/: ]([\\d.]+)/) || []))[1],\n                safari: /webkit/.test(userAgent),\n                JSBNG__opera: /opera/.test(userAgent),\n                msie: ((/msie/.test(userAgent) && !/opera/.test(userAgent))),\n                mozilla: ((/mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent)))\n            };\n            var styleFloat = ((jQuery.browser.msie ? \"styleFloat\" : \"cssFloat\"));\n            jQuery.extend({\n                boxModel: ((!jQuery.browser.msie || ((JSBNG__document.compatMode == \"CSS1Compat\")))),\n                props: {\n                    \"for\": \"htmlFor\",\n                    class: \"className\",\n                    float: styleFloat,\n                    cssFloat: styleFloat,\n                    styleFloat: styleFloat,\n                    readonly: \"readOnly\",\n                    maxlength: \"maxLength\",\n                    cellspacing: \"cellSpacing\"\n                }\n            });\n            jQuery.each({\n                parent: function(elem) {\n                    return elem.parentNode;\n                },\n                parents: function(elem) {\n                    return jQuery.dir(elem, \"parentNode\");\n                },\n                next: function(elem) {\n                    return jQuery.nth(elem, 2, \"nextSibling\");\n                },\n                prev: function(elem) {\n                    return jQuery.nth(elem, 2, \"previousSibling\");\n                },\n                nextAll: function(elem) {\n                    return jQuery.dir(elem, \"nextSibling\");\n                },\n                prevAll: function(elem) {\n                    return jQuery.dir(elem, \"previousSibling\");\n                },\n                siblings: function(elem) {\n                    return jQuery.sibling(elem.parentNode.firstChild, elem);\n                },\n                children: function(elem) {\n                    return jQuery.sibling(elem.firstChild);\n                },\n                contents: function(elem) {\n                    return ((jQuery.nodeName(elem, \"div\") ? ((elem.contentDocument || elem.contentWindow.JSBNG__document)) : jQuery.makeArray(elem.childNodes)));\n                }\n            }, function(JSBNG__name, fn) {\n                jQuery.fn[JSBNG__name] = function(selector) {\n                    var ret = jQuery.map(this, fn);\n                    if (((selector && ((typeof selector == \"string\"))))) {\n                        ret = jQuery.multiFilter(selector, ret);\n                    }\n                ;\n                ;\n                    return this.pushStack(jQuery.unique(ret));\n                };\n            });\n            jQuery.each({\n                appendTo: \"append\",\n                prependTo: \"prepend\",\n                insertBefore: \"before\",\n                insertAfter: \"after\",\n                replaceAll: \"replaceWith\"\n            }, function(JSBNG__name, original) {\n                jQuery.fn[JSBNG__name] = function() {\n                    var args = arguments;\n                    return this.each(function() {\n                        for (var i = 0, length = args.length; ((i < length)); i++) {\n                            jQuery(args[i])[original](this);\n                        };\n                    ;\n                    });\n                };\n            });\n            jQuery.each({\n                removeAttr: function(JSBNG__name) {\n                    jQuery.attr(this, JSBNG__name, \"\");\n                    if (((this.nodeType == 1))) {\n                        this.removeAttribute(JSBNG__name);\n                    }\n                ;\n                ;\n                },\n                addClass: function(classNames) {\n                    jQuery.className.add(this, classNames);\n                },\n                removeClass: function(classNames) {\n                    jQuery.className.remove(this, classNames);\n                },\n                toggleClass: function(classNames) {\n                    jQuery.className[((jQuery.className.has(this, classNames) ? \"remove\" : \"add\"))](this, classNames);\n                },\n                remove: function(selector) {\n                    if (((!selector || jQuery.filter(selector, [this,]).r.length))) {\n                        jQuery(\"*\", this).add(this).each(function() {\n                            jQuery.JSBNG__event.remove(this);\n                            jQuery.removeData(this);\n                        });\n                        if (this.parentNode) {\n                            this.parentNode.removeChild(this);\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                },\n                empty: function() {\n                    jQuery(\"\\u003E*\", this).remove();\n                    while (this.firstChild) {\n                        this.removeChild(this.firstChild);\n                    };\n                ;\n                }\n            }, function(JSBNG__name, fn) {\n                jQuery.fn[JSBNG__name] = function() {\n                    return this.each(fn, arguments);\n                };\n            });\n            jQuery.each([\"Height\",\"Width\",], function(i, JSBNG__name) {\n                var type = JSBNG__name.toLowerCase();\n                jQuery.fn[type] = function(size) {\n                    return ((((this[0] == window)) ? ((((((((jQuery.browser.JSBNG__opera && JSBNG__document.body[((\"client\" + JSBNG__name))])) || ((jQuery.browser.safari && window[((\"JSBNG__inner\" + JSBNG__name))])))) || ((((JSBNG__document.compatMode == \"CSS1Compat\")) && JSBNG__document.documentElement[((\"client\" + JSBNG__name))])))) || JSBNG__document.body[((\"client\" + JSBNG__name))])) : ((((this[0] == JSBNG__document)) ? Math.max(Math.max(JSBNG__document.body[((\"JSBNG__scroll\" + JSBNG__name))], JSBNG__document.documentElement[((\"JSBNG__scroll\" + JSBNG__name))]), Math.max(JSBNG__document.body[((\"offset\" + JSBNG__name))], JSBNG__document.documentElement[((\"offset\" + JSBNG__name))])) : ((((size == undefined)) ? ((this.length ? jQuery.css(this[0], type) : null)) : this.css(type, ((((size.constructor == String)) ? size : ((size + \"px\")))))))))));\n                };\n            });\n            function num(elem, prop) {\n                return ((((elem[0] && parseInt(jQuery.curCSS(elem[0], prop, true), 10))) || 0));\n            };\n        ;\n            var chars = ((((jQuery.browser.safari && ((parseInt(jQuery.browser.version) < 417)))) ? \"(?:[\\\\w*_-]|\\\\\\\\.)\" : \"(?:[\\\\w\\u0128-\\uffff*_-]|\\\\\\\\.)\")), quickChild = new RegExp(((((\"^\\u003E\\\\s*(\" + chars)) + \"+)\"))), quickID = new RegExp(((((((((\"^(\" + chars)) + \"+)(#)(\")) + chars)) + \"+)\"))), quickClass = new RegExp(((((\"^([#.]?)(\" + chars)) + \"*)\")));\n            jQuery.extend({\n                expr: {\n                    \"\": function(a, i, m) {\n                        return ((((m[2] == \"*\")) || jQuery.nodeName(a, m[2])));\n                    },\n                    \"#\": function(a, i, m) {\n                        return ((a.getAttribute(\"id\") == m[2]));\n                    },\n                    \":\": {\n                        lt: function(a, i, m) {\n                            return ((i < ((m[3] - 0))));\n                        },\n                        gt: function(a, i, m) {\n                            return ((i > ((m[3] - 0))));\n                        },\n                        nth: function(a, i, m) {\n                            return ((((m[3] - 0)) == i));\n                        },\n                        eq: function(a, i, m) {\n                            return ((((m[3] - 0)) == i));\n                        },\n                        first: function(a, i) {\n                            return ((i == 0));\n                        },\n                        last: function(a, i, m, r) {\n                            return ((i == ((r.length - 1))));\n                        },\n                        even: function(a, i) {\n                            return ((((i % 2)) == 0));\n                        },\n                        odd: function(a, i) {\n                            return ((i % 2));\n                        },\n                        \"first-child\": function(a) {\n                            return ((a.parentNode.getElementsByTagName(\"*\")[0] == a));\n                        },\n                        \"last-child\": function(a) {\n                            return ((jQuery.nth(a.parentNode.lastChild, 1, \"previousSibling\") == a));\n                        },\n                        \"only-child\": function(a) {\n                            return !jQuery.nth(a.parentNode.lastChild, 2, \"previousSibling\");\n                        },\n                        parent: function(a) {\n                            return a.firstChild;\n                        },\n                        empty: function(a) {\n                            return !a.firstChild;\n                        },\n                        contains: function(a, i, m) {\n                            return ((((((((a.textContent || a.innerText)) || jQuery(a).text())) || \"\")).indexOf(m[3]) >= 0));\n                        },\n                        visible: function(a) {\n                            return ((((((\"hidden\" != a.type)) && ((jQuery.css(a, \"display\") != \"none\")))) && ((jQuery.css(a, \"visibility\") != \"hidden\"))));\n                        },\n                        hidden: function(a) {\n                            return ((((((\"hidden\" == a.type)) || ((jQuery.css(a, \"display\") == \"none\")))) || ((jQuery.css(a, \"visibility\") == \"hidden\"))));\n                        },\n                        enabled: function(a) {\n                            return !a.disabled;\n                        },\n                        disabled: function(a) {\n                            return a.disabled;\n                        },\n                        checked: function(a) {\n                            return a.checked;\n                        },\n                        selected: function(a) {\n                            return ((a.selected || jQuery.attr(a, \"selected\")));\n                        },\n                        text: function(a) {\n                            return ((\"text\" == a.type));\n                        },\n                        radio: function(a) {\n                            return ((\"radio\" == a.type));\n                        },\n                        checkbox: function(a) {\n                            return ((\"checkbox\" == a.type));\n                        },\n                        file: function(a) {\n                            return ((\"file\" == a.type));\n                        },\n                        password: function(a) {\n                            return ((\"password\" == a.type));\n                        },\n                        submit: function(a) {\n                            return ((\"submit\" == a.type));\n                        },\n                        image: function(a) {\n                            return ((\"image\" == a.type));\n                        },\n                        reset: function(a) {\n                            return ((\"reset\" == a.type));\n                        },\n                        button: function(a) {\n                            return ((((\"button\" == a.type)) || jQuery.nodeName(a, \"button\")));\n                        },\n                        input: function(a) {\n                            return /input|select|textarea|button/i.test(a.nodeName);\n                        },\n                        has: function(a, i, m) {\n                            return jQuery.JSBNG__find(m[3], a).length;\n                        },\n                        header: function(a) {\n                            return /h\\d/i.test(a.nodeName);\n                        },\n                        animated: function(a) {\n                            return jQuery.grep(jQuery.timers, function(fn) {\n                                return ((a == fn.elem));\n                            }).length;\n                        }\n                    }\n                },\n                parse: [/^(\\[) *@?([\\w-]+) *([!*$^~=]*) *('?\"?)(.*?)\\4 *\\]/,/^(:)([\\w-]+)\\(\"?'?(.*?(\\(.*?\\))?[^(]*?)\"?'?\\)/,new RegExp(((((\"^([:.#]*)(\" + chars)) + \"+)\"))),],\n                multiFilter: function(expr, elems, not) {\n                    var old, cur = [];\n                    while (((expr && ((expr != old))))) {\n                        old = expr;\n                        var f = jQuery.filter(expr, elems, not);\n                        expr = f.t.replace(/^\\s*,\\s*/, \"\");\n                        cur = ((not ? elems = f.r : jQuery.merge(cur, f.r)));\n                    };\n                ;\n                    return cur;\n                },\n                JSBNG__find: function(t, context) {\n                    if (((typeof t != \"string\"))) {\n                        return [t,];\n                    }\n                ;\n                ;\n                    if (((((context && ((context.nodeType != 1)))) && ((context.nodeType != 9))))) {\n                        return [];\n                    }\n                ;\n                ;\n                    context = ((context || JSBNG__document));\n                    var ret = [context,], done = [], last, nodeName;\n                    while (((t && ((last != t))))) {\n                        var r = [];\n                        last = t;\n                        t = jQuery.trim(t);\n                        var foundToken = false, re = quickChild, m = re.exec(t);\n                        if (m) {\n                            nodeName = m[1].toUpperCase();\n                            for (var i = 0; ret[i]; i++) {\n                                for (var c = ret[i].firstChild; c; c = c.nextSibling) {\n                                    if (((((c.nodeType == 1)) && ((((nodeName == \"*\")) || ((c.nodeName.toUpperCase() == nodeName))))))) {\n                                        r.push(c);\n                                    }\n                                ;\n                                ;\n                                };\n                            ;\n                            };\n                        ;\n                            ret = r;\n                            t = t.replace(re, \"\");\n                            if (((t.indexOf(\" \") == 0))) {\n                                continue;\n                            }\n                        ;\n                        ;\n                            foundToken = true;\n                        }\n                         else {\n                            re = /^([>+~])\\s*(\\w*)/i;\n                            if ((((m = re.exec(t)) != null))) {\n                                r = [];\n                                var merge = {\n                                };\n                                nodeName = m[2].toUpperCase();\n                                m = m[1];\n                                for (var j = 0, rl = ret.length; ((j < rl)); j++) {\n                                    var n = ((((((m == \"~\")) || ((m == \"+\")))) ? ret[j].nextSibling : ret[j].firstChild));\n                                    for (; n; n = n.nextSibling) {\n                                        if (((n.nodeType == 1))) {\n                                            var id = jQuery.data(n);\n                                            if (((((m == \"~\")) && merge[id]))) {\n                                                break;\n                                            }\n                                        ;\n                                        ;\n                                            if (((!nodeName || ((n.nodeName.toUpperCase() == nodeName))))) {\n                                                if (((m == \"~\"))) {\n                                                    merge[id] = true;\n                                                }\n                                            ;\n                                            ;\n                                                r.push(n);\n                                            }\n                                        ;\n                                        ;\n                                            if (((m == \"+\"))) {\n                                                break;\n                                            }\n                                        ;\n                                        ;\n                                        }\n                                    ;\n                                    ;\n                                    };\n                                ;\n                                };\n                            ;\n                                ret = r;\n                                t = jQuery.trim(t.replace(re, \"\"));\n                                foundToken = true;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        if (((t && !foundToken))) {\n                            if (!t.indexOf(\",\")) {\n                                if (((context == ret[0]))) {\n                                    ret.shift();\n                                }\n                            ;\n                            ;\n                                done = jQuery.merge(done, ret);\n                                r = ret = [context,];\n                                t = ((\" \" + t.substr(1, t.length)));\n                            }\n                             else {\n                                var re2 = quickID;\n                                var m = re2.exec(t);\n                                if (m) {\n                                    m = [0,m[2],m[3],m[1],];\n                                }\n                                 else {\n                                    re2 = quickClass;\n                                    m = re2.exec(t);\n                                }\n                            ;\n                            ;\n                                m[2] = m[2].replace(/\\\\/g, \"\");\n                                var elem = ret[((ret.length - 1))];\n                                if (((((((((m[1] == \"#\")) && elem)) && elem.getElementById)) && !jQuery.isXMLDoc(elem)))) {\n                                    var oid = elem.getElementById(m[2]);\n                                    if (((((((((jQuery.browser.msie || jQuery.browser.JSBNG__opera)) && oid)) && ((typeof oid.id == \"string\")))) && ((oid.id != m[2]))))) {\n                                        oid = jQuery(((((\"[@id=\\\"\" + m[2])) + \"\\\"]\")), elem)[0];\n                                    }\n                                ;\n                                ;\n                                    ret = r = ((((oid && ((!m[3] || jQuery.nodeName(oid, m[3]))))) ? [oid,] : []));\n                                }\n                                 else {\n                                    for (var i = 0; ret[i]; i++) {\n                                        var tag = ((((((m[1] == \"#\")) && m[3])) ? m[3] : ((((((m[1] != \"\")) || ((m[0] == \"\")))) ? \"*\" : m[2]))));\n                                        if (((((tag == \"*\")) && ((ret[i].nodeName.toLowerCase() == \"object\"))))) {\n                                            tag = \"param\";\n                                        }\n                                    ;\n                                    ;\n                                        r = jQuery.merge(r, ret[i].getElementsByTagName(tag));\n                                    };\n                                ;\n                                    if (((m[1] == \".\"))) {\n                                        r = jQuery.classFilter(r, m[2]);\n                                    }\n                                ;\n                                ;\n                                    if (((m[1] == \"#\"))) {\n                                        var tmp = [];\n                                        for (var i = 0; r[i]; i++) {\n                                            if (((r[i].getAttribute(\"id\") == m[2]))) {\n                                                tmp = [r[i],];\n                                                break;\n                                            }\n                                        ;\n                                        ;\n                                        };\n                                    ;\n                                        r = tmp;\n                                    }\n                                ;\n                                ;\n                                    ret = r;\n                                }\n                            ;\n                            ;\n                                t = t.replace(re2, \"\");\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        if (t) {\n                            var val = jQuery.filter(t, r);\n                            ret = r = val.r;\n                            t = jQuery.trim(val.t);\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    if (t) {\n                        ret = [];\n                    }\n                ;\n                ;\n                    if (((ret && ((context == ret[0]))))) {\n                        ret.shift();\n                    }\n                ;\n                ;\n                    done = jQuery.merge(done, ret);\n                    return done;\n                },\n                classFilter: function(r, m, not) {\n                    m = ((((\" \" + m)) + \" \"));\n                    var tmp = [];\n                    for (var i = 0; r[i]; i++) {\n                        var pass = ((((((\" \" + r[i].className)) + \" \")).indexOf(m) >= 0));\n                        if (((((!not && pass)) || ((not && !pass))))) {\n                            tmp.push(r[i]);\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    return tmp;\n                },\n                filter: function(t, r, not) {\n                    var last;\n                    while (((t && ((t != last))))) {\n                        last = t;\n                        var p = jQuery.parse, m;\n                        for (var i = 0; p[i]; i++) {\n                            m = p[i].exec(t);\n                            if (m) {\n                                t = t.substring(m[0].length);\n                                m[2] = m[2].replace(/\\\\/g, \"\");\n                                break;\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                        if (!m) {\n                            break;\n                        }\n                    ;\n                    ;\n                        if (((((m[1] == \":\")) && ((m[2] == \"not\"))))) {\n                            r = ((isSimple.test(m[3]) ? jQuery.filter(m[3], r, true).r : jQuery(r).not(m[3])));\n                        }\n                         else {\n                            if (((m[1] == \".\"))) {\n                                r = jQuery.classFilter(r, m[2], not);\n                            }\n                             else {\n                                if (((m[1] == \"[\"))) {\n                                    var tmp = [], type = m[3];\n                                    for (var i = 0, rl = r.length; ((i < rl)); i++) {\n                                        var a = r[i], z = a[((jQuery.props[m[2]] || m[2]))];\n                                        if (((((z == null)) || /href|src|selected/.test(m[2])))) {\n                                            z = ((jQuery.attr(a, m[2]) || \"\"));\n                                        }\n                                    ;\n                                    ;\n                                        if (((((((((((((((((type == \"\")) && !!z)) || ((((type == \"=\")) && ((z == m[5])))))) || ((((type == \"!=\")) && ((z != m[5])))))) || ((((((type == \"^=\")) && z)) && !z.indexOf(m[5]))))) || ((((type == \"$=\")) && ((z.substr(((z.length - m[5].length))) == m[5])))))) || ((((((type == \"*=\")) || ((type == \"~=\")))) && ((z.indexOf(m[5]) >= 0)))))) ^ not))) {\n                                            tmp.push(a);\n                                        }\n                                    ;\n                                    ;\n                                    };\n                                ;\n                                    r = tmp;\n                                }\n                                 else {\n                                    if (((((m[1] == \":\")) && ((m[2] == \"nth-child\"))))) {\n                                        var merge = {\n                                        }, tmp = [], test = /(-?)(\\d*)n((?:\\+|-)?\\d*)/.exec(((((((((((m[3] == \"even\")) && \"2n\")) || ((((m[3] == \"odd\")) && \"2n+1\")))) || ((!/\\D/.test(m[3]) && ((\"0n+\" + m[3])))))) || m[3]))), first = ((((test[1] + ((test[2] || 1)))) - 0)), last = ((test[3] - 0));\n                                        for (var i = 0, rl = r.length; ((i < rl)); i++) {\n                                            var node = r[i], parentNode = node.parentNode, id = jQuery.data(parentNode);\n                                            if (!merge[id]) {\n                                                var c = 1;\n                                                for (var n = parentNode.firstChild; n; n = n.nextSibling) {\n                                                    if (((n.nodeType == 1))) {\n                                                        n.nodeIndex = c++;\n                                                    }\n                                                ;\n                                                ;\n                                                };\n                                            ;\n                                                merge[id] = true;\n                                            }\n                                        ;\n                                        ;\n                                            var add = false;\n                                            if (((first == 0))) {\n                                                if (((node.nodeIndex == last))) {\n                                                    add = true;\n                                                }\n                                            ;\n                                            ;\n                                            }\n                                             else {\n                                                if (((((((((node.nodeIndex - last)) % first)) == 0)) && ((((((node.nodeIndex - last)) / first)) >= 0))))) {\n                                                    add = true;\n                                                }\n                                            ;\n                                            ;\n                                            }\n                                        ;\n                                        ;\n                                            if (((add ^ not))) {\n                                                tmp.push(node);\n                                            }\n                                        ;\n                                        ;\n                                        };\n                                    ;\n                                        r = tmp;\n                                    }\n                                     else {\n                                        var fn = jQuery.expr[m[1]];\n                                        if (((typeof fn == \"object\"))) {\n                                            fn = fn[m[2]];\n                                        }\n                                    ;\n                                    ;\n                                        if (((typeof fn == \"string\"))) {\n                                            fn = eval(((((\"false||function(a,i){return \" + fn)) + \";}\")));\n                                        }\n                                    ;\n                                    ;\n                                        r = jQuery.grep(r, function(elem, i) {\n                                            return fn(elem, i, m, r);\n                                        }, not);\n                                    }\n                                ;\n                                ;\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    return {\n                        r: r,\n                        t: t\n                    };\n                },\n                dir: function(elem, dir) {\n                    var matched = [], cur = elem[dir];\n                    while (((cur && ((cur != JSBNG__document))))) {\n                        if (((cur.nodeType == 1))) {\n                            matched.push(cur);\n                        }\n                    ;\n                    ;\n                        cur = cur[dir];\n                    };\n                ;\n                    return matched;\n                },\n                nth: function(cur, result, dir, elem) {\n                    result = ((result || 1));\n                    var num = 0;\n                    for (; cur; cur = cur[dir]) {\n                        if (((((cur.nodeType == 1)) && ((++num == result))))) {\n                            break;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    return cur;\n                },\n                sibling: function(n, elem) {\n                    var r = [];\n                    for (; n; n = n.nextSibling) {\n                        if (((((n.nodeType == 1)) && ((n != elem))))) {\n                            r.push(n);\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    return r;\n                }\n            });\n            jQuery.JSBNG__event = {\n                add: function(elem, types, handler, data) {\n                    if (((((elem.nodeType == 3)) || ((elem.nodeType == 8))))) {\n                        return;\n                    }\n                ;\n                ;\n                    if (((jQuery.browser.msie && elem.JSBNG__setInterval))) {\n                        elem = window;\n                    }\n                ;\n                ;\n                    if (!handler.guid) {\n                        handler.guid = this.guid++;\n                    }\n                ;\n                ;\n                    if (((data != undefined))) {\n                        var fn = handler;\n                        handler = this.proxy(fn, function() {\n                            return fn.apply(this, arguments);\n                        });\n                        handler.data = data;\n                    }\n                ;\n                ;\n                    var events = ((jQuery.data(elem, \"events\") || jQuery.data(elem, \"events\", {\n                    }))), handle = ((jQuery.data(elem, \"handle\") || jQuery.data(elem, \"handle\", function() {\n                        if (((((typeof jQuery != \"undefined\")) && !jQuery.JSBNG__event.triggered))) {\n                            return jQuery.JSBNG__event.handle.apply(arguments.callee.elem, arguments);\n                        }\n                    ;\n                    ;\n                    })));\n                    handle.elem = elem;\n                    jQuery.each(types.split(/\\s+/), function(index, type) {\n                        var parts = type.split(\".\");\n                        type = parts[0];\n                        handler.type = parts[1];\n                        var handlers = events[type];\n                        if (!handlers) {\n                            handlers = events[type] = {\n                            };\n                            if (((!jQuery.JSBNG__event.special[type] || ((jQuery.JSBNG__event.special[type].setup.call(elem) === false))))) {\n                                if (elem.JSBNG__addEventListener) {\n                                    elem.JSBNG__addEventListener(type, handle, false);\n                                }\n                                 else {\n                                    if (elem.JSBNG__attachEvent) {\n                                        elem.JSBNG__attachEvent(((\"JSBNG__on\" + type)), handle);\n                                    }\n                                ;\n                                ;\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        handlers[handler.guid] = handler;\n                        jQuery.JSBNG__event.global[type] = true;\n                    });\n                    elem = null;\n                },\n                guid: 1,\n                global: {\n                },\n                remove: function(elem, types, handler) {\n                    if (((((elem.nodeType == 3)) || ((elem.nodeType == 8))))) {\n                        return;\n                    }\n                ;\n                ;\n                    var events = jQuery.data(elem, \"events\"), ret, index;\n                    if (events) {\n                        if (((((types == undefined)) || ((((typeof types == \"string\")) && ((types.charAt(0) == \".\"))))))) {\n                            {\n                                var fin20keys = ((window.top.JSBNG_Replay.forInKeys)((events))), fin20i = (0);\n                                var type;\n                                for (; (fin20i < fin20keys.length); (fin20i++)) {\n                                    ((type) = (fin20keys[fin20i]));\n                                    {\n                                        this.remove(elem, ((type + ((types || \"\")))));\n                                    };\n                                };\n                            };\n                        ;\n                        }\n                         else {\n                            if (types.type) {\n                                handler = types.handler;\n                                types = types.type;\n                            }\n                        ;\n                        ;\n                            jQuery.each(types.split(/\\s+/), function(index, type) {\n                                var parts = type.split(\".\");\n                                type = parts[0];\n                                if (events[type]) {\n                                    if (handler) {\n                                        delete events[type][handler.guid];\n                                    }\n                                     else {\n                                        {\n                                            var fin21keys = ((window.top.JSBNG_Replay.forInKeys)((events[type]))), fin21i = (0);\n                                            (0);\n                                            for (; (fin21i < fin21keys.length); (fin21i++)) {\n                                                ((handler) = (fin21keys[fin21i]));\n                                                {\n                                                    if (((!parts[1] || ((events[type][handler].type == parts[1]))))) {\n                                                        delete events[type][handler];\n                                                    }\n                                                ;\n                                                ;\n                                                };\n                                            };\n                                        };\n                                    ;\n                                    }\n                                ;\n                                ;\n                                    {\n                                        var fin22keys = ((window.top.JSBNG_Replay.forInKeys)((events[type]))), fin22i = (0);\n                                        (0);\n                                        for (; (fin22i < fin22keys.length); (fin22i++)) {\n                                            ((ret) = (fin22keys[fin22i]));\n                                            {\n                                                break;\n                                            };\n                                        };\n                                    };\n                                ;\n                                    if (!ret) {\n                                        if (((!jQuery.JSBNG__event.special[type] || ((jQuery.JSBNG__event.special[type].teardown.call(elem) === false))))) {\n                                            if (elem.JSBNG__removeEventListener) {\n                                                elem.JSBNG__removeEventListener(type, jQuery.data(elem, \"handle\"), false);\n                                            }\n                                             else {\n                                                if (elem.JSBNG__detachEvent) {\n                                                    elem.JSBNG__detachEvent(((\"JSBNG__on\" + type)), jQuery.data(elem, \"handle\"));\n                                                }\n                                            ;\n                                            ;\n                                            }\n                                        ;\n                                        ;\n                                        }\n                                    ;\n                                    ;\n                                        ret = null;\n                                        delete events[type];\n                                    }\n                                ;\n                                ;\n                                }\n                            ;\n                            ;\n                            });\n                        }\n                    ;\n                    ;\n                        {\n                            var fin23keys = ((window.top.JSBNG_Replay.forInKeys)((events))), fin23i = (0);\n                            (0);\n                            for (; (fin23i < fin23keys.length); (fin23i++)) {\n                                ((ret) = (fin23keys[fin23i]));\n                                {\n                                    break;\n                                };\n                            };\n                        };\n                    ;\n                        if (!ret) {\n                            var handle = jQuery.data(elem, \"handle\");\n                            if (handle) {\n                                handle.elem = null;\n                            }\n                        ;\n                        ;\n                            jQuery.removeData(elem, \"events\");\n                            jQuery.removeData(elem, \"handle\");\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                },\n                trigger: function(type, data, elem, donative, extra) {\n                    data = jQuery.makeArray(data);\n                    if (((type.indexOf(\"!\") >= 0))) {\n                        type = type.slice(0, -1);\n                        var exclusive = true;\n                    }\n                ;\n                ;\n                    if (!elem) {\n                        if (this.global[type]) {\n                            jQuery(\"*\").add([window,JSBNG__document,]).trigger(type, data);\n                        }\n                    ;\n                    ;\n                    }\n                     else {\n                        if (((((elem.nodeType == 3)) || ((elem.nodeType == 8))))) {\n                            return undefined;\n                        }\n                    ;\n                    ;\n                        var val, ret, fn = jQuery.isFunction(((elem[type] || null))), JSBNG__event = ((!data[0] || !data[0].preventDefault));\n                        if (JSBNG__event) {\n                            data.unshift({\n                                type: type,\n                                target: elem,\n                                preventDefault: function() {\n                                \n                                },\n                                stopPropagation: function() {\n                                \n                                },\n                                timeStamp: now()\n                            });\n                            data[0][expando] = true;\n                        }\n                    ;\n                    ;\n                        data[0].type = type;\n                        if (exclusive) {\n                            data[0].exclusive = true;\n                        }\n                    ;\n                    ;\n                        var handle = jQuery.data(elem, \"handle\");\n                        if (handle) {\n                            val = handle.apply(elem, data);\n                        }\n                    ;\n                    ;\n                        if (((((((!fn || ((jQuery.nodeName(elem, \"a\") && ((type == \"click\")))))) && elem[((\"JSBNG__on\" + type))])) && ((elem[((\"JSBNG__on\" + type))].apply(elem, data) === false))))) {\n                            val = false;\n                        }\n                    ;\n                    ;\n                        if (JSBNG__event) {\n                            data.shift();\n                        }\n                    ;\n                    ;\n                        if (((extra && jQuery.isFunction(extra)))) {\n                            ret = extra.apply(elem, ((((val == null)) ? data : data.concat(val))));\n                            if (((ret !== undefined))) {\n                                val = ret;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        if (((((((fn && ((donative !== false)))) && ((val !== false)))) && !((jQuery.nodeName(elem, \"a\") && ((type == \"click\"))))))) {\n                            this.triggered = true;\n                            try {\n                                elem[type]();\n                            } catch (e) {\n                            \n                            };\n                        ;\n                        }\n                    ;\n                    ;\n                        this.triggered = false;\n                    }\n                ;\n                ;\n                    return val;\n                },\n                handle: function(JSBNG__event) {\n                    var val, ret, namespace, all, handlers;\n                    JSBNG__event = arguments[0] = jQuery.JSBNG__event.fix(((JSBNG__event || window.JSBNG__event)));\n                    namespace = JSBNG__event.type.split(\".\");\n                    JSBNG__event.type = namespace[0];\n                    namespace = namespace[1];\n                    all = ((!namespace && !JSBNG__event.exclusive));\n                    handlers = ((jQuery.data(this, \"events\") || {\n                    }))[JSBNG__event.type];\n                    {\n                        var fin24keys = ((window.top.JSBNG_Replay.forInKeys)((handlers))), fin24i = (0);\n                        var j;\n                        for (; (fin24i < fin24keys.length); (fin24i++)) {\n                            ((j) = (fin24keys[fin24i]));\n                            {\n                                var handler = handlers[j];\n                                if (((all || ((handler.type == namespace))))) {\n                                    JSBNG__event.handler = handler;\n                                    JSBNG__event.data = handler.data;\n                                    ret = handler.apply(this, arguments);\n                                    if (((val !== false))) {\n                                        val = ret;\n                                    }\n                                ;\n                                ;\n                                    if (((ret === false))) {\n                                        JSBNG__event.preventDefault();\n                                        JSBNG__event.stopPropagation();\n                                    }\n                                ;\n                                ;\n                                }\n                            ;\n                            ;\n                            };\n                        };\n                    };\n                ;\n                    return val;\n                },\n                fix: function(JSBNG__event) {\n                    if (((JSBNG__event[expando] == true))) {\n                        return JSBNG__event;\n                    }\n                ;\n                ;\n                    var originalEvent = JSBNG__event;\n                    JSBNG__event = {\n                        originalEvent: originalEvent\n                    };\n                    var props = \"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which\".split(\" \");\n                    for (var i = props.length; i; i--) {\n                        JSBNG__event[props[i]] = originalEvent[props[i]];\n                    };\n                ;\n                    JSBNG__event[expando] = true;\n                    JSBNG__event.preventDefault = function() {\n                        if (originalEvent.preventDefault) {\n                            originalEvent.preventDefault();\n                        }\n                    ;\n                    ;\n                        originalEvent.returnValue = false;\n                    };\n                    JSBNG__event.stopPropagation = function() {\n                        if (originalEvent.stopPropagation) {\n                            originalEvent.stopPropagation();\n                        }\n                    ;\n                    ;\n                        originalEvent.cancelBubble = true;\n                    };\n                    JSBNG__event.timeStamp = ((JSBNG__event.timeStamp || now()));\n                    if (!JSBNG__event.target) {\n                        JSBNG__event.target = ((JSBNG__event.srcElement || JSBNG__document));\n                    }\n                ;\n                ;\n                    if (((JSBNG__event.target.nodeType == 3))) {\n                        JSBNG__event.target = JSBNG__event.target.parentNode;\n                    }\n                ;\n                ;\n                    if (((!JSBNG__event.relatedTarget && JSBNG__event.fromElement))) {\n                        JSBNG__event.relatedTarget = ((((JSBNG__event.fromElement == JSBNG__event.target)) ? JSBNG__event.toElement : JSBNG__event.fromElement));\n                    }\n                ;\n                ;\n                    if (((((JSBNG__event.pageX == null)) && ((JSBNG__event.clientX != null))))) {\n                        var doc = JSBNG__document.documentElement, body = JSBNG__document.body;\n                        JSBNG__event.pageX = ((((JSBNG__event.clientX + ((((((doc && doc.scrollLeft)) || ((body && body.scrollLeft)))) || 0)))) - ((doc.clientLeft || 0))));\n                        JSBNG__event.pageY = ((((JSBNG__event.clientY + ((((((doc && doc.scrollTop)) || ((body && body.scrollTop)))) || 0)))) - ((doc.clientTop || 0))));\n                    }\n                ;\n                ;\n                    if (((!JSBNG__event.which && ((((JSBNG__event.charCode || ((JSBNG__event.charCode === 0)))) ? JSBNG__event.charCode : JSBNG__event.keyCode))))) {\n                        JSBNG__event.which = ((JSBNG__event.charCode || JSBNG__event.keyCode));\n                    }\n                ;\n                ;\n                    if (((!JSBNG__event.metaKey && JSBNG__event.ctrlKey))) {\n                        JSBNG__event.metaKey = JSBNG__event.ctrlKey;\n                    }\n                ;\n                ;\n                    if (((!JSBNG__event.which && JSBNG__event.button))) {\n                        JSBNG__event.which = ((((JSBNG__event.button & 1)) ? 1 : ((((JSBNG__event.button & 2)) ? 3 : ((((JSBNG__event.button & 4)) ? 2 : 0))))));\n                    }\n                ;\n                ;\n                    return JSBNG__event;\n                },\n                proxy: function(fn, proxy) {\n                    proxy.guid = fn.guid = ((((fn.guid || proxy.guid)) || this.guid++));\n                    return proxy;\n                },\n                special: {\n                    ready: {\n                        setup: function() {\n                            bindReady();\n                            return;\n                        },\n                        teardown: function() {\n                            return;\n                        }\n                    },\n                    mouseenter: {\n                        setup: function() {\n                            if (jQuery.browser.msie) {\n                                return false;\n                            }\n                        ;\n                        ;\n                            jQuery(this).bind(\"mouseover\", jQuery.JSBNG__event.special.mouseenter.handler);\n                            return true;\n                        },\n                        teardown: function() {\n                            if (jQuery.browser.msie) {\n                                return false;\n                            }\n                        ;\n                        ;\n                            jQuery(this).unbind(\"mouseover\", jQuery.JSBNG__event.special.mouseenter.handler);\n                            return true;\n                        },\n                        handler: function(JSBNG__event) {\n                            if (withinElement(JSBNG__event, this)) {\n                                return true;\n                            }\n                        ;\n                        ;\n                            JSBNG__event.type = \"mouseenter\";\n                            return jQuery.JSBNG__event.handle.apply(this, arguments);\n                        }\n                    },\n                    mouseleave: {\n                        setup: function() {\n                            if (jQuery.browser.msie) {\n                                return false;\n                            }\n                        ;\n                        ;\n                            jQuery(this).bind(\"mouseout\", jQuery.JSBNG__event.special.mouseleave.handler);\n                            return true;\n                        },\n                        teardown: function() {\n                            if (jQuery.browser.msie) {\n                                return false;\n                            }\n                        ;\n                        ;\n                            jQuery(this).unbind(\"mouseout\", jQuery.JSBNG__event.special.mouseleave.handler);\n                            return true;\n                        },\n                        handler: function(JSBNG__event) {\n                            if (withinElement(JSBNG__event, this)) {\n                                return true;\n                            }\n                        ;\n                        ;\n                            JSBNG__event.type = \"mouseleave\";\n                            return jQuery.JSBNG__event.handle.apply(this, arguments);\n                        }\n                    }\n                }\n            };\n            jQuery.fn.extend({\n                bind: function(type, data, fn) {\n                    return ((((type == \"unload\")) ? this.one(type, data, fn) : this.each(function() {\n                        jQuery.JSBNG__event.add(this, type, ((fn || data)), ((fn && data)));\n                    })));\n                },\n                one: function(type, data, fn) {\n                    var one = jQuery.JSBNG__event.proxy(((fn || data)), function(JSBNG__event) {\n                        jQuery(this).unbind(JSBNG__event, one);\n                        return ((fn || data)).apply(this, arguments);\n                    });\n                    return this.each(function() {\n                        jQuery.JSBNG__event.add(this, type, one, ((fn && data)));\n                    });\n                },\n                unbind: function(type, fn) {\n                    return this.each(function() {\n                        jQuery.JSBNG__event.remove(this, type, fn);\n                    });\n                },\n                trigger: function(type, data, fn) {\n                    return this.each(function() {\n                        jQuery.JSBNG__event.trigger(type, data, this, true, fn);\n                    });\n                },\n                triggerHandler: function(type, data, fn) {\n                    return ((this[0] && jQuery.JSBNG__event.trigger(type, data, this[0], false, fn)));\n                },\n                toggle: function(fn) {\n                    var args = arguments, i = 1;\n                    while (((i < args.length))) {\n                        jQuery.JSBNG__event.proxy(fn, args[i++]);\n                    };\n                ;\n                    return this.click(jQuery.JSBNG__event.proxy(fn, function(JSBNG__event) {\n                        this.lastToggle = ((((this.lastToggle || 0)) % i));\n                        JSBNG__event.preventDefault();\n                        return ((args[this.lastToggle++].apply(this, arguments) || false));\n                    }));\n                },\n                hover: function(fnOver, fnOut) {\n                    return this.bind(\"mouseenter\", fnOver).bind(\"mouseleave\", fnOut);\n                },\n                ready: function(fn) {\n                    bindReady();\n                    if (jQuery.isReady) {\n                        fn.call(JSBNG__document, jQuery);\n                    }\n                     else {\n                        jQuery.readyList.push(function() {\n                            return fn.call(this, jQuery);\n                        });\n                    }\n                ;\n                ;\n                    return this;\n                }\n            });\n            jQuery.extend({\n                isReady: false,\n                readyList: [],\n                ready: function() {\n                    if (!jQuery.isReady) {\n                        jQuery.isReady = true;\n                        if (jQuery.readyList) {\n                            jQuery.each(jQuery.readyList, function() {\n                                this.call(JSBNG__document);\n                            });\n                            jQuery.readyList = null;\n                        }\n                    ;\n                    ;\n                        jQuery(JSBNG__document).triggerHandler(\"ready\");\n                    }\n                ;\n                ;\n                }\n            });\n            var readyBound = false;\n            function bindReady() {\n                if (readyBound) {\n                    return;\n                }\n            ;\n            ;\n                readyBound = true;\n                if (((JSBNG__document.JSBNG__addEventListener && !jQuery.browser.JSBNG__opera))) {\n                    JSBNG__document.JSBNG__addEventListener(\"DOMContentLoaded\", jQuery.ready, false);\n                }\n            ;\n            ;\n                if (((jQuery.browser.msie && ((window == JSBNG__top))))) {\n                    (function() {\n                        if (jQuery.isReady) {\n                            return;\n                        }\n                    ;\n                    ;\n                        try {\n                            JSBNG__document.documentElement.doScroll(\"left\");\n                        } catch (error) {\n                            JSBNG__setTimeout(arguments.callee, jQuery126PatchDelay);\n                            return;\n                        };\n                    ;\n                        jQuery.ready();\n                    })();\n                }\n            ;\n            ;\n                if (jQuery.browser.JSBNG__opera) {\n                    JSBNG__document.JSBNG__addEventListener(\"DOMContentLoaded\", function() {\n                        if (jQuery.isReady) {\n                            return;\n                        }\n                    ;\n                    ;\n                        for (var i = 0; ((i < JSBNG__document.styleSheets.length)); i++) {\n                            if (JSBNG__document.styleSheets[i].disabled) {\n                                JSBNG__setTimeout(arguments.callee, jQuery126PatchDelay);\n                                return;\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                        jQuery.ready();\n                    }, false);\n                }\n            ;\n            ;\n                if (jQuery.browser.safari) {\n                    var numStyles;\n                    (function() {\n                        if (jQuery.isReady) {\n                            return;\n                        }\n                    ;\n                    ;\n                        if (((((JSBNG__document.readyState != \"loaded\")) && ((JSBNG__document.readyState != \"complete\"))))) {\n                            JSBNG__setTimeout(arguments.callee, jQuery126PatchDelay);\n                            return;\n                        }\n                    ;\n                    ;\n                        if (((numStyles === undefined))) {\n                            numStyles = jQuery(\"style, link[rel=stylesheet]\").length;\n                        }\n                    ;\n                    ;\n                        if (((JSBNG__document.styleSheets.length != numStyles))) {\n                            JSBNG__setTimeout(arguments.callee, jQuery126PatchDelay);\n                            return;\n                        }\n                    ;\n                    ;\n                        jQuery.ready();\n                    })();\n                }\n            ;\n            ;\n                jQuery.JSBNG__event.add(window, \"load\", jQuery.ready);\n            };\n        ;\n            jQuery.each(((((\"blur,focus,load,resize,scroll,unload,click,dblclick,\" + \"mousedown,mouseup,mousemove,mouseover,mouseout,change,select,\")) + \"submit,keydown,keypress,keyup,error\")).split(\",\"), function(i, JSBNG__name) {\n                jQuery.fn[JSBNG__name] = function(fn) {\n                    return ((fn ? this.bind(JSBNG__name, fn) : this.trigger(JSBNG__name)));\n                };\n            });\n            var withinElement = function(JSBNG__event, elem) {\n                var parent = JSBNG__event.relatedTarget;\n                while (((parent && ((parent != elem))))) {\n                    try {\n                        parent = parent.parentNode;\n                    } catch (error) {\n                        parent = elem;\n                    };\n                ;\n                };\n            ;\n                return ((parent == elem));\n            };\n            jQuery(window).bind(\"unload\", function() {\n                jQuery(\"*\").add(JSBNG__document).unbind();\n            });\n            jQuery.fn.extend({\n                _load: jQuery.fn.load,\n                load: function(url, params, callback) {\n                    if (((typeof url != \"string\"))) {\n                        return this._load(url);\n                    }\n                ;\n                ;\n                    var off = url.indexOf(\" \");\n                    if (((off >= 0))) {\n                        var selector = url.slice(off, url.length);\n                        url = url.slice(0, off);\n                    }\n                ;\n                ;\n                    callback = ((callback || function() {\n                    \n                    }));\n                    var type = \"GET\";\n                    if (params) {\n                        if (jQuery.isFunction(params)) {\n                            callback = params;\n                            params = null;\n                        }\n                         else {\n                            params = jQuery.param(params);\n                            type = \"POST\";\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    var JSBNG__self = this;\n                    jQuery.ajax({\n                        url: url,\n                        type: type,\n                        dataType: \"html\",\n                        data: params,\n                        complete: function(res, JSBNG__status) {\n                            if (((((JSBNG__status == \"success\")) || ((JSBNG__status == \"notmodified\"))))) {\n                                JSBNG__self.html(((selector ? jQuery(\"\\u003Cdiv/\\u003E\").append(res.responseText.replace(/<script(.|\\s)*?\\/script>/g, \"\")).JSBNG__find(selector) : res.responseText)));\n                            }\n                        ;\n                        ;\n                            JSBNG__self.each(callback, [res.responseText,JSBNG__status,res,]);\n                        }\n                    });\n                    return this;\n                },\n                serialize: function() {\n                    return jQuery.param(this.serializeArray());\n                },\n                serializeArray: function() {\n                    return this.map(function() {\n                        return ((jQuery.nodeName(this, \"form\") ? jQuery.makeArray(this.elements) : this));\n                    }).filter(function() {\n                        return ((((this.JSBNG__name && !this.disabled)) && ((((this.checked || /select|textarea/i.test(this.nodeName))) || /text|hidden|password/i.test(this.type)))));\n                    }).map(function(i, elem) {\n                        var val = jQuery(this).val();\n                        return ((((val == null)) ? null : ((((val.constructor == Array)) ? jQuery.map(val, function(val, i) {\n                            return {\n                                JSBNG__name: elem.JSBNG__name,\n                                value: val\n                            };\n                        }) : {\n                            JSBNG__name: elem.JSBNG__name,\n                            value: val\n                        }))));\n                    }).get();\n                }\n            });\n            jQuery.each(\"ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend\".split(\",\"), function(i, o) {\n                jQuery.fn[o] = function(f) {\n                    return this.bind(o, f);\n                };\n            });\n            var jsc = now();\n            jQuery.extend({\n                get: function(url, data, callback, type) {\n                    if (jQuery.isFunction(data)) {\n                        callback = data;\n                        data = null;\n                    }\n                ;\n                ;\n                    return jQuery.ajax({\n                        type: \"GET\",\n                        url: url,\n                        data: data,\n                        success: callback,\n                        dataType: type\n                    });\n                },\n                getScript: function(url, callback) {\n                    return jQuery.get(url, null, callback, \"script\");\n                },\n                getJSON: function(url, data, callback) {\n                    return jQuery.get(url, data, callback, \"json\");\n                },\n                post: function(url, data, callback, type) {\n                    if (jQuery.isFunction(data)) {\n                        callback = data;\n                        data = {\n                        };\n                    }\n                ;\n                ;\n                    return jQuery.ajax({\n                        type: \"POST\",\n                        url: url,\n                        data: data,\n                        success: callback,\n                        dataType: type\n                    });\n                },\n                ajaxSetup: function(settings) {\n                    jQuery.extend(jQuery.ajaxSettings, settings);\n                },\n                ajaxSettings: {\n                    url: JSBNG__location.href,\n                    global: true,\n                    type: \"GET\",\n                    timeout: 0,\n                    contentType: \"application/x-www-form-urlencoded\",\n                    processData: true,\n                    async: true,\n                    data: null,\n                    username: null,\n                    password: null,\n                    accepts: {\n                        xml: \"application/xml, text/xml\",\n                        html: \"text/html\",\n                        script: \"text/javascript, application/javascript\",\n                        json: \"application/json, text/javascript\",\n                        text: \"text/plain\",\n                        _default: \"*/*\"\n                    }\n                },\n                lastModified: {\n                },\n                ajax: function(s) {\n                    s = jQuery.extend(true, s, jQuery.extend(true, {\n                    }, jQuery.ajaxSettings, s));\n                    var jsonp, jsre = /=\\?(&|$)/g, JSBNG__status, data, type = s.type.toUpperCase();\n                    if (((((s.data && s.processData)) && ((typeof s.data != \"string\"))))) {\n                        s.data = jQuery.param(s.data);\n                    }\n                ;\n                ;\n                    if (((s.dataType == \"jsonp\"))) {\n                        if (((type == \"GET\"))) {\n                            if (!s.url.match(jsre)) {\n                                s.url += ((((((s.url.match(/\\?/) ? \"&\" : \"?\")) + ((s.jsonp || \"callback\")))) + \"=?\"));\n                            }\n                        ;\n                        ;\n                        }\n                         else {\n                            if (((!s.data || !s.data.match(jsre)))) {\n                                s.data = ((((((s.data ? ((s.data + \"&\")) : \"\")) + ((s.jsonp || \"callback\")))) + \"=?\"));\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        s.dataType = \"json\";\n                    }\n                ;\n                ;\n                    if (((((s.dataType == \"json\")) && ((((s.data && s.data.match(jsre))) || s.url.match(jsre)))))) {\n                        jsonp = ((\"jsonp\" + jsc++));\n                        if (s.data) {\n                            s.data = ((s.data + \"\")).replace(jsre, ((((\"=\" + jsonp)) + \"$1\")));\n                        }\n                    ;\n                    ;\n                        s.url = s.url.replace(jsre, ((((\"=\" + jsonp)) + \"$1\")));\n                        s.dataType = \"script\";\n                        window[jsonp] = function(tmp) {\n                            data = tmp;\n                            success();\n                            complete();\n                            window[jsonp] = undefined;\n                            try {\n                                delete window[jsonp];\n                            } catch (e) {\n                            \n                            };\n                        ;\n                            if (head) {\n                                head.removeChild(script);\n                            }\n                        ;\n                        ;\n                        };\n                    }\n                ;\n                ;\n                    if (((((s.dataType == \"script\")) && ((s.cache == null))))) {\n                        s.cache = false;\n                    }\n                ;\n                ;\n                    if (((((s.cache === false)) && ((type == \"GET\"))))) {\n                        var ts = now();\n                        var ret = s.url.replace(/(\\?|&)_=.*?(&|$)/, ((((\"$1_=\" + ts)) + \"$2\")));\n                        s.url = ((ret + ((((ret == s.url)) ? ((((((s.url.match(/\\?/) ? \"&\" : \"?\")) + \"_=\")) + ts)) : \"\"))));\n                    }\n                ;\n                ;\n                    if (((s.data && ((type == \"GET\"))))) {\n                        s.url += ((((s.url.match(/\\?/) ? \"&\" : \"?\")) + s.data));\n                        s.data = null;\n                    }\n                ;\n                ;\n                    if (((s.global && !jQuery.active++))) {\n                        jQuery.JSBNG__event.trigger(\"ajaxStart\");\n                    }\n                ;\n                ;\n                    var remote = /^(?:\\w+:)?\\/\\/([^\\/?#]+)/;\n                    if (((((((((s.dataType == \"script\")) && ((type == \"GET\")))) && remote.test(s.url))) && ((remote.exec(s.url)[1] != JSBNG__location.host))))) {\n                        var head = JSBNG__document.getElementsByTagName(\"head\")[0];\n                        var script = JSBNG__document.createElement(\"script\");\n                        script.src = s.url;\n                        if (s.scriptCharset) {\n                            script.charset = s.scriptCharset;\n                        }\n                    ;\n                    ;\n                        if (!jsonp) {\n                            var done = false;\n                            script.JSBNG__onload = script.onreadystatechange = function() {\n                                if (((!done && ((((!this.readyState || ((this.readyState == \"loaded\")))) || ((this.readyState == \"complete\"))))))) {\n                                    done = true;\n                                    success();\n                                    complete();\n                                    head.removeChild(script);\n                                }\n                            ;\n                            ;\n                            };\n                        }\n                    ;\n                    ;\n                        head.appendChild(script);\n                        return undefined;\n                    }\n                ;\n                ;\n                    var requestDone = false;\n                    var xhr = ((window.ActiveXObject ? new ActiveXObject(\"Microsoft.XMLHTTP\") : new JSBNG__XMLHttpRequest()));\n                    if (s.username) {\n                        xhr.open(type, s.url, s.async, s.username, s.password);\n                    }\n                     else {\n                        xhr.open(type, s.url, s.async);\n                    }\n                ;\n                ;\n                    try {\n                        if (s.data) {\n                            xhr.setRequestHeader(\"Content-Type\", s.contentType);\n                        }\n                    ;\n                    ;\n                        if (s.ifModified) {\n                            xhr.setRequestHeader(\"If-Modified-Since\", ((jQuery.lastModified[s.url] || \"Thu, 01 Jan 1970 00:00:00 GMT\")));\n                        }\n                    ;\n                    ;\n                        xhr.setRequestHeader(\"X-Requested-With\", \"JSBNG__XMLHttpRequest\");\n                        xhr.setRequestHeader(\"Accept\", ((((s.dataType && s.accepts[s.dataType])) ? ((s.accepts[s.dataType] + \", */*\")) : s.accepts._default)));\n                    } catch (e) {\n                    \n                    };\n                ;\n                    if (((s.beforeSend && ((s.beforeSend(xhr, s) === false))))) {\n                        ((s.global && jQuery.active--));\n                        xhr.abort();\n                        return false;\n                    }\n                ;\n                ;\n                    if (s.global) {\n                        jQuery.JSBNG__event.trigger(\"ajaxSend\", [xhr,s,]);\n                    }\n                ;\n                ;\n                    var onreadystatechange = function(isTimeout) {\n                        if (((((!requestDone && xhr)) && ((((xhr.readyState == 4)) || ((isTimeout == \"timeout\"))))))) {\n                            requestDone = true;\n                            if (ival) {\n                                JSBNG__clearInterval(ival);\n                                ival = null;\n                            }\n                        ;\n                        ;\n                            JSBNG__status = ((((((((((isTimeout == \"timeout\")) && \"timeout\")) || ((!jQuery.httpSuccess(xhr) && \"error\")))) || ((((s.ifModified && jQuery.httpNotModified(xhr, s.url))) && \"notmodified\")))) || \"success\"));\n                            if (((JSBNG__status == \"success\"))) {\n                                try {\n                                    data = jQuery.httpData(xhr, s.dataType, s.dataFilter);\n                                } catch (e) {\n                                    JSBNG__status = \"parsererror\";\n                                };\n                            ;\n                            }\n                        ;\n                        ;\n                            if (((JSBNG__status == \"success\"))) {\n                                var modRes;\n                                try {\n                                    modRes = xhr.getResponseHeader(\"Last-Modified\");\n                                } catch (e) {\n                                \n                                };\n                            ;\n                                if (((s.ifModified && modRes))) {\n                                    jQuery.lastModified[s.url] = modRes;\n                                }\n                            ;\n                            ;\n                                if (!jsonp) {\n                                    success();\n                                }\n                            ;\n                            ;\n                            }\n                             else {\n                                jQuery.handleError(s, xhr, JSBNG__status);\n                            }\n                        ;\n                        ;\n                            complete();\n                            if (s.async) {\n                                xhr = null;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    };\n                    if (s.async) {\n                        var ival = JSBNG__setInterval(onreadystatechange, 13);\n                        if (((s.timeout > 0))) {\n                            JSBNG__setTimeout(function() {\n                                if (xhr) {\n                                    xhr.abort();\n                                    if (!requestDone) {\n                                        onreadystatechange(\"timeout\");\n                                    }\n                                ;\n                                ;\n                                }\n                            ;\n                            ;\n                            }, s.timeout);\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    try {\n                        xhr.send(s.data);\n                    } catch (e) {\n                        jQuery.handleError(s, xhr, null, e);\n                    };\n                ;\n                    if (!s.async) {\n                        onreadystatechange();\n                    }\n                ;\n                ;\n                    function success() {\n                        if (s.success) {\n                            s.success(data, JSBNG__status);\n                        }\n                    ;\n                    ;\n                        if (s.global) {\n                            jQuery.JSBNG__event.trigger(\"ajaxSuccess\", [xhr,s,]);\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function complete() {\n                        if (s.complete) {\n                            s.complete(xhr, JSBNG__status);\n                        }\n                    ;\n                    ;\n                        if (s.global) {\n                            jQuery.JSBNG__event.trigger(\"ajaxComplete\", [xhr,s,]);\n                        }\n                    ;\n                    ;\n                        if (((s.global && !--jQuery.active))) {\n                            jQuery.JSBNG__event.trigger(\"ajaxStop\");\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    return xhr;\n                },\n                handleError: function(s, xhr, JSBNG__status, e) {\n                    if (s.error) {\n                        s.error(xhr, JSBNG__status, e);\n                    }\n                ;\n                ;\n                    if (s.global) {\n                        jQuery.JSBNG__event.trigger(\"ajaxError\", [xhr,s,e,]);\n                    }\n                ;\n                ;\n                },\n                active: 0,\n                httpSuccess: function(xhr) {\n                    try {\n                        return ((((((((((!xhr.JSBNG__status && ((JSBNG__location.protocol == \"file:\")))) || ((((xhr.JSBNG__status >= 200)) && ((xhr.JSBNG__status < 300)))))) || ((xhr.JSBNG__status == 304)))) || ((xhr.JSBNG__status == 1223)))) || ((jQuery.browser.safari && ((xhr.JSBNG__status == undefined))))));\n                    } catch (e) {\n                    \n                    };\n                ;\n                    return false;\n                },\n                httpNotModified: function(xhr, url) {\n                    try {\n                        var xhrRes = xhr.getResponseHeader(\"Last-Modified\");\n                        return ((((((xhr.JSBNG__status == 304)) || ((xhrRes == jQuery.lastModified[url])))) || ((jQuery.browser.safari && ((xhr.JSBNG__status == undefined))))));\n                    } catch (e) {\n                    \n                    };\n                ;\n                    return false;\n                },\n                httpData: function(xhr, type, filter) {\n                    var ct = xhr.getResponseHeader(\"content-type\"), xml = ((((type == \"xml\")) || ((((!type && ct)) && ((ct.indexOf(\"xml\") >= 0)))))), data = ((xml ? xhr.responseXML : xhr.responseText));\n                    if (((xml && ((data.documentElement.tagName == \"parsererror\"))))) {\n                        throw \"parsererror\";\n                    }\n                ;\n                ;\n                    if (filter) {\n                        data = filter(data, type);\n                    }\n                ;\n                ;\n                    if (((type == \"script\"))) {\n                        jQuery.globalEval(data);\n                    }\n                ;\n                ;\n                    if (((type == \"json\"))) {\n                        data = eval(((((\"(\" + data)) + \")\")));\n                    }\n                ;\n                ;\n                    return data;\n                },\n                param: function(a) {\n                    var s = [];\n                    if (((((a.constructor == Array)) || a.jquery))) {\n                        jQuery.each(a, function() {\n                            s.push(((((encodeURIComponent(this.JSBNG__name) + \"=\")) + encodeURIComponent(this.value))));\n                        });\n                    }\n                     else {\n                        {\n                            var fin25keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin25i = (0);\n                            var j;\n                            for (; (fin25i < fin25keys.length); (fin25i++)) {\n                                ((j) = (fin25keys[fin25i]));\n                                {\n                                    if (((a[j] && ((a[j].constructor == Array))))) {\n                                        jQuery.each(a[j], function() {\n                                            s.push(((((encodeURIComponent(j) + \"=\")) + encodeURIComponent(this))));\n                                        });\n                                    }\n                                     else {\n                                        s.push(((((encodeURIComponent(j) + \"=\")) + encodeURIComponent(((jQuery.isFunction(a[j]) ? a[j]() : a[j]))))));\n                                    }\n                                ;\n                                ;\n                                };\n                            };\n                        };\n                    ;\n                    }\n                ;\n                ;\n                    return s.join(\"&\").replace(/%20/g, \"+\");\n                }\n            });\n            jQuery.fn.extend({\n                show: function(speed, callback) {\n                    return ((speed ? this.animate({\n                        height: \"show\",\n                        width: \"show\",\n                        opacity: \"show\"\n                    }, speed, callback) : this.filter(\":hidden\").each(function() {\n                        this.style.display = ((this.oldblock || \"\"));\n                        if (((jQuery.css(this, \"display\") == \"none\"))) {\n                            var elem = jQuery(((((\"\\u003C\" + this.tagName)) + \" /\\u003E\"))).appendTo(\"body\");\n                            this.style.display = elem.css(\"display\");\n                            if (((this.style.display == \"none\"))) {\n                                this.style.display = \"block\";\n                            }\n                        ;\n                        ;\n                            elem.remove();\n                        }\n                    ;\n                    ;\n                    }).end()));\n                },\n                hide: function(speed, callback) {\n                    return ((speed ? this.animate({\n                        height: \"hide\",\n                        width: \"hide\",\n                        opacity: \"hide\"\n                    }, speed, callback) : this.filter(\":visible\").each(function() {\n                        this.oldblock = ((this.oldblock || jQuery.css(this, \"display\")));\n                        this.style.display = \"none\";\n                    }).end()));\n                },\n                _toggle: jQuery.fn.toggle,\n                toggle: function(fn, fn2) {\n                    return ((((jQuery.isFunction(fn) && jQuery.isFunction(fn2))) ? this._toggle.apply(this, arguments) : ((fn ? this.animate({\n                        height: \"toggle\",\n                        width: \"toggle\",\n                        opacity: \"toggle\"\n                    }, fn, fn2) : this.each(function() {\n                        jQuery(this)[((jQuery(this).is(\":hidden\") ? \"show\" : \"hide\"))]();\n                    })))));\n                },\n                slideDown: function(speed, callback) {\n                    return this.animate({\n                        height: \"show\"\n                    }, speed, callback);\n                },\n                slideUp: function(speed, callback) {\n                    return this.animate({\n                        height: \"hide\"\n                    }, speed, callback);\n                },\n                slideToggle: function(speed, callback) {\n                    return this.animate({\n                        height: \"toggle\"\n                    }, speed, callback);\n                },\n                fadeIn: function(speed, callback) {\n                    return this.animate({\n                        opacity: \"show\"\n                    }, speed, callback);\n                },\n                fadeOut: function(speed, callback) {\n                    return this.animate({\n                        opacity: \"hide\"\n                    }, speed, callback);\n                },\n                fadeTo: function(speed, to, callback) {\n                    return this.animate({\n                        opacity: to\n                    }, speed, callback);\n                },\n                animate: function(prop, speed, easing, callback) {\n                    var optall = jQuery.speed(speed, easing, callback);\n                    return this[((((optall.queue === false)) ? \"each\" : \"queue\"))](function() {\n                        if (((this.nodeType != 1))) {\n                            return false;\n                        }\n                    ;\n                    ;\n                        var opt = jQuery.extend({\n                        }, optall), p, hidden = jQuery(this).is(\":hidden\"), JSBNG__self = this;\n                        {\n                            var fin26keys = ((window.top.JSBNG_Replay.forInKeys)((prop))), fin26i = (0);\n                            (0);\n                            for (; (fin26i < fin26keys.length); (fin26i++)) {\n                                ((p) = (fin26keys[fin26i]));\n                                {\n                                    if (((((((prop[p] == \"hide\")) && hidden)) || ((((prop[p] == \"show\")) && !hidden))))) {\n                                        return opt.complete.call(this);\n                                    }\n                                ;\n                                ;\n                                    if (((((p == \"height\")) || ((p == \"width\"))))) {\n                                        opt.display = jQuery.css(this, \"display\");\n                                        opt.overflow = this.style.overflow;\n                                    }\n                                ;\n                                ;\n                                };\n                            };\n                        };\n                    ;\n                        if (((opt.overflow != null))) {\n                            this.style.overflow = \"hidden\";\n                        }\n                    ;\n                    ;\n                        opt.curAnim = jQuery.extend({\n                        }, prop);\n                        jQuery.each(prop, function(JSBNG__name, val) {\n                            var e = new jQuery.fx(JSBNG__self, opt, JSBNG__name);\n                            if (/toggle|show|hide/.test(val)) {\n                                e[((((val == \"toggle\")) ? ((hidden ? \"show\" : \"hide\")) : val))](prop);\n                            }\n                             else {\n                                var parts = val.toString().match(/^([+-]=)?([\\d+-.]+)(.*)$/), start = ((e.cur(true) || 0));\n                                if (parts) {\n                                    var end = parseFloat(parts[2]), unit = ((parts[3] || \"px\"));\n                                    if (((unit != \"px\"))) {\n                                        JSBNG__self.style[JSBNG__name] = ((((end || 1)) + unit));\n                                        start = ((((((end || 1)) / e.cur(true))) * start));\n                                        JSBNG__self.style[JSBNG__name] = ((start + unit));\n                                    }\n                                ;\n                                ;\n                                    if (parts[1]) {\n                                        end = ((((((((parts[1] == \"-=\")) ? -1 : 1)) * end)) + start));\n                                    }\n                                ;\n                                ;\n                                    e.custom(start, end, unit);\n                                }\n                                 else {\n                                    e.custom(start, val, \"\");\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                        });\n                        return true;\n                    });\n                },\n                queue: function(type, fn) {\n                    if (((jQuery.isFunction(type) || ((type && ((type.constructor == Array))))))) {\n                        fn = type;\n                        type = \"fx\";\n                    }\n                ;\n                ;\n                    if (((!type || ((((typeof type == \"string\")) && !fn))))) {\n                        return queue(this[0], type);\n                    }\n                ;\n                ;\n                    return this.each(function() {\n                        if (((fn.constructor == Array))) {\n                            queue(this, type, fn);\n                        }\n                         else {\n                            queue(this, type).push(fn);\n                            if (((queue(this, type).length == 1))) {\n                                fn.call(this);\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    });\n                },\n                JSBNG__stop: function(clearQueue, gotoEnd) {\n                    var timers = jQuery.timers;\n                    if (clearQueue) {\n                        this.queue([]);\n                    }\n                ;\n                ;\n                    this.each(function() {\n                        for (var i = ((timers.length - 1)); ((i >= 0)); i--) {\n                            if (((timers[i].elem == this))) {\n                                if (gotoEnd) {\n                                    timers[i](true);\n                                }\n                            ;\n                            ;\n                                timers.splice(i, 1);\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                    });\n                    if (!gotoEnd) {\n                        this.dequeue();\n                    }\n                ;\n                ;\n                    return this;\n                }\n            });\n            var queue = function(elem, type, array) {\n                if (elem) {\n                    type = ((type || \"fx\"));\n                    var q = jQuery.data(elem, ((type + \"queue\")));\n                    if (((!q || array))) {\n                        q = jQuery.data(elem, ((type + \"queue\")), jQuery.makeArray(array));\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                return q;\n            };\n            jQuery.fn.dequeue = function(type) {\n                type = ((type || \"fx\"));\n                return this.each(function() {\n                    var q = queue(this, type);\n                    q.shift();\n                    if (q.length) {\n                        q[0].call(this);\n                    }\n                ;\n                ;\n                });\n            };\n            jQuery.extend({\n                speed: function(speed, easing, fn) {\n                    var opt = ((((speed && ((speed.constructor == Object)))) ? speed : {\n                        complete: ((((fn || ((!fn && easing)))) || ((jQuery.isFunction(speed) && speed)))),\n                        duration: speed,\n                        easing: ((((fn && easing)) || ((((easing && ((easing.constructor != Function)))) && easing))))\n                    }));\n                    opt.duration = ((((((opt.duration && ((opt.duration.constructor == Number)))) ? opt.duration : jQuery.fx.speeds[opt.duration])) || jQuery.fx.speeds.def));\n                    opt.old = opt.complete;\n                    opt.complete = function() {\n                        if (((opt.queue !== false))) {\n                            jQuery(this).dequeue();\n                        }\n                    ;\n                    ;\n                        if (jQuery.isFunction(opt.old)) {\n                            opt.old.call(this);\n                        }\n                    ;\n                    ;\n                    };\n                    return opt;\n                },\n                easing: {\n                    linear: function(p, n, firstNum, diff) {\n                        return ((firstNum + ((diff * p))));\n                    },\n                    swing: function(p, n, firstNum, diff) {\n                        return ((((((((-Math.cos(((p * Math.PI))) / 2)) + 51337)) * diff)) + firstNum));\n                    }\n                },\n                timers: [],\n                timerId: null,\n                fx: function(elem, options, prop) {\n                    this.options = options;\n                    this.elem = elem;\n                    this.prop = prop;\n                    if (!options.orig) {\n                        options.orig = {\n                        };\n                    }\n                ;\n                ;\n                }\n            });\n            jQuery.fx.prototype = {\n                update: function() {\n                    if (this.options.step) {\n                        this.options.step.call(this.elem, this.now, this);\n                    }\n                ;\n                ;\n                    ((jQuery.fx.step[this.prop] || jQuery.fx.step._default))(this);\n                    if (((((this.prop == \"height\")) || ((this.prop == \"width\"))))) {\n                        this.elem.style.display = \"block\";\n                    }\n                ;\n                ;\n                },\n                cur: function(force) {\n                    if (((((this.elem[this.prop] != null)) && ((this.elem.style[this.prop] == null))))) {\n                        return this.elem[this.prop];\n                    }\n                ;\n                ;\n                    var r = parseFloat(jQuery.css(this.elem, this.prop, force));\n                    return ((((r && ((r > -10000)))) ? r : ((parseFloat(jQuery.curCSS(this.elem, this.prop)) || 0))));\n                },\n                custom: function(from, to, unit) {\n                    this.startTime = now();\n                    this.start = from;\n                    this.end = to;\n                    this.unit = ((((unit || this.unit)) || \"px\"));\n                    this.now = this.start;\n                    this.pos = this.state = 0;\n                    this.update();\n                    var JSBNG__self = this;\n                    function t(gotoEnd) {\n                        return JSBNG__self.step(gotoEnd);\n                    };\n                ;\n                    t.elem = this.elem;\n                    jQuery.timers.push(t);\n                    if (((jQuery.timerId == null))) {\n                        jQuery.timerId = JSBNG__setInterval(function() {\n                            var timers = jQuery.timers;\n                            for (var i = 0; ((i < timers.length)); i++) {\n                                if (!timers[i]()) {\n                                    timers.splice(i--, 1);\n                                }\n                            ;\n                            ;\n                            };\n                        ;\n                            if (!timers.length) {\n                                JSBNG__clearInterval(jQuery.timerId);\n                                jQuery.timerId = null;\n                            }\n                        ;\n                        ;\n                        }, 13);\n                    }\n                ;\n                ;\n                },\n                show: function() {\n                    this.options.orig[this.prop] = jQuery.attr(this.elem.style, this.prop);\n                    this.options.show = true;\n                    this.custom(0, this.cur());\n                    if (((((this.prop == \"width\")) || ((this.prop == \"height\"))))) {\n                        this.elem.style[this.prop] = \"1px\";\n                    }\n                ;\n                ;\n                    jQuery(this.elem).show();\n                },\n                hide: function() {\n                    this.options.orig[this.prop] = jQuery.attr(this.elem.style, this.prop);\n                    this.options.hide = true;\n                    this.custom(this.cur(), 0);\n                },\n                step: function(gotoEnd) {\n                    var t = now();\n                    if (((gotoEnd || ((t > ((this.options.duration + this.startTime))))))) {\n                        this.now = this.end;\n                        this.pos = this.state = 1;\n                        this.update();\n                        this.options.curAnim[this.prop] = true;\n                        var done = true;\n                        {\n                            var fin27keys = ((window.top.JSBNG_Replay.forInKeys)((this.options.curAnim))), fin27i = (0);\n                            var i;\n                            for (; (fin27i < fin27keys.length); (fin27i++)) {\n                                ((i) = (fin27keys[fin27i]));\n                                {\n                                    if (((this.options.curAnim[i] !== true))) {\n                                        done = false;\n                                    }\n                                ;\n                                ;\n                                };\n                            };\n                        };\n                    ;\n                        if (done) {\n                            if (((this.options.display != null))) {\n                                this.elem.style.overflow = this.options.overflow;\n                                this.elem.style.display = this.options.display;\n                                if (((jQuery.css(this.elem, \"display\") == \"none\"))) {\n                                    this.elem.style.display = \"block\";\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                            if (this.options.hide) {\n                                this.elem.style.display = \"none\";\n                            }\n                        ;\n                        ;\n                            if (((this.options.hide || this.options.show))) {\n                                {\n                                    var fin28keys = ((window.top.JSBNG_Replay.forInKeys)((this.options.curAnim))), fin28i = (0);\n                                    var p;\n                                    for (; (fin28i < fin28keys.length); (fin28i++)) {\n                                        ((p) = (fin28keys[fin28i]));\n                                        {\n                                            jQuery.attr(this.elem.style, p, this.options.orig[p]);\n                                        };\n                                    };\n                                };\n                            ;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        if (done) {\n                            this.options.complete.call(this.elem);\n                        }\n                    ;\n                    ;\n                        return false;\n                    }\n                     else {\n                        var n = ((t - this.startTime));\n                        this.state = ((n / this.options.duration));\n                        this.pos = jQuery.easing[((this.options.easing || ((jQuery.easing.swing ? \"swing\" : \"linear\"))))](this.state, n, 0, 1, this.options.duration);\n                        this.now = ((this.start + ((((this.end - this.start)) * this.pos))));\n                        this.update();\n                    }\n                ;\n                ;\n                    return true;\n                }\n            };\n            jQuery.extend(jQuery.fx, {\n                speeds: {\n                    slow: 600,\n                    fast: 200,\n                    def: 400\n                },\n                step: {\n                    scrollLeft: function(fx) {\n                        fx.elem.scrollLeft = fx.now;\n                    },\n                    scrollTop: function(fx) {\n                        fx.elem.scrollTop = fx.now;\n                    },\n                    opacity: function(fx) {\n                        jQuery.attr(fx.elem.style, \"opacity\", fx.now);\n                    },\n                    _default: function(fx) {\n                        fx.elem.style[fx.prop] = ((fx.now + fx.unit));\n                    }\n                }\n            });\n            jQuery.fn.offset = function() {\n                var left = 0, JSBNG__top = 0, elem = this[0], results;\n                if (elem) {\n                    with (jQuery.browser) {\n                        var parent = elem.parentNode, offsetChild = elem, offsetParent = elem.offsetParent, doc = elem.ownerDocument, safari2 = ((((safari && ((parseInt(version) < 522)))) && !/adobeair/i.test(userAgent))), css = jQuery.curCSS, fixed = ((css(elem, \"position\") == \"fixed\"));\n                        if (elem.getBoundingClientRect) {\n                            var box = elem.getBoundingClientRect();\n                            add(((box.left + Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft))), ((box.JSBNG__top + Math.max(doc.documentElement.scrollTop, doc.body.scrollTop))));\n                            add(-doc.documentElement.clientLeft, -doc.documentElement.clientTop);\n                        }\n                         else {\n                            add(elem.offsetLeft, elem.offsetTop);\n                            while (offsetParent) {\n                                add(offsetParent.offsetLeft, offsetParent.offsetTop);\n                                if (((((mozilla && !/^t(able|d|h)$/i.test(offsetParent.tagName))) || ((safari && !safari2))))) {\n                                    border(offsetParent);\n                                }\n                            ;\n                            ;\n                                if (((!fixed && ((css(offsetParent, \"position\") == \"fixed\"))))) {\n                                    fixed = true;\n                                }\n                            ;\n                            ;\n                                offsetChild = ((/^body$/i.test(offsetParent.tagName) ? offsetChild : offsetParent));\n                                offsetParent = offsetParent.offsetParent;\n                            };\n                        ;\n                            while (((((parent && parent.tagName)) && !/^body|html$/i.test(parent.tagName)))) {\n                                if (!/^inline|table.*$/i.test(css(parent, \"display\"))) {\n                                    add(-parent.scrollLeft, -parent.scrollTop);\n                                }\n                            ;\n                            ;\n                                if (((mozilla && ((css(parent, \"overflow\") != \"visible\"))))) {\n                                    border(parent);\n                                }\n                            ;\n                            ;\n                                parent = parent.parentNode;\n                            };\n                        ;\n                            if (((((safari2 && ((fixed || ((css(offsetChild, \"position\") == \"absolute\")))))) || ((mozilla && ((css(offsetChild, \"position\") != \"absolute\"))))))) {\n                                add(-doc.body.offsetLeft, -doc.body.offsetTop);\n                            }\n                        ;\n                        ;\n                            if (fixed) {\n                                add(Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft), Math.max(doc.documentElement.scrollTop, doc.body.scrollTop));\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        results = {\n                            JSBNG__top: JSBNG__top,\n                            left: left\n                        };\n                    };\n                ;\n                }\n            ;\n            ;\n                function border(elem) {\n                    add(jQuery.curCSS(elem, \"borderLeftWidth\", true), jQuery.curCSS(elem, \"borderTopWidth\", true));\n                };\n            ;\n                function add(l, t) {\n                    left += ((parseInt(l, 10) || 0));\n                    JSBNG__top += ((parseInt(t, 10) || 0));\n                };\n            ;\n                return results;\n            };\n            jQuery.fn.extend({\n                position: function() {\n                    var left = 0, JSBNG__top = 0, results;\n                    if (this[0]) {\n                        var offsetParent = this.offsetParent(), offset = this.offset(), parentOffset = ((/^body|html$/i.test(offsetParent[0].tagName) ? {\n                            JSBNG__top: 0,\n                            left: 0\n                        } : offsetParent.offset()));\n                        offset.JSBNG__top -= num(this, \"marginTop\");\n                        offset.left -= num(this, \"marginLeft\");\n                        parentOffset.JSBNG__top += num(offsetParent, \"borderTopWidth\");\n                        parentOffset.left += num(offsetParent, \"borderLeftWidth\");\n                        results = {\n                            JSBNG__top: ((offset.JSBNG__top - parentOffset.JSBNG__top)),\n                            left: ((offset.left - parentOffset.left))\n                        };\n                    }\n                ;\n                ;\n                    return results;\n                },\n                offsetParent: function() {\n                    var offsetParent = this[0].offsetParent;\n                    while (((offsetParent && ((!/^body|html$/i.test(offsetParent.tagName) && ((jQuery.css(offsetParent, \"position\") == \"static\"))))))) {\n                        offsetParent = offsetParent.offsetParent;\n                    };\n                ;\n                    return jQuery(offsetParent);\n                }\n            });\n            jQuery.each([\"Left\",\"Top\",], function(i, JSBNG__name) {\n                var method = ((\"JSBNG__scroll\" + JSBNG__name));\n                jQuery.fn[method] = function(val) {\n                    if (!this[0]) {\n                        return;\n                    }\n                ;\n                ;\n                    return ((((val != undefined)) ? this.each(function() {\n                        ((((((this == window)) || ((this == JSBNG__document)))) ? window.JSBNG__scrollTo(((!i ? val : jQuery(window).scrollLeft())), ((i ? val : jQuery(window).scrollTop()))) : this[method] = val));\n                    }) : ((((((this[0] == window)) || ((this[0] == JSBNG__document)))) ? ((((JSBNG__self[((i ? \"JSBNG__pageYOffset\" : \"JSBNG__pageXOffset\"))] || ((jQuery.boxModel && JSBNG__document.documentElement[method])))) || JSBNG__document.body[method])) : this[0][method]))));\n                };\n            });\n            jQuery.each([\"Height\",\"Width\",], function(i, JSBNG__name) {\n                var tl = ((i ? \"Left\" : \"Top\")), br = ((i ? \"Right\" : \"Bottom\"));\n                jQuery.fn[((\"JSBNG__inner\" + JSBNG__name))] = function() {\n                    return ((((this[JSBNG__name.toLowerCase()]() + num(this, ((\"padding\" + tl))))) + num(this, ((\"padding\" + br)))));\n                };\n                jQuery.fn[((\"JSBNG__outer\" + JSBNG__name))] = function(margin) {\n                    return ((((((this[((\"JSBNG__inner\" + JSBNG__name))]() + num(this, ((((\"border\" + tl)) + \"Width\"))))) + num(this, ((((\"border\" + br)) + \"Width\"))))) + ((margin ? ((num(this, ((\"margin\" + tl))) + num(this, ((\"margin\" + br))))) : 0))));\n                };\n            });\n        };\n        if (window.amznJQ) {\n            amznJQ.initJQuery = initJQuery;\n        }\n         else {\n            initJQuery();\n        }\n    ;\n    ;\n    })();\n    (function() {\n        var patchJQuery = function(jQuery) {\n            var $ = jQuery;\n            if (!jQuery) {\n                return;\n            }\n        ;\n        ;\n            jQuery.fn.offset126 = jQuery.fn.offset;\n            if (JSBNG__document.documentElement[\"getBoundingClientRect\"]) {\n                jQuery.fn.offset = function() {\n                    if (!this[0]) {\n                        return {\n                            JSBNG__top: 0,\n                            left: 0\n                        };\n                    }\n                ;\n                ;\n                    if (((this[0] === this[0].ownerDocument.body))) {\n                        return jQuery.offset.bodyOffset(this[0]);\n                    }\n                ;\n                ;\n                    var box = this[0].getBoundingClientRect(), doc = this[0].ownerDocument, body = doc.body, docElem = doc.documentElement, ieTouch = ((JSBNG__navigator.msMaxTouchPoints > 0)), clientTop = ((((docElem.clientTop || body.clientTop)) || 0)), clientLeft = ((((docElem.clientLeft || body.clientLeft)) || 0)), JSBNG__top = ((((box.JSBNG__top + ((((((!ieTouch && JSBNG__self.JSBNG__pageYOffset)) || ((jQuery.boxModel && docElem.scrollTop)))) || body.scrollTop)))) - clientTop)), left = ((((box.left + ((((((!ieTouch && JSBNG__self.JSBNG__pageXOffset)) || ((jQuery.boxModel && docElem.scrollLeft)))) || body.scrollLeft)))) - clientLeft));\n                    return {\n                        JSBNG__top: JSBNG__top,\n                        left: left\n                    };\n                };\n            }\n             else {\n                jQuery.fn.offset = function() {\n                    if (!this[0]) {\n                        return {\n                            JSBNG__top: 0,\n                            left: 0\n                        };\n                    }\n                ;\n                ;\n                    if (((this[0] === this[0].ownerDocument.body))) {\n                        return jQuery.offset.bodyOffset(this[0]);\n                    }\n                ;\n                ;\n                    ((jQuery.offset.initialized || jQuery.offset.initialize()));\n                    var elem = this[0], offsetParent = elem.offsetParent, prevOffsetParent = elem, doc = elem.ownerDocument, computedStyle, docElem = doc.documentElement, body = doc.body, defaultView = doc.defaultView, prevComputedStyle = defaultView.JSBNG__getComputedStyle(elem, null), JSBNG__top = elem.offsetTop, left = elem.offsetLeft;\n                    while ((((((elem = elem.parentNode) && ((elem !== body)))) && ((elem !== docElem))))) {\n                        computedStyle = defaultView.JSBNG__getComputedStyle(elem, null);\n                        JSBNG__top -= elem.scrollTop, left -= elem.scrollLeft;\n                        if (((elem === offsetParent))) {\n                            JSBNG__top += elem.offsetTop, left += elem.offsetLeft;\n                            if (((jQuery.offset.doesNotAddBorder && !((jQuery.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(elem.tagName)))))) {\n                                JSBNG__top += ((parseInt(computedStyle.borderTopWidth, 10) || 0)), left += ((parseInt(computedStyle.borderLeftWidth, 10) || 0));\n                            }\n                        ;\n                        ;\n                            prevOffsetParent = offsetParent, offsetParent = elem.offsetParent;\n                        }\n                    ;\n                    ;\n                        if (((jQuery.offset.subtractsBorderForOverflowNotVisible && ((computedStyle.overflow !== \"visible\"))))) {\n                            JSBNG__top += ((parseInt(computedStyle.borderTopWidth, 10) || 0)), left += ((parseInt(computedStyle.borderLeftWidth, 10) || 0));\n                        }\n                    ;\n                    ;\n                        prevComputedStyle = computedStyle;\n                    };\n                ;\n                    if (((((prevComputedStyle.position === \"relative\")) || ((prevComputedStyle.position === \"static\"))))) {\n                        JSBNG__top += body.offsetTop, left += body.offsetLeft;\n                    }\n                ;\n                ;\n                    if (((prevComputedStyle.position === \"fixed\"))) {\n                        JSBNG__top += Math.max(docElem.scrollTop, body.scrollTop), left += Math.max(docElem.scrollLeft, body.scrollLeft);\n                    }\n                ;\n                ;\n                    return {\n                        JSBNG__top: JSBNG__top,\n                        left: left\n                    };\n                };\n            }\n        ;\n        ;\n            jQuery.offset = {\n                initialize: function() {\n                    if (this.initialized) {\n                        return;\n                    }\n                ;\n                ;\n                    var body = JSBNG__document.body, container = JSBNG__document.createElement(\"div\"), innerDiv, checkDiv, table, rules, prop, bodyMarginTop = body.style.marginTop, html = \"\\u003Cdiv style=\\\"position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;\\\"\\u003E\\u003Cdiv\\u003E\\u003C/div\\u003E\\u003C/div\\u003E\\u003Ctable style=\\\"position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;\\\"cellpadding=\\\"0\\\"cellspacing=\\\"0\\\"\\u003E\\u003Ctr\\u003E\\u003Ctd\\u003E\\u003C/td\\u003E\\u003C/tr\\u003E\\u003C/table\\u003E\";\n                    rules = {\n                        position: \"absolute\",\n                        JSBNG__top: 0,\n                        left: 0,\n                        margin: 0,\n                        border: 0,\n                        width: \"1px\",\n                        height: \"1px\",\n                        visibility: \"hidden\"\n                    };\n                    {\n                        var fin29keys = ((window.top.JSBNG_Replay.forInKeys)((rules))), fin29i = (0);\n                        (0);\n                        for (; (fin29i < fin29keys.length); (fin29i++)) {\n                            ((prop) = (fin29keys[fin29i]));\n                            {\n                                container.style[prop] = rules[prop];\n                            };\n                        };\n                    };\n                ;\n                    container.innerHTML = html;\n                    body.insertBefore(container, body.firstChild);\n                    innerDiv = container.firstChild, checkDiv = innerDiv.firstChild, td = innerDiv.nextSibling.firstChild.firstChild;\n                    this.doesNotAddBorder = ((checkDiv.offsetTop !== 5));\n                    this.doesAddBorderForTableAndCells = ((td.offsetTop === 5));\n                    innerDiv.style.overflow = \"hidden\", innerDiv.style.position = \"relative\";\n                    this.subtractsBorderForOverflowNotVisible = ((checkDiv.offsetTop === -5));\n                    body.style.marginTop = \"1px\";\n                    this.doesNotIncludeMarginInBodyOffset = ((body.offsetTop === 0));\n                    body.style.marginTop = bodyMarginTop;\n                    body.removeChild(container);\n                    this.initialized = true;\n                },\n                bodyOffset: function(body) {\n                    ((jQuery.offset.initialized || jQuery.offset.initialize()));\n                    var JSBNG__top = body.offsetTop, left = body.offsetLeft;\n                    if (jQuery.offset.doesNotIncludeMarginInBodyOffset) {\n                        JSBNG__top += ((parseInt(jQuery.curCSS(body, \"marginTop\", true), 10) || 0)), left += ((parseInt(jQuery.curCSS(body, \"marginLeft\", true), 10) || 0));\n                    }\n                ;\n                ;\n                    return {\n                        JSBNG__top: JSBNG__top,\n                        left: left\n                    };\n                }\n            };\n            if (((jQuery.browser.msie && ((JSBNG__document.compatMode == \"BackCompat\"))))) {\n                var fixOriginal = jQuery.JSBNG__event.fix;\n                jQuery.JSBNG__event.fix = function(JSBNG__event) {\n                    var e = fixOriginal(JSBNG__event);\n                    e.pageX -= 2;\n                    e.pageY -= 2;\n                    return e;\n                };\n            }\n        ;\n        ;\n            jQuery.fn.offsetNoIPadFix = jQuery.fn.offset;\n            jQuery.fn.offsetIPadFix = jQuery.fn.offset;\n            if (((((/webkit.*mobile/i.test(JSBNG__navigator.userAgent) && ((parseFloat($.browser.version) < 532.9)))) && ((\"getBoundingClientRect\" in JSBNG__document.documentElement))))) {\n                jQuery.fn.offsetIPadFix = function() {\n                    var result = this.offsetNoIPadFix();\n                    result.JSBNG__top -= window.JSBNG__scrollY;\n                    result.left -= window.JSBNG__scrollX;\n                    return result;\n                };\n                if (((((typeof window.jQueryPatchIPadOffset != \"undefined\")) && window.jQueryPatchIPadOffset))) {\n                    jQuery.fn.offset = jQuery.fn.offsetIPadFix;\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n        };\n        if (((window.amznJQ && amznJQ.initJQuery))) {\n            var initJQuery = amznJQ.initJQuery;\n            amznJQ.initJQuery = function() {\n                initJQuery();\n                patchJQuery(jQuery);\n            };\n        }\n         else {\n            patchJQuery(jQuery);\n        }\n    ;\n    ;\n    })();\n    (function() {\n        var timesliceJS, initJQuery;\n        if (window.amznJQ) {\n            timesliceJS = amznJQ._timesliceJS;\n            initJQuery = amznJQ.initJQuery;\n            delete amznJQ._timesliceJS;\n            delete amznJQ.initJQuery;\n        }\n    ;\n    ;\n        var isRunning = false, cbsWaiting = [];\n        var doDeferred = function() {\n        ;\n            isRunning = true;\n            var stopTime = (((new JSBNG__Date()).getTime() + 40));\n            var callingCB;\n            try {\n                while (((cbsWaiting.length && (((new JSBNG__Date()).getTime() <= stopTime))))) {\n                    var cb = cbsWaiting.shift();\n                    callingCB = true;\n                    cb();\n                    callingCB = false;\n                };\n            ;\n            } finally {\n                if (callingCB) {\n                ;\n                }\n            ;\n            ;\n                if (cbsWaiting.length) {\n                ;\n                    JSBNG__setTimeout(doDeferred, 0);\n                }\n                 else {\n                ;\n                    isRunning = false;\n                }\n            ;\n            ;\n            };\n        ;\n        };\n        var callInTimeslice = function(cbOrArray) {\n            if (((typeof cbOrArray === \"function\"))) {\n                cbsWaiting.push(cbOrArray);\n            }\n             else {\n                cbsWaiting = cbsWaiting.concat(cbOrArray);\n            }\n        ;\n        ;\n            if (!isRunning) {\n                isRunning = true;\n                JSBNG__setTimeout(doDeferred, 0);\n            }\n        ;\n        ;\n        };\n        var initAmznJQ = function() {\n            var $ = window.jQuery, jQuery = $;\n            if (!jQuery) {\n                return;\n            }\n        ;\n        ;\n            var bootstrapAmznJQ = window.amznJQ;\n            if (!window.goN2Debug) {\n                window.goN2Debug = new function() {\n                    this.info = function() {\n                    \n                    };\n                    return this;\n                };\n            }\n        ;\n        ;\n            window.amznJQ = new function() {\n            ;\n                var me = this;\n                me.jQuery = jQuery;\n                jQuery.noConflict(true);\n                if (window.jQuery) {\n                ;\n                }\n                 else {\n                    window.jQuery = jQuery;\n                }\n            ;\n            ;\n                var _logicalToPhysical = {\n                    JQuery: {\n                        functionality: \"JQuery\",\n                        urls: null\n                    },\n                    popover: {\n                        functionality: \"popover\",\n                        urls: null\n                    }\n                };\n                var _func_loaded = {\n                };\n                var _url_loaded = {\n                };\n                var _loading = {\n                };\n                function _loadFunctionality(functionality) {\n                    var urls = _logicalToPhysical[functionality].urls;\n                    if (urls) {\n                    ;\n                        $.each(urls, function() {\n                            if (!_url_loaded[this]) {\n                                _loadURL(this, functionality);\n                            }\n                        ;\n                        ;\n                        });\n                    }\n                     else {\n                    ;\n                    }\n                ;\n                ;\n                };\n            ;\n                function _loadURL(url, functionality) {\n                ;\n                    $.ajax({\n                        type: \"GET\",\n                        url: url,\n                        success: _onUrlLoadedFcn(url, functionality),\n                        dataType: \"script\",\n                        cache: true\n                    });\n                };\n            ;\n                function _onUrlLoadedFcn(url, functionality) {\n                    return function() {\n                    ;\n                        _url_loaded[url] = true;\n                        var all_loaded = true;\n                        $.each(_logicalToPhysical[functionality].urls, function() {\n                            all_loaded = ((all_loaded && !!_url_loaded[this]));\n                        });\n                        if (all_loaded) {\n                        \n                        }\n                    ;\n                    ;\n                    };\n                };\n            ;\n                me.addLogical = function(functionality, urls) {\n                    var ul = ((urls ? urls.length : \"no\"));\n                ;\n                    _logicalToPhysical[functionality] = {\n                        functionality: functionality,\n                        urls: urls\n                    };\n                    if (!urls) {\n                        me.declareAvailable(functionality);\n                        return;\n                    }\n                ;\n                ;\n                    if (_loading[functionality]) {\n                        _loadFunctionality(functionality);\n                    }\n                ;\n                ;\n                };\n                me.declareAvailable = function(functionality) {\n                ;\n                    if (((typeof _logicalToPhysical[functionality] == \"undefined\"))) {\n                        _logicalToPhysical[functionality] = {\n                            functionality: functionality,\n                            urls: null\n                        };\n                    }\n                ;\n                ;\n                    _func_loaded[functionality] = true;\n                    triggerEventCallbacks(((functionality + \".loaded\")));\n                };\n                me.addStyle = function(css_url) {\n                    var dcss = JSBNG__document.styleSheets[0];\n                    if (((dcss && dcss.addImport))) {\n                        while (((dcss.imports.length >= 31))) {\n                            dcss = dcss.imports[0];\n                        };\n                    ;\n                        dcss.addImport(css_url);\n                    }\n                     else {\n                        $(\"style[type='text/css']:first\").append(((((\"@import url(\\\"\" + css_url)) + \"\\\");\")));\n                    }\n                ;\n                ;\n                };\n                me.addStyles = function(args) {\n                    var urls = ((args.urls || []));\n                    var styles = ((args.styles || []));\n                    var dcss = JSBNG__document.styleSheets;\n                    if (((((dcss && !dcss.length)) && JSBNG__document.createStyleSheet))) {\n                        JSBNG__document.createStyleSheet();\n                    }\n                ;\n                ;\n                    dcss = dcss[0];\n                    if (((dcss && dcss.addImport))) {\n                        $.each(urls, function() {\n                            while (((dcss.imports.length >= 31))) {\n                                dcss = dcss.imports[0];\n                            };\n                        ;\n                            dcss.addImport(this);\n                        });\n                    }\n                     else {\n                        $.each(urls, function() {\n                            var attrs = {\n                                type: \"text/css\",\n                                rel: \"stylesheet\",\n                                href: this\n                            };\n                            $(\"head\").append($(\"\\u003Clink/\\u003E\").attr(attrs));\n                        });\n                    }\n                ;\n                ;\n                    var css = \"\";\n                    $.each(styles, function() {\n                        css += this;\n                    });\n                    if (css) {\n                        if (JSBNG__document.createStyleSheet) {\n                            try {\n                                var sheet = JSBNG__document.createStyleSheet();\n                                sheet.cssText = css;\n                            } catch (e) {\n                            \n                            };\n                        ;\n                        }\n                         else {\n                            $(\"head\").append($(\"\\u003Cstyle/\\u003E\").attr({\n                                type: \"text/css\"\n                            }).append(css));\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                };\n                var eventCBQueue = {\n                };\n                var enqueueEventCallback = function(eventName, cb) {\n                    if (!timesliceJS) {\n                        $(JSBNG__document).one(eventName, cb);\n                        return;\n                    }\n                ;\n                ;\n                    var queue = ((eventCBQueue[eventName] || []));\n                    queue.push(function() {\n                        cb(jQuery.JSBNG__event.fix({\n                            type: eventName\n                        }));\n                    });\n                    eventCBQueue[eventName] = queue;\n                };\n                var triggerEventCallbacks = function(eventName) {\n                    if (!timesliceJS) {\n                        $(JSBNG__document).trigger(eventName);\n                        return;\n                    }\n                ;\n                ;\n                    var queue = eventCBQueue[eventName];\n                    if (queue) {\n                        callInTimeslice(queue);\n                        delete eventCBQueue[eventName];\n                    }\n                ;\n                ;\n                };\n                var doEventCallbackNow = function(eventName, cb) {\n                    if (!timesliceJS) {\n                        $(JSBNG__document).one(eventName, cb);\n                        $(JSBNG__document).trigger(eventName);\n                    }\n                     else {\n                        if (eventCBQueue[eventName]) {\n                            enqueueEventCallback(eventName, cb);\n                            triggerEventCallbacks(eventName);\n                        }\n                         else {\n                            callInTimeslice(function() {\n                                cb(jQuery.JSBNG__event.fix({\n                                    type: eventName\n                                }));\n                            });\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                };\n                me.available = function(functionality, eventCallbackFunction) {\n                    if (_func_loaded[functionality]) {\n                    ;\n                        doEventCallbackNow(((functionality + \".loaded\")), eventCallbackFunction);\n                    }\n                     else {\n                        if (_loading[functionality]) {\n                        ;\n                            enqueueEventCallback(((functionality + \".loaded\")), eventCallbackFunction);\n                        }\n                         else {\n                            if (_logicalToPhysical[functionality]) {\n                            ;\n                                _loading[functionality] = true;\n                                enqueueEventCallback(((functionality + \".loaded\")), eventCallbackFunction);\n                                _loadFunctionality(functionality);\n                            }\n                             else {\n                            ;\n                                _loading[functionality] = true;\n                                enqueueEventCallback(((functionality + \".loaded\")), eventCallbackFunction);\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                };\n                me.onReady = function(functionality, eventCallbackFunction) {\n                    var ajq = this;\n                    $(function() {\n                        ajq.available(functionality, eventCallbackFunction);\n                    });\n                };\n                var _stage_completed = {\n                };\n                var _fail_safe_stages = [\"amznJQ.theFold\",\"amznJQ.criticalFeature\",];\n                me.onCompletion = function(stage, callbackFn) {\n                    if (_stage_completed[stage]) {\n                    ;\n                        doEventCallbackNow(stage, callbackFn);\n                    }\n                     else {\n                    ;\n                        enqueueEventCallback(stage, callbackFn);\n                    }\n                ;\n                ;\n                };\n                me.completedStage = function(stage) {\n                    if (!_stage_completed[stage]) {\n                    ;\n                        _stage_completed[stage] = true;\n                        triggerEventCallbacks(stage);\n                    }\n                ;\n                ;\n                };\n                me.windowOnLoad = function() {\n                ;\n                    $.each(_fail_safe_stages, function() {\n                        if (!_stage_completed[this]) {\n                        ;\n                            _stage_completed[this] = true;\n                            triggerEventCallbacks(this);\n                        }\n                    ;\n                    ;\n                    });\n                };\n                (function() {\n                    var plUrls = [], lowPriUrls = [], hiPriUrls = [], isLowPriEligibleYet = false, ST = JSBNG__setTimeout, doc = JSBNG__document, docElem = doc.documentElement, styleObj = docElem.style, nav = JSBNG__navigator, isGecko = ((\"MozAppearance\" in styleObj)), isWebkit = ((!isGecko && ((\"webkitAppearance\" in styleObj)))), isSafari = ((isWebkit && ((nav.vendor.indexOf(\"Apple\") === 0)))), isIE = ((((!isGecko && !isWebkit)) && ((nav.appName.indexOf(\"Microsoft\") === 0)))), isMobile = ((nav.userAgent.indexOf(\"Mobile\") != -1)), allowedLoaders = ((((window.plCount !== undefined)) ? window.plCount() : ((((((!isMobile && ((isWebkit || isGecko)))) || ((isIE && ((typeof XDomainRequest === \"object\")))))) ? 5 : 2)))), currentLoaders = 0, timeout = 2500;\n                    function setLoadState() {\n                        if (((hiPriUrls.length > 0))) {\n                            plUrls = hiPriUrls;\n                        }\n                         else {\n                            plUrls = lowPriUrls;\n                            if (((((plUrls.length === 0)) || !isLowPriEligibleYet))) {\n                                return false;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        if (((currentLoaders >= allowedLoaders))) {\n                            return false;\n                        }\n                    ;\n                    ;\n                        currentLoaders++;\n                        return true;\n                    };\n                ;\n                    function loaderDone(loader, timer) {\n                        JSBNG__clearTimeout(timer);\n                        currentLoaders = ((((currentLoaders < 1)) ? 0 : ((currentLoaders - 1))));\n                        destroyLoader(loader);\n                        if (!isIE) {\n                            load();\n                        }\n                         else {\n                            ST(load, 0);\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function destroyElement(el) {\n                        if (el) {\n                            var p = el.parentElement;\n                            if (p) {\n                                p.removeChild(el);\n                            }\n                        ;\n                        ;\n                            el = null;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    var destroyLoader = function(loader) {\n                        if (isGecko) {\n                            JSBNG__setTimeout(function() {\n                                destroyElement(loader);\n                            }, 5);\n                        }\n                         else {\n                            destroyElement(loader);\n                        }\n                    ;\n                    ;\n                    };\n                    var load = ((!((((isIE || isGecko)) || isWebkit)) ? function() {\n                    ;\n                    } : function() {\n                        if (!setLoadState()) {\n                            return;\n                        }\n                    ;\n                    ;\n                        var url = plUrls.pop(), loader, hL = ((((plUrls === hiPriUrls)) ? \"H\" : \"L\")), timer;\n                    ;\n                        if (isGecko) {\n                            loader = doc.createElement(\"object\");\n                        }\n                         else {\n                            if (isSafari) {\n                                var end = url.indexOf(\"?\");\n                                end = ((((end > 0)) ? end : url.length));\n                                var posDot = url.lastIndexOf(\".\", end);\n                                if (posDot) {\n                                    switch (url.substring(((posDot + 1)), end).toLowerCase()) {\n                                      case \"js\":\n                                        loader = doc.createElement(\"script\");\n                                        loader.type = \"f\";\n                                        break;\n                                      case \"png\":\n                                    \n                                      case \"jpg\":\n                                    \n                                      case \"jpeg\":\n                                    \n                                      case \"gif\":\n                                        loader = new JSBNG__Image();\n                                        break;\n                                    };\n                                ;\n                                }\n                            ;\n                            ;\n                                if (!loader) {\n                                ;\n                                    loaderDone(url);\n                                    return;\n                                }\n                            ;\n                            ;\n                            }\n                             else {\n                                loader = new JSBNG__Image();\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        loader.JSBNG__onerror = function() {\n                        ;\n                            loaderDone(loader, timer);\n                        };\n                        loader.JSBNG__onload = function() {\n                        ;\n                            loaderDone(loader, timer);\n                        };\n                        if (((isGecko || ((isSafari && ((loader.tagName == \"SCRIPT\"))))))) {\n                            timer = ST(function() {\n                            ;\n                                loaderDone(loader, timer);\n                            }, ((timeout + ((Math.JSBNG__random() * 100)))));\n                        }\n                    ;\n                    ;\n                        if (isGecko) {\n                            loader.data = url;\n                        }\n                         else {\n                            loader.src = url;\n                        }\n                    ;\n                    ;\n                        if (!isIE) {\n                            loader.width = loader.height = 0;\n                            loader.style.display = \"none\";\n                            docElem.appendChild(loader);\n                        }\n                    ;\n                    ;\n                        if (((currentLoaders < allowedLoaders))) {\n                            load();\n                        }\n                    ;\n                    ;\n                    }));\n                    function processUrlList(urlList, target) {\n                        if (((typeof (urlList) === \"string\"))) {\n                            urlList = [urlList,];\n                        }\n                         else {\n                            if (((((typeof (urlList) !== \"object\")) || ((urlList === null))))) {\n                                return;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        var i, u;\n                        for (i = 0; ((i < urlList.length)); i++) {\n                            u = urlList[i];\n                            if (((u && ((typeof (u) !== \"string\"))))) {\n                                processUrlList(u, target);\n                            }\n                             else {\n                                if (((u && !((u[0] == \" \"))))) {\n                                    target.splice(Math.round(((Math.JSBNG__random() * target.length))), 0, u);\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                    };\n                ;\n                    me._getPLStat = function() {\n                        return {\n                            H: hiPriUrls.length,\n                            L: lowPriUrls.length,\n                            P: plUrls.length,\n                            CL: currentLoaders,\n                            AL: allowedLoaders\n                        };\n                    };\n                    me.addPL = function(urlList) {\n                        processUrlList(urlList, lowPriUrls);\n                        load();\n                    };\n                    me.PLNow = function(urlList) {\n                        processUrlList(urlList, hiPriUrls);\n                        load();\n                    };\n                    function triggerPagePreloads() {\n                        isLowPriEligibleYet = true;\n                        load();\n                    };\n                ;\n                    if (((typeof bootstrapAmznJQ.PLTriggerName !== \"undefined\"))) {\n                        amznJQ.available(bootstrapAmznJQ.PLTriggerName, triggerPagePreloads);\n                    }\n                     else {\n                        $(window).load(function() {\n                            ST(triggerPagePreloads, 1000);\n                        });\n                    }\n                ;\n                ;\n                }());\n                me.strings = {\n                };\n                me.chars = {\n                };\n                if (bootstrapAmznJQ) {\n                    $.extend(this.strings, bootstrapAmznJQ.strings);\n                    $.extend(this.chars, bootstrapAmznJQ.chars);\n                }\n            ;\n            ;\n            }();\n            $(window).load(function() {\n                amznJQ.windowOnLoad();\n            });\n            if (((((((window.ue && bootstrapAmznJQ)) && window.ues)) && window.uex))) {\n                ues(\"wb\", \"jQueryActive\", 1);\n                uex(\"ld\", \"jQueryActive\");\n            }\n        ;\n        ;\n            amznJQ.declareAvailable(\"JQuery\");\n            amznJQ.declareAvailable(\"jQuery\");\n            if (bootstrapAmznJQ) {\n            ;\n                $.each(bootstrapAmznJQ._l, function() {\n                    amznJQ.addLogical(this[0], this[1]);\n                });\n                $.each(bootstrapAmznJQ._s, function() {\n                    amznJQ.addStyle(this[0]);\n                });\n                $.each(bootstrapAmznJQ._d, function() {\n                    amznJQ.declareAvailable(this[0], this[1]);\n                });\n                $.each(bootstrapAmznJQ._a, function() {\n                    amznJQ.available(this[0], this[1]);\n                });\n                $.each(((bootstrapAmznJQ._t || [])), function() {\n                    callInTimeslice(this[0]);\n                });\n                $.each(bootstrapAmznJQ._o, function() {\n                    amznJQ.onReady(this[0], this[1]);\n                });\n                $.each(bootstrapAmznJQ._c, function() {\n                    amznJQ.onCompletion(this[0], this[1]);\n                });\n                $.each(bootstrapAmznJQ._cs, function() {\n                    amznJQ.completedStage(this[0], this[1]);\n                });\n                amznJQ.addPL(bootstrapAmznJQ._pl);\n            }\n        ;\n        ;\n        };\n        if (!initJQuery) {\n            initAmznJQ();\n        }\n         else {\n            if (!timesliceJS) {\n                initJQuery();\n                initAmznJQ();\n            }\n             else {\n                callInTimeslice(initJQuery);\n                callInTimeslice(initAmznJQ);\n            }\n        ;\n        ;\n        }\n    ;\n    ;\n    })();\n    (function() {\n        if (window.amznJQ) {\n            window.amznJQ.available(\"jQuery\", function() {\n                initAmazonPopover(((window.amznJQ.jQuery || window.jQuery)));\n                window.amznJQ.declareAvailable(\"popover\");\n            });\n        }\n    ;\n    ;\n        if (((((typeof window.P === \"object\")) && ((typeof window.P.when === \"function\"))))) {\n            window.P.when(\"jQuery\").register(\"legacy-popover\", function($) {\n                initAmazonPopover($);\n                return null;\n            });\n        }\n    ;\n    ;\n        function initAmazonPopover($) {\n            if (((!$ || $.AmazonPopover))) {\n                return;\n            }\n        ;\n        ;\n            var rootElement = function() {\n                var container = $(\"#ap_container\");\n                return ((((container.length && container)) || $(\"body\")));\n            };\n            var viewport = {\n                width: function() {\n                    return Math.min($(window).width(), $(JSBNG__document).width());\n                },\n                height: function() {\n                    return $(window).height();\n                }\n            };\n            var mouseTracker = function() {\n                var regions = [], n = 3, cursor = [{\n                    x: 0,\n                    y: 0\n                },], c = 0, JSBNG__scroll = [0,0,], listening = false;\n                var callbackArgs = function() {\n                    var pCursors = [];\n                    for (var i = 1; ((i < n)); i++) {\n                        pCursors.push(cursor[((((((c - i)) + n)) % n))]);\n                    };\n                ;\n                    return $.extend(true, {\n                    }, {\n                        cursor: cursor[c],\n                        priorCursors: pCursors\n                    });\n                };\n                var check = function(immediately) {\n                    for (var i = 0; ((i < regions.length)); i++) {\n                        var r = regions[i];\n                        var inside = (($.grep(r.rects, function(n) {\n                            return ((((((((cursor[c].x >= n[0])) && ((cursor[c].y >= n[1])))) && ((cursor[c].x < ((n[0] + n[2])))))) && ((cursor[c].y < ((n[1] + n[3]))))));\n                        }).length > 0));\n                        if (((((((((r.inside !== null)) && inside)) && !r.inside)) && r.mouseEnter))) {\n                            r.inside = r.mouseEnter(callbackArgs());\n                        }\n                         else {\n                            if (((((((((r.inside !== null)) && !inside)) && r.inside)) && r.mouseLeave))) {\n                                r.inside = !r.mouseLeave(immediately, callbackArgs());\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                };\n                var startListening = function() {\n                    JSBNG__scroll = [$(window).scrollLeft(),$(window).scrollTop(),];\n                    $(JSBNG__document).mousemove(function(e) {\n                        if (((typeof e.pageY !== \"undefined\"))) {\n                            c = ((((c + 1)) % n));\n                            cursor[c] = {\n                                x: e.pageX,\n                                y: e.pageY\n                            };\n                        }\n                    ;\n                    ;\n                        check();\n                    });\n                    if (!isMobileAgent(true)) {\n                        $(JSBNG__document).JSBNG__scroll(function(e) {\n                            cursor[c].x += (($(window).scrollLeft() - JSBNG__scroll[0]));\n                            cursor[c].y += (($(window).scrollTop() - JSBNG__scroll[1]));\n                            JSBNG__scroll = [$(window).scrollLeft(),$(window).scrollTop(),];\n                            check();\n                        });\n                    }\n                ;\n                ;\n                    listening = true;\n                };\n                return {\n                    add: function(rectsArray, options) {\n                        if (!listening) {\n                            startListening();\n                        }\n                    ;\n                    ;\n                        var r = $.extend({\n                            rects: rectsArray\n                        }, options);\n                        regions.push(r);\n                        return r;\n                    },\n                    remove: function(region) {\n                        for (var i = 0; ((i < regions.length)); i++) {\n                            if (((regions[i] === region))) {\n                                regions.splice(i, 1);\n                                return;\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                    },\n                    checkNow: function() {\n                        check(true);\n                    },\n                    getCallbackArgs: function() {\n                        return callbackArgs();\n                    }\n                };\n            }();\n            var iframePool = function() {\n                var ie6 = (($.browser.msie && ((parseInt($.browser.version) <= 6))));\n                var src = ((ie6 ? window.AmazonPopoverImages.pixel : \"javascript:void(false)\"));\n                var HTML = ((((\"\\u003Ciframe frameborder=\\\"0\\\" tabindex=\\\"-1\\\" src=\\\"\" + src)) + \"\\\" style=\\\"display:none;position:absolute;z-index:0;filter:Alpha(Opacity='0');opacity:0;\\\" /\\u003E\"));\n                var pool = [];\n                var addToLib = function(n) {\n                    for (i = 0; ((i < n)); i++) {\n                        pool.push($(HTML).prependTo(rootElement()));\n                    };\n                ;\n                };\n                $(JSBNG__document).ready(function() {\n                    addToLib(3);\n                });\n                return {\n                    checkout: function(jqObj) {\n                        if (!pool.length) {\n                            addToLib(1);\n                        }\n                    ;\n                    ;\n                        return pool.pop().css({\n                            display: \"block\",\n                            JSBNG__top: jqObj.offset().JSBNG__top,\n                            left: jqObj.offset().left,\n                            width: jqObj.JSBNG__outerWidth(),\n                            height: jqObj.JSBNG__outerHeight(),\n                            zIndex: ((Number(jqObj.css(\"z-index\")) - 1))\n                        });\n                    },\n                    checkin: function(iframe) {\n                        pool.push(iframe.css(\"display\", \"none\"));\n                    }\n                };\n            }();\n            var elementHidingManager = function() {\n                var hiddenElements = [];\n                var win = /Win/.test(JSBNG__navigator.platform);\n                var mac = /Mac/.test(JSBNG__navigator.platform);\n                var linux = /Linux/.test(JSBNG__navigator.platform);\n                var version = parseInt($.browser.version);\n                var canOverlayWmodeWindow = false;\n                var intersectingPopovers = function(obj) {\n                    var bounds = [obj.offset().left,obj.offset().JSBNG__top,obj.JSBNG__outerWidth(),obj.JSBNG__outerHeight(),];\n                    var intersecting = [];\n                    for (var i = 0; ((i < popovers.length)); i++) {\n                        var disparate = false;\n                        if (!popovers[i].settings.modal) {\n                            var r = popovers[i].bounds;\n                            disparate = ((((((((bounds[0] > ((r[0] + r[2])))) || ((r[0] > ((bounds[0] + bounds[2])))))) || ((bounds[1] > ((r[1] + r[3])))))) || ((r[1] > ((bounds[1] + bounds[3]))))));\n                        }\n                    ;\n                    ;\n                        if (!disparate) {\n                            intersecting.push(popovers[i]);\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    return intersecting;\n                };\n                var shouldBeVisible = function(obj) {\n                    if (obj.hasClass(\"ap_never_hide\")) {\n                        return true;\n                    }\n                ;\n                ;\n                    if (intersectingPopovers(obj).length) {\n                        if (obj.is(\"object,embed\")) {\n                            var wmode = ((((((obj.attr(\"wmode\") || obj.children(\"object,embed\").attr(\"wmode\"))) || obj.parent(\"object,embed\").attr(\"wmode\"))) || \"window\"));\n                            if (((((wmode.toLowerCase() == \"window\")) && !canOverlayWmodeWindow))) {\n                                return false;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        if (obj.is(\"div\")) {\n                            if ($.browser.safari) {\n                                return false;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    return true;\n                };\n                var setVisibility = function(elementQuery, shouldBecomeVisible) {\n                    if (elementQuery.is(\"iframe[id^=DA],iframe[id^=cachebust]\")) {\n                        elementQuery.css({\n                            display: ((shouldBecomeVisible ? \"block\" : \"none\"))\n                        });\n                    }\n                     else {\n                        elementQuery.css({\n                            visibility: ((shouldBecomeVisible ? \"visible\" : \"hidden\"))\n                        });\n                    }\n                ;\n                ;\n                };\n                return {\n                    update: function() {\n                        var HIDDEN = 0;\n                        var VISIBLE = 1;\n                        var stillHidden = [];\n                        for (var i = 0; ((i < hiddenElements.length)); i++) {\n                            var hiddenElement = hiddenElements[i];\n                            if (!shouldBeVisible(hiddenElement)) {\n                                stillHidden.push(hiddenElement);\n                            }\n                             else {\n                                setVisibility(hiddenElement, VISIBLE);\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                        hiddenElements = stillHidden;\n                        $(\"object:visible,embed:visible,iframe:visible\").each(function() {\n                            var obj = jQuery(this);\n                            if (!shouldBeVisible(obj)) {\n                                hiddenElements.push(obj);\n                                setVisibility(obj, HIDDEN);\n                            }\n                        ;\n                        ;\n                        });\n                    }\n                };\n            }();\n            var applyBacking = function(popover, options) {\n                var region = null;\n                var iframe = null;\n                options = ((options || {\n                }));\n                var destroy = function() {\n                    if (region) {\n                        mouseTracker.remove(region);\n                        region = null;\n                    }\n                ;\n                ;\n                    if (iframe) {\n                        iframePool.checkin(iframe);\n                        iframe = null;\n                    }\n                ;\n                ;\n                    elementHidingManager.update();\n                };\n                var refreshBounds = function() {\n                    var newBounds = [popover.offset().left,popover.offset().JSBNG__top,popover.JSBNG__outerWidth(),popover.JSBNG__outerHeight(),];\n                    if (region) {\n                        region.rects[0] = newBounds;\n                    }\n                ;\n                ;\n                    if (iframe) {\n                        iframe.css({\n                            left: newBounds[0],\n                            JSBNG__top: newBounds[1],\n                            width: newBounds[2],\n                            height: newBounds[3]\n                        });\n                    }\n                ;\n                ;\n                    elementHidingManager.update();\n                };\n                var reposition = function(x, y) {\n                    if (iframe) {\n                        iframe.css({\n                            left: x,\n                            JSBNG__top: y\n                        });\n                    }\n                ;\n                ;\n                    if (region) {\n                        region.rects[0][0] = x;\n                        region.rects[0][1] = y;\n                    }\n                ;\n                ;\n                };\n                if (((options.useIFrame !== false))) {\n                    iframe = iframePool.checkout(popover);\n                }\n            ;\n            ;\n                var bounds = [[popover.offset().left,popover.offset().JSBNG__top,popover.JSBNG__outerWidth(),popover.JSBNG__outerHeight(),],];\n                if (options.additionalCursorRects) {\n                    for (var i = 0; ((i < options.additionalCursorRects.length)); i++) {\n                        bounds.push(options.additionalCursorRects[i]);\n                    };\n                ;\n                }\n            ;\n            ;\n                region = mouseTracker.add(bounds, options);\n                elementHidingManager.update();\n                popover.backing = {\n                    destroy: destroy,\n                    refreshBounds: refreshBounds,\n                    reposition: reposition,\n                    iframe: iframe\n                };\n            };\n            var defaultSettings = {\n                width: 500,\n                followScroll: false,\n                locationMargin: 4,\n                alignMargin: 0,\n                windowMargin: 4,\n                locationFitInWindow: true,\n                focusOnShow: true,\n                modal: false,\n                draggable: false,\n                zIndex: 200,\n                showOnHover: false,\n                hoverShowDelay: 400,\n                hoverHideDelay: 200,\n                skin: \"default\",\n                useIFrame: true,\n                clone: false,\n                ajaxSlideDuration: 400,\n                ajaxErrorContent: null,\n                paddingLeft: 17,\n                paddingRight: 17,\n                paddingBottom: 8\n            };\n            var overlay = null;\n            var popovers = [];\n            var et = {\n                MOUSE_ENTER: 1,\n                MOUSE_LEAVE: 2,\n                CLICK_TRIGGER: 4,\n                CLICK_OUTSIDE: 8,\n                fromStrings: function(s) {\n                    var flags = 0;\n                    var JSBNG__self = this;\n                    if (s) {\n                        $.each($.makeArray(s), function() {\n                            flags = ((flags | JSBNG__self[this]));\n                        });\n                    }\n                ;\n                ;\n                    return flags;\n                }\n            };\n            var ajaxCache = {\n            };\n            var preparedPopover = null;\n            var openGroupPopover = {\n            };\n            var skins = {\n                \"default\": ((((\"\\u003Cdiv class=\\\"ap_popover ap_popover_sprited\\\" surround=\\\"6,16,18,16\\\" tabindex=\\\"0\\\"\\u003E                     \\u003Cdiv class=\\\"ap_header\\\"\\u003E                         \\u003Cdiv class=\\\"ap_left\\\"/\\u003E                         \\u003Cdiv class=\\\"ap_middle\\\"/\\u003E                         \\u003Cdiv class=\\\"ap_right\\\"/\\u003E                     \\u003C/div\\u003E                     \\u003Cdiv class=\\\"ap_body\\\"\\u003E                         \\u003Cdiv class=\\\"ap_left\\\"/\\u003E                         \\u003Cdiv class=\\\"ap_content\\\"\\u003E\\u003Cimg src=\\\"\" + window.AmazonPopoverImages.snake)) + \"\\\"/\\u003E\\u003C/div\\u003E                         \\u003Cdiv class=\\\"ap_right\\\"/\\u003E                     \\u003C/div\\u003E                     \\u003Cdiv class=\\\"ap_footer\\\"\\u003E                         \\u003Cdiv class=\\\"ap_left\\\"/\\u003E                         \\u003Cdiv class=\\\"ap_middle\\\"/\\u003E                         \\u003Cdiv class=\\\"ap_right\\\"/\\u003E                     \\u003C/div\\u003E                     \\u003Cdiv class=\\\"ap_titlebar\\\"\\u003E                         \\u003Cdiv class=\\\"ap_title\\\"/\\u003E                     \\u003C/div\\u003E                     \\u003Cdiv class=\\\"ap_close\\\"\\u003E\\u003Ca href=\\\"#\\\"\\u003E\\u003Cspan class=\\\"ap_closetext\\\"/\\u003E\\u003Cspan class=\\\"ap_closebutton\\\"\\u003E\\u003Cspan\\u003E\\u003C/span\\u003E\\u003C/span\\u003E\\u003C/a\\u003E\\u003C/div\\u003E                 \\u003C/div\\u003E\")),\n                default_non_sprited: ((((((((\"\\u003Cdiv class=\\\"ap_popover ap_popover_unsprited\\\" surround=\\\"6,16,18,16\\\" tabindex=\\\"0\\\"\\u003E                     \\u003Cdiv class=\\\"ap_header\\\"\\u003E                         \\u003Cdiv class=\\\"ap_left\\\"/\\u003E                         \\u003Cdiv class=\\\"ap_middle\\\"/\\u003E                         \\u003Cdiv class=\\\"ap_right\\\"/\\u003E                     \\u003C/div\\u003E                     \\u003Cdiv class=\\\"ap_body\\\"\\u003E                         \\u003Cdiv class=\\\"ap_left\\\"/\\u003E                         \\u003Cdiv class=\\\"ap_content\\\"\\u003E\\u003Cimg src=\\\"\" + window.AmazonPopoverImages.snake)) + \"\\\"/\\u003E\\u003C/div\\u003E                         \\u003Cdiv class=\\\"ap_right\\\"/\\u003E                     \\u003C/div\\u003E                     \\u003Cdiv class=\\\"ap_footer\\\"\\u003E                         \\u003Cdiv class=\\\"ap_left\\\"/\\u003E                         \\u003Cdiv class=\\\"ap_middle\\\"/\\u003E                         \\u003Cdiv class=\\\"ap_right\\\"/\\u003E                     \\u003C/div\\u003E                     \\u003Cdiv class=\\\"ap_titlebar\\\"\\u003E                         \\u003Cdiv class=\\\"ap_title\\\"/\\u003E                     \\u003C/div\\u003E                     \\u003Cdiv class=\\\"ap_close\\\"\\u003E\\u003Ca href=\\\"#\\\"\\u003E\\u003Cspan class=\\\"ap_closetext\\\"/\\u003E\\u003Cimg border=\\\"0\\\" src=\\\"\")) + window.AmazonPopoverImages.btnClose)) + \"\\\"/\\u003E\\u003C/a\\u003E\\u003C/div\\u003E                 \\u003C/div\\u003E\")),\n                classic: ((((((((((((((((((((\"\\u003Cdiv class=\\\"ap_classic\\\"\\u003E                     \\u003Cdiv class=\\\"ap_titlebar\\\"\\u003E                         \\u003Cdiv class=\\\"ap_close\\\"\\u003E                             \\u003Cimg width=\\\"46\\\" height=\\\"16\\\" border=\\\"0\\\" alt=\\\"close\\\" onmouseup='this.src=\\\"\" + window.AmazonPopoverImages.closeTan)) + \"\\\";' onmouseout='this.src=\\\"\")) + window.AmazonPopoverImages.closeTan)) + \"\\\";' onmousedown='this.src=\\\"\")) + window.AmazonPopoverImages.closeTanDown)) + \"\\\";' src=\\\"\")) + window.AmazonPopoverImages.closeTan)) + \"\\\" /\\u003E                         \\u003C/div\\u003E                         \\u003Cspan class=\\\"ap_title\\\"\\u003E\\u003C/span\\u003E                     \\u003C/div\\u003E                     \\u003Cdiv class=\\\"ap_content\\\"\\u003E\\u003Cimg src=\\\"\")) + window.AmazonPopoverImages.loadingBar)) + \"\\\"/\\u003E\\u003C/div\\u003E                 \\u003C/div\\u003E\"))\n            };\n            var boundingRectangle = function(set) {\n                var b = {\n                    left: Infinity,\n                    JSBNG__top: Infinity,\n                    right: -Infinity,\n                    bottom: -Infinity\n                };\n                set.each(function() {\n                    try {\n                        var t = $(this);\n                        var o = t.offset();\n                        var w = t.JSBNG__outerWidth();\n                        var h = t.JSBNG__outerHeight();\n                        if (t.is(\"area\")) {\n                            var ab = boundsOfAreaElement(t);\n                            o = {\n                                left: ab[0],\n                                JSBNG__top: ab[1]\n                            };\n                            w = ((ab[2] - ab[0]));\n                            h = ((ab[3] - ab[1]));\n                        }\n                    ;\n                    ;\n                        if (((o.left < b.left))) {\n                            b.left = o.left;\n                        }\n                    ;\n                    ;\n                        if (((o.JSBNG__top < b.JSBNG__top))) {\n                            b.JSBNG__top = o.JSBNG__top;\n                        }\n                    ;\n                    ;\n                        if (((((o.left + w)) > b.right))) {\n                            b.right = ((o.left + w));\n                        }\n                    ;\n                    ;\n                        if (((((o.JSBNG__top + h)) > b.bottom))) {\n                            b.bottom = ((o.JSBNG__top + h));\n                        }\n                    ;\n                    ;\n                    } catch (e) {\n                    \n                    };\n                ;\n                });\n                return b;\n            };\n            var bringToFront = function(popover) {\n                if (((popovers.length <= 1))) {\n                    return;\n                }\n            ;\n            ;\n                var maxZ = Math.max.apply(Math, $.map(popovers, function(p) {\n                    return Number(p.css(\"z-index\"));\n                }));\n                if (((Number(popover.css(\"z-index\")) == maxZ))) {\n                    return;\n                }\n            ;\n            ;\n                popover.css(\"z-index\", ((maxZ + 2)));\n                ((popover.backing && popover.backing.iframe.css(\"z-index\", ((maxZ + 1)))));\n            };\n            $.fn.removeAmazonPopoverTrigger = function() {\n                this.unbind(\"click.amzPopover\");\n                this.unbind(\"mouseover.amzPopover\");\n                this.unbind(\"mouseout.amzPopover\");\n                return this;\n            };\n            $.fn.amazonPopoverTrigger = function(customSettings) {\n                var settings = $.extend({\n                }, defaultSettings, customSettings);\n                var triggers = this;\n                var popover = null;\n                if (((!settings.showOnHover && ((settings.skin == \"default\"))))) {\n                    this.bind(\"mouseover.amzPopover\", preparePopover);\n                }\n            ;\n            ;\n                if (((typeof settings.showOnHover == \"string\"))) {\n                    var hoverSet = triggers.filter(settings.showOnHover);\n                }\n                 else {\n                    var hoverSet = ((settings.showOnHover ? triggers : jQuery([])));\n                }\n            ;\n            ;\n                var timerID = null;\n                hoverSet.bind(\"mouseover.amzPopover\", function(e) {\n                    if (((!popover && !timerID))) {\n                        timerID = JSBNG__setTimeout(function() {\n                            if (!popover) {\n                                var parent = triggers.parent(), length = parent.length, tagName = ((length ? ((parent.attr(\"tagName\") || parent.get(0).tagName)) : undefined));\n                                if (((length && tagName))) {\n                                    if (((!settings.triggeringEnabled || settings.triggeringEnabled.call(triggers)))) {\n                                        popover = displayPopover(settings, triggers, function() {\n                                            popover = null;\n                                        });\n                                    }\n                                ;\n                                ;\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                            timerID = null;\n                        }, settings.hoverShowDelay);\n                    }\n                ;\n                ;\n                    return false;\n                });\n                hoverSet.bind(\"mouseout.amzPopover\", function(e) {\n                    if (((!popover && timerID))) {\n                        JSBNG__clearTimeout(timerID);\n                        timerID = null;\n                    }\n                ;\n                ;\n                });\n                triggers.bind(\"click.amzPopover\", function(e) {\n                    var followLink = ((((settings.followLink === true)) || ((((typeof settings.followLink == \"function\")) && settings.followLink.call(triggers, popover, settings)))));\n                    if (followLink) {\n                        return true;\n                    }\n                ;\n                ;\n                    if (popover) {\n                        popover.triggerClicked();\n                    }\n                     else {\n                        if (((!settings.triggeringEnabled || settings.triggeringEnabled.call(triggers)))) {\n                            popover = displayPopover(settings, triggers, function() {\n                                popover = null;\n                            });\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    return false;\n                });\n                this.amznPopoverHide = function() {\n                    ((popover && popover.close()));\n                };\n                this.amznPopoverVisible = function() {\n                    return !!popover;\n                };\n                return this;\n            };\n            var updateBacking = function(group) {\n                if (((group && openGroupPopover[group]))) {\n                    var popover = openGroupPopover[group];\n                    if (popover.backing) {\n                        popover.backing.refreshBounds();\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n            };\n            var displayPopover = function(settings, triggers, destroyFunction) {\n                addAliases(settings);\n                var parent = null;\n                if (triggers) {\n                    var parents = triggers.eq(0).parents().get();\n                    for (var t = 0; ((((t < parents.length)) && !parent)); t++) {\n                        for (var i = 0; ((((i < popovers.length)) && !parent)); i++) {\n                            if (((popovers[i].get(0) == parents[t]))) {\n                                parent = popovers[i];\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                    };\n                ;\n                }\n            ;\n            ;\n                var children = [];\n                children.remove = function(p) {\n                    for (var i = 0; ((i < this.length)); i++) {\n                        if (((this[i] === p))) {\n                            this.splice(i, 1);\n                            return;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                };\n                var interactedWith = false;\n                $.each(defaultSettings, function(k, v) {\n                    if (((typeof settings[k] == \"undefined\"))) {\n                        settings[k] = v;\n                    }\n                ;\n                ;\n                });\n                if (!settings.JSBNG__location) {\n                    settings.JSBNG__location = ((((settings.modal || !triggers)) ? \"centered\" : \"auto\"));\n                }\n            ;\n            ;\n                if (((settings.showCloseButton === null))) {\n                    settings.showCloseButton = !settings.showOnHover;\n                }\n            ;\n            ;\n                $.each(popovers, function() {\n                    settings.zIndex = Math.max(settings.zIndex, ((Number(this.css(\"z-index\")) + 2)));\n                });\n                var closeEvent = ((((settings.showOnHover ? et.MOUSE_LEAVE : et.CLICK_TRIGGER)) | ((settings.modal ? et.CLICK_OUTSIDE : 0))));\n                closeEvent = ((((closeEvent | et.fromStrings(settings.closeEventInclude))) & ~et.fromStrings(settings.closeEventExclude)));\n                var clickAwayHandler;\n                var reposition = function() {\n                    position(popover, settings, triggers);\n                };\n                var close = function() {\n                    if (settings.group) {\n                        openGroupPopover[settings.group] = null;\n                    }\n                ;\n                ;\n                    if (((original && original.parents(\"body\").length))) {\n                        if (((ballMarker && ballMarker.parents(\"body\").length))) {\n                            original.hide().insertAfter(ballMarker);\n                            ballMarker.remove();\n                            ballMarker = null;\n                        }\n                         else {\n                            original.hide().appendTo(rootElement());\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    if (((original != popover))) {\n                        popover.remove();\n                    }\n                ;\n                ;\n                    if (parent) {\n                        parent.children.remove(popover);\n                    }\n                ;\n                ;\n                    for (var i = 0; ((i < popovers.length)); i++) {\n                        if (((popovers[i] === popover))) {\n                            popovers.splice(i, 1);\n                            break;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    if (popover.backing) {\n                        popover.backing.destroy();\n                        popover.backing = null;\n                    }\n                ;\n                ;\n                    mouseTracker.checkNow();\n                    if (destroyFunction) {\n                        destroyFunction();\n                    }\n                ;\n                ;\n                    if (settings.onHide) {\n                        settings.onHide.call(triggers, popover, settings);\n                    }\n                ;\n                ;\n                    if (((settings.modal && overlay))) {\n                        if (overlay.fitToScreen) {\n                            $(window).unbind(\"resize\", overlay.fitToScreen);\n                        }\n                    ;\n                    ;\n                        overlay.remove();\n                        overlay = null;\n                    }\n                ;\n                ;\n                    $(JSBNG__document).unbind(\"JSBNG__scroll.AmazonPopover\");\n                    $(JSBNG__document).unbind(\"click\", clickAwayHandler);\n                    for (var i = 0; ((i < children.length)); i++) {\n                        children[i].close();\n                    };\n                ;\n                    children = [];\n                    return false;\n                };\n                var fill = function(JSBNG__content, autoshow) {\n                    var container = popover.JSBNG__find(\".ap_sub_content\");\n                    if (((container.length == 0))) {\n                        container = popover.JSBNG__find(\".ap_content\");\n                    }\n                ;\n                ;\n                    if (((typeof JSBNG__content == \"string\"))) {\n                        container.html(JSBNG__content);\n                    }\n                     else {\n                        container.empty().append(JSBNG__content);\n                    }\n                ;\n                ;\n                    if (((((typeof settings.autoshow == \"boolean\")) ? settings.autoshow : autoshow))) {\n                        if ($.browser.msie) {\n                            container.children().show().hide();\n                        }\n                    ;\n                    ;\n                        container.children(\":not(style)\").show();\n                    }\n                ;\n                ;\n                    container.JSBNG__find(\".ap_custom_close\").click(close);\n                    if (settings.onFilled) {\n                        settings.onFilled.call(triggers, popover, settings);\n                    }\n                ;\n                ;\n                    return container;\n                };\n                if (((settings.modal && !overlay))) {\n                    overlay = showOverlay(close, settings.zIndex);\n                }\n            ;\n            ;\n                var popover = null;\n                var original = null;\n                var ballMarker = null;\n                if (((settings.skin == \"default\"))) {\n                    preparePopover();\n                    popover = preparedPopover;\n                    preparedPopover = null;\n                }\n                 else {\n                    var skin = (($.isFunction(settings.skin) ? settings.skin() : settings.skin));\n                    skin = ((skin || \"\\u003Cdiv\\u003E\\u003Cdiv class='ap_content' /\\u003E\\u003C/div\\u003E\"));\n                    var skinIsHtml = /^[^<]*(<(.|\\s)+>)[^>]*$/.test(skin);\n                    var skinHtml = ((skinIsHtml ? skin : skins[skin]));\n                    popover = $(skinHtml);\n                }\n            ;\n            ;\n                if ((($.browser.msie && ((parseInt($.browser.version) == 6))))) {\n                    fixPngs(popover);\n                }\n            ;\n            ;\n                if (((settings.skin == \"default\"))) {\n                    popover.JSBNG__find(\".ap_content\").css({\n                        paddingLeft: settings.paddingLeft,\n                        paddingRight: settings.paddingRight,\n                        paddingBottom: settings.paddingBottom\n                    });\n                }\n            ;\n            ;\n                if (settings.localContent) {\n                    if (settings.clone) {\n                        fill($(settings.localContent).clone(true), true);\n                    }\n                     else {\n                        original = $(settings.localContent);\n                        ballMarker = $(\"\\u003Cspan style='display:none' /\\u003E\").insertBefore(original);\n                        fill(original, true);\n                    }\n                ;\n                ;\n                }\n                 else {\n                    if (settings.literalContent) {\n                        fill(settings.literalContent);\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                if (settings.destination) {\n                    var destinationUrl = ((((typeof settings.destination == \"function\")) ? settings.destination() : settings.destination));\n                    if (((((settings.cacheable !== false)) && ajaxCache[destinationUrl]))) {\n                        fill(ajaxCache[destinationUrl]);\n                    }\n                     else {\n                        $.ajax({\n                            url: destinationUrl,\n                            timeout: settings.ajaxTimeout,\n                            success: function(data) {\n                                if (settings.onAjaxSuccess) {\n                                    settings.onAjaxSuccess.apply(settings, arguments);\n                                }\n                            ;\n                            ;\n                                var contentCacheable = ((data.match(/^(\\s|<!--[\\s\\S]*?-->)*<\\w+[^>]*\\s+cacheable=\"(.*?)\"/i) || data.match(/^(\\s|<!--[\\s\\S]*?-->)*<\\w+[^>]*\\s+cacheable='(.*?)'/i)));\n                                if (((((settings.cacheable !== false)) && ((!contentCacheable || ((contentCacheable[2] !== \"0\"))))))) {\n                                    ajaxCache[destinationUrl] = data;\n                                }\n                            ;\n                            ;\n                                var title = ((data.match(/^(\\s|<!--[\\s\\S]*?-->)*<\\w+[^>]*\\s+popoverTitle=\"(.*?)\"/i) || data.match(/^(\\s|<!--[\\s\\S]*?-->)*<\\w+[^>]*\\s+popoverTitle='(.*?)'/i)));\n                                if (title) {\n                                    settings.title = title[2];\n                                    popover.JSBNG__find(\".ap_title\").html(settings.title);\n                                }\n                            ;\n                            ;\n                                if (((((settings.ajaxSlideDuration > 0)) && !(($.browser.msie && ((JSBNG__document.compatMode == \"BackCompat\"))))))) {\n                                    popover.JSBNG__find(\".ap_content\").hide();\n                                    fill(data);\n                                    if (!settings.width) {\n                                        position(popover, settings, triggers);\n                                    }\n                                ;\n                                ;\n                                    if (settings.onAjaxShow) {\n                                        settings.onAjaxShow.call(triggers, popover, settings);\n                                    }\n                                ;\n                                ;\n                                    popover.JSBNG__find(\".ap_content\").slideDown(settings.ajaxSlideDuration, function() {\n                                        position(popover, settings, triggers);\n                                    });\n                                }\n                                 else {\n                                    fill(data);\n                                    if (settings.onAjaxShow) {\n                                        settings.onAjaxShow.call(triggers, popover, settings);\n                                    }\n                                ;\n                                ;\n                                    position(popover, settings, triggers);\n                                }\n                            ;\n                            ;\n                            },\n                            error: function() {\n                                var data = null;\n                                if (((typeof settings.ajaxErrorContent == \"function\"))) {\n                                    data = settings.ajaxErrorContent.apply(settings, arguments);\n                                }\n                                 else {\n                                    data = settings.ajaxErrorContent;\n                                }\n                            ;\n                            ;\n                                if (((data !== null))) {\n                                    var container = fill(data);\n                                    var title = container.children(\"[popoverTitle]\").attr(\"popoverTitle\");\n                                    if (title) {\n                                        popover.JSBNG__find(\".ap_title\").html(title);\n                                    }\n                                ;\n                                ;\n                                    position(popover, settings, triggers);\n                                }\n                            ;\n                            ;\n                            }\n                        });\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                if (((((!settings.localContent && !settings.literalContent)) && !settings.destination))) {\n                    throw (\"AmazonPopover wasn't provided a source of content.\");\n                }\n            ;\n            ;\n                if (parent) {\n                    parent.children.push(popover);\n                }\n            ;\n            ;\n                settings.surround = jQuery.map(((popover.attr(\"surround\") || \"0,0,0,0\")).split(\",\"), function(n) {\n                    return Number(n);\n                });\n                popover.css({\n                    zIndex: settings.zIndex,\n                    position: \"absolute\",\n                    left: -2000,\n                    JSBNG__top: -2000\n                });\n                popover.click(function(e) {\n                    if (!e.metaKey) {\n                        e.stopPropagation();\n                    }\n                ;\n                ;\n                    interactedWith = true;\n                });\n                clickAwayHandler = function(e) {\n                    var leftButton = ((((e.button === 0)) || ((e.which == 1))));\n                    if (((leftButton && !e.metaKey))) {\n                        close();\n                    }\n                ;\n                ;\n                };\n                if (((closeEvent & et.CLICK_OUTSIDE))) {\n                    $(JSBNG__document).click(clickAwayHandler);\n                }\n            ;\n            ;\n                popover.mousedown(function(e) {\n                    if (!children.length) {\n                        bringToFront(popover);\n                    }\n                ;\n                ;\n                });\n                var width = ((settings.width && ((((typeof settings.width == \"function\")) ? settings.width() : settings.width))));\n                if (!width) {\n                    width = ((getDynamicWidth(popover, settings) || popover.JSBNG__outerWidth()));\n                }\n            ;\n            ;\n                if (width) {\n                    popover.css(\"width\", width);\n                }\n            ;\n            ;\n                if (settings.followScroll) {\n                    $(JSBNG__document).bind(\"JSBNG__scroll.AmazonPopover\", function(e) {\n                        followScroll(e);\n                    });\n                }\n            ;\n            ;\n                if (((((settings.title !== null)) && ((settings.title !== undefined))))) {\n                    var titleBar = popover.JSBNG__find(\".ap_titlebar\");\n                    if (((settings.skin == \"default\"))) {\n                        titleBar.css({\n                            width: ((width - 36))\n                        });\n                        titleBar.JSBNG__find(\".ap_title\").css(\"width\", ((width - 70)));\n                        popover.JSBNG__find(\".ap_content\").css({\n                            paddingTop: 18\n                        });\n                    }\n                ;\n                ;\n                    popover.JSBNG__find(\".ap_title\").html(settings.title);\n                    if (((settings.draggable && !settings.modal))) {\n                        enableDragAndDrop(titleBar, popover);\n                    }\n                ;\n                ;\n                    titleBar.show();\n                    if (((((settings.skin == \"default\")) && settings.wrapTitlebar))) {\n                        titleBar.addClass(\"multiline\");\n                        popover.JSBNG__find(\".ap_content\").css({\n                            paddingTop: ((titleBar.JSBNG__outerHeight() - 9))\n                        });\n                    }\n                ;\n                ;\n                }\n                 else {\n                    popover.JSBNG__find(\".ap_titlebar\").hide();\n                }\n            ;\n            ;\n                if (((settings.showCloseButton !== false))) {\n                    popover.JSBNG__find(\".ap_close\").show().click(close).mousedown(function(e) {\n                        e.preventDefault();\n                        e.stopPropagation();\n                        return false;\n                    }).css(\"cursor\", \"default\");\n                    if (!settings.title) {\n                        popover.JSBNG__find(\".ap_content\").css({\n                            paddingTop: 10\n                        });\n                    }\n                ;\n                ;\n                    popover.keydown(function(e) {\n                        if (((e.keyCode == 27))) {\n                            close();\n                        }\n                    ;\n                    ;\n                    });\n                }\n                 else {\n                    popover.JSBNG__find(\".ap_close\").css(\"display\", \"none\");\n                }\n            ;\n            ;\n                if (settings.closeText) {\n                    popover.JSBNG__find(\".ap_closetext\").text(settings.closeText).show();\n                }\n                 else {\n                    popover.JSBNG__find(\".ap_closebutton span\").text(\"Close\");\n                }\n            ;\n            ;\n                popover.appendTo(rootElement());\n                position(popover, settings, triggers);\n                $(JSBNG__document.activeElement).filter(\"input[type=text], select\").JSBNG__blur();\n                popover.close = close;\n                if (settings.group) {\n                    if (openGroupPopover[settings.group]) {\n                        openGroupPopover[settings.group].close();\n                    }\n                ;\n                ;\n                    openGroupPopover[settings.group] = popover;\n                }\n            ;\n            ;\n                popover.show();\n                if (settings.focusOnShow) {\n                    popover.get(0).hideFocus = true;\n                    popover.JSBNG__focus();\n                }\n            ;\n            ;\n                if (((overlay && overlay.snapToLeft))) {\n                    overlay.snapToLeft();\n                }\n            ;\n            ;\n                if (settings.onShow) {\n                    settings.onShow.call(triggers, popover, settings);\n                }\n            ;\n            ;\n                popover.bounds = [popover.offset().left,popover.offset().JSBNG__top,popover.JSBNG__outerWidth(),popover.JSBNG__outerHeight(),];\n                popovers.push(popover);\n                popover.reposition = reposition;\n                popover.close = close;\n                popover.settings = settings;\n                popover.triggerClicked = function() {\n                    if (((closeEvent & et.CLICK_TRIGGER))) {\n                        close();\n                    }\n                ;\n                ;\n                };\n                popover.children = children;\n                if (((closeEvent & et.MOUSE_LEAVE))) {\n                    var timerID = null;\n                    var triggerRects = [];\n                    $.each(triggers, function() {\n                        var n = $(this);\n                        if (n.is(\"area\")) {\n                            var b = boundsOfAreaElement(n);\n                            triggerRects.push([b[0],b[1],((b[2] - b[0])),((b[3] - b[1])),]);\n                        }\n                         else {\n                            triggerRects.push([n.offset().left,n.offset().JSBNG__top,n.JSBNG__outerWidth(),n.JSBNG__outerHeight(),]);\n                        }\n                    ;\n                    ;\n                    });\n                    if (settings.additionalCursorRects) {\n                        $(settings.additionalCursorRects).each(function() {\n                            var n = $(this);\n                            triggerRects.push([n.offset().left,n.offset().JSBNG__top,n.JSBNG__outerWidth(),n.JSBNG__outerHeight(),]);\n                        });\n                    }\n                ;\n                ;\n                    applyBacking(popover, {\n                        solidRectangle: settings.solidRectangle,\n                        useIFrame: settings.useIFrame,\n                        mouseEnter: function() {\n                            if (timerID) {\n                                JSBNG__clearTimeout(timerID);\n                                timerID = null;\n                            }\n                        ;\n                        ;\n                            return true;\n                        },\n                        mouseLeave: function(immediately) {\n                            if (((settings.semiStatic && interactedWith))) {\n                                return !children.length;\n                            }\n                        ;\n                        ;\n                            if (timerID) {\n                                JSBNG__clearTimeout(timerID);\n                                timerID = null;\n                            }\n                        ;\n                        ;\n                            if (((children.length == 0))) {\n                                if (immediately) {\n                                    close();\n                                }\n                                 else {\n                                    timerID = JSBNG__setTimeout(function() {\n                                        close();\n                                        timerID = null;\n                                    }, settings.hoverHideDelay);\n                                }\n                            ;\n                            ;\n                                return true;\n                            }\n                        ;\n                        ;\n                            return false;\n                        },\n                        additionalCursorRects: triggerRects,\n                        inside: true\n                    });\n                }\n                 else {\n                    applyBacking(popover, {\n                        solidRectangle: settings.solidRectangle,\n                        useIFrame: settings.useIFrame\n                    });\n                }\n            ;\n            ;\n                $(function() {\n                    for (var i = 0; ((i < popovers.length)); i++) {\n                        if (popovers[i].settings.modal) {\n                            popovers[i].backing.refreshBounds();\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                });\n                return popover;\n            };\n            var isMobileAgent = function(inclusive) {\n                var reAry = [\"iPhone\",\"iPad\",];\n                if (inclusive) {\n                    reAry.push(\"Silk/\", \"Kindle Fire\", \"Android\", \"\\\\bTouch\\\\b\");\n                }\n            ;\n            ;\n                var reStr = ((((\"(\" + reAry.join(\"|\"))) + \")\"));\n                return JSBNG__navigator.userAgent.match(new RegExp(reStr, \"i\"));\n            };\n            var getPageWidth = function() {\n                return (($.browser.msie ? $(window).width() : \"100%\"));\n            };\n            var getPageHeight = function() {\n                return (((($.browser.msie || isMobileAgent())) ? $(JSBNG__document).height() : \"100%\"));\n            };\n            var showOverlay = function(closeFunction, z) {\n                var overlay = $(\"\\u003Cdiv id=\\\"ap_overlay\\\"/\\u003E\");\n                if ($.browser.msie) {\n                    overlay.fitToScreen = function(e) {\n                        var windowHeight = $(JSBNG__document).height();\n                        var windowWidth = $(window).width();\n                        var children = overlay.children();\n                        overlay.css({\n                            width: windowWidth,\n                            height: windowHeight,\n                            backgroundColor: \"transparent\",\n                            zIndex: z\n                        });\n                        var appendElements = [];\n                        for (var i = 0; ((((i < children.size())) || ((((windowHeight - ((i * 2000)))) > 0)))); i++) {\n                            var paneHeight = Math.min(((windowHeight - ((i * 2000)))), 2000);\n                            if (((paneHeight > 0))) {\n                                if (((i < children.size()))) {\n                                    children.eq(i).css({\n                                        width: windowWidth,\n                                        height: paneHeight\n                                    });\n                                }\n                                 else {\n                                    var slice = $(\"\\u003Cdiv/\\u003E\").css({\n                                        opacity: 95378,\n                                        zIndex: z,\n                                        width: windowWidth,\n                                        height: paneHeight,\n                                        JSBNG__top: ((i * 2000))\n                                    });\n                                    appendElements.push(slice[0]);\n                                }\n                            ;\n                            ;\n                            }\n                             else {\n                                children.eq(i).remove();\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                        if (appendElements.length) {\n                            overlay.append(appendElements);\n                        }\n                    ;\n                    ;\n                    };\n                    overlay.snapToLeft = function() {\n                        overlay.css(\"left\", jQuery(JSBNG__document).scrollLeft());\n                    };\n                    $(window).bind(\"resize load\", overlay.fitToScreen);\n                    $(window).JSBNG__scroll(overlay.snapToLeft);\n                    overlay.snapToLeft();\n                    overlay.fitToScreen();\n                }\n                 else {\n                    overlay.css({\n                        width: getPageWidth(),\n                        height: getPageHeight(),\n                        position: (((($.browser.mozilla || $.browser.safari)) ? \"fixed\" : \"\")),\n                        opacity: 95917,\n                        zIndex: z\n                    });\n                }\n            ;\n            ;\n                return overlay.appendTo(rootElement());\n            };\n            var HEADER_HEIGHT = 45;\n            var FOOTER_HEIGHT = 35;\n            var VERT_ARROW_OFFSET = 327;\n            var LEFT_ARROW_OFFSET = 0;\n            var RIGHT_ARROW_OFFSET = -51;\n            var attachedPositioning = function(popover, targetY, JSBNG__location, position, offset) {\n                if (popover.hasClass(\"ap_popover_sprited\")) {\n                    var dist = ((((targetY - JSBNG__location.JSBNG__top)) - offset[1]));\n                    if (((dist < HEADER_HEIGHT))) {\n                        dist = HEADER_HEIGHT;\n                    }\n                     else {\n                        if (((dist > ((popover.JSBNG__outerHeight() - FOOTER_HEIGHT))))) {\n                            dist = ((popover.JSBNG__outerHeight() - FOOTER_HEIGHT));\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    var attachingSide = ((((position == \"left\")) ? \"right\" : \"left\"));\n                    var elm = popover.JSBNG__find(((\".ap_body .ap_\" + attachingSide)));\n                    if (((elm.length > 0))) {\n                        elm.removeClass(((\"ap_\" + attachingSide))).addClass(((((\"ap_\" + attachingSide)) + \"-arrow\")));\n                    }\n                     else {\n                        elm = popover.JSBNG__find(((((\".ap_body .ap_\" + attachingSide)) + \"-arrow\")));\n                    }\n                ;\n                ;\n                    var xOffset = ((((attachingSide == \"left\")) ? LEFT_ARROW_OFFSET : RIGHT_ARROW_OFFSET));\n                    elm.css(\"backgroundPosition\", ((((((xOffset + \"px \")) + ((dist - VERT_ARROW_OFFSET)))) + \"px\")));\n                }\n            ;\n            ;\n            };\n            var position = function(popover, settings, triggers) {\n                if (!settings.width) {\n                    popover.css(\"width\", getDynamicWidth(popover, settings));\n                }\n            ;\n            ;\n                var offset = ((settings.locationOffset || [0,0,]));\n                if (((typeof settings.JSBNG__location == \"function\"))) {\n                    var JSBNG__location = settings.JSBNG__location.call(triggers, popover, settings);\n                }\n                 else {\n                    var names = $.map($.makeArray(settings.JSBNG__location), function(n) {\n                        return ((((n == \"auto\")) ? [\"bottom\",\"left\",\"right\",\"JSBNG__top\",] : n));\n                    });\n                    var set = ((((settings.locationElement && $(settings.locationElement))) || triggers));\n                    var b = ((set && boundingRectangle(set)));\n                    var JSBNG__location = locationFunction[names[0]](b, popover, settings);\n                    var index = 0;\n                    for (var i = 1; ((((i < names.length)) && !JSBNG__location.fits)); i++) {\n                        var next = locationFunction[names[i]](b, popover, settings);\n                        if (next.fits) {\n                            JSBNG__location = next;\n                            index = i;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    if (((settings.attached && ((((names[index] == \"left\")) || ((names[index] == \"right\"))))))) {\n                        attachedPositioning(popover, ((((b.JSBNG__top + b.bottom)) / 2)), JSBNG__location, names[index], offset);\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                popover.css({\n                    left: ((JSBNG__location.left + offset[0])),\n                    JSBNG__top: ((JSBNG__location.JSBNG__top + offset[1])),\n                    margin: JSBNG__location.margin,\n                    right: JSBNG__location.right\n                });\n                if (popover.backing) {\n                    popover.backing.refreshBounds();\n                }\n            ;\n            ;\n            };\n            var horizPosition = function(b, popover, settings) {\n                var align = $.makeArray(((settings.align || \"left\")));\n                var x = {\n                    min: (((($(JSBNG__document).scrollLeft() + settings.windowMargin)) - settings.surround[3])),\n                    max: ((((((viewport.width() + $(JSBNG__document).scrollLeft())) - settings.windowMargin)) - popover.JSBNG__outerWidth())),\n                    left: ((((b.left - settings.surround[3])) - settings.alignMargin)),\n                    right: ((((((b.right - popover.JSBNG__outerWidth())) + settings.surround[1])) + settings.alignMargin)),\n                    center: ((((((b.left + b.right)) - popover.JSBNG__outerWidth())) / 2))\n                };\n                var align = $.grep($.makeArray(settings.align), function(n) {\n                    return x[n];\n                });\n                if (((align.length == 0))) {\n                    align.push(\"left\");\n                }\n            ;\n            ;\n                for (var i = 0; ((i < align.length)); i++) {\n                    if (((((x[align[i]] >= x.min)) && ((x[align[i]] <= x.max))))) {\n                        return x[align[i]];\n                    }\n                ;\n                ;\n                };\n            ;\n                if (settings.forceAlignment) {\n                    return x[align[0]];\n                }\n            ;\n            ;\n                if (((x.min > x.max))) {\n                    return x.min;\n                }\n            ;\n            ;\n                return ((((x[align[0]] < x.min)) ? x.min : x.max));\n            };\n            var vertPosition = function(b, popover, settings) {\n                var min = (($(JSBNG__document).scrollTop() + settings.windowMargin));\n                var max = ((((viewport.height() + $(JSBNG__document).scrollTop())) - settings.windowMargin));\n                if (settings.attached) {\n                    var midpoint = ((((b.JSBNG__top + b.bottom)) / 2));\n                    if (((((midpoint - HEADER_HEIGHT)) < min))) {\n                        min = ((((((min + HEADER_HEIGHT)) < b.bottom)) ? min : ((b.bottom - HEADER_HEIGHT))));\n                    }\n                ;\n                ;\n                    if (((((midpoint + FOOTER_HEIGHT)) > max))) {\n                        max = ((((((max - FOOTER_HEIGHT)) > b.JSBNG__top)) ? max : ((b.JSBNG__top + FOOTER_HEIGHT))));\n                    }\n                ;\n                ;\n                }\n                 else {\n                    min = Math.min(((b.JSBNG__top - settings.alignMargin)), min);\n                    max = Math.max(((b.bottom + settings.alignMargin)), max);\n                }\n            ;\n            ;\n                var y = {\n                    min: ((min - settings.surround[0])),\n                    max: ((((max - popover.JSBNG__outerHeight())) + settings.surround[2])),\n                    JSBNG__top: ((((b.JSBNG__top - settings.surround[0])) - settings.alignMargin)),\n                    bottom: ((((((b.bottom - popover.JSBNG__outerHeight())) + settings.alignMargin)) + settings.surround[2])),\n                    middle: ((((((b.JSBNG__top + b.bottom)) - popover.JSBNG__outerHeight())) / 2))\n                };\n                var align = $.grep($.makeArray(settings.align), function(n) {\n                    return y[n];\n                });\n                if (((align.length == 0))) {\n                    align.push(\"JSBNG__top\");\n                }\n            ;\n            ;\n                for (var i = 0; ((i < align.length)); i++) {\n                    if (((((y[align[i]] >= y.min)) && ((y[align[i]] <= y.max))))) {\n                        return y[align[i]];\n                    }\n                ;\n                ;\n                };\n            ;\n                if (settings.forceAlignment) {\n                    return y[align[0]];\n                }\n            ;\n            ;\n                if (((y.min > y.max))) {\n                    return y.min;\n                }\n            ;\n            ;\n                return ((((y[align[0]] < y.min)) ? y.min : y.max));\n            };\n            var locationFunction = {\n                centered: function(b, popover, settings) {\n                    var y = (($(window).scrollTop() + 100));\n                    return {\n                        left: -((popover.JSBNG__outerWidth() / 2)),\n                        right: 0,\n                        JSBNG__top: y,\n                        margin: \"0% 50%\",\n                        fits: true\n                    };\n                },\n                JSBNG__top: function(b, popover, settings) {\n                    var room = ((((b.JSBNG__top - $(JSBNG__document).scrollTop())) - ((settings.locationMargin * 2))));\n                    var triggerInView = ((((b.left >= $(JSBNG__document).scrollLeft())) && ((b.right < ((viewport.width() + $(JSBNG__document).scrollLeft()))))));\n                    return {\n                        left: horizPosition(b, popover, settings),\n                        JSBNG__top: ((((((b.JSBNG__top - popover.JSBNG__outerHeight())) - settings.locationMargin)) + settings.surround[2])),\n                        fits: ((triggerInView && ((room >= ((((popover.JSBNG__outerHeight() - settings.surround[0])) - settings.surround[2]))))))\n                    };\n                },\n                left: function(b, popover, settings) {\n                    var room = ((((b.left - $(JSBNG__document).scrollLeft())) - ((settings.locationMargin * 2))));\n                    return {\n                        left: ((((((b.left - popover.JSBNG__outerWidth())) - settings.locationMargin)) + settings.surround[1])),\n                        JSBNG__top: vertPosition(b, popover, settings),\n                        fits: ((room >= ((((popover.JSBNG__outerWidth() - settings.surround[1])) - settings.surround[3]))))\n                    };\n                },\n                bottom: function(b, popover, settings) {\n                    var room = ((((((viewport.height() + $(JSBNG__document).scrollTop())) - b.bottom)) - ((settings.locationMargin * 2))));\n                    var triggerInView = ((((b.left >= $(JSBNG__document).scrollLeft())) && ((b.right < ((viewport.width() + $(JSBNG__document).scrollLeft()))))));\n                    return {\n                        left: horizPosition(b, popover, settings),\n                        JSBNG__top: ((((b.bottom + settings.locationMargin)) - settings.surround[0])),\n                        fits: ((triggerInView && ((room >= ((((popover.JSBNG__outerHeight() - settings.surround[0])) - settings.surround[2]))))))\n                    };\n                },\n                right: function(b, popover, settings) {\n                    var room = ((((((viewport.width() + $(JSBNG__document).scrollLeft())) - b.right)) - ((settings.locationMargin * 2))));\n                    return {\n                        left: ((((b.right + settings.locationMargin)) - settings.surround[3])),\n                        JSBNG__top: vertPosition(b, popover, settings),\n                        fits: ((room >= ((((popover.JSBNG__outerWidth() - settings.surround[1])) - settings.surround[3]))))\n                    };\n                },\n                over: function(b, popover, settings) {\n                    var alignTo = popover.JSBNG__find(((settings.align || \".ap_content *\"))).offset();\n                    var corner = popover.offset();\n                    var padding = {\n                        left: ((alignTo.left - corner.left)),\n                        JSBNG__top: ((alignTo.JSBNG__top - corner.JSBNG__top))\n                    };\n                    var left = ((b.left - padding.left));\n                    var JSBNG__top = ((b.JSBNG__top - padding.JSBNG__top));\n                    var adjustedLeft = Math.min(left, ((((((viewport.width() + $(JSBNG__document).scrollLeft())) - popover.JSBNG__outerWidth())) - settings.windowMargin)));\n                    adjustedLeft = Math.max(adjustedLeft, (((($(JSBNG__document).scrollLeft() - settings.surround[3])) + settings.windowMargin)));\n                    var adjustedTop = Math.min(JSBNG__top, ((((((((viewport.height() + $(JSBNG__document).scrollTop())) - popover.JSBNG__outerHeight())) + settings.surround[2])) - settings.windowMargin)));\n                    adjustedTop = Math.max(adjustedTop, (((($(JSBNG__document).scrollTop() - settings.surround[0])) + settings.windowMargin)));\n                    return {\n                        left: ((settings.forceAlignment ? left : adjustedLeft)),\n                        JSBNG__top: ((settings.forceAlignment ? JSBNG__top : adjustedTop)),\n                        fits: ((((left == adjustedLeft)) && ((JSBNG__top == adjustedTop))))\n                    };\n                }\n            };\n            var addAliases = function(settings) {\n                settings.align = ((settings.align || settings.locationAlign));\n                settings.literalContent = ((settings.literalContent || settings.loadingContent));\n            };\n            var preparePopover = function() {\n                if (!preparedPopover) {\n                    var ie6 = ((jQuery.browser.msie && ((parseInt(jQuery.browser.version) <= 6))));\n                    preparedPopover = $(skins[((ie6 ? \"default_non_sprited\" : \"default\"))]).css({\n                        left: -2000,\n                        JSBNG__top: -2000\n                    }).appendTo(rootElement());\n                }\n            ;\n            ;\n            };\n            var fixPngs = function(obj) {\n                obj.JSBNG__find(\"*\").each(function() {\n                    var match = ((jQuery(this).css(\"background-image\") || \"\")).match(/url\\(\"(.*\\.png)\"\\)/);\n                    if (match) {\n                        var png = match[1];\n                        jQuery(this).css(\"background-image\", \"none\");\n                        jQuery(this).get(0).runtimeStyle.filter = ((((\"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='\" + png)) + \"',sizingMethod='scale')\"));\n                    }\n                ;\n                ;\n                });\n            };\n            var getDynamicWidth = function(popover, settings) {\n                var container = popover.JSBNG__find(\".ap_content\");\n                if (((((settings.skin == \"default\")) && ((container.length > 0))))) {\n                    var tempNode = $(((((\"\\u003Cdiv class=\\\"ap_temp\\\"\\u003E\" + container.html())) + \"\\u003C/div\\u003E\")));\n                    tempNode.css({\n                        display: \"inline\",\n                        position: \"absolute\",\n                        JSBNG__top: -9999,\n                        left: -9999\n                    });\n                    rootElement().append(tempNode);\n                    var marginLeft = ((parseInt(container.parent().css(\"margin-left\")) || 0));\n                    var marginRight = ((parseInt(container.parent().css(\"margin-right\")) || 0));\n                    var width = ((((((((((tempNode.width() + marginLeft)) + marginRight)) + settings.paddingLeft)) + settings.paddingRight)) + 2));\n                    if (((((width % 2)) != 0))) {\n                        width++;\n                    }\n                ;\n                ;\n                    tempNode.remove();\n                    return Math.min(width, viewport.width());\n                }\n            ;\n            ;\n                return null;\n            };\n            var enableDragAndDrop = function(titlebar, popover) {\n                titlebar.css(\"cursor\", \"move\");\n                disableSelect(titlebar.get(0));\n                titlebar.mousedown(function(e) {\n                    e.preventDefault();\n                    disableSelect(JSBNG__document.body);\n                    var offset = [((e.pageX - popover.offset().left)),((e.pageY - popover.offset().JSBNG__top)),];\n                    var mousemove = function(e) {\n                        e.preventDefault();\n                        popover.css({\n                            left: ((e.pageX - offset[0])),\n                            JSBNG__top: ((e.pageY - offset[1])),\n                            margin: 0\n                        });\n                        if (popover.backing) {\n                            popover.backing.reposition(((e.pageX - offset[0])), ((e.pageY - offset[1])));\n                        }\n                    ;\n                    ;\n                    };\n                    var mouseup = function(e) {\n                        popover.JSBNG__focus();\n                        enableSelect(JSBNG__document.body);\n                        $(JSBNG__document).unbind(\"mousemove\", mousemove);\n                        $(JSBNG__document).unbind(\"mouseup\", mouseup);\n                    };\n                    $(JSBNG__document).mousemove(mousemove).mouseup(mouseup);\n                });\n            };\n            var disableSelect = function(e) {\n                if (e) {\n                    e.onselectstart = function(e) {\n                        return false;\n                    };\n                    e.style.MozUserSelect = \"none\";\n                }\n            ;\n            ;\n            };\n            var enableSelect = function(e) {\n                if (e) {\n                    e.onselectstart = function(e) {\n                        return true;\n                    };\n                    e.style.MozUserSelect = \"\";\n                }\n            ;\n            ;\n            };\n            var boundsOfAreaElement = function(area) {\n                area = jQuery(area);\n                var coords = jQuery.map(area.attr(\"coords\").split(\",\"), function(n) {\n                    return Number(n);\n                });\n                if (area.attr(\"shape\").match(/circle/i)) {\n                    coords = [((coords[0] - coords[2])),((coords[1] - coords[2])),((coords[0] + coords[2])),((coords[1] + coords[2])),];\n                }\n            ;\n            ;\n                var x = [], y = [];\n                for (var i = 0; ((i < coords.length)); i++) {\n                    ((((((i % 2)) == 0)) ? x : y)).push(coords[i]);\n                };\n            ;\n                var min = [Math.min.apply(Math, x),Math.min.apply(Math, y),];\n                var max = [Math.max.apply(Math, x),Math.max.apply(Math, y),];\n                var mapName = area.parents(\"map\").attr(\"JSBNG__name\");\n                var mapImg = jQuery(((((\"img[usemap=#\" + mapName)) + \"]\")));\n                var map = mapImg.offset();\n                map.left += parseInt(mapImg.css(\"border-left-width\"));\n                map.JSBNG__top += parseInt(mapImg.css(\"border-top-width\"));\n                return [((map.left + min[0])),((map.JSBNG__top + min[1])),((map.left + max[0])),((map.JSBNG__top + max[1])),];\n            };\n            $.AmazonPopover = {\n                displayPopover: displayPopover,\n                mouseTracker: mouseTracker,\n                updateBacking: updateBacking,\n                support: {\n                    skinCallback: true,\n                    controlCallbacks: true\n                }\n            };\n        };\n    ;\n    })();\n    (function(window) {\n        if (((window.$Nav && !window.$Nav._replay))) {\n            return;\n        }\n    ;\n    ;\n        function argArray(args) {\n            return [].slice.call(args);\n        };\n    ;\n        var timestamp = ((JSBNG__Date.now || function() {\n            return +(new JSBNG__Date());\n        }));\n        var schedule = (function() {\n            var toRun = [];\n            var scheduled;\n            function execute() {\n                var i = 0;\n                try {\n                    while (((toRun[i] && ((i < 50))))) {\n                        i++;\n                        toRun[((i - 1))].f.apply(window, toRun[((i - 1))].a);\n                    };\n                ;\n                } catch (e) {\n                    var ePrefixed = e;\n                    var msg = \"\";\n                    if (toRun[((i - 1))].t) {\n                        msg = ((((\"[\" + toRun[((i - 1))].t.join(\":\"))) + \"] \"));\n                    }\n                ;\n                ;\n                    if (((ePrefixed && ePrefixed.message))) {\n                        ePrefixed.message = ((msg + ePrefixed.message));\n                    }\n                     else {\n                        if (((typeof e === \"object\"))) {\n                            ePrefixed.message = msg;\n                        }\n                         else {\n                            ePrefixed = ((msg + ePrefixed));\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    if (((((window.ueLogError && window.JSBNG__console)) && window.JSBNG__console.error))) {\n                        window.ueLogError(ePrefixed);\n                        window.JSBNG__console.error(ePrefixed);\n                    }\n                     else {\n                        throw ePrefixed;\n                    }\n                ;\n                ;\n                } finally {\n                    toRun = toRun.slice(i);\n                    if (((toRun.length > 0))) {\n                        JSBNG__setTimeout(execute, 1);\n                    }\n                     else {\n                        scheduled = false;\n                    }\n                ;\n                ;\n                };\n            ;\n            };\n        ;\n            return function(tags, func, args) {\n                toRun.push({\n                    t: tags,\n                    f: func,\n                    a: argArray(((args || [])))\n                });\n                if (!scheduled) {\n                    JSBNG__setTimeout(execute, 1);\n                    scheduled = true;\n                }\n            ;\n            ;\n            };\n        }());\n        function ensureFunction(value) {\n            if (((typeof value === \"function\"))) {\n                return value;\n            }\n             else {\n                return function() {\n                    return value;\n                };\n            }\n        ;\n        ;\n        };\n    ;\n        function extract(base, path) {\n            var parts = ((path || \"\")).split(\".\");\n            for (var i = 0, len = parts.length; ((i < len)); i++) {\n                if (((base && parts[i]))) {\n                    base = base[parts[i]];\n                }\n            ;\n            ;\n            };\n        ;\n            return base;\n        };\n    ;\n        function withRetry(callback) {\n            var timeout = 50;\n            var execute = function() {\n                if (((((timeout <= 20000)) && !callback()))) {\n                    JSBNG__setTimeout(execute, timeout);\n                    timeout = ((timeout * 2));\n                }\n            ;\n            ;\n            };\n            return execute;\n        };\n    ;\n        function isAuiP() {\n            return ((((((((typeof window.P === \"object\")) && ((typeof window.P.when === \"function\")))) && ((typeof window.P.register === \"function\")))) && ((typeof window.P.execute === \"function\"))));\n        };\n    ;\n        function promise() {\n            var observers = [];\n            var fired = false;\n            var value;\n            var trigger = function() {\n                if (fired) {\n                    return;\n                }\n            ;\n            ;\n                fired = true;\n                value = arguments;\n                for (var i = 0, len = observers.length; ((i < len)); i++) {\n                    schedule(observers[i].t, observers[i].f, value);\n                };\n            ;\n                observers = void (0);\n            };\n            trigger.watch = function(tags, callback) {\n                if (!callback) {\n                    callback = tags;\n                    tags = [];\n                }\n            ;\n            ;\n                if (fired) {\n                    schedule(tags, callback, value);\n                }\n                 else {\n                    observers.push({\n                        t: tags,\n                        f: callback\n                    });\n                }\n            ;\n            ;\n            };\n            trigger.isFired = function() {\n                return fired;\n            };\n            trigger.value = function() {\n                return ((value || []));\n            };\n            return trigger;\n        };\n    ;\n        function promiseMap() {\n            var promises = {\n            };\n            var getPromise = function(key) {\n                return ((promises[key] || (promises[key] = promise())));\n            };\n            getPromise.whenAvailable = function(tags, dependencies) {\n                var onComplete = promise();\n                var length = dependencies.length;\n                if (((length === 0))) {\n                    onComplete();\n                    return onComplete.watch;\n                }\n            ;\n            ;\n                var fulfilled = 0;\n                var observer = function() {\n                    fulfilled++;\n                    if (((fulfilled < length))) {\n                        return;\n                    }\n                ;\n                ;\n                    var args = [];\n                    for (var i = 0; ((i < length)); i++) {\n                        args.push(getPromise(dependencies[i]).value()[0]);\n                    };\n                ;\n                    onComplete.apply(window, args);\n                };\n                for (var i = 0; ((i < length)); i++) {\n                    getPromise(dependencies[i]).watch(tags, observer);\n                };\n            ;\n                return onComplete.watch;\n            };\n            return getPromise;\n        };\n    ;\n        function depend(options) {\n            options = ((options || {\n                bubble: false\n            }));\n            var components = promiseMap();\n            var anonymousCount = 0;\n            var debug = {\n            };\n            var iface = {\n            };\n            iface.declare = function(JSBNG__name, component) {\n                if (!debug[JSBNG__name]) {\n                    debug[JSBNG__name] = {\n                        done: timestamp()\n                    };\n                }\n            ;\n            ;\n                components(JSBNG__name)(component);\n            };\n            iface.build = function(JSBNG__name, builder) {\n                schedule([options.sourceName,JSBNG__name,], function() {\n                    iface.declare(JSBNG__name, ensureFunction(builder)());\n                });\n            };\n            iface.getNow = function(JSBNG__name, otherwise) {\n                return ((components(JSBNG__name).value()[0] || otherwise));\n            };\n            iface.publish = function(JSBNG__name, component) {\n                iface.declare(JSBNG__name, component);\n                var parent = options.parent;\n                if (options.prefix) {\n                    JSBNG__name = ((((options.prefix + \".\")) + JSBNG__name));\n                }\n            ;\n            ;\n                if (((parent === (void 0)))) {\n                    if (window.amznJQ) {\n                        window.amznJQ.declareAvailable(JSBNG__name);\n                    }\n                ;\n                ;\n                    if (isAuiP()) {\n                        window.P.register(JSBNG__name, function() {\n                            return component;\n                        });\n                    }\n                ;\n                ;\n                }\n                 else {\n                    if (((options.bubble && parent.publish))) {\n                        parent.publish(JSBNG__name, component);\n                    }\n                     else {\n                        if (parent.declare) {\n                            parent.declare(JSBNG__name, component);\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n            };\n            iface.importEvent = function(JSBNG__name, opts) {\n                var parent = options.parent;\n                opts = ((opts || {\n                }));\n                var importAs = ((opts.as || JSBNG__name));\n                var whenReady = function(value) {\n                    iface.declare(importAs, ((((((value === (void 0))) || ((value === null)))) ? opts.otherwise : value)));\n                };\n                if (((((((parent && parent.when)) && parent.declare)) && parent.build))) {\n                    parent.when(JSBNG__name).run(whenReady);\n                    return;\n                }\n            ;\n            ;\n                if (isAuiP()) {\n                    window.P.when(JSBNG__name).execute(whenReady);\n                }\n            ;\n            ;\n                if (window.amznJQ) {\n                    var meth = ((options.useOnCompletion ? \"onCompletion\" : \"available\"));\n                    window.amznJQ[meth](((opts.amznJQ || JSBNG__name)), withRetry(function() {\n                        var value = ((opts.global ? extract(window, opts.global) : opts.otherwise));\n                        var isUndef = ((((value === (void 0))) || ((value === null))));\n                        if (((opts.retry && isUndef))) {\n                            return false;\n                        }\n                    ;\n                    ;\n                        iface.declare(importAs, value);\n                        return true;\n                    }));\n                }\n            ;\n            ;\n            };\n            iface.stats = function(unresolved) {\n                var result = JSON.parse(JSON.stringify(debug));\n                {\n                    var fin30keys = ((window.top.JSBNG_Replay.forInKeys)((result))), fin30i = (0);\n                    var key;\n                    for (; (fin30i < fin30keys.length); (fin30i++)) {\n                        ((key) = (fin30keys[fin30i]));\n                        {\n                            if (result.hasOwnProperty(key)) {\n                                var current = result[key];\n                                var depend = ((current.depend || []));\n                                var longPoleName;\n                                var longPoleDone = 0;\n                                var blocked = [];\n                                for (var i = 0; ((i < depend.length)); i++) {\n                                    var dependency = depend[i];\n                                    if (!components(dependency).isFired()) {\n                                        blocked.push(dependency);\n                                    }\n                                     else {\n                                        if (((debug[dependency].done > longPoleDone))) {\n                                            longPoleDone = debug[dependency].done;\n                                            longPoleName = dependency;\n                                        }\n                                    ;\n                                    ;\n                                    }\n                                ;\n                                ;\n                                };\n                            ;\n                                if (((blocked.length > 0))) {\n                                    current.blocked = blocked;\n                                }\n                                 else {\n                                    if (unresolved) {\n                                        delete result[key];\n                                    }\n                                     else {\n                                        if (((longPoleDone > 0))) {\n                                            current.longPole = longPoleName;\n                                            current.afterLongPole = ((current.done - longPoleDone));\n                                        }\n                                    ;\n                                    ;\n                                    }\n                                ;\n                                ;\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                        };\n                    };\n                };\n            ;\n                return result;\n            };\n            iface.when = function() {\n                var dependencies = argArray(arguments);\n                function onResolved(JSBNG__name, callback) {\n                    var start = timestamp();\n                    var tags = [options.sourceName,JSBNG__name,];\n                    debug[JSBNG__name] = {\n                        depend: dependencies,\n                        registered: start\n                    };\n                    components.whenAvailable(tags, dependencies)(tags, function() {\n                        debug[JSBNG__name].done = timestamp();\n                        debug[JSBNG__name].wait = ((debug[JSBNG__name].done - start));\n                        callback.apply(this, argArray(arguments));\n                    });\n                };\n            ;\n                return {\n                    run: function(nameOrCallback, callbackWhenNamed) {\n                        if (callbackWhenNamed) {\n                            nameOrCallback = ((\"run.\" + nameOrCallback));\n                        }\n                         else {\n                            callbackWhenNamed = nameOrCallback;\n                            nameOrCallback = ((\"run.#\" + anonymousCount++));\n                        }\n                    ;\n                    ;\n                        onResolved(nameOrCallback, callbackWhenNamed);\n                    },\n                    declare: function(JSBNG__name, value) {\n                        onResolved(JSBNG__name, function() {\n                            iface.declare(JSBNG__name, value);\n                        });\n                    },\n                    publish: function(JSBNG__name, value) {\n                        onResolved(JSBNG__name, function() {\n                            iface.publish(JSBNG__name, value);\n                        });\n                    },\n                    build: function(JSBNG__name, builder) {\n                        onResolved(JSBNG__name, function() {\n                            var args = argArray(arguments);\n                            var value = ensureFunction(builder).apply(this, args);\n                            iface.declare(JSBNG__name, value);\n                        });\n                    }\n                };\n            };\n            return iface;\n        };\n    ;\n        function make(sourceName) {\n            sourceName = ((sourceName || \"unknownSource\"));\n            var instance = depend({\n                sourceName: sourceName\n            });\n            instance.declare(\"instance.sourceName\", sourceName);\n            instance.importEvent(\"jQuery\", {\n                as: \"$\",\n                global: \"jQuery\"\n            });\n            instance.importEvent(\"jQuery\", {\n                global: \"jQuery\"\n            });\n            instance.importEvent(\"amznJQ.AboveTheFold\", {\n                as: \"page.ATF\",\n                useOnCompletion: true\n            });\n            instance.importEvent(\"amznJQ.theFold\", {\n                as: \"page.ATF\",\n                useOnCompletion: true\n            });\n            instance.importEvent(\"amznJQ.criticalFeature\", {\n                as: \"page.CF\",\n                useOnCompletion: true\n            });\n            instance.when(\"$\").run(function($) {\n                var triggerLoaded = function() {\n                    instance.declare(\"page.domReady\");\n                    instance.declare(\"page.ATF\");\n                    instance.declare(\"page.CF\");\n                    instance.declare(\"page.loaded\");\n                };\n                $(function() {\n                    instance.declare(\"page.domReady\");\n                });\n                $(window).load(triggerLoaded);\n                if (((JSBNG__document.readyState === \"complete\"))) {\n                    triggerLoaded();\n                }\n                 else {\n                    if (((JSBNG__document.readyState === \"interactive\"))) {\n                        instance.declare(\"page.domReady\");\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n            });\n            return instance;\n        };\n    ;\n        function callChain(obj, methods) {\n            for (var i = 0, len = methods.length; ((i < len)); i++) {\n                var invoke = methods[i];\n                if (!obj[invoke.m]) {\n                    return;\n                }\n            ;\n            ;\n                obj = obj[invoke.m].apply(obj, invoke.a);\n            };\n        ;\n        };\n    ;\n        function replaceShim(shim) {\n            var replacement = make(shim._sourceName);\n            if (!shim._replay) {\n                return;\n            }\n        ;\n        ;\n            for (var i = 0, iLen = shim._replay.length; ((i < iLen)); i++) {\n                callChain(replacement, shim._replay[i]);\n            };\n        ;\n            {\n                var fin31keys = ((window.top.JSBNG_Replay.forInKeys)((replacement))), fin31i = (0);\n                var method;\n                for (; (fin31i < fin31keys.length); (fin31i++)) {\n                    ((method) = (fin31keys[fin31i]));\n                    {\n                        if (replacement.hasOwnProperty(method)) {\n                            shim[method] = replacement[method];\n                        }\n                    ;\n                    ;\n                    };\n                };\n            };\n        ;\n            delete shim._replay;\n        };\n    ;\n        function hookup() {\n            if (!window.$Nav.make) {\n                window.$Nav.make = make;\n                return;\n            }\n        ;\n        ;\n            if (!window.$Nav.make._shims) {\n                return;\n            }\n        ;\n        ;\n            for (var i = 0, len = window.$Nav.make._shims.length; ((i < len)); i++) {\n                replaceShim(window.$Nav.make._shims[i]);\n            };\n        ;\n            window.$Nav.make = make;\n        };\n    ;\n        if (!window.$Nav) {\n            window.$Nav = make(\"rcx-nav\");\n        }\n    ;\n    ;\n        hookup();\n        window.$Nav.declare(\"depend\", depend);\n        window.$Nav.declare(\"promise\", promise);\n        window.$Nav.declare(\"argArray\", argArray);\n        window.$Nav.declare(\"schedule\", schedule);\n    }(window));\n    (function(window, $Nav) {\n        $Nav.when(\"$\").run(function($) {\n            $Nav.importEvent(\"legacy-popover\", {\n                as: \"$popover\",\n                amznJQ: \"popover\",\n                otherwise: $\n            });\n        });\n        $Nav.importEvent(\"iss\", {\n            amznJQ: \"search-js-autocomplete\",\n            global: \"iss\",\n            retry: true\n        });\n        if (!window.amznJQ) {\n            return;\n        }\n    ;\n    ;\n        var amznJQ = window.amznJQ;\n        amznJQ.available(\"navbarInline\", function() {\n            $Nav.declare(\"logEvent\", window._navbar.logEv);\n            $Nav.declare(\"config.readyOnATF\", window._navbar.readyOnATF);\n            $Nav.declare(\"config.browsePromos\", window._navbar.browsepromos);\n            $Nav.declare(\"config.yourAccountPrimeURL\", window._navbar.yourAccountPrimer);\n            $Nav.declare(\"config.sbd\", window._navbar._sbd_config);\n            $Nav.declare(\"config.responsiveGW\", !!window._navbar.responsivegw);\n            $Nav.declare(\"config.swmStyleData\", ((window._navbar._swmStyleData || {\n            })));\n            $Nav.declare(\"config.dismissNotificationUrl\", window._navbar.dismissNotificationUrl);\n            $Nav.declare(\"config.signOutText\", window._navbar.signOutText);\n            $Nav.declare(\"config.lightningDeals\", ((window._navbar._lightningDealsData || {\n            })));\n            $Nav.declare(\"config.enableDynamicMenus\", window._navbar.dynamicMenus);\n            $Nav.declare(\"config.dynamicMenuArgs\", ((window._navbar.dynamicMenuArgs || {\n            })));\n            $Nav.declare(\"config.dynamicMenuUrl\", window._navbar.dynamicMenuUrl);\n            $Nav.declare(\"config.ajaxProximity\", window._navbar._ajaxProximity);\n            $Nav.declare(\"config.recordEvUrl\", window._navbar.recordEvUrl);\n            $Nav.declare(\"config.recordEvInterval\", ((window._navbar.recordEvInterval || 60000)));\n            $Nav.declare(\"config.sessionId\", window._navbar.sid);\n            $Nav.declare(\"config.requestId\", window._navbar.rid);\n            $Nav.declare(\"config.autoFocus\", window._navbar.enableAutoFocus);\n        });\n        amznJQ.available(\"navbarBTF\", function() {\n            $Nav.declare(\"config.flyoutURL\", window._navbar.flyoutURL);\n            $Nav.declare(\"config.prefetch\", window._navbar.prefetch);\n        });\n        $Nav.importEvent(\"navbarBTF\", {\n            as: \"btf.full\"\n        });\n        $Nav.importEvent(\"navbarBTFLite\", {\n            as: \"btf.lite\"\n        });\n        $Nav.importEvent(\"navbarInline\", {\n            as: \"nav.inline\"\n        });\n        $Nav.when(\"nav.inline\", \"api.unHideSWM\", \"api.exposeSBD\", \"api.navDimensions\", \"api.onShowProceedToCheckout\", \"api.update\", \"api.setCartCount\", \"api.getLightningDealsData\", \"api.overrideCartButtonClick\", \"flyout.loadMenusConditionally\", \"flyout.shopall\", \"flyout.wishlist\", \"flyout.cart\", \"flyout.youraccount\").publish(\"navbarJSInteraction\");\n        $Nav.when(\"navbarJSInteraction\").publish(\"navbarJS-beacon\");\n        $Nav.when(\"navbarJSInteraction\").publish(\"navbarJS-jQuery\");\n    }(window, window.$Nav));\n    window.navbar = {\n    };\n    window.$Nav.when(\"depend\").build(\"api.publish\", function(depend) {\n        var $Nav = window.$Nav;\n        var apiComponents = depend({\n            parent: $Nav,\n            prefix: \"api\",\n            bubble: false\n        });\n        function use(component, callback) {\n            apiComponents.when(component).run(callback);\n        };\n    ;\n        window.navbar.use = use;\n        return function(JSBNG__name, value) {\n            apiComponents.publish(JSBNG__name, value);\n            window.navbar[JSBNG__name] = value;\n            $Nav.publish(((\"nav.\" + JSBNG__name)), value);\n        };\n    });\n    (function($Nav) {\n        $Nav.declare(\"throttle\", function(wait, func) {\n            var throttling = false;\n            var called = false;\n            function afterWait() {\n                if (!called) {\n                    throttling = false;\n                    return;\n                }\n                 else {\n                    called = false;\n                    JSBNG__setTimeout(afterWait, wait);\n                    func();\n                }\n            ;\n            ;\n            };\n        ;\n            return function() {\n                if (throttling) {\n                    called = true;\n                    return;\n                }\n            ;\n            ;\n                throttling = true;\n                JSBNG__setTimeout(afterWait, wait);\n                func();\n            };\n        });\n        $Nav.when(\"$\").build(\"agent\", function($) {\n            return (new function() {\n                function contains() {\n                    var args = Array.prototype.slice.call(arguments, 0);\n                    var regex = new RegExp(((((\"(\" + args.join(\"|\"))) + \")\")), \"i\");\n                    return regex.test(JSBNG__navigator.userAgent);\n                };\n            ;\n                this.iPhone = contains(\"iPhone\");\n                this.iPad = contains(\"iPad\");\n                this.kindleFire = contains(\"Kindle Fire\", \"Silk/\");\n                this.android = contains(\"Android\");\n                this.webkit = contains(\"WebKit\");\n                this.ie10 = contains(\"MSIE 10\");\n                this.ie6 = (($.browser.msie && ((parseInt($.browser.version, 10) <= 6))));\n                this.touch = ((((((((((((this.iPhone || this.iPad)) || this.android)) || this.kindleFire)) || !!((\"JSBNG__ontouchstart\" in window)))) || ((window.JSBNG__navigator.msMaxTouchPoints > 0)))) || contains(\"\\\\bTouch\\\\b\")));\n                this.ie10touch = ((this.ie10 && this.touch));\n                this.mac = contains(\"Macintosh\");\n                this.iOS = ((this.iPhone || this.iPad));\n            });\n        });\n        $Nav.declare(\"byID\", function(elemID) {\n            return JSBNG__document.getElementById(elemID);\n        });\n        $Nav.build(\"dismissTooltip\", function() {\n            var dismissed = false;\n            return function() {\n                if (dismissed) {\n                    return;\n                }\n            ;\n            ;\n                $Nav.publish(\"navDismissTooltip\");\n                dismissed = true;\n            };\n        });\n        $Nav.build(\"recordEv\", function() {\n            var recordEvQueue = [], dups = {\n            };\n            $Nav.when(\"$\", \"config.recordEvUrl\", \"config.recordEvInterval\", \"config.sessionId\", \"config.requestId\").run(function($, recordEvUrl, interval, sessionId, requestId) {\n                if (!recordEvUrl) {\n                    return;\n                }\n            ;\n            ;\n                function getSid() {\n                    var sid = ((window.ue && window.ue.sid));\n                    sid = ((sid || sessionId));\n                    return ((sid ? sid : \"\"));\n                };\n            ;\n                function getRid() {\n                    var rid = ((window.ue && window.ue.rid));\n                    rid = ((rid || requestId));\n                    return ((rid ? rid : \"\"));\n                };\n            ;\n                var cnt = 0;\n                function send(when) {\n                    cnt++;\n                    if (((recordEvQueue.length === 0))) {\n                        return;\n                    }\n                ;\n                ;\n                    when = ((when || cnt));\n                    var msg = recordEvQueue.join(\":\");\n                    msg = window.encodeURIComponent(msg);\n                    msg = ((((((((((((((\"trigger=\" + msg)) + \"&when=\")) + when)) + \"&sid=\")) + getSid())) + \"&rid=\")) + getRid()));\n                    var sep = ((((recordEvUrl.indexOf(\"?\") > 0)) ? \"&\" : \"?\"));\n                    new JSBNG__Image().src = ((((recordEvUrl + sep)) + msg));\n                    recordEvQueue = [];\n                };\n            ;\n                window.JSBNG__setInterval(send, interval);\n                $(window).bind(\"beforeunload\", function() {\n                    send(\"beforeunload\");\n                });\n            });\n            return function(evId) {\n                if (!((evId in dups))) {\n                    recordEvQueue.push(evId);\n                    dups[evId] = true;\n                }\n            ;\n            ;\n            };\n        });\n        $Nav.declare(\"TunableCallback\", function(callback) {\n            var timeout = 0;\n            var conditions = [];\n            var wrapper = function() {\n                function execute() {\n                    for (var i = 0; ((i < conditions.length)); i++) {\n                        if (!conditions[i]()) {\n                            return;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    callback();\n                };\n            ;\n                if (((timeout > 0))) {\n                    JSBNG__setTimeout(execute, timeout);\n                }\n                 else {\n                    execute();\n                }\n            ;\n            ;\n            };\n            wrapper.delay = function(milliseconds) {\n                timeout = milliseconds;\n                return wrapper;\n            };\n            wrapper.iff = function(predicate) {\n                conditions.push(predicate);\n                return wrapper;\n            };\n            return wrapper;\n        });\n        $Nav.build(\"eachDescendant\", function() {\n            function eachDescendant(node, func) {\n                func(node);\n                node = node.firstChild;\n                while (node) {\n                    eachDescendant(node, func);\n                    node = node.nextSibling;\n                };\n            ;\n            };\n        ;\n            return eachDescendant;\n        });\n        $Nav.when(\"$\", \"promise\", \"TunableCallback\").run(\"pageReady\", function($, promise, TunableCallback) {\n            if (((JSBNG__document.readyState === \"complete\"))) {\n                $Nav.declare(\"page.ready\");\n                return;\n            }\n        ;\n        ;\n            var pageReady = promise();\n            function windowNotLoaded() {\n                return ((JSBNG__document.readyState != \"complete\"));\n            };\n        ;\n            function atfEnabled() {\n                return !!$Nav.getNow(\"config.readyOnATF\");\n            };\n        ;\n            $Nav.when(\"page.ATF\").run(TunableCallback(pageReady).iff(windowNotLoaded).iff(atfEnabled));\n            $Nav.when(\"page.CF\").run(TunableCallback(pageReady).iff(windowNotLoaded));\n            $Nav.when(\"page.domReady\").run(TunableCallback(pageReady).delay(10000).iff(windowNotLoaded));\n            $Nav.when(\"page.loaded\").run(TunableCallback(pageReady).delay(100));\n            pageReady.watch([$Nav.getNow(\"instance.sourceName\"),\"pageReadyCallback\",], function() {\n                $Nav.declare(\"page.ready\");\n            });\n        });\n        $Nav.when(\"$\", \"agent\").build(\"onOptionClick\", function($, agent) {\n            return function(node, callback) {\n                var $node = $(node);\n                if (((((agent.mac && agent.webkit)) || ((agent.touch && !agent.ie10))))) {\n                    $node.change(function() {\n                        callback.apply($node);\n                    });\n                }\n                 else {\n                    var time = {\n                        click: 0,\n                        change: 0\n                    };\n                    var buildClickChangeHandler = function(primary, secondary) {\n                        return function() {\n                            time[primary] = new JSBNG__Date().getTime();\n                            if (((((time[primary] - time[secondary])) <= 100))) {\n                                callback.apply($node);\n                            }\n                        ;\n                        ;\n                        };\n                    };\n                    $node.click(buildClickChangeHandler(\"click\", \"change\")).change(buildClickChangeHandler(\"change\", \"click\"));\n                }\n            ;\n            ;\n            };\n        });\n        $Nav.when(\"$\", \"promise\", \"api.publish\").build(\"triggerProceedToCheckout\", function($, promise, publishAPI) {\n            var observers = promise();\n            publishAPI(\"onShowProceedToCheckout\", function(callback) {\n                observers.watch([$Nav.getNow(\"instance.sourceName\"),\"onShowProceedToCheckoutCallback\",], function() {\n                    var buttons = $(\"#nav_cart_flyout a[href~=proceedToCheckout]\");\n                    if (((buttons.length > 0))) {\n                        callback(buttons);\n                    }\n                ;\n                ;\n                });\n            });\n            return observers;\n        });\n        $Nav.when(\"promise\", \"api.publish\").run(\"triggerNearFlyout\", function(promise, publishAPI) {\n            var observers = promise();\n            publishAPI(\"onNearFlyout\", function(callback) {\n                observers.watch([$Nav.getNow(\"instance.sourceName\"),\"onNearFlyoutCallback\",], callback);\n            });\n            $Nav.when(\"config.prefetchUrls\", \"JSBNG__event.prefetch\").run(\"prefetch\", function(prefetchUrls, triggerNearFlyout) {\n                ((window.amznJQ && window.amznJQ.addPL(prefetchUrls)));\n                observers();\n            });\n        });\n        $Nav.when(\"$\", \"byID\").build(\"$byID\", function($, byID) {\n            return function(elemID) {\n                return $(((byID(elemID) || [])));\n            };\n        });\n        $Nav.when(\"$byID\", \"config.dynamicMenuArgs\", \"btf.full\").build(\"flyout.primeAjax\", function($id, dynamicMenuArgs) {\n            return ((dynamicMenuArgs.hasOwnProperty(\"isPrime\") && $id(\"nav-prime-menu\").hasClass(\"nav-ajax-prime-menu\")));\n        });\n        $Nav.when(\"$\", \"agent\").build(\"areaMapper\", function($, agent) {\n            var nullFn = function() {\n            \n            };\n            if (!agent.kindleFire) {\n                return {\n                    disable: nullFn,\n                    enable: nullFn\n                };\n            }\n        ;\n        ;\n            var disabled = $([]);\n            return {\n                disable: function(except) {\n                    var newMaps = $(\"img[usemap]\").filter(function() {\n                        return (($(this).parents(except).length === 0));\n                    });\n                    disabled = disabled.add(newMaps);\n                    newMaps.each(function() {\n                        this.disabledUseMap = $(this).attr(\"usemap\");\n                        $(this).attr(\"usemap\", \"\");\n                    });\n                },\n                enable: function() {\n                    disabled.each(function() {\n                        $(this).attr(\"usemap\", this.disabledUseMap);\n                    });\n                    disabled = $([]);\n                }\n            };\n        });\n        $Nav.when(\"$\").build(\"template\", function($) {\n            var cache = {\n            };\n            return function(id, data) {\n                if (!cache[id]) {\n                    cache[id] = new Function(\"obj\", ((((((\"var p=[],print=function(){p.push.apply(p,arguments);};\" + \"with(obj){p.push('\")) + $(id).html().replace(/[\\r\\t\\n]/g, \" \").replace(/'(?=[^#]*#>)/g, \"\\u0009\").split(\"'\").join(\"\\\\'\").split(\"\\u0009\").join(\"'\").replace(/<#=(.+?)#>/g, \"',$1,'\").split(\"\\u003C#\").join(\"');\").split(\"#\\u003E\").join(\"p.push('\"))) + \"');}return p.join('');\")));\n                }\n            ;\n            ;\n                try {\n                    return cache[id](data);\n                } catch (e) {\n                    return \"\";\n                };\n            ;\n            };\n        });\n        $Nav.when(\"$\", \"config.yourAccountPrimeURL\", \"nav.inline\").run(\"yourAccountPrimer\", function($, yourAccountPrimer) {\n            if (yourAccountPrimer) {\n                $(\"#nav_prefetch_yourorders\").mousedown((function() {\n                    var fired = false;\n                    return function() {\n                        if (fired) {\n                            return;\n                        }\n                    ;\n                    ;\n                        fired = true;\n                        (new JSBNG__Image).src = yourAccountPrimer;\n                    };\n                }()));\n            }\n        ;\n        ;\n        });\n        $Nav.when(\"$\", \"byID\", \"agent\", \"dismissTooltip\", \"recordEv\").build(\"flyout.NavButton\", function($, byID, agent, dismissTooltip, recordEv) {\n            function NavButton(id) {\n                this._jqId = ((\"#\" + id));\n                var button = this;\n                byID(id).className = byID(id).className.replace(\"nav-menu-inactive\", \"nav-menu-active\");\n                var lastShown = 0;\n                var weblabs;\n                this.onShow = function() {\n                    lastShown = +(new JSBNG__Date);\n                    dismissTooltip();\n                    button._toggleClass(true, \"nav-button-outer-open\");\n                    if (weblabs) {\n                        recordEv(weblabs);\n                    }\n                ;\n                ;\n                };\n                this.onHide = function() {\n                    button._toggleClass(false, \"nav-button-outer-open\");\n                };\n                this.registerTrigger = function(options) {\n                    var params = this._defaultTriggerParams(button);\n                    $().extend(params, ((options || {\n                    })));\n                    var popover = $(button._jqId).amazonPopoverTrigger(params);\n                    if (params.localContent) {\n                        weblabs = $(params.localContent).attr(\"data-nav-wt\");\n                    }\n                ;\n                ;\n                    if (((agent.touch && $.AmazonPopover.support.controlCallbacks))) {\n                        $(button._jqId).click(function() {\n                            if (((popover.amznPopoverVisible() && ((((+(new JSBNG__Date) - lastShown)) > 400))))) {\n                                popover.amznPopoverHide();\n                            }\n                        ;\n                        ;\n                        });\n                    }\n                ;\n                ;\n                };\n                this.removeTrigger = function() {\n                    $(button._jqId).removeAmazonPopoverTrigger();\n                };\n                this._toggleClass = function(state, className) {\n                    if (state) {\n                        $(button._jqId).addClass(className);\n                    }\n                     else {\n                        $(button._jqId).removeClass(className);\n                    }\n                ;\n                ;\n                };\n                $(button._jqId).keypress(function(e) {\n                    if (((((e.which == 13)) && $(button._jqId).attr(\"href\")))) {\n                        window.JSBNG__location = $(button._jqId).attr(\"href\");\n                    }\n                ;\n                ;\n                });\n                this._defaultTriggerParams = function(button) {\n                    var c = {\n                        width: null,\n                        JSBNG__location: \"bottom\",\n                        locationAlign: \"left\",\n                        locationMargin: 0,\n                        hoverShowDelay: ((agent.touch ? 0 : 250)),\n                        hoverHideDelay: ((agent.touch ? 0 : 250)),\n                        showOnHover: true,\n                        forceAlignment: true,\n                        focusOnShow: false,\n                        skin: null,\n                        onShow: button.onShow,\n                        onHide: button.onHide,\n                        showCloseButton: false,\n                        group: \"navbar\"\n                    };\n                    if (agent.ie10touch) {\n                        c.hoverShowDelay = 250;\n                    }\n                ;\n                ;\n                    return c;\n                };\n            };\n        ;\n            return NavButton;\n        });\n        $Nav.when(\"$byID\", \"agent\", \"$popover\").build(\"flyout.SKIN\", function($id, agent, $) {\n            return function(jqObject, xOffset, skinClass) {\n                var callback = function() {\n                    var navWidth = $id(\"nav-bar-outer\").width();\n                    var rightMargin = Math.min(30, Math.max(0, ((((((navWidth - jqObject.offset().left)) - jqObject.JSBNG__outerWidth())) - xOffset)))), style = ((((rightMargin < 30)) ? ((((\" style=\\\"width: \" + ((rightMargin + 15)))) + \"px;\\\"\")) : \"\")), classes = [\"nav_flyout_table\",];\n                    if (agent.ie6) {\n                        classes.push(\"nav_ie6\");\n                    }\n                ;\n                ;\n                    if (skinClass) {\n                        classes.push(skinClass);\n                    }\n                ;\n                ;\n                    return ((((((((((((((((((((((((((((((((\"\\u003Ctable cellspacing=\\\"0\\\" cellpadding=\\\"0\\\" surround=\\\"0,\" + rightMargin)) + \",30,30\\\" class=\\\"\")) + classes.join(\" \"))) + \"\\\"\\u003E\")) + \"\\u003Ctr\\u003E\\u003Ctd class=\\\"nav_pop_tl nav_pop_h\\\"\\u003E\\u003Cdiv class=\\\"nav_pop_lr_min\\\"\\u003E\\u003C/div\\u003E\\u003C/td\\u003E\\u003Ctd class=\\\"nav_pop_tc nav_pop_h\\\"\\u003E\\u003C/td\\u003E\\u003Ctd class=\\\"nav_pop_tr nav_pop_h\\\"\")) + style)) + \"\\u003E\\u003Cdiv class=\\\"nav_pop_lr_min\\\"\")) + style)) + \"\\u003E\\u003C/div\\u003E\\u003C/td\\u003E\\u003C/tr\\u003E\")) + \"\\u003Ctr\\u003E\\u003Ctd class=\\\"nav_pop_cl nav_pop_v\\\"\\u003E\\u003C/td\\u003E\\u003Ctd class=\\\"nav_pop_cc ap_content\\\"\\u003E\\u003C/td\\u003E\\u003Ctd class=\\\"nav_pop_cr nav_pop_v\\\"\")) + style)) + \"\\u003E\\u003C/td\\u003E\\u003C/tr\\u003E\")) + \"\\u003Ctr\\u003E\\u003Ctd class=\\\"nav_pop_bl nav_pop_v\\\"\\u003E\\u003C/td\\u003E\\u003Ctd class=\\\"nav_pop_bc nav_pop_h\\\"\\u003E\\u003C/td\\u003E\\u003Ctd class=\\\"nav_pop_br nav_pop_v\\\"\")) + style)) + \"\\u003E\\u003C/td\\u003E\\u003C/tr\\u003E\")) + \"\\u003C/table\\u003E\"));\n                };\n                return (((($.AmazonPopover.support && $.AmazonPopover.support.skinCallback)) ? callback : callback()));\n            };\n        });\n        $Nav.when(\"$\", \"byID\", \"eachDescendant\").build(\"flyout.computeFlyoutHeight\", function($, byID, eachDescendant) {\n            var flyoutHeightTable = {\n            };\n            return function(id) {\n                if (((id in flyoutHeightTable))) {\n                    return flyoutHeightTable[id];\n                }\n            ;\n            ;\n                var elem = byID(id);\n                var isDeepShopAll = (($(elem).parents(\".nav_deep\").length > 0));\n                var isShortDeep = $(elem).is(\".nav_short\");\n                var height = 0;\n                if (isDeepShopAll) {\n                    height -= 7;\n                }\n            ;\n            ;\n                eachDescendant(elem, function(node) {\n                    var $node;\n                    if (((node.nodeType == 1))) {\n                        $node = $(node);\n                        if (!isDeepShopAll) {\n                            height += (($node.hasClass(\"nav_pop_li\") ? 23 : 0));\n                            height += (($node.hasClass(\"nav_divider_before\") ? 10 : 0));\n                            height += (($node.hasClass(\"nav_first\") ? -7 : 0));\n                            height += (($node.hasClass(\"nav_tag\") ? 13 : 0));\n                        }\n                         else {\n                            if (isShortDeep) {\n                                height += (($node.hasClass(\"nav_pop_li\") ? 28 : 0));\n                                height += (($node.hasClass(\"nav_first\") ? -8 : 0));\n                                height += (($node.hasClass(\"nav_divider_before\") ? 13 : 0));\n                                height += (($node.hasClass(\"nav_tag\") ? 13 : 0));\n                            }\n                             else {\n                                height += (($node.hasClass(\"nav_pop_li\") ? 30 : 0));\n                                height += (($node.hasClass(\"nav_first\") ? -7 : 0));\n                                height += (($node.hasClass(\"nav_divider_before\") ? 15 : 0));\n                                height += (($node.hasClass(\"nav_tag\") ? 13 : 0));\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                });\n                flyoutHeightTable[id] = height;\n                return height;\n            };\n        });\n        $Nav.when(\"$popover\", \"$byID\", \"agent\", \"logEvent\", \"recordEv\", \"areaMapper\", \"flyout.NavButton\", \"flyout.SKIN\", \"flyout.computeFlyoutHeight\", \"flyout.initBrowsePromos\", \"config.responsiveGW\", \"config.sbd\", \"nav.inline\", \"flyout.JSBNG__content\").run(\"ShopAll\", function($, $id, agent, logEv, recordEv, areaMapper, NavButton, SKIN, computeFlyoutHeight, initBrowsePromos, responsiveGW, sbd_config) {\n            if (((!$id(\"nav-shop-all-button\").length || !$id(\"nav_browse_flyout\").length))) {\n                return;\n            }\n        ;\n        ;\n            var nullFn = function() {\n            \n            };\n            var mt = $.AmazonPopover.mouseTracker, ub = $.AmazonPopover.updateBacking, subcatInited, deferredResizeSubcat, catWidth, mtRegions = [], activeCat, wasSuperCat, subcatRect, delayedChange, priorCursor, exposeSBDData, delayImpression, delayCatImpression;\n            var id = \"nav-shop-all-button\", button = new NavButton(id), jQButton = $id(id), isResponsive = ((responsiveGW && ((!agent.touch || agent.ie10touch))));\n            if (agent.touch) {\n                $(\"#nav_cats .nav_cat a\").each(function() {\n                    var $this = $(this);\n                    $this.replaceWith($this.text());\n                });\n            }\n        ;\n        ;\n            var onShow = function() {\n                var initExposeSBD = $Nav.getNow(\"initExposeSBD\");\n                if (initExposeSBD) {\n                    initExposeSBD().deBorder(true);\n                }\n            ;\n            ;\n                areaMapper.disable(\"#nav_browse_flyout\");\n                initBrowsePromos();\n                var $browse_flyout = $id(\"nav_browse_flyout\"), $subcats = $id(\"nav_subcats\"), $subcats_wrap = $id(\"nav_subcats_wrap\"), $cats = $id(\"nav_cats_wrap\"), $cat_indicator = $id(\"nav_cat_indicator\");\n                if (!subcatInited) {\n                    catWidth = $cats.JSBNG__outerWidth();\n                    $browse_flyout.css({\n                        height: ((computeFlyoutHeight(\"nav_cats_wrap\") + \"px\")),\n                        width: ((catWidth + \"px\"))\n                    });\n                    $subcats_wrap.css({\n                        display: \"block\"\n                    });\n                    subcatInited = true;\n                }\n                 else {\n                    $browse_flyout.css({\n                        height: ((computeFlyoutHeight(\"nav_cats_wrap\") + \"px\"))\n                    });\n                }\n            ;\n            ;\n                var animateSubcatComplete = function() {\n                    if (deferredResizeSubcat) {\n                        deferredResizeSubcat();\n                    }\n                ;\n                ;\n                    deferredResizeSubcat = null;\n                    if (agent.touch) {\n                        var $video = $(\"video\");\n                        $video.css(\"visibility\", \"hidden\");\n                        JSBNG__setTimeout(function() {\n                            $video.css(\"visibility\", \"\");\n                        }, 10);\n                    }\n                ;\n                ;\n                    $browse_flyout.css({\n                        overflow: \"visible\"\n                    });\n                };\n                var rectRelation = function(cursor, rect) {\n                    var h = \"c\", v = \"c\";\n                    if (((cursor && rect))) {\n                        if (((cursor.x < rect.x1))) {\n                            h = \"l\";\n                        }\n                         else {\n                            if (((cursor.x > rect.x2))) {\n                                h = \"r\";\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        if (((cursor.y < rect.y1))) {\n                            v = \"t\";\n                        }\n                         else {\n                            if (((cursor.y > rect.y2))) {\n                                v = \"b\";\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    return ((v + h));\n                };\n                var notInRect = function(cursor, rect) {\n                    if (((rectRelation(cursor, rect) == \"cc\"))) {\n                        return false;\n                    }\n                ;\n                ;\n                    return true;\n                };\n                var calcChangeDelay = function(args, rect) {\n                    var delay = 0, c = args.cursor, p1 = ((args.priorCursors[0] || {\n                    })), p2 = ((args.priorCursors[1] || {\n                    }));\n                    if (((((((c.x == p1.x)) && ((Math.abs(((c.y - p1.y))) < 2)))) && ((c.x > p2.x))))) {\n                        delay = sbd_config.minor_delay;\n                    }\n                     else {\n                        var r = rect, pts = [c,p1,];\n                        switch (rectRelation(c, r)) {\n                          case \"tl\":\n                            pts.push({\n                                x: r.x1,\n                                y: r.y2\n                            }, {\n                                x: r.x2,\n                                y: r.y1\n                            });\n                            break;\n                          case \"bl\":\n                            pts.push({\n                                x: r.x1,\n                                y: r.y1\n                            }, {\n                                x: r.x2,\n                                y: r.y2\n                            });\n                            break;\n                          case \"cl\":\n                            pts.push({\n                                x: r.x1,\n                                y: r.y1\n                            }, {\n                                x: r.x1,\n                                y: r.y2\n                            });\n                            break;\n                          default:\n                            pts.push({\n                                x: 0,\n                                y: 0\n                            }, {\n                                x: 0,\n                                y: 0\n                            });\n                            delay = -1;\n                        };\n                    ;\n                        if (((delay === 0))) {\n                            var b0 = ((((((pts[2].x - pts[1].x)) * ((pts[3].y - pts[1].y)))) - ((((pts[3].x - pts[1].x)) * ((pts[2].y - pts[1].y)))))), b1 = ((((((((pts[2].x - pts[0].x)) * ((pts[3].y - pts[0].y)))) - ((((pts[3].x - pts[0].x)) * ((pts[2].y - pts[0].y)))))) / b0)), b2 = ((((((((pts[3].x - pts[0].x)) * ((pts[1].y - pts[0].y)))) - ((((pts[1].x - pts[0].x)) * ((pts[3].y - pts[0].y)))))) / b0)), b3 = ((((((((pts[1].x - pts[0].x)) * ((pts[2].y - pts[0].y)))) - ((((pts[2].x - pts[0].x)) * ((pts[1].y - pts[0].y)))))) / b0));\n                            delay = ((((((((b1 > 0)) && ((b2 > 0)))) && ((b3 > 0)))) ? sbd_config.major_delay : 0));\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    return delay;\n                };\n                var doCatChange = function(cat, args) {\n                    var animateSubcat = !activeCat, resizeSubcat = false, $subcat = $id(((\"nav_subcats_\" + cat))), $cat = $id(((\"nav_cat_\" + cat))), promoID = $subcat.attr(\"data-nav-promo-id\"), wtl = $subcat.attr(\"data-nav-wt\");\n                    if (activeCat) {\n                        $id(((\"nav_subcats_\" + activeCat))).css({\n                            display: \"none\"\n                        });\n                        $id(((\"nav_cat_\" + activeCat))).removeClass(\"nav_active\");\n                    }\n                ;\n                ;\n                    JSBNG__clearTimeout(delayCatImpression);\n                    if (promoID) {\n                        var browsepromos = $Nav.getNow(\"config.browsePromos\", {\n                        });\n                        var imp = {\n                            t: \"sa\",\n                            id: promoID\n                        };\n                        if (browsepromos[promoID]) {\n                            imp[\"bp\"] = 1;\n                        }\n                    ;\n                    ;\n                        delayCatImpression = window.JSBNG__setTimeout(function() {\n                            logEv(imp);\n                        }, 750);\n                    }\n                ;\n                ;\n                    if (wtl) {\n                        recordEv(wtl);\n                    }\n                ;\n                ;\n                    $cat.addClass(\"nav_active\");\n                    $subcat.css({\n                        display: \"block\"\n                    });\n                    $cat_indicator.css(\"JSBNG__top\", (((($cat.position().JSBNG__top + parseInt($cat.css(\"padding-top\"), 10))) + 1)));\n                    var isSuperCat = $subcat.hasClass(\"nav_super_cat\");\n                    if (((isSuperCat != wasSuperCat))) {\n                        if (isSuperCat) {\n                            $browse_flyout.addClass(\"nav_super\");\n                        }\n                         else {\n                            $browse_flyout.removeClass(\"nav_super\");\n                        }\n                    ;\n                    ;\n                        resizeSubcat = true;\n                        wasSuperCat = isSuperCat;\n                    }\n                ;\n                ;\n                    if (animateSubcat) {\n                        deferredResizeSubcat = function() {\n                            ub(\"navbar\");\n                        };\n                        $browse_flyout.animate({\n                            width: (((($subcats.JSBNG__outerWidth() + catWidth)) + \"px\"))\n                        }, {\n                            duration: \"fast\",\n                            complete: animateSubcatComplete\n                        });\n                    }\n                     else {\n                        if (resizeSubcat) {\n                            var resizeSubcatNow = function() {\n                                $browse_flyout.css({\n                                    width: (((($subcats.JSBNG__outerWidth() + catWidth)) + \"px\"))\n                                });\n                                ub(\"navbar\");\n                            };\n                            if (deferredResizeSubcat) {\n                                deferredResizeSubcat = resizeSubcatNow;\n                            }\n                             else {\n                                resizeSubcatNow();\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    if (((isResponsive && !agent.ie6))) {\n                        $subcat.parents(\".nav_exposed_skin\").removeClass(\"nav_exposed_skin\");\n                    }\n                ;\n                ;\n                    $subcat.JSBNG__find(\".nav_subcat_links\").each(function() {\n                        var $this = $(this);\n                        if ($this.data(\"nav-linestarts-marked\")) {\n                            return;\n                        }\n                    ;\n                    ;\n                        $this.data(\"nav-linestarts-marked\", true);\n                        var JSBNG__top = 0;\n                        $this.JSBNG__find(\"li\").each(function() {\n                            var elem = $(this);\n                            var thisTop = elem.offset().JSBNG__top;\n                            if (((Math.abs(((thisTop - JSBNG__top))) > 5))) {\n                                elem.addClass(\"nav_linestart\");\n                                JSBNG__top = thisTop;\n                            }\n                        ;\n                        ;\n                        });\n                    });\n                    var offset = $subcat.offset(), x1 = offset.left, y1 = ((offset.JSBNG__top - sbd_config.target_slop)), x2 = ((x1 + $subcat.JSBNG__outerWidth())), y2 = ((((y1 + $subcat.JSBNG__outerHeight())) + sbd_config.target_slop));\n                    return {\n                        x1: x1,\n                        y1: y1,\n                        x2: x2,\n                        y2: y2\n                    };\n                };\n                window._navbar.qaActivateCat = function(i) {\n                    i = ((i || \"0\"));\n                    doCatChange(i);\n                    activeCat = i;\n                };\n                $(\"#nav_cats li.nav_cat\").each(function() {\n                    var match = /^nav_cat_(.+)/.exec(this.id), cat = ((match ? match[1] : \"\"));\n                    var mouseEnter = function(args) {\n                        JSBNG__clearTimeout(delayedChange);\n                        $id(((\"nav_cat_\" + cat))).addClass(\"nav_hover\");\n                        if (((activeCat !== cat))) {\n                            var changeDelay = calcChangeDelay(args, subcatRect);\n                            if (((activeCat && ((changeDelay > 0))))) {\n                                var doDelayedChange = function() {\n                                    JSBNG__clearTimeout(delayedChange);\n                                    var delayedArgs = mt.getCallbackArgs(), delayedDelay = 0;\n                                    if (((((priorCursor && ((priorCursor.x == delayedArgs.cursor.x)))) && ((priorCursor.y == delayedArgs.cursor.y))))) {\n                                        if (notInRect(delayedArgs.cursor, subcatRect)) {\n                                            delayedDelay = 0;\n                                        }\n                                         else {\n                                            delayedDelay = -1;\n                                        }\n                                    ;\n                                    ;\n                                    }\n                                     else {\n                                        delayedDelay = calcChangeDelay(delayedArgs, subcatRect);\n                                    }\n                                ;\n                                ;\n                                    priorCursor = {\n                                        x: delayedArgs.cursor.x,\n                                        y: delayedArgs.cursor.y\n                                    };\n                                    if (((delayedDelay > 0))) {\n                                        if (((activeCat !== cat))) {\n                                            delayedChange = JSBNG__setTimeout(doDelayedChange, delayedDelay);\n                                        }\n                                    ;\n                                    ;\n                                    }\n                                     else {\n                                        if (((delayedDelay > -1))) {\n                                            subcatRect = doCatChange(cat, args);\n                                            activeCat = cat;\n                                        }\n                                    ;\n                                    ;\n                                    }\n                                ;\n                                ;\n                                };\n                                delayedChange = JSBNG__setTimeout(doDelayedChange, changeDelay);\n                            }\n                             else {\n                                subcatRect = doCatChange(cat, args);\n                                activeCat = cat;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        return true;\n                    };\n                    var mouseLeave = function(immediately, args) {\n                        $id(((\"nav_cat_\" + cat))).removeClass(\"nav_hover\");\n                        return true;\n                    };\n                    var $this = $(this), offset = $this.offset(), added = mt.add([[offset.left,offset.JSBNG__top,$this.JSBNG__outerWidth(),$this.JSBNG__outerHeight(),],], {\n                        inside: false,\n                        mouseEnter: mouseEnter,\n                        mouseLeave: mouseLeave\n                    });\n                    mtRegions.push(added);\n                });\n            };\n            var onHide = function() {\n                JSBNG__clearTimeout(delayedChange);\n                JSBNG__clearTimeout(delayCatImpression);\n                JSBNG__clearTimeout(delayImpression);\n                for (var i = 0; ((i < mtRegions.length)); i++) {\n                    mt.remove(mtRegions[i]);\n                };\n            ;\n                mtRegions = [];\n                subcatRect = null;\n                subcatInited = false;\n                if (activeCat) {\n                    $id(((\"nav_subcats_\" + activeCat))).css({\n                        display: \"none\"\n                    });\n                    $id(((\"nav_cat_\" + activeCat))).removeClass(\"nav_active\");\n                }\n            ;\n            ;\n                activeCat = null;\n                $id(\"nav_cat_indicator\").css({\n                    JSBNG__top: \"\"\n                });\n                $id(\"nav_browse_flyout\").css({\n                    height: \"\",\n                    overflow: \"\"\n                });\n                areaMapper.enable();\n                var initExposeSBD = $Nav.getNow(\"initExposeSBD\");\n                if (initExposeSBD) {\n                    initExposeSBD().deBorder(false);\n                }\n            ;\n            ;\n            };\n            $Nav.declare(\"initExposeSBD\", function() {\n                if (exposeSBDData) {\n                    return exposeSBDData;\n                }\n            ;\n            ;\n                if (!isResponsive) {\n                    exposeSBDData = {\n                        ok: function() {\n                            return false;\n                        },\n                        deBorder: nullFn,\n                        initDeferredShow: nullFn,\n                        deferredShow: nullFn\n                    };\n                    return exposeSBDData;\n                }\n            ;\n            ;\n                var $anchor = $id(\"nav_exposed_anchor\"), skinClass = ((agent.ie6 ? \"\" : \"nav_exposed_skin\")), skin = SKIN(jQButton, 0, skinClass), $skin = $(((((typeof (skin) == \"function\")) ? skin() : skin))), $wrap = $(\"\\u003Cdiv id=\\\"nav_exposed_skin\\\"\\u003E\\u003C/div\\u003E\").css({\n                    JSBNG__top: -8,\n                    left: ((jQButton.offset().left - ((agent.ie6 ? 27 : 30))))\n                }).append($skin).appendTo($anchor), $old_parent = $id(\"nav_browse_flyout\"), $parent = $(\"\\u003Cdiv id=\\\"nav_exposed_cats\\\"\\u003E\\u003C/div\\u003E\").appendTo($(\".ap_content\", $wrap)), $fade = $id(\"nav-shop-all-button\").clone().attr({\n                    href: \"javascript:void(0)\",\n                    id: \"\"\n                }).addClass(\"nav-shop-all-button nav-button-outer-open\").appendTo(\"#nav-bar-inner\").add($wrap), $roots = $id(\"navbar\").add($anchor), $cats = $id(\"nav_cats_wrap\"), exButton = new NavButton(\"nav_exposed_skin\"), isExposed, firstCall = true, lastState, deferShow, deferHide, oldIE = (($.browser.msie && ((!JSBNG__document.documentMode || ((JSBNG__document.documentMode < 8))))));\n                exposeSBDData = {\n                    ok: function() {\n                        return true;\n                    },\n                    deBorder: function(b) {\n                        if (b) {\n                            $skin.addClass(\"nav_pop_triggered\");\n                        }\n                         else {\n                            $skin.removeClass(\"nav_pop_triggered\");\n                        }\n                    ;\n                    ;\n                    },\n                    initDeferredShow: function() {\n                        if (!deferShow) {\n                            deferShow = nullFn;\n                        }\n                    ;\n                    ;\n                    },\n                    deferredShow: function() {\n                        if (deferShow) {\n                            deferShow();\n                            deferShow = null;\n                        }\n                    ;\n                    ;\n                    }\n                };\n                var exTriggerParams = {\n                    localContent: \"#nav_browse_flyout\",\n                    JSBNG__location: \"JSBNG__top\",\n                    locationAlign: \"left\",\n                    locationOffset: [30,((oldIE ? 33 : 32)),],\n                    skin: SKIN($parent, 0, skinClass),\n                    showOnHover: true,\n                    hoverShowDelay: 0,\n                    onShow: function() {\n                        if (!deferHide) {\n                            deferHide = nullFn;\n                        }\n                    ;\n                    ;\n                        exButton.removeTrigger();\n                        exButton.onShow();\n                        onShow();\n                        $cats.appendTo($old_parent);\n                        $(JSBNG__document).mousemove();\n                    },\n                    onHide: function() {\n                        $cats.appendTo($parent);\n                        onHide();\n                        exButton.onHide();\n                        exButton.registerTrigger(exTriggerParams);\n                        if (deferHide) {\n                            deferHide();\n                        }\n                    ;\n                    ;\n                        deferHide = null;\n                    }\n                };\n                $Nav.when(\"protectExposeSBD\").run(\"exposeSBD\", function(protectExposeSBD) {\n                    protectExposeSBD(function(expose) {\n                        lastState = expose;\n                        if (((expose === isExposed))) {\n                            return;\n                        }\n                    ;\n                    ;\n                        if (expose) {\n                            logEv({\n                                t: \"sa\",\n                                id: \"res-main\"\n                            });\n                            var doShow = function() {\n                                if (((lastState === false))) {\n                                    return;\n                                }\n                            ;\n                            ;\n                                button.removeTrigger();\n                                $roots.addClass(\"nav_exposed_sbd\");\n                                if ((($(\"#nav_browse_flyout.nav_deep\").length > 0))) {\n                                    $roots.addClass(\"nav_deep\");\n                                }\n                            ;\n                            ;\n                                $cats.appendTo($parent);\n                                if (firstCall) {\n                                    if ($.browser.msie) {\n                                        $fade.css(\"display\", \"block\");\n                                    }\n                                     else {\n                                        $fade.fadeIn(600);\n                                    }\n                                ;\n                                ;\n                                    firstCall = false;\n                                }\n                            ;\n                            ;\n                                exButton.registerTrigger(exTriggerParams);\n                                isExposed = true;\n                            };\n                            if (deferShow) {\n                                deferShow = doShow;\n                            }\n                             else {\n                                doShow();\n                            }\n                        ;\n                        ;\n                        }\n                         else {\n                            var doHide = function() {\n                                if (((lastState === true))) {\n                                    return;\n                                }\n                            ;\n                            ;\n                                exButton.removeTrigger();\n                                $roots.removeClass(\"nav_exposed_sbd\");\n                                $cats.appendTo($old_parent);\n                                if (firstCall) {\n                                    $fade.css(\"display\", \"block\");\n                                    firstCall = false;\n                                }\n                            ;\n                            ;\n                                button.registerTrigger(triggerParams);\n                                isExposed = false;\n                            };\n                            if (deferHide) {\n                                deferHide = doHide;\n                            }\n                             else {\n                                doHide();\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    });\n                });\n                return exposeSBDData;\n            });\n            var triggerParams = {\n                localContent: \"#nav_browse_flyout\",\n                locationAlign: \"left\",\n                locationOffset: [((agent.ie6 ? 3 : 0)),0,],\n                skin: SKIN(jQButton, 0),\n                onShow: function() {\n                    var initExposeSBD = $Nav.getNow(\"initExposeSBD\");\n                    if (initExposeSBD) {\n                        initExposeSBD().initDeferredShow();\n                    }\n                ;\n                ;\n                    button.onShow();\n                    delayImpression = window.JSBNG__setTimeout(function() {\n                        logEv({\n                            t: \"sa\",\n                            id: \"main\"\n                        });\n                    }, 750);\n                    onShow();\n                },\n                onHide: function() {\n                    onHide();\n                    button.onHide();\n                    var initExposeSBD = $Nav.getNow(\"initExposeSBD\");\n                    if (initExposeSBD) {\n                        initExposeSBD().deferredShow();\n                    }\n                ;\n                ;\n                }\n            };\n            if (!isResponsive) {\n                button.registerTrigger(triggerParams);\n            }\n        ;\n        ;\n            $Nav.declare(\"flyout.shopall\");\n        });\n        $Nav.when(\"$\", \"$byID\", \"nav.inline\", \"flyout.JSBNG__content\").build(\"flyout.notificationCount\", function($, $id) {\n            var notiCount = parseInt((($(\"#nav-noti-wrapper .nav-noti-content\").attr(\"data-noti-count\") || \"0\")), 10);\n            var $count;\n            function notificationCount(count) {\n                notiCount = count;\n                if ($count) {\n                    if (((notiCount <= 0))) {\n                        $count.remove();\n                    }\n                     else {\n                        $count.text(((((notiCount > 9)) ? \"9+\" : notiCount)));\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n            };\n        ;\n            notificationCount.count = function() {\n                return notiCount;\n            };\n            notificationCount.decrement = function() {\n                notificationCount(((notiCount - 1)));\n            };\n            $Nav.when(\"page.ready\").run(function() {\n                if (((notiCount <= 0))) {\n                    return;\n                }\n            ;\n            ;\n                var $name = $id(\"nav-signin-text\");\n                var parts = $.trim($name.text()).match(/^(.*?)(\\.*)$/);\n                $name.html(((((parts[1] + \"\\u003Cspan id=\\\"nav-noti-count-position\\\"\\u003E\\u003C/span\\u003E\")) + parts[2])));\n                var positioner = $id(\"nav-noti-count-position\");\n                var countLeft = ((positioner.position().left + 10)), $button = $id(\"nav-your-account\"), tabWidth = (($button.JSBNG__outerWidth() - 5)), freePixels = ((tabWidth - countLeft)), cssObj = {\n                };\n                if (((((freePixels < 15)) || ((countLeft < 15))))) {\n                    cssObj.right = 2;\n                    if (((((freePixels > 0)) && ((freePixels <= 10))))) {\n                        $name.append(new Array(11).join(\"&nbsp;\"));\n                    }\n                ;\n                ;\n                }\n                 else {\n                    cssObj.left = ((Math.round(countLeft) + 1));\n                }\n            ;\n            ;\n                $count = $(\"\\u003Cdiv id=\\\"nav-noti-count\\\" class=\\\"nav-sprite\\\"\\u003E\");\n                $count.css(cssObj).appendTo($button);\n                notificationCount(notiCount);\n            });\n            return notificationCount;\n        });\n        $Nav.when(\"$\", \"$byID\", \"agent\", \"flyout.notificationCount\", \"config.dismissNotificationUrl\", \"flyout.JSBNG__content\").build(\"flyout.notifications\", function($, $byID, agent, notificationCount, dismissNotificationUrl) {\n            var $yaSidebarWrapper = $byID(\"nav-noti-wrapper\");\n            var $yaSidebar = $yaSidebarWrapper.JSBNG__find(\".nav-noti-content\");\n            var $notiItems = $yaSidebar.JSBNG__find(\".nav-noti-item\").not(\"#nav-noti-empty\");\n            function hideOverflow() {\n                var cutoff = (($yaSidebar.height() - $byID(\"nav-noti-all\").JSBNG__outerHeight(true)));\n                $notiItems.each(function() {\n                    var $this = $(this);\n                    if ($this.attr(\"data-dismissed\")) {\n                        return;\n                    }\n                ;\n                ;\n                    if ((((($this.position().JSBNG__top + $this.JSBNG__outerHeight())) > cutoff))) {\n                        $this.addClass(\"nav-noti-overflow\");\n                    }\n                     else {\n                        $this.removeClass(\"nav-noti-overflow\");\n                    }\n                ;\n                ;\n                });\n            };\n        ;\n            function hookupBehaviour() {\n                if (agent.touch) {\n                    $notiItems.addClass(\"nav-noti-touch\");\n                }\n                 else {\n                    $notiItems.hover(function() {\n                        $(this).addClass(\"nav-noti-hover\");\n                    }, function() {\n                        $(this).removeClass(\"nav-noti-hover\");\n                    });\n                }\n            ;\n            ;\n                $(\".nav-noti-x\", $yaSidebar).click(function(e) {\n                    e.preventDefault();\n                    var $this = $(this);\n                    $.ajax({\n                        url: dismissNotificationUrl,\n                        type: \"POST\",\n                        data: {\n                            id: $this.attr(\"data-noti-id\")\n                        },\n                        cache: false,\n                        timeout: 500\n                    });\n                    $this.css(\"visibility\", \"hidden\").parent().attr(\"data-dismissed\", \"1\").slideUp(400, function() {\n                        notificationCount.decrement();\n                        if (((notificationCount.count() === 0))) {\n                            $byID(\"nav-noti-empty\").fadeIn(300);\n                        }\n                    ;\n                    ;\n                        hideOverflow();\n                    });\n                }).hover(function() {\n                    $(this).addClass(\"nav-noti-x-hover\");\n                }, function() {\n                    $(this).removeClass(\"nav-noti-x-hover\");\n                });\n            };\n        ;\n            return {\n                width: 180,\n                exists: function() {\n                    return ((((notificationCount.count() > 0)) && (($yaSidebar.length > 0))));\n                },\n                getContent: function() {\n                    var node = $yaSidebar.get(0);\n                    node.parentNode.removeChild(node);\n                    hookupBehaviour();\n                    return $yaSidebar;\n                },\n                onShow: hideOverflow,\n                JSBNG__event: ((((notificationCount.count() > 0)) ? \"noti\" : null))\n            };\n        });\n        $Nav.when(\"$\", \"flyout.JSBNG__content\").build(\"flyout.highConfidence\", function($) {\n            var hcb = $(\"#csr-hcb-wrapper .csr-hcb-content\");\n            return {\n                width: 229,\n                exists: function() {\n                    return ((hcb.length > 0));\n                },\n                getContent: function() {\n                    var node = hcb.get(0);\n                    node.parentNode.removeChild(node);\n                    return hcb;\n                },\n                JSBNG__event: \"hcb\"\n            };\n        });\n        $Nav.when(\"$\", \"$byID\", \"areaMapper\", \"agent\", \"logEvent\", \"flyout.NavButton\", \"flyout.SKIN\", \"flyout.loadMenusConditionally\", \"flyout.notifications\", \"flyout.highConfidence\", \"config.signOutText\", \"nav.inline\", \"flyout.JSBNG__content\").run(\"YourAccount\", function($, $id, areaMapper, agent, logEv, NavButton, SKIN, loadDynamicMenusConditionally, notifications, highConf, signOutText) {\n            var JSBNG__sidebar;\n            if (notifications.exists()) {\n                JSBNG__sidebar = notifications;\n            }\n             else {\n                if (highConf.exists()) {\n                    JSBNG__sidebar = highConf;\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n            var id = \"nav-your-account\", jQButton = $id(id), $yaFlyout = $id(\"nav_your_account_flyout\"), $yaSidebar;\n            if (((!jQButton.length || !$yaFlyout.length))) {\n                return;\n            }\n        ;\n        ;\n            var button = new NavButton(id), $yaSidebarWrapper = $(\"#nav-noti-wrapper, #csr-hcb-wrapper\"), delayImpression, leftAlignedYA = (($id(\"nav-wishlist\").length || $id(\"nav-cart\").length));\n            var onShow = function() {\n                button.onShow();\n                if (((JSBNG__sidebar && JSBNG__sidebar.onShow))) {\n                    JSBNG__sidebar.onShow();\n                }\n            ;\n            ;\n                areaMapper.disable(\"#nav_your_account_flyout\");\n                delayImpression = window.JSBNG__setTimeout(function() {\n                    var imp = {\n                        t: \"ya\"\n                    };\n                    if (((JSBNG__sidebar && JSBNG__sidebar.JSBNG__event))) {\n                        imp[JSBNG__sidebar.JSBNG__event] = 1;\n                    }\n                ;\n                ;\n                    logEv(imp);\n                }, 750);\n                if ($yaSidebar) {\n                    $yaSidebar.height($yaFlyout.height());\n                }\n            ;\n            ;\n                loadDynamicMenusConditionally();\n            };\n            var onHide = function() {\n                JSBNG__clearTimeout(delayImpression);\n                areaMapper.enable();\n                button.onHide();\n            };\n            var sidebarOffset = 0;\n            if (JSBNG__sidebar) {\n                sidebarOffset = ((JSBNG__sidebar.width + 19));\n                $yaSidebar = JSBNG__sidebar.getContent();\n                $yaFlyout.css(\"margin-left\", sidebarOffset).prepend($(\"\\u003Cdiv id=\\\"nav_ya_sidebar_wrapper\\\"\\u003E\\u003C/div\\u003E\").css({\n                    width: ((sidebarOffset - 15)),\n                    left: -sidebarOffset\n                }).append($yaSidebar));\n            }\n        ;\n        ;\n            var YALocationOffsetLeft = ((sidebarOffset ? -sidebarOffset : ((agent.ie6 ? ((leftAlignedYA ? 3 : -3)) : 0))));\n            button.registerTrigger({\n                localContent: \"#nav_your_account_flyout\",\n                locationAlign: ((leftAlignedYA ? \"left\" : \"right\")),\n                locationOffset: [YALocationOffsetLeft,0,],\n                skin: SKIN(jQButton, ((((leftAlignedYA || !agent.ie6)) ? 0 : 7))),\n                onShow: onShow,\n                onHide: onHide,\n                followLink: !agent.touch\n            });\n            if (signOutText) {\n                $(\"#nav-item-signout\").html(signOutText);\n            }\n        ;\n        ;\n            $Nav.declare(\"flyout.youraccount\");\n        });\n        $Nav.when(\"$\", \"$byID\", \"areaMapper\", \"agent\", \"logEvent\", \"triggerProceedToCheckout\", \"flyout.NavButton\", \"flyout.SKIN\", \"flyout.loadMenusConditionally\", \"nav.inline\", \"flyout.JSBNG__content\").run(\"Cart\", function($, $id, areaMapper, agent, logEv, triggerProceedToCheckout, NavButton, SKIN, loadDynamicMenusConditionally) {\n            if (((!$id(\"nav-cart\").length || !$id(\"nav_cart_flyout\").length))) {\n                return;\n            }\n        ;\n        ;\n            var id = \"nav-cart\", button = new NavButton(id), jQButton = $id(id), delayImpression;\n            var onShow = function() {\n                button.onShow();\n                areaMapper.disable(\"#nav_cart_flyout\");\n                delayImpression = window.JSBNG__setTimeout(function() {\n                    logEv({\n                        t: \"cart\"\n                    });\n                }, 750);\n                loadDynamicMenusConditionally();\n                triggerProceedToCheckout();\n            };\n            var onHide = function() {\n                JSBNG__clearTimeout(delayImpression);\n                areaMapper.enable();\n                button.onHide();\n            };\n            button.registerTrigger({\n                localContent: \"#nav_cart_flyout\",\n                locationAlign: \"right\",\n                locationOffset: [((agent.ie6 ? -3 : 0)),0,],\n                skin: SKIN(jQButton, ((agent.ie6 ? 7 : 0))),\n                onShow: onShow,\n                onHide: onHide,\n                followLink: !agent.touch\n            });\n            $Nav.declare(\"flyout.cart\");\n        });\n        $Nav.when(\"$\", \"$byID\", \"areaMapper\", \"agent\", \"logEvent\", \"flyout.NavButton\", \"flyout.SKIN\", \"flyout.loadMenusConditionally\", \"nav.inline\", \"flyout.JSBNG__content\").run(\"WishList\", function($, $id, areaMapper, agent, logEv, NavButton, SKIN, loadDynamicMenusConditionally) {\n            if (((!$id(\"nav-wishlist\").length || !$id(\"nav_wishlist_flyout\").length))) {\n                return;\n            }\n        ;\n        ;\n            var id = \"nav-wishlist\", button = new NavButton(id), jQButton = $id(id), flyout = \"#nav_wishlist_flyout\", ul = \".nav_pop_ul\", delayImpression;\n            var onShow = function() {\n                button.onShow();\n                areaMapper.disable(\"#nav_wishlist_flyout\");\n                delayImpression = window.JSBNG__setTimeout(function() {\n                    logEv({\n                        t: \"wishlist\"\n                    });\n                }, 750);\n                loadDynamicMenusConditionally();\n                var $flyout = $(flyout), width = $flyout.JSBNG__outerWidth();\n                $flyout.css(\"width\", width).JSBNG__find(ul).css(\"width\", width).addClass(\"nav_pop_ul_wrap\");\n            };\n            var onHide = function() {\n                JSBNG__clearTimeout(delayImpression);\n                $(flyout).css(\"width\", \"\").JSBNG__find(ul).css(\"width\", \"\").removeClass(\"nav_pop_ul_wrap\");\n                areaMapper.enable();\n                button.onHide();\n            };\n            button.registerTrigger({\n                localContent: \"#nav_wishlist_flyout\",\n                locationAlign: \"right\",\n                locationOffset: [((agent.ie6 ? -3 : 0)),0,],\n                skin: SKIN(jQButton, ((agent.ie6 ? 7 : 0))),\n                onShow: onShow,\n                onHide: onHide,\n                followLink: !agent.touch\n            });\n            $Nav.declare(\"flyout.wishlist\");\n        });\n        $Nav.when(\"$\", \"$byID\", \"flyout.NavButton\", \"areaMapper\", \"logEvent\", \"agent\", \"nav.inline\", \"flyout.JSBNG__content\").run(\"PrimeTooltip\", function($, $id, NavButton, areaMapper, logEv, agent) {\n            if (((!$id(\"nav-prime-ttt\").length || !$id(\"nav-prime-tooltip\").length))) {\n                return;\n            }\n        ;\n        ;\n            var id = \"nav-prime-ttt\", button = new NavButton(id), jQButton = $id(id), delayImpression, large = $(\"#navbar\").hasClass(\"nav-logo-large\"), msie = $.browser.msie;\n            var onShow = function() {\n                button.onShow();\n                areaMapper.disable(\"#nav-prime-tooltip\");\n                delayImpression = window.JSBNG__setTimeout(function() {\n                    logEv({\n                        t: \"prime-tt\"\n                    });\n                }, 750);\n            };\n            var onHide = function() {\n                JSBNG__clearTimeout(delayImpression);\n                areaMapper.enable();\n                button.onHide();\n            };\n            jQButton.css(\"padding-right\", ((large ? \"21px\" : \"25px\")));\n            button.registerTrigger({\n                localContent: \"#nav-prime-tooltip\",\n                width: null,\n                JSBNG__location: \"right\",\n                locationAlign: \"JSBNG__top\",\n                locationOffset: [((msie ? -3 : 0)),((large ? -35 : -26)),],\n                onShow: onShow,\n                onHide: onHide,\n                zIndex: 201,\n                skin: ((((((((((((((((((((\"\\u003Cdiv class=\\\"nav-tt-skin\" + ((large ? \" nav-logo-large\" : \"\")))) + \"\\\"\\u003E\")) + \"\\u003Cdiv class=\\\"nav-tt-border\")) + ((msie ? \"\" : \" nav-tt-box-shadow\")))) + \"\\\"\\u003E\")) + \"\\u003Cdiv class=\\\"ap_content\\\"\\u003E\\u003C/div\\u003E\")) + \"\\u003C/div\\u003E\")) + \"\\u003Cdiv class=\\\"nav-tt-beak\\\"\\u003E\\u003C/div\\u003E\")) + \"\\u003Cdiv class=\\\"nav-tt-beak-2\\\"\\u003E\\u003C/div\\u003E\")) + \"\\u003C/div\\u003E\")),\n                followLink: !agent.touch\n            });\n        });\n        $Nav.when(\"$byID\", \"areaMapper\", \"logEvent\", \"agent\", \"config.dynamicMenuArgs\", \"flyout.NavButton\", \"flyout.SKIN\", \"flyout.primeAjax\", \"flyout.loadMenusConditionally\", \"nav.inline\", \"flyout.JSBNG__content\").run(\"PrimeMenu\", function($id, areaMapper, logEv, agent, dynamicMenuArgs, NavButton, SKIN, primeAJAX, loadDynamicMenusConditionally) {\n            if (((!$id(\"nav-your-prime\").length || !$id(\"nav-prime-menu\").length))) {\n                return;\n            }\n        ;\n        ;\n            var id = \"nav-your-prime\", button = new NavButton(id), jQButton = $id(id), delayImpression;\n            if (primeAJAX) {\n                $id(\"nav-prime-menu\").css({\n                    width: dynamicMenuArgs.primeMenuWidth\n                });\n            }\n        ;\n        ;\n            var onShow = function() {\n                button.onShow();\n                areaMapper.disable(\"#nav-prime-menu\");\n                delayImpression = window.JSBNG__setTimeout(function() {\n                    logEv({\n                        t: \"prime\"\n                    });\n                }, 750);\n                if (primeAJAX) {\n                    loadDynamicMenusConditionally();\n                }\n            ;\n            ;\n            };\n            var onHide = function() {\n                JSBNG__clearTimeout(delayImpression);\n                areaMapper.enable();\n                button.onHide();\n            };\n            button.registerTrigger({\n                localContent: \"#nav-prime-menu\",\n                locationAlign: \"right\",\n                locationOffset: [((agent.ie6 ? -3 : 0)),0,],\n                skin: SKIN(jQButton, ((agent.ie6 ? 7 : 0))),\n                onShow: onShow,\n                onHide: onHide,\n                followLink: !agent.touch\n            });\n            $Nav.declare(\"flyout.prime\");\n        });\n        $Nav.when(\"$\", \"byID\", \"agent\", \"api.publish\", \"config.lightningDeals\", \"nav.inline\").run(\"UpdateAPI\", function($, byID, agent, publishAPI, lightningDealsData) {\n            var navbarAPIError = \"no error\";\n            publishAPI(\"error\", function() {\n                return navbarAPIError;\n            });\n            function update(navDataObject) {\n                var err = \"navbar.update() error: \";\n                if (((navDataObject instanceof Object))) {\n                    $Nav.getNow(\"unlockDynamicMenus\", function() {\n                    \n                    })();\n                    var closures = [];\n                    var cleanupClosures = [];\n                    if (navDataObject.catsubnav) {\n                        try {\n                            var navCatSubnav = $(\"#nav-subnav\");\n                            if (((navCatSubnav.length > 0))) {\n                                var svDigest = ((navDataObject.catsubnav.digest || \"\"));\n                                if (((!svDigest || ((svDigest !== navCatSubnav.attr(\"data-digest\")))))) {\n                                    var catSubnavChanges = 0;\n                                    var newCatSubnav = [];\n                                    var category = navDataObject.catsubnav.category;\n                                    if (((category && ((category.type == \"link\"))))) {\n                                        var navCatItem = $(\"li.nav-category-button:first\", navCatSubnav);\n                                        if (((navCatItem.length === 0))) {\n                                            throw \"category-1\";\n                                        }\n                                    ;\n                                    ;\n                                        var cDatum = category.data;\n                                        if (((!cDatum.href || !cDatum.text))) {\n                                            throw \"category-2\";\n                                        }\n                                    ;\n                                    ;\n                                        var newCat = navCatItem.clone();\n                                        var aCat = $(\"a:first\", newCat);\n                                        if (((aCat.length === 0))) {\n                                            throw \"category-3\";\n                                        }\n                                    ;\n                                    ;\n                                        aCat.attr(\"href\", cDatum.href).html(cDatum.text);\n                                        newCatSubnav.push(newCat.get(0));\n                                        catSubnavChanges += 1;\n                                    }\n                                ;\n                                ;\n                                    var subnav = navDataObject.catsubnav.subnav;\n                                    if (((subnav && ((subnav.type == \"linkSequence\"))))) {\n                                        var navSubItem = $(\"li.nav-subnav-item\", navCatSubnav).slice(-1);\n                                        if (((navSubItem.length === 0))) {\n                                            throw \"subnav-1\";\n                                        }\n                                    ;\n                                    ;\n                                        for (var i = 0; ((i < subnav.data.length)); i++) {\n                                            var datum = subnav.data[i];\n                                            if (((!datum.href || !datum.text))) {\n                                                throw \"subnav-2\";\n                                            }\n                                        ;\n                                        ;\n                                            var newItem = navSubItem.clone();\n                                            var aElem = $(\"a:first\", newItem);\n                                            if (((aElem.length === 0))) {\n                                                throw \"subnav-3\";\n                                            }\n                                        ;\n                                        ;\n                                            aElem.attr(\"href\", datum.href).html(datum.text);\n                                            newCatSubnav.push(newItem.get(0));\n                                        };\n                                    ;\n                                        if (((newCatSubnav.length > 1))) {\n                                            catSubnavChanges += 1;\n                                        }\n                                    ;\n                                    ;\n                                    }\n                                ;\n                                ;\n                                    var navbarDiv = $(\"#navbar\");\n                                    if (((navbarDiv.length === 0))) {\n                                        throw \"catsubnav-1\";\n                                    }\n                                ;\n                                ;\n                                    if (((catSubnavChanges == 2))) {\n                                        closures.push(function() {\n                                            navCatSubnav.empty().append(newCatSubnav).css(\"display\", \"\").attr(\"data-digest\", svDigest);\n                                            navbarDiv.addClass(\"nav-subnav\");\n                                        });\n                                    }\n                                     else {\n                                        if (((catSubnavChanges === 0))) {\n                                            closures.push(function() {\n                                                navbarDiv.removeClass(\"nav-subnav\");\n                                                navCatSubnav.css(\"display\", \"none\").attr(\"data-digest\", \"0\");\n                                            });\n                                        }\n                                    ;\n                                    ;\n                                    }\n                                ;\n                                ;\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                        } catch (e) {\n                            navbarAPIError = ((err + e));\n                            return false;\n                        };\n                    ;\n                    }\n                ;\n                ;\n                    if (navDataObject.cart) {\n                        try {\n                            var cart = navDataObject.cart;\n                            if (((((cart.type == \"countPlusLD\")) || ((cart.type == \"count\"))))) {\n                                if (!cart.data) {\n                                    throw \"cart-1\";\n                                }\n                            ;\n                            ;\n                                var newCount = ((cart.data.count + \"\"));\n                                if (!newCount.match(/^(|0|[1-9][0-9]*|99\\+)$/)) {\n                                    throw \"cart-2\";\n                                }\n                            ;\n                            ;\n                                var cartCounts = $(\"#nav-cart-count, #nav_cart_flyout .nav-cart-count\");\n                                if (((cartCounts.length > 0))) {\n                                    closures.push(function() {\n                                        var cartFullClass = \"nav-cart-0\";\n                                        if (((newCount == \"99+\"))) {\n                                            cartFullClass = \"nav-cart-100\";\n                                        }\n                                         else {\n                                            if (((newCount > 99))) {\n                                                newCount = \"99+\";\n                                                cartFullClass = \"nav-cart-100\";\n                                            }\n                                             else {\n                                                if (((newCount > 19))) {\n                                                    cartFullClass = \"nav-cart-20\";\n                                                }\n                                                 else {\n                                                    if (((newCount > 9))) {\n                                                        cartFullClass = \"nav-cart-10\";\n                                                    }\n                                                ;\n                                                ;\n                                                }\n                                            ;\n                                            ;\n                                            }\n                                        ;\n                                        ;\n                                        }\n                                    ;\n                                    ;\n                                        cartCounts.removeClass(\"nav-cart-0 nav-cart-10 nav-cart-20 nav-cart-100\").addClass(cartFullClass).html(newCount);\n                                        if (((((newCount === 0)) && byID(\"nav-cart-zero\")))) {\n                                            $(\"#nav-cart-one, #nav-cart-many\").hide();\n                                            $(\"#nav-cart-zero\").show();\n                                        }\n                                         else {\n                                            if (((newCount == 1))) {\n                                                $(\"#nav-cart-zero, #nav-cart-many\").hide();\n                                                $(\"#nav-cart-one\").show();\n                                            }\n                                             else {\n                                                $(\"#nav-cart-zero, #nav-cart-one\").hide();\n                                                $(\"#nav-cart-many\").show();\n                                            }\n                                        ;\n                                        ;\n                                        }\n                                    ;\n                                    ;\n                                    });\n                                }\n                            ;\n                            ;\n                                var LDData = cart.data.LDData;\n                                if (LDData) {\n                                    closures.push(function() {\n                                        lightningDealsData = LDData;\n                                    });\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                        } catch (e) {\n                            navbarAPIError = ((err + e));\n                            return false;\n                        };\n                    ;\n                    }\n                ;\n                ;\n                    if (navDataObject.searchbar) {\n                        try {\n                            var searchbar = navDataObject.searchbar;\n                            if (((searchbar.type == \"searchbar\"))) {\n                                if (!searchbar.data) {\n                                    throw \"searchbar-1\";\n                                }\n                            ;\n                            ;\n                                var options = searchbar.data.options;\n                                if (((!options || ((options.length === 0))))) {\n                                    throw \"searchbar-2\";\n                                }\n                            ;\n                            ;\n                                var sddMeta = ((searchbar.data[\"nav-metadata\"] || {\n                                }));\n                                var dropdown = $(\"#searchDropdownBox\");\n                                if (((dropdown.length === 0))) {\n                                    dropdown = $(\"#navSearchDropdown select:first\");\n                                }\n                            ;\n                            ;\n                                if (((dropdown.length === 0))) {\n                                    throw \"searchbar-3\";\n                                }\n                            ;\n                            ;\n                                if (((!sddMeta.digest || ((sddMeta.digest !== dropdown.attr(\"data-nav-digest\")))))) {\n                                    closures.push(function() {\n                                        dropdown.JSBNG__blur().empty();\n                                        for (var i = 0; ((i < options.length)); i++) {\n                                            var attrs = options[i];\n                                            var _display = ((attrs._display || \"\"));\n                                            delete attrs._display;\n                                            $(\"\\u003Coption\\u003E\\u003C/option\\u003E\").html(_display).attr(attrs).appendTo(dropdown);\n                                        };\n                                    ;\n                                        dropdown.attr(\"data-nav-digest\", ((sddMeta.digest || \"\"))).attr(\"data-nav-selected\", ((sddMeta.selected || 0)));\n                                        $Nav.getNow(\"refreshDropDownFacade\", function() {\n                                        \n                                        })();\n                                    });\n                                }\n                                 else {\n                                    if (((sddMeta.selected != dropdown.attr(\"data-nav-selected\")))) {\n                                        closures.push(function() {\n                                            dropdown.attr(\"data-nav-selected\", sddMeta.selected).get(0).selectedIndex = sddMeta.selected;\n                                            $Nav.getNow(\"refreshDropDownFacade\", function() {\n                                            \n                                            })();\n                                        });\n                                    }\n                                ;\n                                ;\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                        } catch (e) {\n                            navbarAPIError = ((err + e));\n                            return false;\n                        };\n                    ;\n                    }\n                ;\n                ;\n                    if (navDataObject.primeBadge) {\n                        try {\n                            var isPrime = navDataObject.primeBadge.isPrime;\n                            if (((isPrime.type == \"boolean\"))) {\n                                var navbarDiv = $(\"#navbar\");\n                                if (((navbarDiv.length === 0))) {\n                                    throw \"primeBadge-1\";\n                                }\n                            ;\n                            ;\n                                closures.push(function() {\n                                    if (isPrime.data) {\n                                        navbarDiv.addClass(\"nav-prime\");\n                                    }\n                                     else {\n                                        navbarDiv.removeClass(\"nav-prime\");\n                                    }\n                                ;\n                                ;\n                                });\n                            }\n                        ;\n                        ;\n                            var homeUrl = navDataObject.primeBadge.homeUrl;\n                            if (((homeUrl.type == \"html\"))) {\n                                var navLogoTag = $(\"#nav-logo\");\n                                if (((navLogoTag.length === 0))) {\n                                    throw \"primeBadge-2\";\n                                }\n                            ;\n                            ;\n                                if (homeUrl.data) {\n                                    closures.push(function() {\n                                        navLogoTag.attr(\"href\", homeUrl.data);\n                                    });\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                        } catch (e) {\n                            navbarAPIError = ((err + e));\n                            return false;\n                        };\n                    ;\n                    }\n                ;\n                ;\n                    if (navDataObject.swmSlot) {\n                        try {\n                            var swmContent = navDataObject.swmSlot.swmContent;\n                            if (((swmContent && ((swmContent.type == \"html\"))))) {\n                                var navSwmSlotDiv = $(\"#navSwmSlot\");\n                                if (((navSwmSlotDiv.length === 0))) {\n                                    throw \"swmContent-1\";\n                                }\n                            ;\n                            ;\n                                if (swmContent.data) {\n                                    closures.push(function() {\n                                        navSwmSlotDiv.html(swmContent.data);\n                                    });\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                            var swmHeight = navDataObject.swmSlot.height;\n                            if (((swmHeight && ((swmHeight.type == \"html\"))))) {\n                                var navWelcomeRowDiv = $(\"#welcomeRowTable\");\n                                if (((navWelcomeRowDiv.length === 0))) {\n                                    throw \"swmSlotHeight-1\";\n                                }\n                            ;\n                            ;\n                                closures.push(function() {\n                                    navWelcomeRowDiv.css(\"height\", ((swmHeight.data || \"\")));\n                                    var sizeRegex = /-(small|large)$/;\n                                    var navbar = $(\"#navbar\");\n                                    $(navbar.attr(\"class\").split(/\\s+/)).filter(function() {\n                                        return sizeRegex.test(this);\n                                    }).each(function() {\n                                        var isLarge = ((parseInt(((swmHeight.data || 0)), 10) > 40));\n                                        var newClass = this.replace(sizeRegex, ((isLarge ? \"-large\" : \"-small\")));\n                                        navbar.removeClass(this).addClass(newClass);\n                                    });\n                                });\n                            }\n                        ;\n                        ;\n                            var swmStyle = navDataObject.swmSlot.style;\n                            if (((swmStyle && ((swmStyle.type == \"html\"))))) {\n                                var navAdBackgroundStyleDiv = $(\"#nav-ad-background-style\");\n                                if (((navAdBackgroundStyleDiv.length === 0))) {\n                                    throw \"swmSlotStyle-1\";\n                                }\n                            ;\n                            ;\n                                closures.push(function() {\n                                    navAdBackgroundStyleDiv.attr(\"style\", ((swmStyle.data || \"\")));\n                                });\n                            }\n                        ;\n                        ;\n                        } catch (e) {\n                            navbarAPIError = ((err + e));\n                            return false;\n                        };\n                    ;\n                    }\n                ;\n                ;\n                    if (navDataObject.signInText) {\n                        try {\n                            var customerName = navDataObject.signInText.customerName;\n                            var greetingText = navDataObject.signInText.greetingText;\n                            if (((((customerName.type == \"html\")) && greetingText.type))) {\n                                var navSignInTitleSpan = $(\"#nav-signin-title\");\n                                if (((navSignInTitleSpan.length === 0))) {\n                                    throw \"signInText-1\";\n                                }\n                            ;\n                            ;\n                                var template = navSignInTitleSpan.attr(\"data-template\");\n                                if (((((template && greetingText.data)) && customerName.data))) {\n                                    template = template.replace(\"{helloText}\", greetingText.data);\n                                    template = template.replace(\"{signInText}\", customerName.data);\n                                    closures.push(function() {\n                                        navSignInTitleSpan.html(template);\n                                    });\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                        } catch (e) {\n                            navbarAPIError = ((err + e));\n                            return false;\n                        };\n                    ;\n                    }\n                ;\n                ;\n                    if (navDataObject.yourAccountLink) {\n                        try {\n                            var yourAccountLink = navDataObject.yourAccountLink;\n                            if (((yourAccountLink.type == \"html\"))) {\n                                var navYourAccountTag = $(\"#nav-your-account\");\n                                if (((navYourAccountTag.length === 0))) {\n                                    throw \"your-account-1\";\n                                }\n                            ;\n                            ;\n                                if (yourAccountLink.data) {\n                                    closures.push(function() {\n                                        navYourAccountTag.attr(\"href\", yourAccountLink.data);\n                                    });\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                        } catch (e) {\n                            navbarAPIError = ((err + e));\n                            return false;\n                        };\n                    ;\n                    }\n                ;\n                ;\n                    if (navDataObject.crossShop) {\n                        try {\n                            var yourAmazonText = navDataObject.crossShop;\n                            if (((yourAmazonText.type == \"html\"))) {\n                                var navYourAmazonTag = $(\"#nav-your-amazon\");\n                                if (((navYourAmazonTag.length === 0))) {\n                                    throw \"yourAmazonText-1\";\n                                }\n                            ;\n                            ;\n                                closures.push(function() {\n                                    if (((yourAmazonText.data && ((navYourAmazonTag.text() != yourAmazonText.data))))) {\n                                        navYourAmazonTag.html(yourAmazonText.data);\n                                    }\n                                ;\n                                ;\n                                });\n                            }\n                        ;\n                        ;\n                            cleanupClosures.push(function() {\n                                $(\"#nav-cross-shop-links\").css(\"display\", \"\");\n                            });\n                        } catch (e) {\n                            navbarAPIError = ((err + e));\n                            return false;\n                        };\n                    ;\n                    }\n                ;\n                ;\n                    if (((closures.length > 0))) {\n                        try {\n                            for (var i = 0; ((i < closures.length)); i++) {\n                                closures[i]();\n                            };\n                        ;\n                        } catch (e) {\n                            navbarAPIError = ((err + e));\n                            return false;\n                        } finally {\n                            for (var i = 0; ((i < cleanupClosures.length)); i++) {\n                                cleanupClosures[i]();\n                            };\n                        ;\n                        };\n                    ;\n                        return true;\n                    }\n                     else {\n                        navbarAPIError = ((err + ((navDataObject.error || \"unknown error\"))));\n                    }\n                ;\n                ;\n                }\n                 else {\n                    navbarAPIError = ((err + \"parameter not an Object\"));\n                }\n            ;\n            ;\n                return false;\n            };\n        ;\n            publishAPI(\"update\", update);\n            publishAPI(\"setCartCount\", function(newCartCount) {\n                return update({\n                    cart: {\n                        type: \"count\",\n                        data: {\n                            count: newCartCount\n                        }\n                    }\n                });\n            });\n            publishAPI(\"getLightningDealsData\", function() {\n                return ((lightningDealsData || {\n                }));\n            });\n            publishAPI(\"overrideCartButtonClick\", function(clickHandler) {\n                if (!agent.touch) {\n                    $(\"#nav-cart\").click(clickHandler);\n                }\n            ;\n            ;\n                $(\"#nav-cart-menu-button\").click(clickHandler);\n            });\n        });\n        $Nav.when(\"$\", \"$byID\", \"agent\", \"template\", \"nav.inline\").build(\"flyout.initBrowsePromos\", function($, $id, agent, template) {\n            var initialized = false;\n            return function() {\n                var browsepromos = $Nav.getNow(\"config.browsePromos\");\n                if (((!browsepromos || initialized))) {\n                    return;\n                }\n            ;\n            ;\n                initialized = true;\n                $(\"#nav_browse_flyout .nav_browse_subcat\").each(function() {\n                    var $this = $(this), promoID = $this.attr(\"data-nav-promo-id\");\n                    if (promoID) {\n                        var data = browsepromos[promoID];\n                        if (data) {\n                            if (data.promoType) {\n                                if (((data.promoType == \"wide\"))) {\n                                    $this.addClass(\"nav_super_cat\");\n                                }\n                            ;\n                            ;\n                                var mapID = ((\"nav_imgmap_\" + promoID)), vOffset = ((agent.ie6 ? 15 : 14)), bottom = ((parseInt(data.vertOffset, 10) - vOffset)), right = parseInt(data.horizOffset, 10), ie6Hack = ((agent.ie6 && /\\.png$/i.test(data.image))), imgSrc = ((ie6Hack ? $id(\"nav_trans_pixel\").attr(\"src\") : data.image)), $img = $(\"\\u003Cimg\\u003E\").attr({\n                                    src: imgSrc,\n                                    alt: data.alt,\n                                    useMap: ((\"#\" + mapID))\n                                }).addClass(\"nav_browse_promo\").css({\n                                    bottom: bottom,\n                                    right: right,\n                                    width: data.width,\n                                    height: data.height\n                                });\n                                $this.prepend($img);\n                                if (ie6Hack) {\n                                    $img.get(0).style.filter = ((((\"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='\" + data.image)) + \"',sizingMethod='scale')\"));\n                                }\n                            ;\n                            ;\n                            }\n                             else {\n                                $this.prepend(template(\"#nav-tpl-asin-promo\", data));\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                });\n            };\n        });\n        $Nav.when(\"$\", \"agent\", \"config.flyoutURL\", \"btf.full\").run(\"FlyoutContent\", function($, agent, flyoutURL) {\n            window._navbar.flyoutContent = function(flyouts) {\n                var invisibleDiv = $(\"\\u003Cdiv\\u003E\").appendTo(JSBNG__document.body).hide().get(0);\n                var html = \"\";\n                {\n                    var fin32keys = ((window.top.JSBNG_Replay.forInKeys)((flyouts))), fin32i = (0);\n                    var flyout;\n                    for (; (fin32i < fin32keys.length); (fin32i++)) {\n                        ((flyout) = (fin32keys[fin32i]));\n                        {\n                            if (flyouts.hasOwnProperty(flyout)) {\n                                html += flyouts[flyout];\n                            }\n                        ;\n                        ;\n                        };\n                    };\n                };\n            ;\n                invisibleDiv.innerHTML = html;\n                $Nav.declare(\"flyout.JSBNG__content\");\n            };\n            if (flyoutURL) {\n                var script = JSBNG__document.createElement(\"script\");\n                script.setAttribute(\"type\", \"text/javascript\");\n                script.setAttribute(\"src\", flyoutURL);\n                var head = ((JSBNG__document.head || JSBNG__document.getElementsByTagName(\"head\")[0]));\n                head.appendChild(script);\n            }\n             else {\n                $Nav.declare(\"flyout.JSBNG__content\");\n            }\n        ;\n        ;\n        });\n        $Nav.when(\"$\", \"$byID\", \"template\", \"config.enableDynamicMenus\", \"config.dynamicMenuUrl\", \"config.dynamicMenuArgs\", \"config.ajaxProximity\", \"flyout.primeAjax\", \"nav.inline\").run(\"DynamicAjaxMenu\", function($, $id, template, enableDynamicMenus, dynamicMenuUrl, dynamicMenuArgs, ajaxProximity, primeAJAX) {\n            var ajaxLoaded = !enableDynamicMenus, mouseHookTriggered = !enableDynamicMenus;\n            $Nav.declare(\"unlockDynamicMenus\", function() {\n                ajaxLoaded = false;\n                mouseHookTriggered = false;\n            });\n            var ajaxLock = false;\n            var preloadStarted;\n            function allowDynamicMenuRetry() {\n                JSBNG__setTimeout(function() {\n                    mouseHookTriggered = false;\n                }, 5000);\n            };\n        ;\n            function loadDynamicMenus() {\n                $Nav.when(\"flyout.JSBNG__content\").run(\"LoadDynamicMenu\", function() {\n                    if (((ajaxLock || ajaxLoaded))) {\n                        return;\n                    }\n                ;\n                ;\n                    ajaxLock = true;\n                    var wishlistParent = $id(\"nav_wishlist_flyout\");\n                    var cartParent = $id(\"nav_cart_flyout\");\n                    var allParents = $(wishlistParent).add(cartParent);\n                    var wishlistContent = $(\".nav_dynamic\", wishlistParent);\n                    var cartContent = $(\".nav_dynamic\", cartParent);\n                    if (primeAJAX) {\n                        var primeParent = $id(\"nav-prime-menu\");\n                        allParents = allParents.add(primeParent);\n                        var primeContent = $(\".nav_dynamic\", primeParent);\n                    }\n                ;\n                ;\n                    $Nav.getNow(\"preloadSpinner\", function() {\n                    \n                    })();\n                    allParents.addClass(\"nav-ajax-loading\").removeClass(\"nav-ajax-error nav-empty\");\n                    allParents.JSBNG__find(\".nav-ajax-success\").hide();\n                    $.AmazonPopover.updateBacking(\"navbar\");\n                    $.ajax({\n                        url: dynamicMenuUrl,\n                        data: dynamicMenuArgs,\n                        dataType: \"json\",\n                        cache: false,\n                        timeout: 10000,\n                        complete: function() {\n                            allParents.removeClass(\"nav-ajax-loading\");\n                            $.AmazonPopover.updateBacking(\"navbar\");\n                            ajaxLock = false;\n                        },\n                        error: function() {\n                            allParents.addClass(\"nav-ajax-error\");\n                            allowDynamicMenuRetry();\n                        },\n                        success: function(data) {\n                            data = $.extend({\n                                cartDataStatus: false,\n                                cartCount: 0,\n                                cart: [],\n                                wishlistDataStatus: false,\n                                wishlist: [],\n                                primeMenu: null\n                            }, data);\n                            if (data.cartDataStatus) {\n                                $Nav.getNow(\"api.setCartCount\", function() {\n                                \n                                })(data.cartCount);\n                            }\n                        ;\n                        ;\n                            function updateDynamicMenu(JSBNG__status, isEmpty, parentElem, rawHTML, templateID, contentElem) {\n                                if (JSBNG__status) {\n                                    if (isEmpty) {\n                                        parentElem.addClass(\"nav-empty\").removeClass(\"nav-full\");\n                                    }\n                                     else {\n                                        parentElem.addClass(\"nav-full\").removeClass(\"nav-empty\");\n                                    }\n                                ;\n                                ;\n                                    contentElem.html(((rawHTML || template(templateID, data))));\n                                    parentElem.JSBNG__find(\".nav-ajax-success\").show();\n                                }\n                                 else {\n                                    parentElem.addClass(\"nav-ajax-error\");\n                                }\n                            ;\n                            ;\n                            };\n                        ;\n                            if (primeAJAX) {\n                                updateDynamicMenu(!!data.primeMenu, !data.primeMenu, primeParent, data.primeMenu, null, primeContent);\n                            }\n                        ;\n                        ;\n                            updateDynamicMenu(data.cartDataStatus, ((data.cart.length === 0)), cartParent, null, \"#nav-tpl-cart\", cartContent);\n                            updateDynamicMenu(data.wishlistDataStatus, ((data.wishlist.length === 0)), wishlistParent, null, \"#nav-tpl-wishlist\", wishlistContent);\n                            if (((data.cartDataStatus && data.wishlistDataStatus))) {\n                                ajaxLoaded = true;\n                            }\n                             else {\n                                allowDynamicMenuRetry();\n                            }\n                        ;\n                        ;\n                        }\n                    });\n                });\n            };\n        ;\n            function loadDynamicMenusConditionally() {\n                if (!mouseHookTriggered) {\n                    loadDynamicMenus();\n                }\n            ;\n            ;\n                mouseHookTriggered = true;\n                if (!preloadStarted) {\n                    preloadStarted = true;\n                    $Nav.declare(\"JSBNG__event.prefetch\");\n                }\n            ;\n            ;\n                return true;\n            };\n        ;\n            $Nav.declare(\"flyout.loadMenusConditionally\", loadDynamicMenusConditionally);\n            function attachTriggers() {\n                var accumLeft = [], accumRight = [], accumTop = [], accumBottom = [];\n                $(\"#nav-wishlist, #nav-cart\").each(function(i, elem) {\n                    elem = $(elem);\n                    var pos = elem.offset();\n                    accumLeft.push(pos.left);\n                    accumTop.push(pos.JSBNG__top);\n                    accumRight.push(((pos.left + elem.width())));\n                    accumBottom.push(((pos.JSBNG__top + elem.height())));\n                });\n                var proximity = ((ajaxProximity || [0,0,0,0,]));\n                var left = ((Math.min.apply(Math, accumLeft) - proximity[3])), JSBNG__top = ((Math.min.apply(Math, accumTop) - proximity[0])), width = ((((Math.max.apply(Math, accumRight) + proximity[1])) - left)), height = ((((Math.max.apply(Math, accumBottom) + proximity[2])) - JSBNG__top));\n                $.AmazonPopover.mouseTracker.add([[left,JSBNG__top,width,height,],], {\n                    inside: false,\n                    mouseEnter: loadDynamicMenusConditionally,\n                    mouseLeave: function() {\n                        return true;\n                    }\n                });\n                $(\"#nav_wishlist_flyout, #nav_cart_flyout\").JSBNG__find(\".nav-try-again\").click(loadDynamicMenus);\n            };\n        ;\n            if (dynamicMenuUrl) {\n                $Nav.when(\"page.ready\").run(attachTriggers);\n            }\n        ;\n        ;\n        });\n        $Nav.when(\"$\", \"onOptionClick\", \"throttle\", \"byID\", \"$byID\", \"btf.lite\", \"nav.inline\").run(\"SearchDropdown\", function($, onOptionClick, throttle, byID, $id) {\n            var dropdownNode = byID(\"searchDropdownBox\"), dropdown = $(dropdownNode), facade = $id(\"nav-search-in\"), facadeContent = byID(\"nav-search-in-content\"), searchBox = $id(\"twotabsearchtextbox\"), searchBoxParent = (function(elem) {\n                if (elem.hasClass(\"nav-searchfield-width\")) {\n                    return elem;\n                }\n                 else {\n                    if (((elem.parent().size() > 0))) {\n                        return arguments.callee(elem.parent());\n                    }\n                     else {\n                        return searchBox.parent();\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n            }(searchBox)), facadePrefilled = (function() {\n                return ((((facadeContent.getAttribute && facadeContent.getAttribute(\"data-value\"))) || $(facadeContent).attr(\"data-value\")));\n            }()), state = {\n                isHover: false,\n                isFocus: false,\n                searchFocus: false,\n                searchHover: false\n            }, previousVal = null;\n            if ($.browser.msie) {\n                if (((parseFloat($.browser.version) < 7))) {\n                    $Nav.declare(\"refreshDropDownFacade\", function() {\n                    \n                    });\n                    return;\n                }\n            ;\n            ;\n                facade.addClass(\"ie\");\n            }\n        ;\n        ;\n            function tweakDropdownWidth() {\n                var facadeWidth = facade.width();\n                if (((dropdown.width() < facadeWidth))) {\n                    dropdown.width(facadeWidth);\n                }\n            ;\n            ;\n            };\n        ;\n            function updateActiveState() {\n                if (state.isFocus) {\n                    facade.addClass(\"JSBNG__focus\").removeClass(\"active\");\n                    var redraw = JSBNG__document.createElement(\"div\");\n                    facade.append(redraw);\n                    JSBNG__setTimeout(function() {\n                        redraw.parentNode.removeChild(redraw);\n                    }, 10);\n                }\n                 else {\n                    if (((((state.isHover || state.searchFocus)) || state.searchHover))) {\n                        facade.addClass(\"active\").removeClass(\"JSBNG__focus\");\n                    }\n                     else {\n                        facade.removeClass(\"active focus\");\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n            };\n        ;\n            function getSelected() {\n                var len = dropdownNode.children.length;\n                for (var i = 0; ((i < len)); i++) {\n                    if (dropdownNode.children[i].selected) {\n                        return $(dropdownNode.children[i]);\n                    }\n                ;\n                ;\n                };\n            ;\n                return dropdown.children(\"option:selected\");\n            };\n        ;\n            function redrawSearchBox() {\n                if ($.browser.msie) {\n                    return;\n                }\n            ;\n            ;\n                searchBox.css(\"padding-right\", ((parseInt(searchBox.css(\"padding-right\"), 10) ? 0 : 1)));\n            };\n        ;\n            function useAbbrDropdown() {\n                var facadeWidth = $(facadeContent).width();\n                if (((facadeWidth > 195))) {\n                    return true;\n                }\n            ;\n            ;\n                if (((((facadeWidth > 100)) && ((searchBoxParent.JSBNG__outerWidth() <= 400))))) {\n                    return true;\n                }\n            ;\n            ;\n                return false;\n            };\n        ;\n            function updateFacadeWidth() {\n                $(facade).add(facadeContent).css({\n                    width: \"auto\"\n                });\n                $(facadeContent).css({\n                    overflow: \"visible\"\n                });\n                if (useAbbrDropdown()) {\n                    $(facadeContent).css({\n                        width: 100,\n                        overflow: \"hidden\"\n                    });\n                }\n            ;\n            ;\n                JSBNG__setTimeout(function() {\n                    searchBoxParent.css({\n                        \"padding-left\": facade.width()\n                    });\n                    redrawSearchBox();\n                    tweakDropdownWidth();\n                }, 1);\n            };\n        ;\n            function updateFacade() {\n                var selected = getSelected(), selectedVal = selected.val();\n                if (((selectedVal != previousVal))) {\n                    var display = ((((previousVal || ((selectedVal != facadePrefilled)))) ? selected.html() : facadeContent.innerHTML));\n                    previousVal = selectedVal;\n                    if (((facadeContent.innerHTML != display))) {\n                        facadeContent.innerHTML = display;\n                        updateFacadeWidth();\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                updateActiveState();\n            };\n        ;\n            function focusSearchBox() {\n                var iss = $Nav.getNow(\"iss\");\n                if (iss) {\n                    state[\"isFocus\"] = false;\n                    iss.JSBNG__focus();\n                }\n            ;\n            ;\n            };\n        ;\n            function keypressHandler(e) {\n                if (((e.which == 13))) {\n                    focusSearchBox();\n                }\n            ;\n            ;\n                if (((((e.which != 9)) && ((e.which != 16))))) {\n                    updateFacade();\n                }\n            ;\n            ;\n            };\n        ;\n            $Nav.declare(\"refreshDropDownFacade\", updateFacade);\n            function buildCallback(property, value) {\n                return function() {\n                    state[property] = value;\n                    updateActiveState();\n                };\n            };\n        ;\n            facade.get(0).className += \" nav-facade-active\";\n            updateFacade();\n            dropdown.change(updateFacade).keyup(keypressHandler).JSBNG__focus(buildCallback(\"isFocus\", true)).JSBNG__blur(buildCallback(\"isFocus\", false)).hover(buildCallback(\"isHover\", true), buildCallback(\"isHover\", false));\n            $Nav.when(\"dismissTooltip\").run(function(dismissTooltip) {\n                dropdown.JSBNG__focus(dismissTooltip);\n            });\n            onOptionClick(dropdown, function() {\n                focusSearchBox();\n                updateFacade();\n            });\n            $(window).resize(throttle(150, updateFacadeWidth));\n            $Nav.when(\"page.ready\").run(\"FixSearchDropdown\", function() {\n                if ((((((($(facadeContent).JSBNG__outerWidth(true) - facade.JSBNG__outerWidth())) >= 4)) || useAbbrDropdown()))) {\n                    updateFacadeWidth();\n                }\n            ;\n            ;\n                tweakDropdownWidth();\n                dropdown.css({\n                    JSBNG__top: Math.max(0, ((((facade.JSBNG__outerHeight() - dropdown.JSBNG__outerHeight())) / 2)))\n                });\n            });\n            $Nav.when(\"iss\").run(function(iss) {\n                iss.keydown(function(e) {\n                    JSBNG__setTimeout(function() {\n                        keypressHandler(e);\n                    }, 10);\n                });\n                $Nav.when(\"dismissTooltip\").run(function(dismissTooltip) {\n                    iss.keydown(dismissTooltip);\n                });\n                iss.onFocus(buildCallback(\"searchFocus\", true));\n                iss.onBlur(buildCallback(\"searchFocus\", false));\n                iss.onBlur(updateFacade);\n                if (iss.onSearchBoxHover) {\n                    iss.onSearchBoxHover(buildCallback(\"searchHover\", true), buildCallback(\"searchHover\", false));\n                }\n            ;\n            ;\n            });\n        });\n        $Nav.when(\"$\").build(\"Keycode\", function($) {\n            function Keycode(evt) {\n                this.evt = evt;\n                this.code = evt.keyCode;\n            };\n        ;\n            Keycode.prototype.isAugmented = function() {\n                return ((((this.evt.altKey || this.evt.ctrlKey)) || this.evt.metaKey));\n            };\n            Keycode.prototype.isAugmentor = function() {\n                return ((0 <= $.inArray(this.code, [0,16,20,17,18,224,91,93,])));\n            };\n            Keycode.prototype.isTextFieldControl = function() {\n                return ((0 <= $.inArray(this.code, [8,9,13,32,35,36,37,38,39,40,45,46,])));\n            };\n            Keycode.prototype.isControl = function() {\n                if (((this.code <= 46))) {\n                    return true;\n                }\n                 else {\n                    if (((((this.code >= 91)) && ((this.code <= 95))))) {\n                        return true;\n                    }\n                     else {\n                        if (((((this.code >= 112)) && ((this.code <= 145))))) {\n                            return true;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                return false;\n            };\n            Keycode.prototype.isTab = function() {\n                return ((this.code === 9));\n            };\n            Keycode.prototype.isEnter = function() {\n                return ((this.code === 13));\n            };\n            Keycode.prototype.isBackspace = function() {\n                return ((this.code === 8));\n            };\n            return Keycode;\n        });\n        $Nav.when(\"$\", \"agent\", \"iss\", \"Keycode\", \"config.autoFocus\", \"nav.inline\").run(\"autoFocus\", function($, agent, iss, Keycode, enableAutoFocus) {\n            if (!enableAutoFocus) {\n                return;\n            }\n        ;\n        ;\n            if (agent.touch) {\n                return;\n            }\n        ;\n        ;\n            function JSBNG__getSelection() {\n                if (window.JSBNG__getSelection) {\n                    return window.JSBNG__getSelection().toString();\n                }\n                 else {\n                    if (JSBNG__document.selection) {\n                        return JSBNG__document.selection.createRange().text;\n                    }\n                     else {\n                        return \"\";\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n            };\n        ;\n            function canFocus() {\n                return (((((($(JSBNG__document).scrollTop() <= $(\"#nav-iss-attach\").offset().JSBNG__top)) && (($(JSBNG__document.activeElement).filter(\"input,select,textarea\").size() < 1)))) && ((JSBNG__getSelection() === \"\"))));\n            };\n        ;\n            var first = false;\n            if (canFocus()) {\n                iss.JSBNG__focus();\n                first = true;\n            }\n        ;\n        ;\n            iss.keydown(function(e) {\n                var key = new Keycode(e);\n                if (key.isAugmentor()) {\n                    return;\n                }\n            ;\n            ;\n                var isControl = key.isControl();\n                if (key.isAugmented()) {\n                    \"noop\";\n                }\n                 else {\n                    if (first) {\n                        if (!canFocus()) {\n                            iss.JSBNG__blur();\n                        }\n                         else {\n                            if (isControl) {\n                                iss.JSBNG__blur();\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                     else {\n                        if (isControl) {\n                            if (!key.isTextFieldControl()) {\n                                iss.JSBNG__blur();\n                            }\n                             else {\n                                if (((((((((iss.keyword() === \"\")) && !key.isTab())) && !key.isEnter())) && !key.isBackspace()))) {\n                                    iss.JSBNG__blur();\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n                first = false;\n            });\n            $(JSBNG__document).keydown(function(e) {\n                var key = new Keycode(e);\n                if (!canFocus()) {\n                    return;\n                }\n            ;\n            ;\n                if (key.isControl()) {\n                    return;\n                }\n            ;\n            ;\n                if (((key.isAugmentor() || key.isAugmented()))) {\n                    return;\n                }\n            ;\n            ;\n                iss.JSBNG__focus();\n            });\n        });\n        $Nav.when(\"$\", \"api.publish\", \"config.swmStyleData\").run(\"ExternalAPI\", function($, publishAPI, swmStyleData) {\n            publishAPI(\"unHideSWM\", function() {\n                var $h = $(\"#navHiddenSwm\");\n                var s = swmStyleData;\n                if ($h.length) {\n                    $(\"#navbar\").removeClass(\"nav-logo-small nav-logo-large\").addClass(((\"nav-logo-\" + ((((parseInt(((s.height || 0)), 10) > 40)) ? \"large\" : \"small\")))));\n                    $(\"#welcomeRowTable\").css(\"height\", ((s.height || \"\")));\n                    var $swm = $(\"#navSwmSlot\");\n                    $swm.parent().attr(\"style\", ((s.style || \"\")));\n                    $swm.children().css(\"display\", \"none\");\n                    $h.css(\"display\", \"\");\n                }\n            ;\n            ;\n            });\n            var exposeState;\n            publishAPI(\"exposeSBD\", function(expose) {\n                exposeState = expose;\n                $Nav.when(\"initExposeSBD\", \"protectExposeSBD\").run(function(initExposeSBD, protectExposeSBD) {\n                    if (initExposeSBD().ok()) {\n                        protectExposeSBD(exposeState);\n                    }\n                ;\n                ;\n                });\n            });\n            publishAPI(\"navDimensions\", function() {\n                var elem = $(\"#navbar\");\n                var result = elem.offset();\n                result.height = elem.height();\n                result.bottom = ((result.JSBNG__top + result.height));\n                return result;\n            });\n            $Nav.when(\"api.unHideSWM\", \"api.exposeSBD\", \"api.navDimensions\").publish(\"navbarJSLoaded\");\n        });\n    }(window.$Nav));\n    if (((!window.$SearchJS && window.$Nav))) {\n        window.$SearchJS = $Nav.make();\n    }\n;\n;\n    if (window.$SearchJS) {\n        $SearchJS.importEvent(\"legacy-popover\", {\n            as: \"popover\",\n            amznJQ: \"popover\",\n            global: \"jQuery.AmazonPopover\"\n        });\n        $SearchJS.when(\"jQuery\", \"popover\").run(function($, AmazonPopover) {\n            $.fn.amznFlyoutIntent = function(arg) {\n                var defaults = {\n                    getTarget: function(el) {\n                        return $(this).children(\"*[position=\\\"absolute\\\"]\").eq(0);\n                    },\n                    triggerAxis: \"y\",\n                    majorDelay: 300,\n                    minorDelay: 100,\n                    targetSlopY: 50,\n                    targetSlopX: 50,\n                    cursorSlopBase: 25,\n                    cursorSlopHeight: 50,\n                    mtRegions: []\n                }, nameSp = \"amznFlyoutIntent\", mt = AmazonPopover.mouseTracker, getRect = function(el, slopX, slopY) {\n                    var off = el.offset(), tl = {\n                        x: ((off.left - ((slopX || 0)))),\n                        y: ((off.JSBNG__top - ((slopY || 0))))\n                    }, br = {\n                        x: ((((tl.x + el.JSBNG__outerWidth())) + ((((slopX || 0)) * 2)))),\n                        y: ((((tl.y + el.JSBNG__outerHeight())) + ((((slopY || 0)) * 2))))\n                    };\n                    return [tl,br,];\n                }, triBC = function(tri) {\n                    var t0 = tri[0], t1 = tri[1], t2 = tri[2];\n                    return ((((((t1.x - t0.x)) * ((t2.y - t0.y)))) - ((((t2.x - t0.x)) * ((t1.y - t0.y))))));\n                }, isInTri = function(p, tri) {\n                    var b0 = ((1 / triBC(tri))), t0 = tri[0], t1 = tri[1], t2 = tri[2];\n                    return ((((((((triBC([t1,t2,p,]) * b0)) > 0)) && ((((triBC([t2,t0,p,]) * b0)) > 0)))) && ((((triBC([t0,t1,p,]) * b0)) > 0))));\n                }, clamp = function(p, r) {\n                    var r0 = r[0], r1 = r[1];\n                    return {\n                        x: ((((p.x < r0.x)) ? -1 : ((((p.x > r1.x)) ? 1 : 0)))),\n                        y: ((((p.y < r0.y)) ? -1 : ((((p.y > r1.y)) ? 1 : 0))))\n                    };\n                }, isInRect = function(p, rect) {\n                    var c = clamp(p, rect);\n                    return ((((c.x == 0)) && ((c.y == 0))));\n                }, sel = function(a, b, a0, a1, b0, b1, d) {\n                    return ((((a < 0)) ? a0 : ((((a > 0)) ? a1 : ((((b < 0)) ? b0 : ((((b > 0)) ? b1 : d))))))));\n                }, getExtremePoints = function(p, rect) {\n                    var c = clamp(p, rect), cx = c.x, cy = c.y, r0 = rect[0], r1 = rect[1], r0x = r0.x, r0y = r0.y, r1x = r1.x, r1y = r1.y;\n                    return [{\n                        x: sel(cy, cx, r0x, r1x, r0x, r1x, 0),\n                        y: sel(cx, cy, r1y, r0y, r0y, r1y, 0)\n                    },{\n                        x: sel(cy, cx, r1x, r0x, r0x, r1x, 0),\n                        y: sel(cx, cy, r0y, r1y, r0y, r1y, 0)\n                    },];\n                }, isInCone = function(cursor, p1, cfg) {\n                    var slopRect = $.extend(true, [], cfg.slopRect), sy = cfg.targetSlopY, sx = cfg.targetSlopX, c = clamp(p1, cfg.targetRect), cx = c.x, cy = c.y, sh = cfg.cursorSlopHeight, sb = cfg.cursorSlopBase, p = $.extend({\n                    }, p1), q = $.extend({\n                    }, p1), exP;\n                    if (((cy == 0))) {\n                        slopRect[((((cx < 0)) ? 0 : 1))].x -= ((sy * cx));\n                    }\n                     else {\n                        if (((cx == 0))) {\n                            slopRect[((((cy < 0)) ? 0 : 1))].y -= ((sb * cy));\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    if (((cfg.triggerAxis === \"x\"))) {\n                        p.y = q.y -= ((sb * cy));\n                        p.x -= sh;\n                        q.x += sh;\n                    }\n                     else {\n                        q.x = p.x -= ((sb * cx));\n                        p.y -= ((sh * cx));\n                        q.y += ((sh * cx));\n                    }\n                ;\n                ;\n                    exP = getExtremePoints(p1, slopRect);\n                    return ((((isInTri(cursor, [p1,exP[0],exP[1],]) || isInTri(cursor, [p1,exP[0],p,]))) || isInTri(cursor, [p1,exP[1],q,])));\n                }, calcChangeDelay = function(c, rect, p1, p2, cfg) {\n                    var delay = 0;\n                    p1 = ((p1 || {\n                    }));\n                    p2 = ((p2 || {\n                    }));\n                    if (isInRect(c, rect)) {\n                        delay = -1;\n                    }\n                     else {\n                        if (isInCone(c, p1, cfg)) {\n                            delay = cfg.majorDelay;\n                        }\n                         else {\n                            if (((((((Math.abs(((c.x - p1.x))) < 10)) && ((Math.abs(((c.y - p1.y))) < 10)))) && isInCone(c, p2, cfg)))) {\n                                delay = cfg.minorDelay;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    return delay;\n                }, changeTrigger = function(el, cfg) {\n                    ((((cfg.triggerEl && cfg.onMouseOut)) && cfg.onMouseOut.call(cfg.triggerEl.get(0))));\n                    cfg.onMouseOver.call(el.get(0));\n                    if (!cfg.targets) {\n                        cfg.targets = {\n                        };\n                    }\n                ;\n                ;\n                    var tgt = cfg.targets[el];\n                    if (!tgt) {\n                        cfg.targets[el] = tgt = {\n                            triggerEl: $(el)\n                        };\n                        tgt.targetEl = cfg.getTarget.call(el.get(0));\n                        tgt.targetRect = getRect(tgt.targetEl);\n                        tgt.slopRect = getRect(tgt.targetEl, cfg.targetSlopY, cfg.targetSlopX);\n                    }\n                ;\n                ;\n                    cfg.triggerEl = tgt.triggerEl;\n                    cfg.targetEl = tgt.targetEl;\n                    cfg.targetRect = tgt.targetRect;\n                    cfg.slopRect = tgt.slopRect;\n                }, m = {\n                    destroy: function() {\n                        var cfg = this.data(nameSp), i;\n                        if (cfg) {\n                            JSBNG__clearTimeout(cfg.timeoutId);\n                            for (i = 0; ((i < cfg.mtRegions.length)); i++) {\n                                mt.remove(cfg.mtRegions[i]);\n                            };\n                        ;\n                            this.removeData(nameSp);\n                        }\n                    ;\n                    ;\n                    },\n                    init: function(opts) {\n                        var cfg = this.data(nameSp);\n                        if (!cfg) {\n                            cfg = $.extend(defaults, opts);\n                            this.data(nameSp, cfg);\n                        }\n                    ;\n                    ;\n                        return this.each(function() {\n                            var $this = $(this), off = $this.offset(), mouseLeave = function(immediately, args) {\n                                ((((cfg.onMouseLeave && this.el)) && cfg.onMouseLeave.call(this.el.get(0))));\n                                return true;\n                            }, mouseEnter = function(args) {\n                                JSBNG__clearTimeout(cfg.timeoutId);\n                                var trigger, changeDelay, doDelayedChange;\n                                ((((cfg.onMouseEnter && this.el)) && cfg.onMouseEnter.call(this.el.get(0))));\n                                if (((((cfg.triggerEl && this.el)) && ((cfg.triggerEl !== this.el))))) {\n                                    trigger = this.el;\n                                    changeDelay = ((cfg.targetRect ? calcChangeDelay(args.cursor, cfg.targetRect, args.priorCursors[0], args.priorCursors[1], cfg) : -1));\n                                    if (((cfg.triggerEl && ((changeDelay > 0))))) {\n                                        doDelayedChange = function() {\n                                            var delayedArgs = mt.getCallbackArgs(), nextDelay = 0;\n                                            JSBNG__clearTimeout(cfg.timeoutId);\n                                            if (((((cfg.priorCursor && ((cfg.priorCursor.x === delayedArgs.cursor.x)))) && ((cfg.priorCursor.y === delayedArgs.cursor.y))))) {\n                                                nextDelay = ((isInRect(delayedArgs.cursor, cfg.targetRect) ? -1 : 0));\n                                            }\n                                             else {\n                                                nextDelay = calcChangeDelay(delayedArgs.cursor, cfg.targetRect, delayedArgs.priorCursors[0], delayedArgs.priorCursors[1], cfg);\n                                            }\n                                        ;\n                                        ;\n                                            cfg.priorCursor = {\n                                                x: delayedArgs.cursor.x,\n                                                y: delayedArgs.cursor.y\n                                            };\n                                            if (((((nextDelay > 0)) && ((cfg.triggerEl.get(0) !== trigger.get(0)))))) {\n                                                cfg.timeoutId = JSBNG__setTimeout(function() {\n                                                    doDelayedChange.call(trigger);\n                                                }, nextDelay);\n                                            }\n                                             else {\n                                                if (((nextDelay > -1))) {\n                                                    if (isInRect(delayedArgs.cursor, getRect(trigger))) {\n                                                        changeTrigger(trigger, cfg);\n                                                    }\n                                                     else {\n                                                        ((cfg.onMouseOut && cfg.onMouseOut.call(trigger.get(0))));\n                                                    }\n                                                ;\n                                                ;\n                                                }\n                                            ;\n                                            ;\n                                            }\n                                        ;\n                                        ;\n                                        };\n                                        cfg.timeoutId = JSBNG__setTimeout(doDelayedChange, changeDelay);\n                                    }\n                                     else {\n                                        changeTrigger(this.el, cfg);\n                                    }\n                                ;\n                                ;\n                                }\n                                 else {\n                                    changeTrigger(this.el, cfg);\n                                }\n                            ;\n                            ;\n                                return true;\n                            };\n                            cfg.mtRegions.push(mt.add([[off.left,off.JSBNG__top,$this.JSBNG__outerWidth(),$this.JSBNG__outerHeight(),],], {\n                                inside: false,\n                                mouseEnter: mouseEnter,\n                                mouseLeave: mouseLeave,\n                                el: $this\n                            }));\n                        });\n                    }\n                };\n                if (m[arg]) {\n                    return m[arg].apply(this, Array.prototype.slice.call(arguments, 1));\n                }\n            ;\n            ;\n                if (((((typeof arg === \"object\")) || !arg))) {\n                    return m.init.apply(this, arguments);\n                }\n            ;\n            ;\n                return this;\n            };\n            $SearchJS.publish(\"amznFlyoutIntent\");\n        });\n        $SearchJS.when(\"jQuery\", \"amznFlyoutIntent\").run(function($) {\n            (function(window, undefined) {\n                var merchRE = /^me=/, refre = /(ref=[-\\w]+)/, ltrimre = /^\\s+/, spaceNormRe = /\\s+/g, ddre = /_dd_/, ddaliasre = /(dd_[a-z]{3,4})(_|$)[\\w]*/, deptre = /\\{department\\}/g, slashre = /\\+/g, aliasre = /search-alias\\s*=\\s*([\\w-]+)/, nodere = /node\\s*=\\s*([\\d]+)/, merchantre = /^me=([0-9A-Z]*)/, noissre = /ref=nb_sb_noss/, dcs = \"#ddCrtSel\", sdpc = \"searchDropdown_pop_conn\", tostr = Object.prototype.toString, ddBox, metrics = {\n                    isEnabled: ((((typeof uet == \"function\")) && ((typeof uex == \"function\")))),\n                    init: \"iss-init-pc\",\n                    completionsRequest0: \"iss-c0-pc\",\n                    completionsRequestSample: \"iss-cs-pc\",\n                    sample: 2,\n                    noFocusTag: \"iss-on-time\",\n                    focusTag: \"iss-late\"\n                };\n                $.isArray = (($.isArray || function(o) {\n                    return ((tostr.call(o) === \"[object Array]\"));\n                }));\n                var SS = function(sb, pe, displayHtml, handlers) {\n                    var node, noOp = function() {\n                    \n                    }, defaults = {\n                        afterCreate: noOp,\n                        beforeShow: noOp,\n                        afterShow: noOp,\n                        beforeHide: noOp,\n                        beforeHtmlChange: noOp,\n                        afterHtmlChange: noOp,\n                        onWindowResize: noOp\n                    }, events = $.extend({\n                    }, defaults, handlers);\n                    function create() {\n                        node = $(displayHtml).appendTo(((pe || sb.parent())));\n                        events.afterCreate.call(node);\n                        $(window).resize(function(e) {\n                            events.onWindowResize.call(node, e);\n                        });\n                        return node;\n                    };\n                ;\n                    function get() {\n                        return ((node || create()));\n                    };\n                ;\n                    function setHtml(h) {\n                        events.beforeHtmlChange.call(get(), h);\n                        get().html(h);\n                        events.afterHtmlChange.call(get(), h);\n                        return this;\n                    };\n                ;\n                    this.getNode = get;\n                    this.html = setHtml;\n                    this.visible = function() {\n                        if (node) {\n                            return ((node.css(\"display\") != \"none\"));\n                        }\n                    ;\n                    ;\n                        return false;\n                    };\n                    this.hide = function() {\n                        events.beforeHide.call(get());\n                        get().hide();\n                        setHtml(\"\");\n                        return this;\n                    };\n                    this.show = function() {\n                        events.beforeShow.call(get());\n                        get().show();\n                        events.afterShow.call(get());\n                        return this;\n                    };\n                };\n                var IAC = function(sb, pe, iac, newDesign) {\n                    var sbPlaceHolder, sbPlaceHolderDiv, sbNode, sbDiv, iacNode, iacDiv, widthDiv, canShowIAC = true, iacType = 0;\n                    function get() {\n                        return ((iacNode || create()));\n                    };\n                ;\n                    function create() {\n                        var p = sb.pos(true), d = sb.size(true), sbPlaceHolderCss = {\n                            JSBNG__top: p.JSBNG__top,\n                            left: p.left,\n                            width: \"100%\",\n                            border: \"2px inset\"\n                        }, sbPlaceHolderCssOverride = {\n                            background: \"none repeat scroll 0 0 transparent\",\n                            color: \"black\",\n                            \"font-family\": \"arial,sans-serif\",\n                            \"font-size\": \"12pt\",\n                            height: \"23px\",\n                            margin: \"7px 0 0\",\n                            outline: \"0 none\",\n                            padding: 0,\n                            border: \"0 none\"\n                        }, iacNodeCss = {\n                            left: p.left,\n                            width: d.width,\n                            JSBNG__top: p.JSBNG__top,\n                            \"z-index\": 1,\n                            color: \"#999\",\n                            position: \"absolute\",\n                            \"background-color\": \"#FFF\"\n                        }, iacNodeCssOverride = {\n                            left: ((p.left + 5)),\n                            width: ((d.width - 5)),\n                            border: \"0 none\",\n                            \"font-family\": \"arial,sans-serif\",\n                            \"font-size\": \"12pt\",\n                            height: \"23px\",\n                            margin: \"7px 0 0\",\n                            outline: \"0 none\",\n                            padding: 0\n                        };\n                        sbPlaceHolder = $(\"\\u003Cinput id='sbPlaceHolder' class='searchSelect' readOnly='true'/\\u003E\").css(sbPlaceHolderCss).css(((newDesign ? sbPlaceHolderCssOverride : {\n                        }))).appendTo(((pe || sb.parent())));\n                        sbPlaceHolderDiv = sbPlaceHolder.get(0);\n                        sbNode = $(\"#twotabsearchtextbox\").css({\n                            position: \"absolute\",\n                            background: \"none repeat scroll 0 0 transparent\",\n                            \"z-index\": 5,\n                            width: d.width\n                        });\n                        sbDiv = sbNode.get(0);\n                        iacNode = $(\"\\u003Cinput id='inline_auto_complete' class='searchSelect' readOnly='true'/\\u003E\").css(iacNodeCss).css(((newDesign ? iacNodeCssOverride : {\n                        }))).appendTo(((pe || sb.parent())));\n                        iacDiv = iacNode.get(0);\n                        JSBNG__setInterval(adjust, 200);\n                        sbNode.keydown(keyDown);\n                        if (newDesign) {\n                            widthDiv = sb.parent().parent();\n                        }\n                    ;\n                    ;\n                        return iacNode;\n                    };\n                ;\n                    function adjust() {\n                        var p = sb.pos(), d = sb.size(), adjustment = 0, w = d.width;\n                        if (newDesign) {\n                            adjustment = 5;\n                            w = ((widthDiv.width() - adjustment));\n                        }\n                    ;\n                    ;\n                        sbNode.css({\n                            left: ((p.left + adjustment)),\n                            JSBNG__top: p.JSBNG__top,\n                            width: w\n                        });\n                        iacNode.css({\n                            left: ((p.left + adjustment)),\n                            JSBNG__top: p.JSBNG__top,\n                            width: w\n                        });\n                    };\n                ;\n                    function keyDown(JSBNG__event) {\n                        var value = get().val();\n                        get().val(\"\");\n                        var key = JSBNG__event.keyCode;\n                        switch (key) {\n                          case 8:\n                        \n                          case 37:\n                        \n                          case 46:\n                            if (((value && ((value.length > 0))))) {\n                                JSBNG__event.preventDefault();\n                            }\n                        ;\n                        ;\n                            iacType = 0;\n                            canShowIAC = false;\n                            break;\n                          case 32:\n                            iacType = 0;\n                            canShowIAC = false;\n                            break;\n                          case 13:\n                            if (((iac == 2))) {\n                                break;\n                            }\n                        ;\n                        ;\n                          case 39:\n                            if (((value && ((value.length > 0))))) {\n                                sb.keyword(value);\n                                iacType = ((((key == 13)) ? 1 : 2));\n                            }\n                        ;\n                        ;\n                            canShowIAC = true;\n                            break;\n                          case 16:\n                        \n                          case 17:\n                        \n                          case 18:\n                        \n                          case 20:\n                        \n                          case 229:\n                            get().val(value);\n                          default:\n                            iacType = 0;\n                            canShowIAC = true;\n                            break;\n                        };\n                    ;\n                    };\n                ;\n                    this.val = function(value) {\n                        if (((value !== undefined))) {\n                            get().val(value);\n                        }\n                    ;\n                    ;\n                        return get().val();\n                    };\n                    this.clear = function() {\n                        get().val(\"\");\n                    };\n                    this.type = function() {\n                        return iacType;\n                    };\n                    this.displayable = function(showIAC) {\n                        if (((showIAC !== undefined))) {\n                            canShowIAC = showIAC;\n                        }\n                    ;\n                    ;\n                        return canShowIAC;\n                    };\n                    this.touch = function() {\n                        get();\n                        return true;\n                    };\n                };\n                var IH = function(updateFunc) {\n                    var curIme, ku, kd, updateKwChange = updateFunc;\n                    function clearCurIme() {\n                        kd = ku = undefined, curIme = \"\";\n                    };\n                ;\n                    function keydown(keyCode) {\n                        return ((keyCode ? kd = keyCode : kd));\n                    };\n                ;\n                    function update(sbCurText) {\n                        if (updateKwChange) {\n                            updateKwChange(((((sbCurText && ((sbCurText.length > 0)))) ? ((sbCurText + curIme)) : curIme)));\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function keyup(keyCode, sbCurText) {\n                        if (((keyCode != undefined))) {\n                            ku = keyCode;\n                            if (((((curIme && ((curIme.length > 0)))) && ((((ku == 8)) || ((ku == 46))))))) {\n                                curIme = curIme.substring(0, ((curIme.length - 1)));\n                                update(sbCurText);\n                            }\n                             else {\n                                if (((((ku >= 65)) && ((ku <= 90))))) {\n                                    var kchar = String.fromCharCode(ku);\n                                    curIme += kchar;\n                                    update(sbCurText);\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        return ku;\n                    };\n                ;\n                    function shouldHandle() {\n                        return ((((kd == 229)) || ((kd == 197))));\n                    };\n                ;\n                    this.keydown = keydown;\n                    this.keyup = keyup;\n                    this.isImeInput = shouldHandle;\n                    this.reset = clearCurIme;\n                };\n                var SB = function(sb, h) {\n                    var curText, curSel, latestUserInput, navIssAttach, sbPlaceHolder, imeUsed = false, ih = ((h.opt.imeEnh && new IH(function(val) {\n                        updateKwChange(val);\n                    })));\n                    init();\n                    function init() {\n                        if (metrics.isEnabled) {\n                            ue.tag(((((sb.get(0) === JSBNG__document.activeElement)) ? metrics.focusTag : metrics.noFocusTag)));\n                        }\n                    ;\n                    ;\n                        sb.keydown(keyDown).keyup(keyUp).keypress(keyPress).JSBNG__blur(blurHandler).JSBNG__focus(focusHandler).click(clickHandler);\n                        latestUserInput = curText = kw();\n                        ((h.newDesign && (navIssAttach = $(\"#nav-iss-attach\"))));\n                    };\n                ;\n                    function kw(k) {\n                        if (((k !== undefined))) {\n                            curText = curSel = k;\n                            sb.val(k);\n                        }\n                    ;\n                    ;\n                        return sb.val().replace(ltrimre, \"\").replace(spaceNormRe, \" \");\n                    };\n                ;\n                    function input(k) {\n                        if (((k !== undefined))) {\n                            latestUserInput = k;\n                        }\n                    ;\n                    ;\n                        return latestUserInput;\n                    };\n                ;\n                    function keyDown(e) {\n                        var key = e.keyCode, d = ((((key == 38)) ? -1 : ((((key == 40)) ? 1 : 0))));\n                        if (ih) {\n                            ih.keydown(key);\n                        }\n                    ;\n                    ;\n                        imeUsed = ((((((key == 229)) || ((key == 197)))) ? true : ((((((((key >= 48)) && ((key <= 57)))) || ((((key >= 65)) && ((key <= 90)))))) ? false : imeUsed))));\n                        if (((h.opt.twoPane === 1))) {\n                            return h.twoPaneArrowKeyHandler(e);\n                        }\n                    ;\n                    ;\n                        if (d) {\n                            h.adjust(d);\n                            if (((kw() != \"\"))) {\n                                e.preventDefault();\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        if (h.opt.doCTW) {\n                            h.opt.doCTW(e);\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function keyUp(e) {\n                        var key = e.keyCode;\n                        switch (key) {\n                          case 13:\n                            h.hide();\n                            break;\n                          case 27:\n                            return h.dismiss();\n                          case 37:\n                        \n                          case 38:\n                        \n                          case 39:\n                        \n                          case 40:\n                            break;\n                          default:\n                            if (((ih && ih.isImeInput()))) {\n                                ih.keyup(key, curText);\n                            }\n                             else {\n                                update(true);\n                            }\n                        ;\n                        ;\n                            break;\n                        };\n                    ;\n                    };\n                ;\n                    function keyPress(e) {\n                        var key = e.keyCode;\n                        switch (key) {\n                          case 13:\n                            return h.submitEnabled();\n                          default:\n                            h.keyPress();\n                            break;\n                        };\n                    ;\n                    };\n                ;\n                    function updateKwChange(val) {\n                        input(val);\n                        h.change(val);\n                    };\n                ;\n                    function update(dontCheckCurSel) {\n                        var val = kw();\n                        if (((((val != curText)) && ((dontCheckCurSel || ((val != curSel))))))) {\n                            curText = val;\n                            updateKwChange(val);\n                            if (ih) {\n                                ih.reset();\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function focusHandler(e) {\n                        if (ih) {\n                            ih.reset();\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function blurHandler(e) {\n                        h.dismiss();\n                        if (ih) {\n                            ih.reset();\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function clickHandler(e) {\n                        h.click(kw());\n                        if (ih) {\n                            ih.reset();\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function getSbPlaceHolder() {\n                        if (!sbPlaceHolder) {\n                            sbPlaceHolder = $(\"#sbPlaceHolder\");\n                        }\n                    ;\n                    ;\n                        return sbPlaceHolder;\n                    };\n                ;\n                    this.keyword = function(k) {\n                        return kw(k);\n                    };\n                    this.userInput = function(k) {\n                        return input(k);\n                    };\n                    this.size = function(nonIAC) {\n                        var e = sb;\n                        if (h.newDesign) {\n                            e = navIssAttach;\n                        }\n                         else {\n                            if (((((!nonIAC && h.iac)) && h.checkIAC()))) {\n                                e = getSbPlaceHolder();\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        return {\n                            width: e.JSBNG__outerWidth(),\n                            height: e.JSBNG__outerHeight()\n                        };\n                    };\n                    this.pos = function(nonIAC) {\n                        var e = sb;\n                        if (h.newDesign) {\n                            e = navIssAttach;\n                        }\n                         else {\n                            if (((((!nonIAC && h.iac)) && h.checkIAC()))) {\n                                e = getSbPlaceHolder();\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        return e.position();\n                    };\n                    this.offset = function(nonIAC) {\n                        var e = sb;\n                        if (((((!nonIAC && h.iac)) && h.checkIAC()))) {\n                            e = getSbPlaceHolder();\n                        }\n                    ;\n                    ;\n                        return e.offset();\n                    };\n                    this.parent = function() {\n                        return sb.parent();\n                    };\n                    this.hasFocus = function() {\n                        return ((sb.get(0) === JSBNG__document.activeElement));\n                    };\n                    this.cursorPos = function() {\n                        var input = sb.get(0);\n                        if (((\"selectionStart\" in input))) {\n                            return input.selectionStart;\n                        }\n                         else {\n                            if (JSBNG__document.selection) {\n                                input.JSBNG__focus();\n                                var sel = JSBNG__document.selection.createRange();\n                                var selLen = JSBNG__document.selection.createRange().text.length;\n                                sel.moveStart(\"character\", -input.value.length);\n                                return ((sel.text.length - selLen));\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        return -1;\n                    };\n                    this.update = update;\n                    this.JSBNG__blur = function() {\n                        sb.JSBNG__blur();\n                    };\n                    this.JSBNG__focus = function() {\n                        var val = sb.val();\n                        sb.JSBNG__focus().val(\"\").val(val);\n                    };\n                    this.keydown = function(h) {\n                        sb.keydown(h);\n                    };\n                    this.click = function(h) {\n                        sb.click(h);\n                    };\n                    this.onFocus = function(h) {\n                        sb.JSBNG__focus(h);\n                    };\n                    this.onBlur = function(h) {\n                        sb.JSBNG__blur(h);\n                    };\n                    this.isImeUsed = function() {\n                        return imeUsed;\n                    };\n                };\n                var AC = function(opts) {\n                    var version = 1, opt = {\n                    }, names, values, crtSel = -1, redirectFirstSuggestion = false, crtXcatSel = -1, suggestionList = [], twoPaneSuggestionsList = [], curSize = 0, hideDelayTimerId = null, timer = null, maxCategorySuggestions = 4, categorySuggestions = 0, imeSpacing = 0, suggestRequest = null, first = -1, defaultDropDownVal, insertedDropDownVal, delayedDOMUpdate = false, staticContent, searchBox, keystroke, sugHandler, inlineAutoComplete, JSBNG__searchSuggest, activityAllowed = true, promoList = [], suggType = \"sugg\", newDesign = $(\"#navbar\").hasClass(\"nav-beacon\"), defaults = {\n                        sb: \"#twotabsearchtextbox\",\n                        form: \"#navbar form[name='site-search']\",\n                        dd: \"#searchDropdownBox\",\n                        cid: \"amazon-search-ui\",\n                        action: \"\",\n                        sugPrefix: \"issDiv\",\n                        sugText: \"Search suggestions\",\n                        fb: 0,\n                        xcat: 0,\n                        twoPane: 0,\n                        dupElim: 0,\n                        imeSpacing: 0,\n                        maxSuggestions: 10\n                    }, lastKeyPressTime, timeToFirstSuggestion = 0, searchAliasFrom, defaultTimeout = 100, reqCounter = 0;\n                    ((opts && init(opts)));\n                    function init(opts) {\n                        $.extend(opt, defaults, opts);\n                        newDesign = ((opt.isNavInline && newDesign));\n                        var src = opt.src;\n                        staticContent = $.isArray(src), resizeToken = null;\n                        lookup(opt, \"sb\");\n                        if (!opt.sb) {\n                            return;\n                        }\n                    ;\n                    ;\n                        searchBox = new SB(opt.sb, {\n                            adjust: move,\n                            twoPaneArrowKeyHandler: twoPaneArrowKeyHandler,\n                            hide: hideSuggestions,\n                            dismiss: dismissSuggestions,\n                            change: ((staticContent ? update : delayUpdate)),\n                            submitEnabled: submitEnabled,\n                            keyPress: keyPress,\n                            click: clickHandler,\n                            newDesign: newDesign,\n                            iac: opt.iac,\n                            checkIAC: checkIAC,\n                            opt: opt\n                        });\n                        lookup(opt, \"pe\");\n                        if (opt.iac) {\n                            inlineAutoComplete = new IAC(searchBox, opt.pe, opt.iac, newDesign);\n                        }\n                    ;\n                    ;\n                        if (((opt.twoPane == false))) {\n                            JSBNG__searchSuggest = new SS(searchBox, opt.pe, \"\\u003Cdiv id=\\\"srch_sggst\\\"/\\u003E\", {\n                                afterCreate: resizeHandler,\n                                onWindowResize: resizeHandler,\n                                beforeShow: resizeHandler\n                            });\n                        }\n                         else {\n                            JSBNG__searchSuggest = new SS(searchBox, opt.pe, \"\\u003Cdiv id=\\\"srch_sggst\\\" class=\\\"two-pane\\\" style=\\\"display:none\\\"/\\u003E\", {\n                                afterCreate: twoPaneSetPosition,\n                                beforeHtmlChange: twoPaneDestroyFlyout,\n                                beforeShow: twoPaneSetPosition,\n                                afterShow: function(h) {\n                                    twoPaneSetPosition.call(this);\n                                    twoPaneSetXcatPosition.call(this);\n                                    twoPaneBindFlyout.call(this);\n                                },\n                                onWindowResize: function() {\n                                    var $this = this;\n                                    resize = function() {\n                                        twoPaneDestroyFlyout.call($this);\n                                        twoPaneBindFlyout.call($this);\n                                        resizeToken = null;\n                                    };\n                                    window.JSBNG__clearTimeout(resizeToken);\n                                    resizeToken = window.JSBNG__setTimeout(resize, 100);\n                                    twoPaneSetPosition.call($this);\n                                    twoPaneSetXcatPosition.call($this);\n                                }\n                            });\n                        }\n                    ;\n                    ;\n                        lookup(opt, \"form\");\n                        lookup(opt, \"valInput\");\n                        lookup(opt, \"dd\");\n                        lookup(opt, \"submit\");\n                        ddBox = opt.dd;\n                        opt.protocol = ((((opt.protocol || window.JSBNG__document.JSBNG__location.protocol)) || \"http:\"));\n                        if (ddBox) {\n                            defaultDropDownVal = ddBox.val();\n                        }\n                    ;\n                    ;\n                        if (staticContent) {\n                            names = src[0];\n                            values = src[1];\n                            opt.sb.removeAttr(\"style\");\n                        }\n                         else {\n                        \n                        }\n                    ;\n                    ;\n                        if (opt.submit) {\n                            disable(\"disabled\");\n                            opt.submitImgDef = opt.submit.attr(\"src\");\n                            opt.submitToggle = ((opt.submitImgDef && opt.submitImg));\n                        }\n                    ;\n                    ;\n                        if (opt.ime) {\n                            window.JSBNG__setInterval(function() {\n                                searchBox.update();\n                            }, 20);\n                        }\n                    ;\n                    ;\n                        this.version = version;\n                        $SearchJS.importEvent(\"navbarPromos\");\n                        $SearchJS.when(\"navbarPromos\").run(function() {\n                            promoList = window.navbar.issPromotions(3);\n                        });\n                    };\n                ;\n                    function initStatic(sb, form, valInput, submit, submitImg, names, values, noMatch, ime, multiword, dummy0) {\n                        init({\n                            form: form,\n                            ime: ime,\n                            multiword: multiword,\n                            noMatch: noMatch,\n                            sb: sb,\n                            src: [names,values,],\n                            submit: submit,\n                            submitImg: submitImg,\n                            valInput: valInput\n                        });\n                    };\n                ;\n                    function initDynamic(sb, form, dd, service, mkt, aliases, handler, deptText, sugText, sc, dummy0) {\n                        init({\n                            aliases: aliases,\n                            dd: dd,\n                            deptText: deptText,\n                            form: form,\n                            handler: handler,\n                            ime: ((((mkt == 6)) || ((mkt == 3240)))),\n                            mkt: mkt,\n                            sb: sb,\n                            sc: sc,\n                            src: service,\n                            sugText: sugText\n                        });\n                    };\n                ;\n                    function lookup(h, k, n) {\n                        if (n = h[k]) {\n                            n = $(n);\n                            if (((n && n.length))) {\n                                h[k] = n;\n                                return n;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        delete h[k];\n                    };\n                ;\n                    function disable(d) {\n                        if (opt.submit.prop) {\n                            opt.submit.prop(\"disabled\", d);\n                        }\n                         else {\n                            opt.submit.attr(\"disabled\", d);\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function move(n) {\n                        if (((curSize <= 0))) {\n                            return;\n                        }\n                    ;\n                    ;\n                        try {\n                            unhighlightCurrentSuggestion();\n                            if (((((n > 0)) && ((crtSel >= ((curSize - 1))))))) {\n                                crtSel = -1;\n                            }\n                             else {\n                                if (((((n < 0)) && ((crtSel < 0))))) {\n                                    crtSel = ((curSize - 1));\n                                }\n                                 else {\n                                    crtSel += n;\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                            highlightCurrentSuggestion(true);\n                        } catch (e) {\n                        \n                        };\n                    ;\n                    };\n                ;\n                    function wrap(x, min, max) {\n                        return ((((x > max)) ? min : ((((x < min)) ? max : x))));\n                    };\n                ;\n                    function twoPaneArrowKeyHandler(e) {\n                        var key = e.keyCode, list = twoPaneSuggestionsList, mainLength = list.length, xcatLength = ((((list[crtSel] && list[crtSel].xcat)) ? list[crtSel].xcat.length : 0)), ssNode = JSBNG__searchSuggest.getNode(), n, crtSelId, xcatSelId, firstId = ((opt.sugPrefix + 0));\n                        if (((((e.ctrlKey || e.altKey)) || e.shiftKey))) {\n                            return;\n                        }\n                    ;\n                    ;\n                        switch (key) {\n                          case 38:\n                        \n                          case 40:\n                            n = ((((key === 38)) ? -1 : 1));\n                            if (((((crtSel > -1)) && ((crtXcatSel >= 0))))) {\n                                crtXcatSel = wrap(((crtXcatSel + n)), 0, ((xcatLength - 1)));\n                            }\n                             else {\n                                crtSel = wrap(((crtSel + n)), -1, ((mainLength - 1)));\n                            }\n                        ;\n                        ;\n                            break;\n                          case 37:\n                        \n                          case 39:\n                            if (((crtSel <= -1))) {\n                                return;\n                            }\n                        ;\n                        ;\n                            if (((((((key === 39)) && ((crtXcatSel <= -1)))) && ((xcatLength > 0))))) {\n                                crtXcatSel = 0;\n                            }\n                             else {\n                                if (((key === 37))) {\n                                    crtXcatSel = -1;\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                            break;\n                          default:\n                            return;\n                        };\n                    ;\n                        crtSelId = ((opt.sugPrefix + crtSel));\n                        xcatSelId = ((((((opt.sugPrefix + crtSel)) + \"-\")) + crtXcatSel));\n                        ssNode.JSBNG__find(((((\"#\" + opt.sugPrefix)) + \"0\"))).removeClass(\"xcat-arrow-hint\");\n                        ssNode.JSBNG__find(\".main-suggestion\").each(function(i, el) {\n                            var e = $(el);\n                            if (((el.id === crtSelId))) {\n                                e.addClass(\"suggest_link_over\");\n                                ssNode.JSBNG__find(((\"#xcatPanel-\" + i))).show().JSBNG__find(\".xcat-suggestion\").each(function(i, el) {\n                                    var e = $(el);\n                                    if (((el.id !== xcatSelId))) {\n                                        e.removeClass(\"suggest_link_over\");\n                                    }\n                                     else {\n                                        e.addClass(\"suggest_link_over\");\n                                    }\n                                ;\n                                ;\n                                });\n                            }\n                             else {\n                                if (((((crtSel <= -1)) && ((el.id === firstId))))) {\n                                    e.removeClass(\"suggest_link_over\");\n                                    ssNode.JSBNG__find(((((\"#\" + opt.sugPrefix)) + \"0\"))).addClass(\"xcat-arrow-hint\");\n                                    ssNode.JSBNG__find(\"#xcatPanel-0\").show().JSBNG__find(\".xcat-suggestion\").removeClass(\"suggest_link_over\");\n                                }\n                                 else {\n                                    e.removeClass(\"suggest_link_over\");\n                                    ssNode.JSBNG__find(((\"#xcatPanel-\" + i))).hide();\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                        });\n                        updateCrtSuggestion();\n                        e.preventDefault();\n                        return false;\n                    };\n                ;\n                    function clickHandler(kw) {\n                        if (!kw.length) {\n                            displayPromotions();\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function hideSuggestions() {\n                        ((!opt.ime && hideSuggestionsDiv()));\n                    };\n                ;\n                    function dismissSuggestions() {\n                        if (JSBNG__searchSuggest.visible()) {\n                            hideDelayTimerId = JSBNG__setTimeout(function() {\n                                return (function() {\n                                    hideDelayTimerId = null;\n                                    hideSuggestionsDiv();\n                                });\n                            }(), 300);\n                            crtSel = -1;\n                            if (((suggType == \"sugg\"))) {\n                                updateCrtSuggestion();\n                            }\n                        ;\n                        ;\n                            return false;\n                        }\n                    ;\n                    ;\n                        return true;\n                    };\n                ;\n                    function update(kw) {\n                        suggestionList = [];\n                        twoPaneSuggestionsList = [];\n                        if (!kw.length) {\n                            displayPromotions();\n                            if (inlineAutoComplete) {\n                                inlineAutoComplete.clear();\n                            }\n                        ;\n                        ;\n                        }\n                         else {\n                            first = -1;\n                            if (opt.multiword) {\n                                findSeq();\n                            }\n                             else {\n                                findBin();\n                            }\n                        ;\n                        ;\n                            curSize = suggestionList.length;\n                            displaySuggestions(kw);\n                            checkForExactMatch();\n                            checkForManualOverride();\n                        }\n                    ;\n                    ;\n                        timer = null;\n                        crtSel = -1;\n                        crtXcatSel = -1;\n                    };\n                ;\n                    function delayUpdate(kw) {\n                        var then = now();\n                        if (timer) {\n                            JSBNG__clearTimeout(timer);\n                            timer = null;\n                        }\n                    ;\n                    ;\n                        timer = JSBNG__setTimeout(function() {\n                            if (inlineAutoComplete) {\n                                inlineAutoComplete.clear();\n                            }\n                        ;\n                        ;\n                            return (function() {\n                                if (((!kw || !kw.length))) {\n                                    displayPromotions();\n                                }\n                                 else {\n                                    ((opt.imeEnh ? searchJSONSuggest(kw) : searchJSONSuggest()));\n                                }\n                            ;\n                            ;\n                                timer = null;\n                                crtSel = -1;\n                                crtXcatSel = -1;\n                            });\n                        }(), defaultTimeout);\n                    };\n                ;\n                    function submitEnabled() {\n                        if (((((suggType == \"promo\")) && ((crtSel > -1))))) {\n                            JSBNG__document.JSBNG__location.href = promoList[crtSel].href;\n                            return false;\n                        }\n                    ;\n                    ;\n                        var s = opt.submit;\n                        if (s) {\n                            return ((s.prop ? !s.prop(\"disabled\") : !s.attr(\"disabled\")));\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function keyPress(key) {\n                        ((keystroke && keystroke(key)));\n                    };\n                ;\n                    function bindSubmit(handler) {\n                        opt.form.submit(handler);\n                    };\n                ;\n                    function bindKeypress(handler) {\n                        keystroke = handler;\n                    };\n                ;\n                    function bindSuggest(handler) {\n                        sugHandler = handler;\n                    };\n                ;\n                    function normalize(s) {\n                        if (opt.normalize) {\n                            return opt.normalize(s);\n                        }\n                         else {\n                            return s.toLowerCase();\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function findBin() {\n                        var low = 0, high = ((names.length - 1)), mid = -1, dataPrefix = \"\", crtPrefix = normalize(keyword()), len = crtPrefix.length;\n                        while (((low <= high))) {\n                            mid = Math.floor(((((low + high)) / 2)));\n                            dataPrefix = normalize(names[mid]).substr(0, len);\n                            if (((dataPrefix < crtPrefix))) {\n                                low = ((mid + 1));\n                            }\n                             else {\n                                high = ((mid - 1));\n                                if (((dataPrefix == crtPrefix))) {\n                                    first = mid;\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                        if (((first != -1))) {\n                            var i = first, n;\n                            do {\n                                suggestionList.push({\n                                    keyword: names[i],\n                                    i: i\n                                });\n                                ++i;\n                            } while (((((((suggestionList.length < opt.maxSuggestions)) && (n = names[i]))) && !normalize(n).indexOf(crtPrefix))));\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function findSeq() {\n                        var crtPrefix = normalize(keyword()), rexp = new RegExp(((\"(^|(?:\\\\s))\" + crtPrefix)), \"i\"), i = 0, len = names.length, n;\n                        for (; ((((i < len)) && ((suggestionList.length < opt.maxSuggestions)))); i++) {\n                            n = names[i];\n                            if (normalize(n).match(rexp)) {\n                                suggestionList.push({\n                                    keyword: n,\n                                    i: i\n                                });\n                                if (((first == -1))) {\n                                    first = i;\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                    };\n                ;\n                    function checkForExactMatch() {\n                        var state = \"disabled\";\n                        if (curSize) {\n                            var sg = normalize(suggestionList[0].keyword), kw = normalize(keyword());\n                            if (((((sg.length == kw.length)) && !getPrefixPos(sg, kw)))) {\n                                updateForm(first);\n                                state = \"\";\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        disable(state);\n                    };\n                ;\n                    function checkForManualOverride() {\n                        if (((opt.manualOverride && !curSize))) {\n                            var kw = keyword();\n                            var url = opt.manualOverride(kw);\n                            if (((url && url.length))) {\n                                updateWholeForm(url);\n                                disable(\"\");\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function displayPromotions() {\n                        if (((((!newDesign || !promoList)) || ((promoList.length == 0))))) {\n                            hideSuggestionsDiv();\n                            hideNoMatches();\n                            return;\n                        }\n                    ;\n                    ;\n                        curSize = promoList.length;\n                        suggType = \"promo\";\n                        JSBNG__searchSuggest.html(\"\");\n                        hideNoMatches();\n                        JSBNG__searchSuggest.show();\n                        h = \"\\u003Cul class=\\\"promo_list\\\"\\u003E\";\n                        for (i = 0; ((i < curSize)); i++) {\n                            p = promoList[i];\n                            h += ((((((((((\"\\u003Cli id=\\\"\" + opt.sugPrefix)) + i)) + \"\\\" onclick=\\\"document.JSBNG__location.href='\")) + p.href)) + \"'\\\"\\u003E\"));\n                            h += ((((\"\\u003Cdiv class=\\\"promo_image\\\" style=\\\"background-image: url('\" + p.image)) + \"');\\\"\\u003E\\u003C/div\\u003E\"));\n                            h += ((((\"\\u003Cdiv class=\\\"promo_cat\\\"\\u003E\" + p.category)) + \"\\u003C/div\\u003E\"));\n                            h += ((((\"\\u003Cdiv class=\\\"promo_title\\\"\\u003E\" + p.title)) + \"\\u003C/div\\u003E\"));\n                            h += \"\\u003C/li\\u003E\";\n                        };\n                    ;\n                        h += \"\\u003C/ul\\u003E\";\n                        JSBNG__searchSuggest.html(h);\n                        window.navbar.logImpression(\"iss\");\n                        for (i = 0; ((i < curSize)); ++i) {\n                            $(((((\"#\" + opt.sugPrefix)) + i))).mouseover(suggestOver).mouseout(suggestOut);\n                        };\n                    ;\n                    };\n                ;\n                    function displaySuggestions(crtPrefix) {\n                        var sugDivId, lineText, line, sPrefix = opt.sugPrefix, prefix = ((\"#\" + sPrefix)), h = \"\", imeSpacing = ((opt.imeSpacing && searchBox.isImeUsed())), currAlias = ((searchAlias() || ((opt.deepNodeISS && opt.deepNodeISS.searchAliasAccessor())))), suggType = \"sugg\";\n                        JSBNG__searchSuggest.html(\"\");\n                        if (((curSize > 0))) {\n                            hideNoMatches();\n                            JSBNG__searchSuggest.show();\n                            if (((!staticContent && !newDesign))) {\n                                h += ((((\"\\u003Cdiv id=\\\"sugdivhdr\\\" align=\\\"right\\\"\\u003E \" + opt.sugText)) + \"\\u003C/div\\u003E\"));\n                            }\n                        ;\n                        ;\n                            if (((opt.iac && inlineAutoComplete.displayable()))) {\n                                var sg = normalize(suggestionList[0].keyword), originalKw = opt.sb.val(), normalizedKw = normalize(keyword());\n                                if (((((((normalizedKw.length > 0)) && ((sg != normalizedKw)))) && ((sg.indexOf(normalizedKw) == 0))))) {\n                                    inlineAutoComplete.val(((originalKw + sg.substring(normalizedKw.length))));\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                        }\n                         else {\n                            showNoMatches();\n                        }\n                    ;\n                    ;\n                        for (i = 0; ((i < curSize)); i++) {\n                            line = suggestionList[i];\n                            sugDivId = ((sPrefix + i));\n                            if (((((((line.alias && ((line.alias == currAlias)))) && opt.deepNodeISS)) && opt.deepNodeISS.showDeepNodeCorr))) {\n                                lineText = getFormattedCategoryLine(line, crtPrefix);\n                            }\n                             else {\n                                if (((line.alias && ((line.alias != currAlias))))) {\n                                    lineText = getFormattedCategoryLine(line, crtPrefix);\n                                }\n                                 else {\n                                    lineText = getFormattedSuggestionLine(line, crtPrefix);\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                            var className = \"suggest_link\";\n                            if (((((i == 0)) && imeSpacing))) {\n                                className += \" imeSpacing\";\n                            }\n                        ;\n                        ;\n                            h += ((((((((((((\"\\u003Cdiv id=\\\"\" + sugDivId)) + \"\\\" class=\\\"\")) + className)) + \"\\\"\\u003E\")) + lineText)) + \"\\u003C/div\\u003E\"));\n                            if (((((enableSeparateCategorySuggestion() && ((i == categorySuggestions)))) && ((i < ((curSize - 1))))))) {\n                                h += \"\\u003Cdiv class=\\\"sx_line_holder\\\" /\\u003E\";\n                            }\n                        ;\n                        ;\n                        };\n                    ;\n                        if (((((curSize > 0)) && !newDesign))) {\n                            h += \"\\u003Cdiv id=\\\"sugdivhdr2\\\" align=\\\"right\\\"\\u003E&nbsp;\\u003C/div\\u003E\";\n                        }\n                    ;\n                    ;\n                        ((h && JSBNG__searchSuggest.html(h)));\n                        if (((((timeToFirstSuggestion == 0)) && ((suggestionList.length > 0))))) {\n                            recordTimeToFirstSuggestion();\n                        }\n                    ;\n                    ;\n                        if (ddBox) {\n                            defaultDropDownVal = ddBox.val();\n                        }\n                    ;\n                    ;\n                        searchAliasFrom = extractSearchAlias(defaultDropDownVal);\n                        for (i = 0; ((i < curSize)); ++i) {\n                            $(((prefix + i))).mouseover(suggestOver).mouseout(suggestOut).click(setSearchByIndex);\n                        };\n                    ;\n                    };\n                ;\n                    function displayTwoPaneSuggestions(crtPrefix) {\n                        var len = crtPrefix.length, i, j, k, sg, isIe6 = (($.browser.msie && (($.browser.version == \"6.0\")))), targetOffset, sb = [], a = function() {\n                            $.each(arguments, function(i, t) {\n                                sb.push(t);\n                            });\n                        }, sgLen = twoPaneSuggestionsList.length, xcatLen, maxXcatLen = 0, imeSpacing = ((opt.imeSpacing && searchBox.isImeUsed())), ssNode;\n                        $($.JSBNG__find(\".main-suggestion:first\")).amznFlyoutIntent(\"destroy\");\n                        if (((curSize > 0))) {\n                            hideNoMatches();\n                            if (((opt.iac && inlineAutoComplete.displayable()))) {\n                                var sg = normalize(twoPaneSuggestionsList[0].keyword), originalKw = opt.sb.val(), normalizedKw = normalize(keyword());\n                                if (((((((normalizedKw.length > 0)) && ((sg != normalizedKw)))) && ((sg.indexOf(normalizedKw) == 0))))) {\n                                    inlineAutoComplete.val(((originalKw + sg.substring(normalizedKw.length))));\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                            a(\"\\u003Ctable id=\\\"two-pane-table\\\" class=\\\"\", ((isIe6 ? \"nav_ie6\" : \"nav_exposed_skin\")), \"\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\"\\u003E\", \"\\u003Ctr\\u003E\", \"\\u003Ctd class=\\\"iss_pop_tl nav_pop_h\\\"\\u003E\\u003Cdiv class=\\\"nav_pop_lr_min\\\"\\u003E\\u003C/div\\u003E\\u003C/td\\u003E\", \"\\u003Ctd style=\\\"background-color: #fff;\\\" colspan=\\\"2\\\"\\u003E\\u003C/td\\u003E\", \"\\u003Ctd class=\\\"iss_pop_tr nav_pop_h\\\"\\u003E\\u003C/td\\u003E\", \"\\u003C/tr\\u003E\", \"\\u003Ctr\\u003E\", \"\\u003Ctd class=\\\"nav_pop_cl nav_pop_v\\\"\\u003E\\u003Cdiv class=\\\"nav_pop_lr_min\\\"\\u003E\\u003C/div\\u003E\\u003C/td\\u003E\");\n                            var className = \"main-suggestions\";\n                            if (imeSpacing) {\n                                className += \" imePadding\";\n                            }\n                        ;\n                        ;\n                            a(((((\"\\u003Ctd class=\\\"\" + className)) + \"\\\" \\u003E\")));\n                            for (i = 0; ((i < sgLen)); i++) {\n                                a(\"\\u003Cdiv id=\\\"\", opt.sugPrefix, i, \"\\\" class=\\\"suggest_link main-suggestion\");\n                                if (((i === 0))) {\n                                    a(\" xcat-arrow-hint\");\n                                }\n                            ;\n                            ;\n                                a(\"\\\"\\u003E\\u003Cspan\\u003E\");\n                                sg = twoPaneSuggestionsList[i];\n                                xcatLen = sg.xcat.length;\n                                if (xcatLen) {\n                                    a(\"\\u003Cspan class=\\\"nav-sprite nav-cat-indicator xcat-arrow\\\"\\u003E\\u003C/span\\u003E\");\n                                    if (((maxXcatLen < xcatLen))) {\n                                        maxXcatLen = xcatLen;\n                                    }\n                                ;\n                                ;\n                                }\n                            ;\n                            ;\n                                a(getFormattedSuggestionLine(sg, crtPrefix), \"\\u003C/span\\u003E\\u003C/div\\u003E\");\n                            };\n                        ;\n                            for (i = 0; ((i < ((maxXcatLen - sgLen)))); i++) {\n                                a(\"\\u003Cdiv class=\\\"iss-spacer-row\\\"\\u003E&nbsp;\\u003C/div\\u003E\");\n                            };\n                        ;\n                            var className = \"xcat-suggestions\";\n                            if (imeSpacing) {\n                                className += \" imePadding\";\n                            }\n                        ;\n                        ;\n                            a(((((\"\\u003C/td\\u003E\\u003Ctd class=\\\"\" + className)) + \"\\\"\\u003E\")));\n                            for (i = 0; ((i < sgLen)); i++) {\n                                sg = twoPaneSuggestionsList[i];\n                                a(\"\\u003Cdiv id=\\\"xcatPanel-\", i, \"\\\" class=\\\"xcat-panel\\\"\");\n                                if (((i > 0))) {\n                                    a(\" style=\\\"display:none\\\"\");\n                                }\n                            ;\n                            ;\n                                a(\"\\u003E\");\n                                for (j = 0; ((j < sg.xcat.length)); j++) {\n                                    a(\"\\u003Cdiv id=\\\"\", opt.sugPrefix, i, \"-\", j, \"\\\" class=\\\"suggest_link xcat-suggestion\", ((((j === 0)) ? \" xcat-suggestion-hint\" : \"\")), \"\\\"\\u003E\", sg.xcat[j].categoryName, \"\\u003C/div\\u003E\");\n                                };\n                            ;\n                                a(\"\\u003C/div\\u003E\");\n                            };\n                        ;\n                            a(\"\\u003C/td\\u003E\", \"\\u003Ctd class=\\\"nav_pop_cr nav_pop_v\\\"\\u003E\\u003C/td\\u003E\", \"\\u003C/tr\\u003E\", \"\\u003Ctr\\u003E\", \"\\u003Ctd class=\\\"nav_pop_bl nav_pop_v\\\"\\u003E\\u003C/td\\u003E\", \"\\u003Ctd colspan=\\\"2\\\" class=\\\"nav_pop_bc nav_pop_h\\\"\\u003E\\u003C/td\\u003E\", \"\\u003Ctd class=\\\"nav_pop_br nav_pop_v\\\"\\u003E\\u003C/td\\u003E\", \"\\u003C/tr\\u003E\", \"\\u003C/table\\u003E\");\n                        }\n                         else {\n                            showNoMatches();\n                        }\n                    ;\n                    ;\n                        JSBNG__searchSuggest.html(sb.join(\"\"));\n                        JSBNG__searchSuggest.show();\n                        if (((((timeToFirstSuggestion == 0)) && ((suggestionList.length > 0))))) {\n                            recordTimeToFirstSuggestion();\n                        }\n                    ;\n                    ;\n                        if (ddBox) {\n                            defaultDropDownVal = ddBox.val();\n                        }\n                    ;\n                    ;\n                        searchAliasFrom = extractSearchAlias(defaultDropDownVal);\n                        ssNode = JSBNG__searchSuggest.getNode();\n                        ssNode.JSBNG__find(\".main-suggestion\").bind(\"click\", twoPaneSearchByIndex);\n                        ssNode.JSBNG__find(\".xcat-suggestion\").bind(\"click\", twoPaneSearchByIndex).bind(\"mouseover\", twoPaneSuggestOver).bind(\"mouseout\", twoPaneXcatSuggestOut);\n                    };\n                ;\n                    function recordTimeToFirstSuggestion() {\n                        var timeNow = now();\n                        timeToFirstSuggestion = ((((timeNow - lastKeyPressTime)) + defaultTimeout));\n                    };\n                ;\n                    function showNoMatches() {\n                        if (opt.noMatch) {\n                            var nmDiv = $(((\"#\" + opt.noMatch)));\n                            JSBNG__searchSuggest.html(\"\");\n                            JSBNG__searchSuggest.getNode().append(nmDiv.clone().attr(\"class\", \"suggest_link suggest_nm\").css({\n                                display: \"block\"\n                            }));\n                            JSBNG__searchSuggest.show();\n                            ((opt.submitToggle && opt.submit.attr(\"src\", opt.submitImg)));\n                        }\n                         else {\n                            hideSuggestionsDiv();\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function hideNoMatches() {\n                        if (opt.noMatch) {\n                            $(((\"#\" + opt.noMatch))).hide();\n                            ((opt.submitToggle && opt.submit.attr(\"src\", opt.submitImgDef)));\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function setSearchByIndex() {\n                        var divId = this.id;\n                        crtSel = parseInt(divId.substr(6), 10);\n                        updateCrtSuggestion();\n                        JSBNG__searchSuggest.hide();\n                        if (opt.iac) {\n                            inlineAutoComplete.clear();\n                        }\n                    ;\n                    ;\n                        if (!delayedDOMUpdate) {\n                            opt.form.submit();\n                        }\n                         else {\n                            window.JSBNG__setTimeout(function() {\n                                opt.form.submit();\n                            }, 10);\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function twoPaneSearchByIndex(JSBNG__event) {\n                        var divId = this.id, prefixLen = opt.sugPrefix.length;\n                        crtSel = parseInt(divId.substr(prefixLen), 10);\n                        crtXcatSel = ((((divId.length === ((prefixLen + 1)))) ? -1 : parseInt(divId.substr(((prefixLen + 2)), 1), 10)));\n                        ((JSBNG__event && JSBNG__event.stopPropagation()));\n                        updateCrtSuggestion();\n                        $($.JSBNG__find(\".main-suggestion:first\")).amznFlyoutIntent(\"destroy\");\n                        JSBNG__searchSuggest.hide();\n                        if (opt.iac) {\n                            inlineAutoComplete.clear();\n                        }\n                    ;\n                    ;\n                        if (!delayedDOMUpdate) {\n                            opt.form.submit();\n                        }\n                         else {\n                            window.JSBNG__setTimeout(function() {\n                                opt.form.submit();\n                            }, 10);\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function updateCrtSuggestion() {\n                        var alias, categoryName, sg;\n                        if (((crtSel >= 0))) {\n                            if (((opt.twoPane === 1))) {\n                                sg = ((((crtXcatSel >= 0)) ? twoPaneSuggestionsList[crtSel].xcat[crtXcatSel] : twoPaneSuggestionsList[crtSel]));\n                            }\n                             else {\n                                if (((redirectFirstSuggestion && ((crtSel == 0))))) {\n                                    sg = suggestionList[1];\n                                }\n                                 else {\n                                    sg = suggestionList[crtSel];\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                            keyword(sg.keyword);\n                            alias = sg.alias;\n                            categoryName = sg.categoryName;\n                        }\n                    ;\n                    ;\n                        if (staticContent) {\n                            if (((crtSel >= 0))) {\n                                updateForm(sg.i);\n                                disable(\"\");\n                            }\n                             else {\n                                checkForExactMatch();\n                                checkForManualOverride();\n                            }\n                        ;\n                        ;\n                        }\n                         else {\n                            updateCategoryDropDown(alias, categoryName);\n                            setDynamicSearch(sg);\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    ((opt.form && opt.form.submit(function() {\n                        var currentKeyword = normalize(keyword()), refTag = \"ref=nb_sb_noss\", i = 0;\n                        if (inlineAutoComplete) {\n                            inlineAutoComplete.clear();\n                        }\n                    ;\n                    ;\n                        var iacType = ((opt.iac ? inlineAutoComplete.type() : 0));\n                        if (iacType) {\n                            refTag = ((\"ref=nb_sb_iac_\" + iacType));\n                        }\n                         else {\n                            if (((crtSel > -1))) {\n                                return;\n                            }\n                        ;\n                        ;\n                            var sgList = ((((opt.twoPane === 1)) ? twoPaneSuggestionsList : suggestionList));\n                            if (((sgList.length > 0))) {\n                                refTag = \"ref=nb_sb_noss_2\";\n                                while (((i < sgList.length))) {\n                                    if (((normalize(sgList[i].keyword) == currentKeyword))) {\n                                        refTag = \"ref=nb_sb_noss_1\";\n                                        break;\n                                    }\n                                ;\n                                ;\n                                    i++;\n                                };\n                            ;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        opt.form.attr(\"action\", opt.form.attr(\"action\").replace(refre, refTag));\n                    })));\n                    function setDynamicSearch(sg) {\n                        var prefixElems = $(\"#issprefix\");\n                        if (sg) {\n                            var issMode, kw = searchBox.userInput();\n                            if (isFallbackSuggestion(sg)) {\n                                issMode = \"ss_fb\";\n                            }\n                             else {\n                                if (sg.alias) {\n                                    issMode = \"ss_c\";\n                                }\n                                 else {\n                                    if (((opt.sc && isSpellCorrection(sg)))) {\n                                        issMode = \"ss_sc\";\n                                    }\n                                     else {\n                                        issMode = \"ss_i\";\n                                    }\n                                ;\n                                ;\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                            setSearchFormReftag(opt.form, null, issMode, sg, kw.length);\n                            kw = ((((((((kw + \",\")) + searchAliasFrom)) + \",\")) + timeToFirstSuggestion));\n                            if (prefixElems.length) {\n                                prefixElems.attr(\"value\", kw);\n                            }\n                             else {\n                                input(opt.form, \"issprefix\", \"sprefix\", kw);\n                            }\n                        ;\n                        ;\n                        }\n                         else {\n                            prefixElems.remove();\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function twoPaneSuggestOver() {\n                        var len = opt.sugPrefix.length, id = this.id, crtSelId = ((((\"#\" + opt.sugPrefix)) + crtSel)), xcatSelId, nextSel = parseInt(id.substr(len, 1), 10);\n                        this.style.cursor = \"pointer\";\n                        $(\".xcat-panel\").hide();\n                        if (((nextSel !== crtSel))) {\n                            $(crtSelId).removeClass(\"suggest_link_over\");\n                        }\n                    ;\n                    ;\n                        $(((((\"#\" + opt.sugPrefix)) + \"0\"))).removeClass(\"xcat-arrow-hint\");\n                        crtSel = nextSel;\n                        crtXcatSel = ((((id.length === ((len + 1)))) ? -1 : parseInt(id.substr(((len + 2)), 1), 10)));\n                        crtSelId = ((((\"#\" + opt.sugPrefix)) + crtSel));\n                        $(crtSelId).addClass(\"suggest_link_over\");\n                        $(((\"#xcatPanel-\" + crtSel))).show();\n                        if (((crtXcatSel > -1))) {\n                            $(((((((((\"#\" + opt.sugPrefix)) + crtSel)) + \"-\")) + crtXcatSel))).addClass(\"suggest_link_over\");\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function twoPaneSuggestOut() {\n                        $(this).removeClass(\"suggest_link_over\");\n                    };\n                ;\n                    function twoPaneXcatSuggestOut() {\n                        unhighlightSuggestion($(this));\n                    };\n                ;\n                    function resizeHandler() {\n                        var p = searchBox.pos(), d = searchBox.size();\n                        this.css({\n                            width: d.width,\n                            JSBNG__top: ((p.JSBNG__top + d.height)),\n                            left: p.left\n                        });\n                    };\n                ;\n                    function twoPaneBindFlyout() {\n                        JSBNG__searchSuggest.getNode().JSBNG__find(\".main-suggestion\").amznFlyoutIntent({\n                            onMouseOver: twoPaneSuggestOver,\n                            getTarget: function() {\n                                return $(\"#two-pane-table .xcat-suggestions:first\");\n                            }\n                        });\n                    };\n                ;\n                    function twoPaneDestroyFlyout() {\n                        var mainSgs = JSBNG__searchSuggest.getNode().JSBNG__find(\".main-suggestion\").get(0);\n                        if (mainSgs) {\n                            $(mainSgs).amznFlyoutIntent(\"destroy\");\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function twoPaneSetPosition() {\n                        var p = searchBox.pos(), d = searchBox.size(), minWidth = 649;\n                        this.css({\n                            width: Math.max(((d.width + 72)), minWidth),\n                            JSBNG__top: ((((p.JSBNG__top + d.height)) + 1)),\n                            left: ((p.left - 40))\n                        });\n                    };\n                ;\n                    function twoPaneSetXcatPosition() {\n                        var maxH = this.JSBNG__find(\".main-suggestions:first\").height(), th = this.JSBNG__find(((((\"#\" + opt.sugPrefix)) + \"0\"))).JSBNG__outerHeight(), sgLen = twoPaneSuggestionsList.length, i, h, xb, xh, off;\n                        for (i = 1; ((i < sgLen)); i++) {\n                            h = this.JSBNG__find(((((\"#\" + opt.sugPrefix)) + i))).JSBNG__outerHeight();\n                            xb = this.JSBNG__find(((\"#xcatPanel-\" + i)));\n                            off = th;\n                            if (xb) {\n                                xb = $(xb);\n                                xh = xb.JSBNG__outerHeight();\n                                if (((((off + xh)) > maxH))) {\n                                    off = ((maxH - xh));\n                                }\n                            ;\n                            ;\n                                xb.css({\n                                    \"margin-top\": off\n                                });\n                            }\n                        ;\n                        ;\n                            th += h;\n                        };\n                    ;\n                    };\n                ;\n                    function suggestOver(JSBNG__event) {\n                        this.style.cursor = ((((newDesign == true)) ? \"pointer\" : \"default\"));\n                        unhighlightCurrentSuggestion();\n                        crtSel = parseInt(this.id.substr(opt.sugPrefix.length), 10);\n                        highlightCurrentSuggestion(false);\n                    };\n                ;\n                    function suggestOut(el, JSBNG__event) {\n                        unhighlightSuggestion($(this));\n                        crtSel = -1;\n                    };\n                ;\n                    function highlightSuggestion(suggestion) {\n                        suggestion.addClass(\"suggest_link_over\");\n                    };\n                ;\n                    function unhighlightSuggestion(suggestion) {\n                        suggestion.removeClass(\"suggest_link_over\");\n                    };\n                ;\n                    function highlightCurrentSuggestion(updateSearchBox) {\n                        if (((suggType == \"sugg\"))) {\n                            ((updateSearchBox && updateCrtSuggestion()));\n                        }\n                    ;\n                    ;\n                        highlightSuggestion($(((((\"#\" + opt.sugPrefix)) + crtSel))));\n                    };\n                ;\n                    function unhighlightCurrentSuggestion() {\n                        unhighlightSuggestion($(((((\"#\" + opt.sugPrefix)) + crtSel))));\n                    };\n                ;\n                    function updateCategoryDropDown(alias, categoryName) {\n                        var dd = ddBox, toRemove, val;\n                        if (!dd) {\n                            return;\n                        }\n                    ;\n                    ;\n                        val = ((alias ? ((\"search-alias=\" + alias)) : defaultDropDownVal));\n                        toRemove = ((((((val == insertedDropDownVal)) || ((defaultDropDownVal == insertedDropDownVal)))) ? null : insertedDropDownVal));\n                        if (alias) {\n                            var sel = findOption(dd, val);\n                            insertedDropDownVal = null;\n                            if (!sel.length) {\n                                dd.append(option(val, categoryName));\n                                insertedDropDownVal = val;\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        try {\n                            delayedDOMUpdate = false;\n                            (($(dcs).length && changeDropdownSelection(val, categoryName, true)));\n                            dd.val(val);\n                        } catch (e) {\n                            delayedDOMUpdate = true;\n                        };\n                    ;\n                        ((toRemove && findOption(dd, toRemove).remove()));\n                    };\n                ;\n                    function getPrefixPos(str, substr) {\n                        if (opt.multiword) {\n                            return getPrefixPosMultiWord(str, substr);\n                        }\n                    ;\n                    ;\n                        return normalize(str).indexOf(normalize(substr));\n                    };\n                ;\n                    function getPrefixPosMultiWord(str, substr) {\n                        var p = normalize(str).search(new RegExp(((\"(^|(?:\\\\s))\" + normalize(substr))), \"i\"));\n                        return ((((p <= 0)) ? p : ((p + 1))));\n                    };\n                ;\n                    function getFormattedSuggestionLine(curSuggestionLine, crtPrefix) {\n                        var kw = curSuggestionLine.keyword, start = getPrefixPos(kw, crtPrefix), len;\n                        if (((start !== -1))) {\n                            len = crtPrefix.length;\n                            kw = [kw.substr(0, start),\"\\u003Cb\\u003E\",kw.substr(start, len),\"\\u003C/b\\u003E\",kw.substr(((start + len))),].join(\"\");\n                        }\n                    ;\n                    ;\n                        return kw;\n                    };\n                ;\n                    function getFormattedCategoryLine(categoryLine, crtPrefix) {\n                        var formattedCategoryLine, formattedCategoryName;\n                        if (opt.scs) {\n                            formattedCategoryLine = \"\\u003Cspan class=\\\"suggest_category_without_keyword\\\"\\u003E\";\n                            formattedCategoryName = ((((\"\\u003Cspan class=\\\"sx_category_name_highlight\\\"\\u003E\" + categoryLine.categoryName)) + \"\\u003C/span\\u003E\"));\n                        }\n                         else {\n                            formattedCategoryLine = ((getFormattedSuggestionLine(categoryLine, crtPrefix) + \" \\u003Cspan class=\\\"suggest_category\\\"\\u003E\"));\n                            formattedCategoryName = categoryLine.categoryName;\n                        }\n                    ;\n                    ;\n                        return ((opt.deptText ? ((((formattedCategoryLine + opt.deptText.replace(deptre, formattedCategoryName))) + \"\\u003C/span\\u003E\")) : categoryLine.categoryName));\n                    };\n                ;\n                    function hideSuggestionsDiv() {\n                        if (((((suggType == \"sugg\")) && suggestRequest))) {\n                            suggestRequest.cleanup();\n                            suggestRequest = null;\n                        }\n                    ;\n                    ;\n                        curSize = 0;\n                        $($.JSBNG__find(\".main-suggestion:first\")).amznFlyoutIntent(\"destroy\");\n                        JSBNG__searchSuggest.hide();\n                        crtSel = -1;\n                        crtXcatSel = -1;\n                    };\n                ;\n                    function updateWholeForm(v) {\n                        var fp = getFormParams(v);\n                        cleanForm();\n                        populateForm(fp);\n                    };\n                ;\n                    function updateForm(index) {\n                        var v = values[index];\n                        if (((opt.valInput && opt.valInput.length))) {\n                            opt.valInput.attr(\"value\", v);\n                        }\n                         else {\n                            updateWholeForm(((v || JSBNG__location.href)));\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function getFormParams(url) {\n                        var splitUrl = url.split(\"?\"), query = ((((splitUrl.length > 1)) ? splitUrl[1] : undefined)), params = ((query ? query.split(\"&\") : [])), i = params.length, pair;\n                        while (((i-- > 0))) {\n                            pair = params[i].split(\"=\");\n                            params[i] = {\n                                JSBNG__name: pair[0],\n                                value: pair[1].replace(slashre, \" \")\n                            };\n                        };\n                    ;\n                        return {\n                            uri: splitUrl[0],\n                            formParams: params\n                        };\n                    };\n                ;\n                    function cleanForm() {\n                        opt.form.JSBNG__find(\".frmDynamic\").remove();\n                    };\n                ;\n                    function populateForm(formData) {\n                        opt.form.attr(\"action\", formData.uri);\n                        for (var i = 0; ((i < formData.formParams.length)); i++) {\n                            var param = formData.formParams[i];\n                            input(opt.form, \"frmDynamic\", param.JSBNG__name, unescape(decodeURIComponent(param.value)), 1);\n                        };\n                    ;\n                    };\n                ;\n                    function keyword(k) {\n                        return searchBox.keyword(k);\n                    };\n                ;\n                    function searchAlias(alias) {\n                        if (alias) {\n                            changeDropdownSelection(alias);\n                        }\n                         else {\n                            return extractSearchAlias(ddBox.attr(\"value\"));\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function extractSearchAlias(alias) {\n                        var aliasName = alias.match(aliasre);\n                        return ((aliasName ? aliasName[1] : null));\n                    };\n                ;\n                    function searchNode() {\n                        var nodeName = ddBox.attr(\"value\").match(nodere);\n                        return ((nodeName ? nodeName[1] : null));\n                    };\n                ;\n                    function merchant() {\n                        var merchant = ddBox.attr(\"value\").match(merchantre);\n                        return ((merchant ? merchant[1] : null));\n                    };\n                ;\n                    function suggestions() {\n                        return suggestionList;\n                    };\n                ;\n                    function supportedSearchAlias(alias) {\n                        var a = opt.aliases;\n                        return ((a && ((arrayIndexOf(a, alias) >= 0))));\n                    };\n                ;\n                    function isSpellCorrection(sg) {\n                        return ((((sg && sg.sc)) ? true : false));\n                    };\n                ;\n                    function isFallbackSuggestion(sg) {\n                        return ((((sg && sg.source)) && ((sg.source[0] == \"fb\"))));\n                    };\n                ;\n                    function combineSuggestions(crtSuggestions, extraData) {\n                        var xcatSuggestions, m, n = crtSuggestions.length, combinedList = [], i = 0, j = 0, sg, cs, s, si = 0, deepNodeAlias = ((((((!searchAlias() && opt.deepNodeISS)) && !opt.deepNodeISS.stayInDeepNode)) && opt.deepNodeISS.searchAliasAccessor())), deepNodeCatName = ((deepNodeAlias && getDDCatName(deepNodeAlias)));\n                        categorySuggestions = 0;\n                        redirectFirstSuggestion = false;\n                        while (((((combinedList.length < opt.maxSuggestions)) && ((i < n))))) {\n                            sg = {\n                                keyword: crtSuggestions[i],\n                                sc: isSpellCorrection(extraData[i]),\n                                sgIndex: i\n                            };\n                            if (((deepNodeAlias && deepNodeCatName))) {\n                                sg.alias = deepNodeAlias;\n                                sg.categoryName = deepNodeCatName;\n                            }\n                        ;\n                        ;\n                            combinedList.push(sg);\n                            xcatSuggestions = ((((((extraData && extraData.length)) ? extraData[i].nodes : [])) || []));\n                            m = xcatSuggestions.length;\n                            if (m) {\n                                s = extraData[i].source;\n                                if (((s && s.length))) {\n                                    for (si = 0; ((si < s.length)); si++) {\n                                        if (((s[si] === \"fb\"))) {\n                                            if (((((n == 1)) && opt.scs))) {\n                                                redirectFirstSuggestion = true;\n                                            }\n                                             else {\n                                                combinedList.pop();\n                                            }\n                                        ;\n                                        ;\n                                            break;\n                                        }\n                                    ;\n                                    ;\n                                    };\n                                ;\n                                }\n                            ;\n                            ;\n                                j = 0;\n                                while (((((((j < m)) && ((j < maxCategorySuggestions)))) && ((combinedList.length < opt.maxSuggestions))))) {\n                                    cs = xcatSuggestions[j];\n                                    sg = {\n                                        keyword: crtSuggestions[i],\n                                        sc: isSpellCorrection(extraData[i]),\n                                        source: extraData[i].source,\n                                        alias: cs.alias,\n                                        categoryName: cs.JSBNG__name,\n                                        sgIndex: i,\n                                        xcatIndex: j\n                                    };\n                                    combinedList.push(sg);\n                                    ++j;\n                                    ++categorySuggestions;\n                                };\n                            ;\n                            }\n                        ;\n                        ;\n                            if (((((((i == 0)) && enableSeparateCategorySuggestion())) && !redirectFirstSuggestion))) {\n                                combinedList.push(combinedList[0]);\n                                opt.maxSuggestions += 1;\n                            }\n                        ;\n                        ;\n                            ++i;\n                        };\n                    ;\n                        curSize = combinedList.length;\n                        return combinedList;\n                    };\n                ;\n                    function enableSeparateCategorySuggestion() {\n                        return ((opt.scs && ((categorySuggestions > 0))));\n                    };\n                ;\n                    function getDDCatName(alias) {\n                        if (!alias) {\n                            return $(ddBox.children()[0]).text();\n                        }\n                    ;\n                    ;\n                        var catName = findOption(ddBox, ((\"search-alias=\" + alias)));\n                        if (((catName && catName.length))) {\n                            return catName.text();\n                        }\n                         else {\n                            return undefined;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function build2PaneSuggestions(crtSuggestions, extraData) {\n                        var xcatSuggestions, xcat = [], m, n = crtSuggestions.length, combinedList = [], i = 0, j = 0, sg, cs, s, si = 0, currAlias = searchAlias(), currCatName = getDDCatName(currAlias), deepNodeAlias = ((((((!currAlias && opt.deepNodeISS)) && !opt.deepNodeISS.stayInDeepNode)) && opt.deepNodeISS.searchAliasAccessor())), deepNodeCatName = getDDCatName(deepNodeAlias);\n                        while (((((combinedList.length < opt.maxSuggestions)) && ((i < n))))) {\n                            xcatSuggestions = ((((((extraData && extraData.length)) ? extraData[i].nodes : [])) || []));\n                            xcat = [];\n                            sg = {\n                                keyword: crtSuggestions[i],\n                                sc: isSpellCorrection(extraData[i]),\n                                source: ((extraData[i].source || \"c\")),\n                                conf: extraData[i].conf,\n                                sgIndex: i,\n                                xcatIndex: 0\n                            };\n                            if (deepNodeAlias) {\n                                sg.alias = deepNodeAlias;\n                                sg.categoryName = deepNodeCatName;\n                            }\n                             else {\n                                if (currAlias) {\n                                    sg.alias = currAlias;\n                                    sg.categoryName = currCatName;\n                                }\n                                 else {\n                                    sg.categoryName = deepNodeCatName;\n                                }\n                            ;\n                            ;\n                            }\n                        ;\n                        ;\n                            xcat.push(sg);\n                            m = xcatSuggestions.length;\n                            if (m) {\n                                j = 0;\n                                while (((((j < m)) && ((j < opt.maxSuggestions))))) {\n                                    cs = xcatSuggestions[j];\n                                    sg = {\n                                        keyword: crtSuggestions[i],\n                                        sc: isSpellCorrection(extraData[i]),\n                                        source: ((extraData[i].source || \"c\")),\n                                        alias: cs.alias,\n                                        categoryName: cs.JSBNG__name,\n                                        conf: extraData[i].conf,\n                                        sgIndex: i,\n                                        xcatIndex: ((j + 1))\n                                    };\n                                    xcat.push(sg);\n                                    ++j;\n                                };\n                            ;\n                            }\n                        ;\n                        ;\n                            sg = {\n                                keyword: crtSuggestions[i],\n                                sc: isSpellCorrection(extraData[i]),\n                                conf: extraData[i].conf,\n                                sgIndex: i,\n                                xcat: xcat\n                            };\n                            if (deepNodeAlias) {\n                                sg.alias = deepNodeAlias;\n                            }\n                        ;\n                        ;\n                            combinedList.push(sg);\n                            ++i;\n                        };\n                    ;\n                        curSize = combinedList.length;\n                        return combinedList;\n                    };\n                ;\n                    function searchJSONSuggest(newKw) {\n                        lastKeyPressTime = now();\n                        ((suggestRequest && suggestRequest.cleanup()));\n                        if (!activityAllowed) {\n                            return;\n                        }\n                    ;\n                    ;\n                        if (!searchBox.hasFocus()) {\n                            return;\n                        }\n                    ;\n                    ;\n                        var alias = ((searchAlias() || ((opt.deepNodeISS ? opt.deepNodeISS.searchAliasAccessor() : null)))), kw = ((newKw || keyword())), suggestUrl = [], a = function() {\n                            $.each(arguments, function(i, t) {\n                                suggestUrl.push(t);\n                            });\n                        }, m = ((((reqCounter === 0)) ? metrics.completionsRequest0 : ((((reqCounter === metrics.sample)) ? metrics.completionsRequestSample : null)))), cursorPos, qs;\n                        if (!supportedSearchAlias(alias)) {\n                            hideSuggestionsDiv();\n                            return;\n                        }\n                    ;\n                    ;\n                        if (opt.qs) {\n                            cursorPos = searchBox.cursorPos();\n                            if (((((cursorPos > -1)) && ((cursorPos < kw.length))))) {\n                                qs = kw.substring(cursorPos);\n                                kw = kw.substring(0, cursorPos);\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        a(opt.protocol, \"//\", opt.src, \"?\", \"method=completion\", \"&q=\", encodeURIComponent(kw), \"&search-alias=\", alias, \"&client=\", opt.cid, \"&mkt=\", opt.mkt, \"&fb=\", opt.fb, \"&xcat=\", opt.xcat, \"&x=updateISSCompletion\");\n                        if (qs) {\n                            a(((\"&qs=\" + encodeURIComponent(qs))));\n                        }\n                    ;\n                    ;\n                        if (opt.np) {\n                            a(((\"&np=\" + opt.np)));\n                        }\n                    ;\n                    ;\n                        if (opt.sc) {\n                            a(\"&sc=1\");\n                        }\n                    ;\n                    ;\n                        if (((opt.dupElim > 0))) {\n                            a(\"&dr=\", opt.dupElim);\n                        }\n                    ;\n                    ;\n                        if (opt.custIss4Prime) {\n                            a(\"&pf=1\");\n                        }\n                    ;\n                    ;\n                        if (suggestRequest) {\n                            suggestRequest.cleanup();\n                        }\n                    ;\n                    ;\n                        suggestRequest = new A9JSONClient(kw, reqCounter++);\n                        suggestRequest.callSuggestionsService(suggestUrl.join(\"\"));\n                    };\n                ;\n                    function updateCompletion() {\n                        if (!suggestRequest) {\n                            return;\n                        }\n                    ;\n                    ;\n                        if (((((((((!activityAllowed || !completion.length)) || !completion[0])) || !suggestRequest.keywords)) || ((completion[0].toLowerCase() != suggestRequest.keywords.toLowerCase()))))) {\n                            return;\n                        }\n                    ;\n                    ;\n                        var c = suggestRequest.counter, m = ((((c === 0)) ? metrics.completionsRequest0 : ((((c === metrics.sample)) ? metrics.completionsRequestSample : null))));\n                        suggestRequest.cleanup();\n                        suggestRequest = null;\n                        if (!searchBox.hasFocus()) {\n                            return;\n                        }\n                    ;\n                    ;\n                        if (((opt.twoPane === 1))) {\n                            twoPaneSuggestionsList = build2PaneSuggestions(completion[1], ((((completion.length > 2)) ? completion[2] : [])));\n                            displayTwoPaneSuggestions(completion[0]);\n                            ((sugHandler && sugHandler(completion[0], twoPaneSuggestionsList)));\n                        }\n                         else {\n                            suggestionList = combineSuggestions(completion[1], ((((completion.length > 2)) ? completion[2] : [])));\n                            displaySuggestions(completion[0]);\n                            ((sugHandler && sugHandler(completion[0], suggestionList)));\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function JSBNG__stop() {\n                        activityAllowed = false;\n                        requestedKeyword = \"\";\n                        if (suggestRequest) {\n                            suggestRequest.cleanup();\n                            suggestRequest = null;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function start() {\n                        activityAllowed = true;\n                    };\n                ;\n                    function encoding() {\n                        var encInput = opt.form.JSBNG__find(\"input[name^='__mk_']\");\n                        if (encInput.length) {\n                            return [encInput.attr(\"JSBNG__name\"),encInput.val(),];\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    function JSBNG__blur() {\n                        searchBox.JSBNG__blur();\n                    };\n                ;\n                    function JSBNG__focus() {\n                        searchBox.JSBNG__focus();\n                    };\n                ;\n                    function offset() {\n                        return searchBox.pos();\n                    };\n                ;\n                    function keydown(h) {\n                        searchBox.keydown(h);\n                    };\n                ;\n                    function checkIAC() {\n                        return inlineAutoComplete.touch();\n                    };\n                ;\n                    return {\n                        suggest: bindSuggest,\n                        keypress: bindKeypress,\n                        submit: bindSubmit,\n                        JSBNG__blur: JSBNG__blur,\n                        keyword: keyword,\n                        merchant: merchant,\n                        searchAlias: searchAlias,\n                        searchNode: searchNode,\n                        JSBNG__stop: JSBNG__stop,\n                        start: start,\n                        encoding: encoding,\n                        JSBNG__focus: JSBNG__focus,\n                        offset: offset,\n                        keydown: keydown,\n                        onFocus: ((searchBox ? searchBox.onFocus : function() {\n                        \n                        })),\n                        onBlur: ((searchBox ? searchBox.onBlur : function() {\n                        \n                        })),\n                        cursorPos: ((searchBox ? searchBox.cursorPos : function() {\n                            return -1;\n                        })),\n                        initStaticSuggestions: initStatic,\n                        initDynamicSuggestions: initDynamic,\n                        updateAutoCompletion: updateCompletion,\n                        init: init\n                    };\n                };\n                function now() {\n                    return (new JSBNG__Date).getTime();\n                };\n            ;\n                function nop() {\n                \n                };\n            ;\n                function suppress() {\n                    return false;\n                };\n            ;\n                function bzero(len, val) {\n                    var a = [];\n                    while (len--) {\n                        a.push(val);\n                    };\n                ;\n                    return a;\n                };\n            ;\n                function arrayIndexOf(a, v) {\n                    for (var i = 0, len = a.length; ((i < len)); i++) {\n                        if (((a[i] == v))) {\n                            return i;\n                        }\n                    ;\n                    ;\n                    };\n                ;\n                    return -1;\n                };\n            ;\n                function input(f, i, n, v, c) {\n                    f.append($(\"\\u003Cinput type=\\\"hidden\\\"/\\u003E\").attr(((c ? \"class\" : \"id\")), i).attr(\"JSBNG__name\", n).attr(\"value\", v));\n                };\n            ;\n                function option(v, t) {\n                    return $(\"\\u003Coption/\\u003E\").attr(\"value\", v).text(t);\n                };\n            ;\n                function keyClose(w) {\n                    return ((((w == 13)) || ((w == 32))));\n                };\n            ;\n                function findOption(d, v) {\n                    return d.JSBNG__find(((((\"option[value=\\\"\" + v)) + \"\\\"]\")));\n                };\n            ;\n                function tabIndex(e, i) {\n                    return e.attr(\"tabIndex\", i).attr(\"tabindex\", i);\n                };\n            ;\n                function getShortenedIDForOption(o) {\n                    var eq;\n                    if (((((!o || !o.length)) || (((eq = o.indexOf(\"=\")) == -1))))) {\n                        return \"\";\n                    }\n                ;\n                ;\n                    var alias = o.substr(((eq + 1))), dash = ((alias.indexOf(\"-\") + 1)), shortID = alias.substr(0, 3);\n                    return ((dash ? shortID : ((shortID + alias.charAt(dash)))));\n                };\n            ;\n                function changeDropdownSelection(optionValue, selectedDisplayName, highlightOnly, option) {\n                    var dd = ddBox;\n                    if (((((optionValue == \"search-alias=aps\")) && !selectedDisplayName))) {\n                        selectedDisplayName = findOption(dd, optionValue).text();\n                    }\n                ;\n                ;\n                    $(((\"#\" + sdpc))).css(\"visibility\", \"hidden\");\n                    $(dcs).text(selectedDisplayName);\n                    dd.val(optionValue);\n                    if (!highlightOnly) {\n                        opt.sb.JSBNG__focus();\n                        setSearchFormReftag(opt.form, optionValue);\n                    }\n                ;\n                ;\n                };\n            ;\n                function setSearchFormReftag(formElement, optionValue, issMode, sg, numUserChars) {\n                    var formAction = formElement.attr(\"action\"), isstag = ((((issMode != null)) && sg)), tag = ((isstag ? ((((((((issMode + \"_\")) + sg.sgIndex)) + \"_\")) + numUserChars)) : ((\"dd_\" + getShortenedIDForOption(optionValue)))));\n                    if (((isstag || ((optionValue != null))))) {\n                        if (!refre.test(formAction)) {\n                            if (((formAction.charAt(((formAction.length - 1))) != \"/\"))) {\n                                formAction += \"/\";\n                            }\n                        ;\n                        ;\n                            formAction += tag;\n                        }\n                         else {\n                            if (((isstag && ddaliasre.test(formAction)))) {\n                                formAction = formAction.replace(ddaliasre, ((\"$1_\" + tag)));\n                            }\n                             else {\n                                formAction = formAction.replace(refre, ((\"ref=nb_sb_\" + tag)));\n                            }\n                        ;\n                        ;\n                        }\n                    ;\n                    ;\n                        formElement.attr(\"action\", formAction);\n                    }\n                ;\n                ;\n                };\n            ;\n                function A9JSONClient(kw, counter) {\n                    var fullUrl, noCacheIE, headLoc, scriptId, scriptObj, scriptCounter = ((counter || 0));\n                    function callService(url) {\n                        fullUrl = url;\n                        noCacheIE = ((\"&noCacheIE=\" + now()));\n                        headLoc = JSBNG__document.getElementsByTagName(\"head\").item(0);\n                        scriptId = ((\"JscriptId\" + scriptCounter));\n                        buildScriptTag();\n                        addScriptTag();\n                    };\n                ;\n                    function buildScriptTag() {\n                        scriptObj = JSBNG__document.createElement(\"script\");\n                        scriptObj.setAttribute(\"type\", \"text/javascript\");\n                        scriptObj.setAttribute(\"charset\", \"utf-8\");\n                        scriptObj.setAttribute(\"src\", ((fullUrl + noCacheIE)));\n                        scriptObj.setAttribute(\"id\", scriptId);\n                    };\n                ;\n                    function removeScriptTag() {\n                        try {\n                            headLoc.removeChild(scriptObj);\n                        } catch (e) {\n                        \n                        };\n                    ;\n                    };\n                ;\n                    function addScriptTag() {\n                        headLoc.appendChild(scriptObj);\n                    };\n                ;\n                    return {\n                        callSuggestionsService: callService,\n                        cleanup: removeScriptTag,\n                        keywords: kw,\n                        counter: scriptCounter\n                    };\n                };\n            ;\n                window.AutoComplete = AC;\n                if (metrics.isEnabled) {\n                    uet(\"cf\", metrics.init, {\n                        wb: 1\n                    });\n                }\n            ;\n            ;\n            })(window);\n            $SearchJS.publish(\"search-js-autocomplete-lib\");\n        });\n    }\n;\n;\n} catch (JSBNG_ex) {\n\n};");
+// 1184
+JSBNG_Replay.sfbdb2900fa18bccd81cab55c766ea737c1109ca0_8[0]();
+// 1208
+JSBNG_Replay.sfbdb2900fa18bccd81cab55c766ea737c1109ca0_8[0]();
+// 1230
+JSBNG_Replay.sfbdb2900fa18bccd81cab55c766ea737c1109ca0_8[0]();
+// 1252
+JSBNG_Replay.s6f54c5bf5199cec31b0b6ef5af74f23d8e084f79_1[0]();
+// 1266
+fpc.call(JSBNG_Replay.s6f54c5bf5199cec31b0b6ef5af74f23d8e084f79_2[0], o15,o14);
+// undefined
+o15 = null;
+// undefined
+o14 = null;
+// 1277
+JSBNG_Replay.sfbdb2900fa18bccd81cab55c766ea737c1109ca0_8[0]();
+// 1299
+JSBNG_Replay.sfbdb2900fa18bccd81cab55c766ea737c1109ca0_8[0]();
+// 1322
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1351
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1353
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1355
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1357
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1359
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1361
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1363
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1365
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1367
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1369
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1371
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1373
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1375
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1377
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1379
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1381
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1383
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1385
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1387
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1389
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1391
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1393
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1395
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1397
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1399
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1401
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1403
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1405
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1407
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1409
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1411
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1413
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1415
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1417
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1419
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1421
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1423
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1425
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1427
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1429
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1431
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1433
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1435
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1437
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1439
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1441
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1443
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1445
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1447
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1449
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1451
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1453
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1455
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1457
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1459
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1461
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1463
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1465
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1467
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1469
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1471
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1473
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1475
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1477
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1479
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1481
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1483
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1485
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1487
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1489
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1491
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1493
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1495
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1497
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1499
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1501
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1503
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1505
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1507
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1509
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1511
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1513
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1515
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1517
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1519
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1521
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1523
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1525
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1527
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1529
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1531
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1533
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1535
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1537
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1539
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1541
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1543
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1545
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1547
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1549
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1551
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1553
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1555
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1557
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1559
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1561
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1563
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1565
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1567
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1569
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1571
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1573
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1575
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1577
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1579
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1581
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1583
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1585
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1587
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1589
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1591
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1593
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1595
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1597
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1599
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1601
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1603
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1605
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1607
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1609
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1611
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1613
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1615
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1617
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1619
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1621
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1623
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1625
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1627
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1629
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1631
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1633
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1635
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1637
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1639
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1641
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1643
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1645
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1647
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1649
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1651
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1653
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1655
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1657
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1659
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1661
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1663
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1665
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1667
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1669
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1671
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1673
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1675
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1677
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1679
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1681
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1683
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1685
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1687
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1689
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1691
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1693
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1695
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1697
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1699
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1701
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1703
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1705
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1707
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1709
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1711
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1713
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1715
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1717
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1719
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1721
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1723
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1725
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1727
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1729
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1731
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1733
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1735
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1737
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1739
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1741
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1743
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1745
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1747
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1749
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1751
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1753
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1755
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1757
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1759
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1761
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1763
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1765
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1767
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1769
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1771
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1773
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1775
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1777
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1779
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1781
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1783
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1785
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1787
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1789
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1791
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1793
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1795
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1797
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1799
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1801
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1803
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1805
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1807
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1809
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1811
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1813
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1815
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1817
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1819
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1821
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1823
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1825
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1827
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1829
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1831
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1833
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1835
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1837
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1839
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1841
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1843
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1845
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1847
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1849
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1851
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1853
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1855
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1857
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_15[0](o16);
+// 1859
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_26[0](o16);
+// 1860
+JSBNG_Replay.s43fc3a4faaae123905c065ee7216f6efb640b86f_1[0](o16);
+// 1872
+JSBNG_Replay.s6642b77f01f4d49ef240b29032e6da4372359178_0[0](o16);
+// 1874
+JSBNG_Replay.s19bfa2ac1e19f511e50bfae28fc42f693a531db5_1[0](o16);
+// 1876
+JSBNG_Replay.seda6c4c664e822a69a37901582d4c91849a35550_26[1](o16);
+// undefined
+o16 = null;
+// 1877
+JSBNG_Replay.s19bfa2ac1e19f511e50bfae28fc42f693a531db5_2[0]();
+// 1882
+JSBNG_Replay.sfbdb2900fa18bccd81cab55c766ea737c1109ca0_8[0]();
+// 1904
+JSBNG_Replay.s6642b77f01f4d49ef240b29032e6da4372359178_1[0]();
+// 2859
+o0.readyState = "complete";
+// undefined
+o0 = null;
+// 1906
+geval("try {\n;\n    (function(h, n, E) {\n        var w = JSBNG__location.protocol, O = JSBNG__navigator.userAgent.toLowerCase(), l = function(a, b) {\n            if (a) {\n                if (((a.length >= 0))) {\n                    for (var c = 0, e = a.length; ((c < e)); c++) {\n                        b(c, a[c]);\n                    ;\n                    };\n                }\n                 else {\n                    {\n                        var fin33keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin33i = (0);\n                        (0);\n                        for (; (fin33i < fin33keys.length); (fin33i++)) {\n                            ((c) = (fin33keys[fin33i]));\n                            {\n                                b(c, a[c]);\n                            ;\n                            };\n                        };\n                    };\n                }\n            ;\n            }\n        ;\n        ;\n        }, x = function(a, b) {\n            if (((a && b))) {\n                {\n                    var fin34keys = ((window.top.JSBNG_Replay.forInKeys)((b))), fin34i = (0);\n                    var c;\n                    for (; (fin34i < fin34keys.length); (fin34i++)) {\n                        ((c) = (fin34keys[fin34i]));\n                        {\n                            a[c] = b[c];\n                        ;\n                        };\n                    };\n                };\n            }\n        ;\n        ;\n            return a;\n        }, Q = function(a, b, c) {\n            b = ((b || h));\n            ((J(b.JSBNG__document) ? a() : (((c && (a = function() {\n                JSBNG__setTimeout(a, c);\n            }))), s(b, \"load\", a, !0))));\n        }, J = function(a) {\n            var b = a.readyState;\n            return ((((b == \"complete\")) || ((((a.tagName == \"script\")) && ((b == \"loaded\"))))));\n        }, u = function(a) {\n            return (((a = RegExp(((a + \"[ /](\\\\d+(\\\\.\\\\d+)?)\")), \"i\").exec(O)) ? +a[1] : 0));\n        }, H = u(\"msie\");\n        u(\"webkit\");\n        var R = function(a, b) {\n            var b = ((b || \"&\")), c = [];\n            l(a, function(a, b) {\n                c.push(((((a + \"=\")) + b)));\n            });\n            return c.join(b);\n        }, k = ((h.DA || (h.DA = []))), S = function(a) {\n            if (((typeof a == \"object\"))) {\n                return a;\n            }\n        ;\n        ;\n            var b = {\n            };\n            l(a.split(\";\"), function(a, e) {\n                var f = e.split(\"=\");\n                b[f[0]] = f[1];\n            });\n            (h.aanParams = ((h.aanParams || {\n            })))[b.slot] = a;\n            return b;\n        }, j = function(a, b) {\n            return ((((typeof a == \"string\")) ? ((b || n)).getElementById(a) : a));\n        }, o = function(a, b) {\n            return (((b = j(((b || n)))) ? b.getElementsByTagName(a) : []));\n        }, v = function(a, b, c, e, f) {\n            a = ((v[a] || (v[a] = n.createElement(a)))).cloneNode(!0);\n            x(a, b);\n            q(a, c);\n            ((e && (b = a, e = j(e), b = j(b), ((((e && b)) && (((((typeof f == \"number\")) && (f = j(e).childNodes[f]))), e.insertBefore(b, ((f || null)))))))));\n            return a;\n        }, q = function(a, b) {\n            var c = b.opacity;\n            ((isNaN(c) || x(b, {\n                filter: ((((\"alpha(opacity=\" + ((c * 100)))) + \")\")),\n                mozOpacity: b.opacity\n            })));\n            (((a = j(a)) && x(a.style, b)));\n        }, F = function(a) {\n            if (a = j(a)) {\n                var b = j(a).parentNode;\n                ((b && b.removeChild(a)));\n            }\n        ;\n        ;\n        }, y = function(a, b) {\n            if (a = j(a)) {\n                a.innerHTML = b;\n            }\n        ;\n        ;\n        }, s = function(a, b, c, e) {\n            if (a = j(a)) {\n                var f = function(d) {\n                    var d = ((d || h.JSBNG__event)), i = ((d.target || d.srcElement));\n                    if (e) {\n                        var m = a, g = f;\n                        if (m = j(m)) {\n                            ((m.JSBNG__removeEventListener ? m.JSBNG__removeEventListener(b, g, !1) : ((m.JSBNG__detachEvent ? m.JSBNG__detachEvent(((\"JSBNG__on\" + b)), g) : delete m[((\"JSBNG__on\" + b))]))));\n                        }\n                    ;\n                    ;\n                    }\n                ;\n                ;\n                    return c(d, i, f);\n                };\n                ((a.JSBNG__addEventListener ? a.JSBNG__addEventListener(b, f, !1) : ((a.JSBNG__attachEvent ? a.JSBNG__attachEvent(((\"JSBNG__on\" + b)), f) : a[((\"JSBNG__on\" + b))] = f))));\n                return f;\n            }\n        ;\n        ;\n        }, T = o(\"head\")[0], U = k.s = function(a) {\n            v(\"script\", {\n                src: a.replace(/^[a-z]+:/, w)\n            }, 0, T);\n        }, V = ((((((w == \"http:\")) ? \"//g-ecx.\" : \"//images-na.ssl-\")) + \"images-amazon.com/images/G/01/\"));\n        h.foresterRegion = \"na\";\n        var X = function(a, b, c, e) {\n            var t;\n            var b = ((((\"\\u003Cbody\\u003E\" + b)) + \"\\u003C/body\\u003E\")), f, d, i = a.parentNode.id, m = n.getElementById(i), g = ((((m || {\n            })).ad || {\n            })), p = ((g.a || {\n            }));\n            if (!g.a) {\n                var g = parent.aanParams, j;\n                {\n                    var fin35keys = ((window.top.JSBNG_Replay.forInKeys)((g))), fin35i = (0);\n                    (0);\n                    for (; (fin35i < fin35keys.length); (fin35i++)) {\n                        ((j) = (fin35keys[fin35i]));\n                        {\n                            if (((((\"DA\" + j.replace(/([a-z])[a-z]+(-|$)/g, \"$1\"))) == i))) {\n                                for (var l = g[j].split(\";\"), k = 0, W = l.length; ((k < W)); k++) {\n                                    var K = l[k].split(\"=\");\n                                    p[K[0]] = K[1];\n                                };\n                            }\n                        ;\n                        ;\n                        };\n                    };\n                };\n            ;\n            }\n        ;\n        ;\n            var o = function() {\n                if (m) {\n                    var a = m.getElementsByTagName(\"div\")[0], a = ((((a.contentWindow || a.contentDocument)).aanResponse || {\n                    }));\n                    if (a.adId) {\n                        var a = {\n                            s: ((p.site || \"\")),\n                            p: ((p.pt || \"\")),\n                            l: ((p.slot || \"\")),\n                            a: ((a.adId || 0)),\n                            c: ((a.creativeId || 0)),\n                            n: ((a.adNetwork || \"DART\")),\n                            m: \"load\",\n                            v: f\n                        }, b = [], c;\n                        {\n                            var fin36keys = ((window.top.JSBNG_Replay.forInKeys)((a))), fin36i = (0);\n                            (0);\n                            for (; (fin36i < fin36keys.length); (fin36i++)) {\n                                ((c) = (fin36keys[fin36i]));\n                                {\n                                    b.push(((((((((\"\\\"\" + c)) + \"\\\":\\\"\")) + a[c])) + \"\\\"\")));\n                                ;\n                                };\n                            };\n                        };\n                    ;\n                        (new JSBNG__Image).src = ((d + escape(((((\"{\" + b.join(\",\"))) + \"}\")))));\n                    }\n                     else JSBNG__setTimeout(o, 1000);\n                ;\n                ;\n                }\n            ;\n            ;\n            }, r = function(a) {\n                if (((((c && parent.uDA)) && i))) {\n                    parent[((((a == \"ld\")) ? \"uex\" : \"uet\"))](a, i, {\n                        wb: 1\n                    });\n                }\n            ;\n            ;\n            };\n            if (c) {\n                a.z = function() {\n                    r(\"cf\");\n                }, a.JSBNG__onload = function() {\n                    f = ((new JSBNG__Date - adStartTime));\n                    d = ((((\"//fls-\" + e)) + \".amazon.com/1/display-ads-cx/1/OP/?LMET\"));\n                    o();\n                    r(\"ld\");\n                    ((boolDaCriticalFeatureEvent && (h.DAcf--, ((((!h.DAcf && h.amznJQ)) && amznJQ.declareAvailable(\"DAcf\"))))));\n                };\n            }\n        ;\n        ;\n            g = JSBNG__navigator.userAgent.toLowerCase();\n            j = /firefox/.test(g);\n            g = /msie/.test(g);\n            t = (((l = a.contentWindow) ? l.JSBNG__document : a.contentDocument)), a = t;\n            if (g) {\n                if (((b.indexOf(\".close()\") != -1))) {\n                    a.close = function() {\n                    \n                    };\n                }\n            ;\n            ;\n            }\n             else ((j || a.open(\"text/html\", \"replace\"))), b += \"\\u003Cscript\\u003Edocument.close()\\u003C/script\\u003E\";\n        ;\n        ;\n            m.getElementsByTagName(\"div\")[0].contentWindow.JSBNG__onerror = function(a) {\n                ((h.ueLogError && h.ueLogError({\n                    message: ((\"displayads-iframe-\" + a))\n                })));\n                return !0;\n            };\n            adStartTime = new JSBNG__Date;\n            a.write(b);\n        }, L = function(a, b, c) {\n            if (((((a != void 0)) && ((a != null))))) {\n                var e = j(((((\"DA\" + b)) + \"i\"))), f = j(((((\"DA\" + c)) + \"iP\")));\n                if (((e && f))) {\n                    e.punt = function() {\n                        X(e, f.innerHTML.replace(/scrpttag/g, \"script\"), 1);\n                        (new JSBNG__Image).src = a;\n                    };\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n        }, Y = k.f = \"/aan/2009-09-09/ad/feedback.us/default?pt=RemoteContent&slot=main&pt2=us\", M = function(a) {\n            var b = function(b) {\n                if (((!n.all && !/%/.test(a.width)))) {\n                    var c = a.clientWidth;\n                    if (c) {\n                        a.style.width = ((((c + b)) + \"px\"));\n                    }\n                ;\n                ;\n                }\n            ;\n            ;\n            };\n            b(-1);\n            b(1);\n            var c = (((b = j(a).parentNode) ? b.id : \"\"));\n            if (((((((((H > 0)) && ((!n.documentMode || ((n.documentMode < 8)))))) && /nsm/.test(c))) && !/%/.test(a.height)))) {\n                ((a.height && (a.height -= 1)));\n            }\n        ;\n        ;\n            try {\n                Z(a), ((b && ((a.contentWindow.d16gCollapse ? q(b, {\n                    display: \"none\"\n                }) : ((b.clientHeight || q(b, {\n                    height: \"auto\",\n                    marginBottom: \"16px\"\n                })))))));\n            } catch (e) {\n            \n            };\n        ;\n        }, Z = function(a) {\n            var b = j(a).parentNode, c = ((b.ad || a)), e = c.f, f = /nsm/.test(b.id), d;\n            try {\n                var i = a.contentWindow;\n                ((i.suppressAdFeedback && (e = !1)));\n                if (((((i.inlineFeedback && ((typeof i.inlineFeedback == \"object\")))) || ((JSBNG__location.href.indexOf(\"useNewFeedback=true\") >= 0))))) {\n                    d = ((i.inlineFeedback || {\n                    })), d.endpoint = ((d.endpoint || \"//fls-na.amazon.com/1/dco-exp/1/OP\")), d.id = ((d.id || \"default\")), d.question = ((((d.question && ((typeof d.question === \"string\")))) ? d.question : \"Is this ad appropriate?\")), d.options = ((((((d.options && ((typeof d.options === \"object\")))) && d.options.length)) ? d.options : [\"Yes\",\"No\",])), d.ad = ((i.aanResponse || {\n                    }));\n                }\n            ;\n            ;\n            } catch (m) {\n                d = !1;\n            };\n        ;\n            var g, p;\n            ((((c.g == \"right\")) ? (g = \"0px\", i = \"4px\", p = \"Ad \") : (g = \"305px\", i = \"0\", p = \"Ad\\u003Cbr\\u003E\")));\n            g = ((o(\"div\", b)[0] || v(\"div\", 0, {\n                position: ((f ? \"absolute\" : \"relative\")),\n                JSBNG__top: \"2px\",\n                right: ((f ? g : 0)),\n                margin: 0,\n                height: \"14px\"\n            }, b)));\n            if (((e && ((!o(\"a\", g)[0] || !o(\"div\", g)[0]))))) {\n                e = \"Advertisement\";\n                if (d) {\n                    y(g, \"\");\n                    var k = v(\"div\", 0, {\n                        position: \"absolute\",\n                        JSBNG__top: \"2px\",\n                        left: 0,\n                        font: \"normal 8pt Verdana,Arial\",\n                        display: \"inline-block\",\n                        verticalAlign: \"middle\"\n                    }, g), n = \"\";\n                    n += ((((\"\\u003Clabel style=\\\"font:normal 8pt Verdana,Arial;vertical-align:middle;margin-right:5px\\\"\\u003E\" + d.question)) + \"\\u003C/label\\u003E\"));\n                    l(d.options, function(a, b) {\n                        n += ((((((((\"\\u003Cinput type=\\\"radio\\\" name=\\\"ad-feedback-option\\\" value=\\\"\" + b)) + \"\\\" style=\\\"margin-top:0;margin-bottom:0;vertical-align:middle\\\"\\u003E\\u003Clabel style=\\\"font:normal 8pt Verdana,Arial;vertical-align:middle;margin-right:5px\\\"\\u003E\")) + b)) + \"\\u003C/label\\u003E\"));\n                    });\n                    y(k, n);\n                    s(k, \"click\", function(a) {\n                        if ((((((a = ((a.target ? a.target : a.srcElement))) && ((a.nodeName === \"INPUT\")))) && ((a.JSBNG__name === \"ad-feedback-option\"))))) {\n                            a = a.value, (new JSBNG__Image).src = ((((d.endpoint + \"?\")) + R({\n                                e: \"feedback\",\n                                i: c.parentNode.className,\n                                l: d.id,\n                                a: d.ad.adId,\n                                c: d.ad.creativeId,\n                                r: a\n                            }))), y(k, \"\\u003Clabel style=\\\"position:relative;top:2px\\\"\\u003EThank you for your feedback.\\u003C/label\\u003E\");\n                        }\n                    ;\n                    ;\n                    });\n                    e = \"Ad\";\n                }\n            ;\n            ;\n                var z = v(\"a\", 0, {\n                    position: ((f ? \"relative\" : \"absolute\")),\n                    JSBNG__top: ((f ? 0 : \"2px\")),\n                    right: ((f ? i : \"4px\")),\n                    display: \"inline-block\",\n                    font: \"normal 9px Verdana,Arial\",\n                    cursor: \"pointer\"\n                }, g);\n                y(z, ((((((((f ? p : ((e + \" \")))) + \"\\u003Cb style=\\\"display:inline-block;vertical-align:top;margin:1px 0;width:12px;height:12px;background:url(\")) + V)) + \"da/js/bubble._V1_.png)\\\"\\u003E\\u003C/b\\u003E\")));\n                s(z, \"click\", function() {\n                    c.c = ((c.c || a.id.replace(/[^0-9]/g, \"\")));\n                    var b = c.o;\n                    h.DAF = [c.c,c.a,];\n                    var d = ((c.f || 1));\n                    ((((d === 1)) && (d = ((((Y + ((b ? \"-dismissible\" : \"\")))) + ((((h.jQuery && jQuery.fn.amazonPopoverTrigger)) ? \"\" : \"-external\")))))));\n                    U(d);\n                });\n                f = function(a) {\n                    a = /r/.test(a.type);\n                    q(z, {\n                        color: ((a ? \"#e47911\" : \"#004b91\")),\n                        textDecoration: ((a ? \"underline\" : \"none\"))\n                    });\n                    q(o(\"b\", z)[0], {\n                        backgroundPosition: ((a ? \"0 -12px\" : \"0 0\"))\n                    });\n                };\n                s(z, \"mouseover\", f);\n                s(z, \"mouseout\", f);\n                f({\n                });\n            }\n        ;\n        ;\n            i = a.contentWindow;\n            f = i.JSBNG__document;\n            e = ((i.isGoldBox || ((\"showGoldBoxSlug\" in i))));\n            ((c.b || l(o(\"img\", f), function(a, b) {\n                ((((b && /sm-head/.test(b.src))) && F(j(b).parentNode)));\n            })));\n            ((e && (q(b, {\n                textAlign: \"center\"\n            }), q(g, {\n                margin: \"0 auto\",\n                width: \"900px\"\n            }))));\n        };\n        (function() {\n            l(o(\"div\"), function(a, b) {\n                if (/^DA/.test(b.id)) {\n                    try {\n                        Q(function() {\n                            M(b);\n                        }, b.contentWindow);\n                    } catch (c) {\n                    \n                    };\n                }\n            ;\n            ;\n            });\n        })();\n        var B = function(a) {\n            var b = a.i, c = a.a = S(a.a), e = c.slot, f = a.c, d = a.u, i = a.w = ((a.w || 300)), m = a.h = ((a.h || 250)), g = ((a.d || 0)), p = a.o, k = a.b, l = ((((w != \"https:\")) || ((H != 6)))), l = ((((a.n && l)) && !J(h))), n = ((a.x ? a.x.replace(/^[a-z]+:/, w) : \"/aan/2009-09-09/static/amazon/iframeproxy-24.html\")), q = a.p, u = a.k, t = ((\"DA\" + e.replace(/([a-z])[a-z]+(-|$)/g, \"$1\"))), r = j(t), A = a.v, x = a.l, D = a.j, B = a.y, e = a.q, C = function() {\n                return ((((((a.r && uDA)) && ue.sc[t])) && ((ue.sc[t].wb == 1))));\n            }, G = function(a) {\n                try {\n                    var b = ((((a == \"ld\")) ? uex : uet));\n                    ((C() && b(a, t, {\n                        wb: 1\n                    })));\n                } catch (c) {\n                \n                };\n            ;\n            };\n            if (((((r && !o(\"div\", r)[0])) && (r.ad = a, ((!g || $(a, r, g))))))) {\n                try {\n                    if (((p && ((JSBNG__localStorage[((t + \"_t\"))] > (new JSBNG__Date).getTime()))))) {\n                        F(r);\n                        return;\n                    }\n                ;\n                ;\n                } catch (I) {\n                \n                };\n            ;\n                if (k) g = /^https?:/, p = ((e ? ((\"/\" + e)) : \"\")), g = ((g.test(d) ? d.replace(g, w) : ((((((((w + \"//ad.doubleclick.net\")) + p)) + \"/adi/\")) + d))));\n                 else {\n                    g = ((((((((((((((n + \"#zus&cb\")) + t)) + \"&i\")) + t)) + ((C() ? \"&r1\" : \"\")))) + ((A ? \"&v1\" : \"\")))) + ((D ? \"&j1\" : \"\"))));\n                    if (h.d16g_originalPageOrd) {\n                        d = d.replace(/ord=.*/gi, ((\"ord=\" + h.d16g_originalPageOrd)));\n                    }\n                     else {\n                        if ((((p = /ord=(.*)/g.exec(d)) && p[1]))) {\n                            h.d16g_originalPageOrd = p[1];\n                        }\n                    ;\n                    }\n                ;\n                ;\n                    h[((\"d16g_dclick_\" + t))] = d;\n                }\n            ;\n            ;\n                h[((\"d16g_dclicknet_\" + t))] = ((e ? e : \"\"));\n                var N = function(a, c, d, e, g, i) {\n                    ((g && G(\"af\")));\n                    var m = v(\"div\", {\n                        src: ((i ? \"\" : a)),\n                        width: c,\n                        height: d,\n                        id: ((e || \"\")),\n                        title: ((g || \"\")),\n                        frameBorder: 0,\n                        marginHeight: 0,\n                        marginWidth: 0,\n                        allowTransparency: \"true\",\n                        scrolling: \"no\"\n                    }, 0, r);\n                    L(x, b, f, B);\n                    if (g) {\n                        var h = !1;\n                        s(m, \"load\", function() {\n                            ((h || (h = !0, M(m))));\n                        });\n                    }\n                ;\n                ;\n                    ((((g && i)) && JSBNG__setTimeout(function() {\n                        ((H ? m.src = a : m.contentWindow.JSBNG__location.replace(a)));\n                        L(x, b, f, B);\n                    }, 5)));\n                };\n                ((j(r).childNodes[0] && y(r, \"\")));\n                d = ((/%/.test(i) ? \"\" : E.ceil(((E.JSBNG__random() * 3)))));\n                N(g, ((i + d)), m, ((((\"DA\" + b)) + \"i\")), \"Advertisement\", l);\n                ((((q || u)) && JSBNG__setTimeout(function() {\n                    var a = (new JSBNG__Date).getTime();\n                    ((q && N(((((((\"//s.amazon-adsystem.com/iu3?d=amazon.com&\" + q)) + \"&n=\")) + a)), 0, 0)));\n                    var b = c.pid;\n                    if (((u && b))) {\n                        (new JSBNG__Image).src = ((((((\"//secure-us.imrworldwide.com/cgi-bin/m?ci=amazon-ca&at=view&rt=banner&st=image&ca=amazon&cr=\" + b)) + \"&pc=1234&r=\")) + a));\n                    }\n                ;\n                ;\n                }, 0)));\n            }\n        ;\n        ;\n        }, $ = function(a, b, c) {\n            var e = function(a) {\n                if (a = j(a)) {\n                    var b = 0, c = 0, d = a;\n                    do b += d.offsetLeft, c += d.offsetTop; while (d = d.offsetParent);\n                    a = [b,c,a.clientWidth,a.clientHeight,];\n                }\n                 else a = [0,0,0,0,];\n            ;\n            ;\n                a[0] += ((a[2] / 2));\n                a[1] += ((a[3] / 2));\n                return a;\n            }, f = e(b);\n            if (((f.join(\"\") == \"0000\"))) {\n                var d = function() {\n                    B(a);\n                };\n                ((((h.jQuery && jQuery.searchAjax)) ? jQuery(n).bind(\"searchajax\", d) : (b.T = ((b.T || 9)), ((((b.T < 10000)) && JSBNG__setTimeout(d, b.T *= 2))))));\n                return !1;\n            }\n        ;\n        ;\n            var i = !0;\n            l(o(\"div\"), function(a, b) {\n                if (((((/^DA/.test(b.id) && ((b.width > 1)))) && ((b.height > 1))))) {\n                    var d = e(j(b).parentNode), h = ((E.abs(((f[0] - d[0]))) - ((((f[2] + d[2])) / 2)))), d = ((E.abs(((f[1] - d[1]))) - ((((f[3] + d[3])) / 2))));\n                    i = ((i && ((((h + d)) >= c))));\n                }\n            ;\n            ;\n            });\n            ((i || F(b)));\n            return i;\n        }, C = function(a, b) {\n            if (isNaN(b.i)) {\n                var c;\n                if (b.e) {\n                    if (h.d16g) {\n                        c = b.e;\n                    }\n                ;\n                ;\n                }\n                 else ((isNaN(b.y) ? c = B : ((k.v2Loaded && (c = loadErm)))));\n            ;\n            ;\n                if (c) {\n                    b.i = a, c(b);\n                }\n            ;\n            ;\n            }\n        ;\n        ;\n        };\n        ((((((h.d16g || !k.E)) && ((k.v2Loaded || !k.v2)))) && function() {\n            l(k, C);\n            k.push = function(a) {\n                var b = k.length;\n                C(b, k[b] = a);\n            };\n        }()));\n        var A, G = function() {\n            A(n).bind(\"spATFEvent\", function() {\n                k.splice(0, k.length);\n                A(\".ap_popover\").remove();\n            });\n        };\n        ((((((h.amznJQ == \"undefined\")) && ((typeof P != \"undefined\")))) ? P.when(\"A\").execute(function(a) {\n            A = h.jQuery = a.$;\n            G();\n        }) : (((A = h.jQuery) && G()))));\n        var aa = [\"OBJECT\",\"EMBED\",], ba = [\"div\",\"OBJECT\",\"EMBED\",], D = [], I, u = function(a, b) {\n            var c = b.tagName;\n            if (((((((c == \"div\")) || ((c == \"OBJECT\")))) || ((c == \"EMBED\"))))) {\n                I = ((((a.type == \"mouseover\")) ? b : 0));\n            }\n        ;\n        ;\n        };\n        s(n, \"mouseover\", u);\n        s(n, \"mouseout\", u);\n        s(h, \"beforeunload\", function() {\n            h.d16g_originalPageOrd = void 0;\n            JSBNG__setTimeout(function() {\n                l(aa, function(a, c) {\n                    var e = o(c);\n                    l(e, function(a, b) {\n                        D.push(b);\n                    });\n                });\n                var a = o(\"div\");\n                l(a, function(a, c) {\n                    if (/^DA/.test(c.id)) {\n                        try {\n                            var e = c.contentWindow.JSBNG__document;\n                            l(ba, function(a, b) {\n                                if (o(b, e).length) {\n                                    throw null;\n                                }\n                            ;\n                            ;\n                            });\n                        } catch (f) {\n                            D.push(c);\n                        };\n                    }\n                ;\n                ;\n                });\n                l(D, function(a, c) {\n                    if (((c && ((c !== I))))) {\n                        if (((c.tagName == \"div\"))) {\n                            var e = j(c).parentNode;\n                            ((e && y(e, \"\")));\n                        }\n                         else F(c);\n                    ;\n                    }\n                ;\n                ;\n                });\n            }, 0);\n        });\n    })(window, JSBNG__document, Math);\n} catch (JSBNG_ex) {\n\n};");
+// 3703
+JSBNG_Replay.sfbdb2900fa18bccd81cab55c766ea737c1109ca0_8[0]();
+// 3725
+JSBNG_Replay.sfbdb2900fa18bccd81cab55c766ea737c1109ca0_8[0]();
+// 3747
+JSBNG_Replay.sfbdb2900fa18bccd81cab55c766ea737c1109ca0_8[0]();
+// 3770
+cb(); return null; }
+finalize(); })();