/*
 * jQuery JavaScript Library v1.4.2
 * http://jquery.com/
 *
 * Copyright 2010, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 * Copyright 2010, The Dojo Foundation
 * Released under the MIT, BSD, and GPL Licenses.
 *
 * Date: Sat Feb 13 22:33:48 2010 -0500
 */
(function (aN, D) {
    var a = function (aZ, a0) {
        return new a.fn.init(aZ, a0)
    },
        n = aN.jQuery,
        S = aN.$,
        ac = aN.document,
        Y, Q = /^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,
        aX = /^.[^:#\[\.,]*$/,
        ay = /\S/,
        N = /^(\s|\u00A0)+|(\s|\u00A0)+$/g,
        e = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,
        b = navigator.userAgent,
        v, L = false,
        ae = [],
        aH, au = Object.prototype.toString,
        aq = Object.prototype.hasOwnProperty,
        g = Array.prototype.push,
        G = Array.prototype.slice,
        t = Array.prototype.indexOf;
    a.fn = a.prototype = {
        init: function (aZ, a2) {
            var a1, a3, a0, a4;
            if (!aZ) {
                return this
            }
            if (aZ.nodeType) {
                this.context = this[0] = aZ;
                this.length = 1;
                return this
            }
            if (aZ === "body" && !a2) {
                this.context = ac;
                this[0] = ac.body;
                this.selector = "body";
                this.length = 1;
                return this
            }
            if (typeof aZ === "string") {
                a1 = Q.exec(aZ);
                if (a1 && (a1[1] || !a2)) {
                    if (a1[1]) {
                        a4 = (a2 ? a2.ownerDocument || a2 : ac);
                        a0 = e.exec(aZ);
                        if (a0) {
                            if (a.isPlainObject(a2)) {
                                aZ = [ac.createElement(a0[1])];
                                a.fn.attr.call(aZ, a2, true)
                            } else {
                                aZ = [a4.createElement(a0[1])]
                            }
                        } else {
                            a0 = K([a1[1]], [a4]);
                            aZ = (a0.cacheable ? a0.fragment.cloneNode(true) : a0.fragment).childNodes
                        }
                        return a.merge(this, aZ)
                    } else {
                        a3 = ac.getElementById(a1[2]);
                        if (a3) {
                            if (a3.id !== a1[2]) {
                                return Y.find(aZ)
                            }
                            this.length = 1;
                            this[0] = a3
                        }
                        this.context = ac;
                        this.selector = aZ;
                        return this
                    }
                } else {
                    if (!a2 && /^\w+$/.test(aZ)) {
                        this.selector = aZ;
                        this.context = ac;
                        aZ = ac.getElementsByTagName(aZ);
                        return a.merge(this, aZ)
                    } else {
                        if (!a2 || a2.jquery) {
                            return (a2 || Y).find(aZ)
                        } else {
                            return a(a2).find(aZ)
                        }
                    }
                }
            } else {
                if (a.isFunction(aZ)) {
                    return Y.ready(aZ)
                }
            }
            if (aZ.selector !== D) {
                this.selector = aZ.selector;
                this.context = aZ.context
            }
            return a.makeArray(aZ, this)
        },
        selector: "",
        jquery: "1.4.2",
        length: 0,
        size: function () {
            return this.length
        },
        toArray: function () {
            return G.call(this, 0)
        },
        get: function (aZ) {
            return aZ == null ? this.toArray() : (aZ < 0 ? this.slice(aZ)[0] : this[aZ])
        },
        pushStack: function (a0, a2, aZ) {
            var a1 = a();
            if (a.isArray(a0)) {
                g.apply(a1, a0)
            } else {
                a.merge(a1, a0)
            }
            a1.prevObject = this;
            a1.context = this.context;
            if (a2 === "find") {
                a1.selector = this.selector + (this.selector ? " " : "") + aZ
            } else {
                if (a2) {
                    a1.selector = this.selector + "." + a2 + "(" + aZ + ")"
                }
            }
            return a1
        },
        each: function (a0, aZ) {
            return a.each(this, a0, aZ)
        },
        ready: function (aZ) {
            a.bindReady();
            if (a.isReady) {
                aZ.call(ac, a)
            } else {
                if (ae) {
                    ae.push(aZ)
                }
            }
            return this
        },
        eq: function (aZ) {
            return aZ === -1 ? this.slice(aZ) : this.slice(aZ, +aZ + 1)
        },
        first: function () {
            return this.eq(0)
        },
        last: function () {
            return this.eq(-1)
        },
        slice: function () {
            return this.pushStack(G.apply(this, arguments), "slice", G.call(arguments).join(","))
        },
        map: function (aZ) {
            return this.pushStack(a.map(this, function (a1, a0) {
                return aZ.call(a1, a0, a1)
            }))
        },
        end: function () {
            return this.prevObject || a(null)
        },
        push: g,
        sort: [].sort,
        splice: [].splice
    };
    a.fn.init.prototype = a.fn;
    a.extend = a.fn.extend = function () {
        var a4 = arguments[0] || {},
            a3 = 1,
            a2 = arguments.length,
            a6 = false,
            a7, a1, aZ, a0;
        if (typeof a4 === "boolean") {
            a6 = a4;
            a4 = arguments[1] || {};
            a3 = 2
        }
        if (typeof a4 !== "object" && !a.isFunction(a4)) {
            a4 = {}
        }
        if (a2 === a3) {
            a4 = this;
            --a3
        }
        for (; a3 < a2; a3++) {
            if ((a7 = arguments[a3]) != null) {
                for (a1 in a7) {
                    aZ = a4[a1];
                    a0 = a7[a1];
                    if (a4 === a0) {
                        continue
                    }
                    if (a6 && a0 && (a.isPlainObject(a0) || a.isArray(a0))) {
                        var a5 = aZ && (a.isPlainObject(aZ) || a.isArray(aZ)) ? aZ : a.isArray(a0) ? [] : {};
                        a4[a1] = a.extend(a6, a5, a0)
                    } else {
                        if (a0 !== D) {
                            a4[a1] = a0
                        }
                    }
                }
            }
        }
        return a4
    };
    a.extend({
        noConflict: function (aZ) {
            aN.$ = S;
            if (aZ) {
                aN.jQuery = n
            }
            return a
        },
        isReady: false,
        ready: function () {
            if (!a.isReady) {
                if (!ac.body) {
                    return setTimeout(a.ready, 13)
                }
                a.isReady = true;
                if (ae) {
                    var a0, aZ = 0;
                    while ((a0 = ae[aZ++])) {
                        a0.call(ac, a)
                    }
                    ae = null
                }
                if (a.fn.triggerHandler) {
                    a(ac).triggerHandler("ready")
                }
            }
        },
        bindReady: function () {
            if (L) {
                return
            }
            L = true;
            if (ac.readyState === "complete") {
                return a.ready()
            }
            if (ac.addEventListener) {
                ac.addEventListener("DOMContentLoaded", aH, false);
                aN.addEventListener("load", a.ready, false)
            } else {
                if (ac.attachEvent) {
                    ac.attachEvent("onreadystatechange", aH);
                    aN.attachEvent("onload", a.ready);
                    var aZ = false;
                    try {
                        aZ = aN.frameElement == null
                    } catch (a0) {}
                    if (ac.documentElement.doScroll && aZ) {
                        y()
                    }
                }
            }
        },
        isFunction: function (aZ) {
            return au.call(aZ) === "[object Function]"
        },
        isArray: function (aZ) {
            return au.call(aZ) === "[object Array]"
        },
        isPlainObject: function (a0) {
            if (!a0 || au.call(a0) !== "[object Object]" || a0.nodeType || a0.setInterval) {
                return false
            }
            if (a0.constructor && !aq.call(a0, "constructor") && !aq.call(a0.constructor.prototype, "isPrototypeOf")) {
                return false
            }
            var aZ;
            for (aZ in a0) {}
            return aZ === D || aq.call(a0, aZ)
        },
        isEmptyObject: function (a0) {
            for (var aZ in a0) {
                return false
            }
            return true
        },
        error: function (aZ) {
            throw aZ
        },
        parseJSON: function (aZ) {
            if (typeof aZ !== "string" || !aZ) {
                return null
            }
            aZ = a.trim(aZ);
            if (/^[\],:{}\s]*$/.test(aZ.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) {
                return aN.JSON && aN.JSON.parse ? aN.JSON.parse(aZ) : (new Function("return " + aZ))()
            } else {
                a.error("Invalid JSON: " + aZ)
            }
        },
        noop: function () {},
        globalEval: function (a1) {
            if (a1 && ay.test(a1)) {
                var a0 = ac.getElementsByTagName("head")[0] || ac.documentElement,
                    aZ = ac.createElement("script");
                aZ.type = "text/javascript";
                if (a.support.scriptEval) {
                    aZ.appendChild(ac.createTextNode(a1))
                } else {
                    aZ.text = a1
                }
                a0.insertBefore(aZ, a0.firstChild);
                a0.removeChild(aZ)
            }
        },
        nodeName: function (a0, aZ) {
            return a0.nodeName && a0.nodeName.toUpperCase() === aZ.toUpperCase()
        },
        each: function (a2, a6, a1) {
            var a0, a3 = 0,
                a4 = a2.length,
                aZ = a4 === D || a.isFunction(a2);
            if (a1) {
                if (aZ) {
                    for (a0 in a2) {
                        if (a6.apply(a2[a0], a1) === false) {
                            break
                        }
                    }
                } else {
                    for (; a3 < a4;) {
                        if (a6.apply(a2[a3++], a1) === false) {
                            break
                        }
                    }
                }
            } else {
                if (aZ) {
                    for (a0 in a2) {
                        if (a6.call(a2[a0], a0, a2[a0]) === false) {
                            break
                        }
                    }
                } else {
                    for (var a5 = a2[0]; a3 < a4 && a6.call(a5, a3, a5) !== false; a5 = a2[++a3]) {}
                }
            }
            return a2
        },
        trim: function (aZ) {
            return (aZ || "").replace(N, "")
        },
        makeArray: function (a1, a0) {
            var aZ = a0 || [];
            if (a1 != null) {
                if (a1.length == null || typeof a1 === "string" || a.isFunction(a1) || (typeof a1 !== "function" && a1.setInterval)) {
                    g.call(aZ, a1)
                } else {
                    a.merge(aZ, a1)
                }
            }
            return aZ
        },
        inArray: function (a1, a2) {
            if (a2.indexOf) {
                return a2.indexOf(a1)
            }
            for (var aZ = 0, a0 = a2.length; aZ < a0; aZ++) {
                if (a2[aZ] === a1) {
                    return aZ
                }
            }
            return -1
        },
        merge: function (a3, a1) {
            var a2 = a3.length,
                a0 = 0;
            if (typeof a1.length === "number") {
                for (var aZ = a1.length; a0 < aZ; a0++) {
                    a3[a2++] = a1[a0]
                }
            } else {
                while (a1[a0] !== D) {
                    a3[a2++] = a1[a0++]
                }
            }
            a3.length = a2;
            return a3
        },
        grep: function (a0, a4, aZ) {
            var a1 = [];
            for (var a2 = 0, a3 = a0.length; a2 < a3; a2++) {
                if (!aZ !== !a4(a0[a2], a2)) {
                    a1.push(a0[a2])
                }
            }
            return a1
        },
        map: function (a0, a5, aZ) {
            var a1 = [],
                a4;
            for (var a2 = 0, a3 = a0.length; a2 < a3; a2++) {
                a4 = a5(a0[a2], a2, aZ);
                if (a4 != null) {
                    a1[a1.length] = a4
                }
            }
            return a1.concat.apply([], a1)
        },
        guid: 1,
        proxy: function (a1, a0, aZ) {
            if (arguments.length === 2) {
                if (typeof a0 === "string") {
                    aZ = a1;
                    a1 = aZ[a0];
                    a0 = D
                } else {
                    if (a0 && !a.isFunction(a0)) {
                        aZ = a0;
                        a0 = D
                    }
                }
            }
            if (!a0 && a1) {
                a0 = function () {
                    return a1.apply(aZ || this, arguments)
                }
            }
            if (a1) {
                a0.guid = a1.guid = a1.guid || a0.guid || a.guid++
            }
            return a0
        },
        uaMatch: function (a0) {
            a0 = a0.toLowerCase();
            var aZ = /(webkit)[ \/]([\w.]+)/.exec(a0) || /(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a0) || /(msie) ([\w.]+)/.exec(a0) || !/compatible/.test(a0) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec(a0) || [];
            return {
                browser: aZ[1] || "",
                version: aZ[2] || "0"
            }
        },
        browser: {}
    });
    v = a.uaMatch(b);
    if (v.browser) {
        a.browser[v.browser] = true;
        a.browser.version = v.version
    }
    if (a.browser.webkit) {
        a.browser.safari = true
    }
    if (t) {
        a.inArray = function (aZ, a0) {
            return t.call(a0, aZ)
        }
    }
    Y = a(ac);
    if (ac.addEventListener) {
        aH = function () {
            ac.removeEventListener("DOMContentLoaded", aH, false);
            a.ready()
        }
    } else {
        if (ac.attachEvent) {
            aH = function () {
                if (ac.readyState === "complete") {
                    ac.detachEvent("onreadystatechange", aH);
                    a.ready()
                }
            }
        }
    }
    function y() {
        if (a.isReady) {
            return
        }
        try {
            ac.documentElement.doScroll("left")
        } catch (aZ) {
            setTimeout(y, 1);
            return
        }
        a.ready()
    }
    function aW(aZ, a0) {
        if (a0.src) {
            a.ajax({
                url: a0.src,
                async: false,
                dataType: "script"
            })
        } else {
            a.globalEval(a0.text || a0.textContent || a0.innerHTML || "")
        }
        if (a0.parentNode) {
            a0.parentNode.removeChild(a0)
        }
    }
    function ao(aZ, a7, a5, a1, a4, a6) {
        var a0 = aZ.length;
        if (typeof a7 === "object") {
            for (var a2 in a7) {
                ao(aZ, a2, a7[a2], a1, a4, a5)
            }
            return aZ
        }
        if (a5 !== D) {
            a1 = !a6 && a1 && a.isFunction(a5);
            for (var a3 = 0; a3 < a0; a3++) {
                a4(aZ[a3], a7, a1 ? a5.call(aZ[a3], a3, a4(aZ[a3], a7)) : a5, a6)
            }
            return aZ
        }
        return a0 ? a4(aZ[0], a7) : D
    }
    function aQ() {
        return (new Date).getTime()
    }(function () {
        a.support = {};
        var a5 = ac.documentElement,
            a4 = ac.createElement("script"),
            aZ = ac.createElement("div"),
            a0 = "script" + aQ();
        aZ.style.display = "none";
        aZ.innerHTML = "   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
        var a7 = aZ.getElementsByTagName("*"),
            a6 = aZ.getElementsByTagName("a")[0];
        if (!a7 || !a7.length || !a6) {
            return
        }
        a.support = {
            leadingWhitespace: aZ.firstChild.nodeType === 3,
            tbody: !aZ.getElementsByTagName("tbody").length,
            htmlSerialize: !! aZ.getElementsByTagName("link").length,
            style: /red/.test(a6.getAttribute("style")),
            hrefNormalized: a6.getAttribute("href") === "/a",
            opacity: /^0.55$/.test(a6.style.opacity),
            cssFloat: !! a6.style.cssFloat,
            checkOn: aZ.getElementsByTagName("input")[0].value === "on",
            optSelected: ac.createElement("select").appendChild(ac.createElement("option")).selected,
            parentNode: aZ.removeChild(aZ.appendChild(ac.createElement("div"))).parentNode === null,
            deleteExpando: true,
            checkClone: false,
            scriptEval: false,
            noCloneEvent: true,
            boxModel: null
        };
        a4.type = "text/javascript";
        try {
            a4.appendChild(ac.createTextNode("window." + a0 + "=1;"))
        } catch (a2) {}
        a5.insertBefore(a4, a5.firstChild);
        if (aN[a0]) {
            a.support.scriptEval = true;
            delete aN[a0]
        }
        try {
            delete a4.test
        } catch (a2) {
            a.support.deleteExpando = false
        }
        a5.removeChild(a4);
        if (aZ.attachEvent && aZ.fireEvent) {
            aZ.attachEvent("onclick", function a8() {
                a.support.noCloneEvent = false;
                aZ.detachEvent("onclick", a8)
            });
            aZ.cloneNode(true).fireEvent("onclick")
        }
        aZ = ac.createElement("div");
        aZ.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>";
        var a1 = ac.createDocumentFragment();
        a1.appendChild(aZ.firstChild);
        a.support.checkClone = a1.cloneNode(true).cloneNode(true).lastChild.checked;
        a(function () {
            var a9 = ac.createElement("div");
            a9.style.width = a9.style.paddingLeft = "1px";
            ac.body.appendChild(a9);
            a.boxModel = a.support.boxModel = a9.offsetWidth === 2;
            ac.body.removeChild(a9).style.display = "none";
            a9 = null
        });
        var a3 = function (a9) {
            var bb = ac.createElement("div");
            a9 = "on" + a9;
            var ba = (a9 in bb);
            if (!ba) {
                bb.setAttribute(a9, "return;");
                ba = typeof bb[a9] === "function"
            }
            bb = null;
            return ba
        };
        a.support.submitBubbles = a3("submit");
        a.support.changeBubbles = a3("change");
        a5 = a4 = aZ = a7 = a6 = null
    })();
    a.props = {
        "for": "htmlFor",
        "class": "className",
        readonly: "readOnly",
        maxlength: "maxLength",
        cellspacing: "cellSpacing",
        rowspan: "rowSpan",
        colspan: "colSpan",
        tabindex: "tabIndex",
        usemap: "useMap",
        frameborder: "frameBorder"
    };
    var aJ = "jQuery" + aQ(),
        aI = 0,
        aU = {};
    a.extend({
        cache: {},
        expando: aJ,
        noData: {
            embed: true,
            object: true,
            applet: true
        },
        data: function (a1, a0, a3) {
            if (a1.nodeName && a.noData[a1.nodeName.toLowerCase()]) {
                return
            }
            a1 = a1 == aN ? aU : a1;
            var a4 = a1[aJ],
                aZ = a.cache,
                a2;
            if (!a4 && typeof a0 === "string" && a3 === D) {
                return null
            }
            if (!a4) {
                a4 = ++aI
            }
            if (typeof a0 === "object") {
                a1[aJ] = a4;
                a2 = aZ[a4] = a.extend(true, {}, a0)
            } else {
                if (!aZ[a4]) {
                    a1[aJ] = a4;
                    aZ[a4] = {}
                }
            }
            a2 = aZ[a4];
            if (a3 !== D) {
                a2[a0] = a3
            }
            return typeof a0 === "string" ? a2[a0] : a2
        },
        removeData: function (a1, a0) {
            if (a1.nodeName && a.noData[a1.nodeName.toLowerCase()]) {
                return
            }
            a1 = a1 == aN ? aU : a1;
            var a3 = a1[aJ],
                aZ = a.cache,
                a2 = aZ[a3];
            if (a0) {
                if (a2) {
                    delete a2[a0];
                    if (a.isEmptyObject(a2)) {
                        a.removeData(a1)
                    }
                }
            } else {
                if (a.support.deleteExpando) {
                    delete a1[a.expando]
                } else {
                    if (a1.removeAttribute) {
                        a1.removeAttribute(a.expando)
                    }
                }
                delete aZ[a3]
            }
        }
    });
    a.fn.extend({
        data: function (aZ, a1) {
            if (typeof aZ === "undefined" && this.length) {
                return a.data(this[0])
            } else {
                if (typeof aZ === "object") {
                    return this.each(function () {
                        a.data(this, aZ)
                    })
                }
            }
            var a2 = aZ.split(".");
            a2[1] = a2[1] ? "." + a2[1] : "";
            if (a1 === D) {
                var a0 = this.triggerHandler("getData" + a2[1] + "!", [a2[0]]);
                if (a0 === D && this.length) {
                    a0 = a.data(this[0], aZ)
                }
                return a0 === D && a2[1] ? this.data(a2[0]) : a0
            } else {
                return this.trigger("setData" + a2[1] + "!", [a2[0], a1]).each(function () {
                    a.data(this, aZ, a1)
                })
            }
        },
        removeData: function (aZ) {
            return this.each(function () {
                a.removeData(this, aZ)
            })
        }
    });
    a.extend({
        queue: function (a0, aZ, a2) {
            if (!a0) {
                return
            }
            aZ = (aZ || "fx") + "queue";
            var a1 = a.data(a0, aZ);
            if (!a2) {
                return a1 || []
            }
            if (!a1 || a.isArray(a2)) {
                a1 = a.data(a0, aZ, a.makeArray(a2))
            } else {
                a1.push(a2)
            }
            return a1
        },
        dequeue: function (a2, a1) {
            a1 = a1 || "fx";
            var aZ = a.queue(a2, a1),
                a0 = aZ.shift();
            if (a0 === "inprogress") {
                a0 = aZ.shift()
            }
            if (a0) {
                if (a1 === "fx") {
                    aZ.unshift("inprogress")
                }
                a0.call(a2, function () {
                    a.dequeue(a2, a1)
                })
            }
        }
    });
    a.fn.extend({
        queue: function (aZ, a0) {
            if (typeof aZ !== "string") {
                a0 = aZ;
                aZ = "fx"
            }
            if (a0 === D) {
                return a.queue(this[0], aZ)
            }
            return this.each(function (a2, a3) {
                var a1 = a.queue(this, aZ, a0);
                if (aZ === "fx" && a1[0] !== "inprogress") {
                    a.dequeue(this, aZ)
                }
            })
        },
        dequeue: function (aZ) {
            return this.each(function () {
                a.dequeue(this, aZ)
            })
        },
        delay: function (a0, aZ) {
            a0 = a.fx ? a.fx.speeds[a0] || a0 : a0;
            aZ = aZ || "fx";
            return this.queue(aZ, function () {
                var a1 = this;
                setTimeout(function () {
                    a.dequeue(a1, aZ)
                }, a0)
            })
        },
        clearQueue: function (aZ) {
            return this.queue(aZ || "fx", [])
        }
    });
    var ap = /[\n\t]/g,
        T = /\s+/,
        aw = /\r/g,
        aR = /href|src|style/,
        d = /(button|input)/i,
        A = /(button|input|object|select|textarea)/i,
        j = /^(a|area)$/i,
        J = /radio|checkbox/;
    a.fn.extend({
        attr: function (aZ, a0) {
            return ao(this, aZ, a0, true, a.attr)
        },
        removeAttr: function (aZ, a0) {
            return this.each(function () {
                a.attr(this, aZ, "");
                if (this.nodeType === 1) {
                    this.removeAttribute(aZ)
                }
            })
        },
        addClass: function (a6) {
            if (a.isFunction(a6)) {
                return this.each(function (a9) {
                    var a8 = a(this);
                    a8.addClass(a6.call(this, a9, a8.attr("class")))
                })
            }
            if (a6 && typeof a6 === "string") {
                var aZ = (a6 || "").split(T);
                for (var a2 = 0, a1 = this.length; a2 < a1; a2++) {
                    var a0 = this[a2];
                    if (a0.nodeType === 1) {
                        if (!a0.className) {
                            a0.className = a6
                        } else {
                            var a3 = " " + a0.className + " ",
                                a5 = a0.className;
                            for (var a4 = 0, a7 = aZ.length; a4 < a7; a4++) {
                                if (a3.indexOf(" " + aZ[a4] + " ") < 0) {
                                    a5 += " " + aZ[a4]
                                }
                            }
                            a0.className = a.trim(a5)
                        }
                    }
                }
            }
            return this
        },
        removeClass: function (a4) {
            if (a.isFunction(a4)) {
                return this.each(function (a8) {
                    var a7 = a(this);
                    a7.removeClass(a4.call(this, a8, a7.attr("class")))
                })
            }
            if ((a4 && typeof a4 === "string") || a4 === D) {
                var a5 = (a4 || "").split(T);
                for (var a1 = 0, a0 = this.length; a1 < a0; a1++) {
                    var a3 = this[a1];
                    if (a3.nodeType === 1 && a3.className) {
                        if (a4) {
                            var a2 = (" " + a3.className + " ").replace(ap, " ");
                            for (var a6 = 0, aZ = a5.length; a6 < aZ; a6++) {
                                a2 = a2.replace(" " + a5[a6] + " ", " ")
                            }
                            a3.className = a.trim(a2)
                        } else {
                            a3.className = ""
                        }
                    }
                }
            }
            return this
        },
        toggleClass: function (a2, a0) {
            var a1 = typeof a2,
                aZ = typeof a0 === "boolean";
            if (a.isFunction(a2)) {
                return this.each(function (a4) {
                    var a3 = a(this);
                    a3.toggleClass(a2.call(this, a4, a3.attr("class"), a0), a0)
                })
            }
            return this.each(function () {
                if (a1 === "string") {
                    var a5, a4 = 0,
                        a3 = a(this),
                        a6 = a0,
                        a7 = a2.split(T);
                    while ((a5 = a7[a4++])) {
                        a6 = aZ ? a6 : !a3.hasClass(a5);
                        a3[a6 ? "addClass" : "removeClass"](a5)
                    }
                } else {
                    if (a1 === "undefined" || a1 === "boolean") {
                        if (this.className) {
                            a.data(this, "__className__", this.className)
                        }
                        this.className = this.className || a2 === false ? "" : a.data(this, "__className__") || ""
                    }
                }
            })
        },
        hasClass: function (aZ) {
            var a2 = " " + aZ + " ";
            for (var a1 = 0, a0 = this.length; a1 < a0; a1++) {
                if ((" " + this[a1].className + " ").replace(ap, " ").indexOf(a2) > -1) {
                    return true
                }
            }
            return false
        },
        val: function (a6) {
            if (a6 === D) {
                var a0 = this[0];
                if (a0) {
                    if (a.nodeName(a0, "option")) {
                        return (a0.attributes.value || {}).specified ? a0.value : a0.text
                    }
                    if (a.nodeName(a0, "select")) {
                        var a4 = a0.selectedIndex,
                            a7 = [],
                            a8 = a0.options,
                            a3 = a0.type === "select-one";
                        if (a4 < 0) {
                            return null
                        }
                        for (var a1 = a3 ? a4 : 0, a5 = a3 ? a4 + 1 : a8.length; a1 < a5; a1++) {
                            var a2 = a8[a1];
                            if (a2.selected) {
                                a6 = a(a2).val();
                                if (a3) {
                                    return a6
                                }
                                a7.push(a6)
                            }
                        }
                        return a7
                    }
                    if (J.test(a0.type) && !a.support.checkOn) {
                        return a0.getAttribute("value") === null ? "on" : a0.value
                    }
                    return (a0.value || "").replace(aw, "")
                }
                return D
            }
            var aZ = a.isFunction(a6);
            return this.each(function (bb) {
                var ba = a(this),
                    bc = a6;
                if (this.nodeType !== 1) {
                    return
                }
                if (aZ) {
                    bc = a6.call(this, bb, ba.val())
                }
                if (typeof bc === "number") {
                    bc += ""
                }
                if (a.isArray(bc) && J.test(this.type)) {
                    this.checked = a.inArray(ba.val(), bc) >= 0
                } else {
                    if (a.nodeName(this, "select")) {
                        var a9 = a.makeArray(bc);
                        a("option", this).each(function () {
                            this.selected = a.inArray(a(this).val(), a9) >= 0
                        });
                        if (!a9.length) {
                            this.selectedIndex = -1
                        }
                    } else {
                        this.value = bc
                    }
                }
            })
        }
    });
    a.extend({
        attrFn: {
            val: true,
            css: true,
            html: true,
            text: true,
            data: true,
            width: true,
            height: true,
            offset: true
        },
        attr: function (a0, aZ, a5, a8) {
            if (!a0 || a0.nodeType === 3 || a0.nodeType === 8) {
                return D
            }
            if (a8 && aZ in a.attrFn) {
                return a(a0)[aZ](a5)
            }
            var a1 = a0.nodeType !== 1 || !a.isXMLDoc(a0),
                a4 = a5 !== D;
            aZ = a1 && a.props[aZ] || aZ;
            if (a0.nodeType === 1) {
                var a3 = aR.test(aZ);
                if (aZ === "selected" && !a.support.optSelected) {
                    var a6 = a0.parentNode;
                    if (a6) {
                        a6.selectedIndex;
                        if (a6.parentNode) {
                            a6.parentNode.selectedIndex
                        }
                    }
                }
                if (aZ in a0 && a1 && !a3) {
                    if (a4) {
                        if (aZ === "type" && d.test(a0.nodeName) && a0.parentNode) {
                            a.error("type property can't be changed")
                        }
                        a0[aZ] = a5
                    }
                    if (a.nodeName(a0, "form") && a0.getAttributeNode(aZ)) {
                        return a0.getAttributeNode(aZ).nodeValue
                    }
                    if (aZ === "tabIndex") {
                        var a7 = a0.getAttributeNode("tabIndex");
                        return a7 && a7.specified ? a7.value : A.test(a0.nodeName) || j.test(a0.nodeName) && a0.href ? 0 : D
                    }
                    return a0[aZ]
                }
                if (!a.support.style && a1 && aZ === "style") {
                    if (a4) {
                        a0.style.cssText = "" + a5
                    }
                    return a0.style.cssText
                }
                if (a4) {
                    a0.setAttribute(aZ, "" + a5)
                }
                var a2 = !a.support.hrefNormalized && a1 && a3 ? a0.getAttribute(aZ, 2) : a0.getAttribute(aZ);
                return a2 === null ? D : a2
            }
            return a.style(a0, aZ, a5)
        }
    });
    var aD = /\.(.*)$/,
        B = function (aZ) {
            return aZ.replace(/[^\w\s\.\|`]/g, function (a0) {
                return "\\" + a0
            })
        };
    a.event = {
        add: function (a2, a6, bb, a4) {
            if (a2.nodeType === 3 || a2.nodeType === 8) {
                return
            }
            if (a2.setInterval && (a2 !== aN && !a2.frameElement)) {
                a2 = aN
            }
            var a0, ba;
            if (bb.handler) {
                a0 = bb;
                bb = a0.handler
            }
            if (!bb.guid) {
                bb.guid = a.guid++
            }
            var a7 = a.data(a2);
            if (!a7) {
                return
            }
            var bc = a7.events = a7.events || {},
                a5 = a7.handle,
                a5;
            if (!a5) {
                a7.handle = a5 = function () {
                    return typeof a !== "undefined" && !a.event.triggered ? a.event.handle.apply(a5.elem, arguments) : D
                }
            }
            a5.elem = a2;
            a6 = a6.split(" ");
            var a9, a3 = 0,
                aZ;
            while ((a9 = a6[a3++])) {
                ba = a0 ? a.extend({}, a0) : {
                    handler: bb,
                    data: a4
                };
                if (a9.indexOf(".") > -1) {
                    aZ = a9.split(".");
                    a9 = aZ.shift();
                    ba.namespace = aZ.slice(0).sort().join(".")
                } else {
                    aZ = [];
                    ba.namespace = ""
                }
                ba.type = a9;
                ba.guid = bb.guid;
                var a1 = bc[a9],
                    a8 = a.event.special[a9] || {};
                if (!a1) {
                    a1 = bc[a9] = [];
                    if (!a8.setup || a8.setup.call(a2, a4, aZ, a5) === false) {
                        if (a2.addEventListener) {
                            a2.addEventListener(a9, a5, false)
                        } else {
                            if (a2.attachEvent) {
                                a2.attachEvent("on" + a9, a5)
                            }
                        }
                    }
                }
                if (a8.add) {
                    a8.add.call(a2, ba);
                    if (!ba.handler.guid) {
                        ba.handler.guid = bb.guid
                    }
                }
                a1.push(ba);
                a.event.global[a9] = true
            }
            a2 = null
        },
        global: {},
        remove: function (be, a9, a0, a5) {
            if (be.nodeType === 3 || be.nodeType === 8) {
                return
            }
            var bh, a4, a6, bc = 0,
                a2, a7, ba, a3, a8, aZ, bg, bd = a.data(be),
                a1 = bd && bd.events;
            if (!bd || !a1) {
                return
            }
            if (a9 && a9.type) {
                a0 = a9.handler;
                a9 = a9.type
            }
            if (!a9 || typeof a9 === "string" && a9.charAt(0) === ".") {
                a9 = a9 || "";
                for (a4 in a1) {
                    a.event.remove(be, a4 + a9)
                }
                return
            }
            a9 = a9.split(" ");
            while ((a4 = a9[bc++])) {
                bg = a4;
                aZ = null;
                a2 = a4.indexOf(".") < 0;
                a7 = [];
                if (!a2) {
                    a7 = a4.split(".");
                    a4 = a7.shift();
                    ba = new RegExp("(^|\\.)" + a.map(a7.slice(0).sort(), B).join("\\.(?:.*\\.)?") + "(\\.|$)")
                }
                a8 = a1[a4];
                if (!a8) {
                    continue
                }
                if (!a0) {
                    for (var bb = 0; bb < a8.length; bb++) {
                        aZ = a8[bb];
                        if (a2 || ba.test(aZ.namespace)) {
                            a.event.remove(be, bg, aZ.handler, bb);
                            a8.splice(bb--, 1)
                        }
                    }
                    continue
                }
                a3 = a.event.special[a4] || {};
                for (var bb = a5 || 0; bb < a8.length; bb++) {
                    aZ = a8[bb];
                    if (a0.guid === aZ.guid) {
                        if (a2 || ba.test(aZ.namespace)) {
                            if (a5 == null) {
                                a8.splice(bb--, 1)
                            }
                            if (a3.remove) {
                                a3.remove.call(be, aZ)
                            }
                        }
                        if (a5 != null) {
                            break
                        }
                    }
                }
                if (a8.length === 0 || a5 != null && a8.length === 1) {
                    if (!a3.teardown || a3.teardown.call(be, a7) === false) {
                        ah(be, a4, bd.handle)
                    }
                    bh = null;
                    delete a1[a4]
                }
            }
            if (a.isEmptyObject(a1)) {
                var bf = bd.handle;
                if (bf) {
                    bf.elem = null
                }
                delete bd.events;
                delete bd.handle;
                if (a.isEmptyObject(bd)) {
                    a.removeData(be)
                }
            }
        },
        trigger: function (aZ, a3, a1) {
            var a8 = aZ.type || aZ,
                a2 = arguments[3];
            if (!a2) {
                aZ = typeof aZ === "object" ? aZ[aJ] ? aZ : a.extend(a.Event(a8), aZ) : a.Event(a8);
                if (a8.indexOf("!") >= 0) {
                    aZ.type = a8 = a8.slice(0, -1);
                    aZ.exclusive = true
                }
                if (!a1) {
                    aZ.stopPropagation();
                    if (a.event.global[a8]) {
                        a.each(a.cache, function () {
                            if (this.events && this.events[a8]) {
                                a.event.trigger(aZ, a3, this.handle.elem)
                            }
                        })
                    }
                }
                if (!a1 || a1.nodeType === 3 || a1.nodeType === 8) {
                    return D
                }
                aZ.result = D;
                aZ.target = a1;
                a3 = a.makeArray(a3);
                a3.unshift(aZ)
            }
            aZ.currentTarget = a1;
            var a4 = a.data(a1, "handle");
            if (a4) {
                a4.apply(a1, a3)
            }
            var a9 = a1.parentNode || a1.ownerDocument;
            try {
                if (!(a1 && a1.nodeName && a.noData[a1.nodeName.toLowerCase()])) {
                    if (a1["on" + a8] && a1["on" + a8].apply(a1, a3) === false) {
                        aZ.result = false
                    }
                }
            } catch (a6) {}
            if (!aZ.isPropagationStopped() && a9) {
                a.event.trigger(aZ, a3, a9, true)
            } else {
                if (!aZ.isDefaultPrevented()) {
                    var a5 = aZ.target,
                        a0, ba = a.nodeName(a5, "a") && a8 === "click",
                        a7 = a.event.special[a8] || {};
                    if ((!a7._default || a7._default.call(a1, aZ) === false) && !ba && !(a5 && a5.nodeName && a.noData[a5.nodeName.toLowerCase()])) {
                        try {
                            if (a5[a8]) {
                                a0 = a5["on" + a8];
                                if (a0) {
                                    a5["on" + a8] = null
                                }
                                a.event.triggered = true;
                                a5[a8]()
                            }
                        } catch (a6) {}
                        if (a0) {
                            a5["on" + a8] = a0
                        }
                        a.event.triggered = false
                    }
                }
            }
        },
        handle: function (aZ) {
            var a7, a1, a0, a2, a8;
            aZ = arguments[0] = a.event.fix(aZ || aN.event);
            aZ.currentTarget = this;
            a7 = aZ.type.indexOf(".") < 0 && !aZ.exclusive;
            if (!a7) {
                a0 = aZ.type.split(".");
                aZ.type = a0.shift();
                a2 = new RegExp("(^|\\.)" + a0.slice(0).sort().join("\\.(?:.*\\.)?") + "(\\.|$)")
            }
            var a8 = a.data(this, "events"),
                a1 = a8[aZ.type];
            if (a8 && a1) {
                a1 = a1.slice(0);
                for (var a4 = 0, a3 = a1.length; a4 < a3; a4++) {
                    var a6 = a1[a4];
                    if (a7 || a2.test(a6.namespace)) {
                        aZ.handler = a6.handler;
                        aZ.data = a6.data;
                        aZ.handleObj = a6;
                        var a5 = a6.handler.apply(this, arguments);
                        if (a5 !== D) {
                            aZ.result = a5;
                            if (a5 === false) {
                                aZ.preventDefault();
                                aZ.stopPropagation()
                            }
                        }
                        if (aZ.isImmediatePropagationStopped()) {
                            break
                        }
                    }
                }
            }
            return aZ.result
        },
        props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
        fix: function (a2) {
            if (a2[aJ]) {
                return a2
            }
            var a0 = a2;
            a2 = a.Event(a0);
            for (var a1 = this.props.length, a4; a1;) {
                a4 = this.props[--a1];
                a2[a4] = a0[a4]
            }
            if (!a2.target) {
                a2.target = a2.srcElement || ac
            }
            if (a2.target.nodeType === 3) {
                a2.target = a2.target.parentNode
            }
            if (!a2.relatedTarget && a2.fromElement) {
                a2.relatedTarget = a2.fromElement === a2.target ? a2.toElement : a2.fromElement
            }
            if (a2.pageX == null && a2.clientX != null) {
                var a3 = ac.documentElement,
                    aZ = ac.body;
                a2.pageX = a2.clientX + (a3 && a3.scrollLeft || aZ && aZ.scrollLeft || 0) - (a3 && a3.clientLeft || aZ && aZ.clientLeft || 0);
                a2.pageY = a2.clientY + (a3 && a3.scrollTop || aZ && aZ.scrollTop || 0) - (a3 && a3.clientTop || aZ && aZ.clientTop || 0)
            }
            if (!a2.which && ((a2.charCode || a2.charCode === 0) ? a2.charCode : a2.keyCode)) {
                a2.which = a2.charCode || a2.keyCode
            }
            if (!a2.metaKey && a2.ctrlKey) {
                a2.metaKey = a2.ctrlKey
            }
            if (!a2.which && a2.button !== D) {
                a2.which = (a2.button & 1 ? 1 : (a2.button & 2 ? 3 : (a2.button & 4 ? 2 : 0)))
            }
            return a2
        },
        guid: 100000000,
        proxy: a.proxy,
        special: {
            ready: {
                setup: a.bindReady,
                teardown: a.noop
            },
            live: {
                add: function (aZ) {
                    a.event.add(this, aZ.origType, a.extend({}, aZ, {
                        handler: W
                    }))
                },
                remove: function (a0) {
                    var aZ = true,
                        a1 = a0.origType.replace(aD, "");
                    a.each(a.data(this, "events").live || [], function () {
                        if (a1 === this.origType.replace(aD, "")) {
                            aZ = false;
                            return false
                        }
                    });
                    if (aZ) {
                        a.event.remove(this, a0.origType, W)
                    }
                }
            },
            beforeunload: {
                setup: function (a1, a0, aZ) {
                    if (this.setInterval) {
                        this.onbeforeunload = aZ
                    }
                    return false
                },
                teardown: function (a0, aZ) {
                    if (this.onbeforeunload === aZ) {
                        this.onbeforeunload = null
                    }
                }
            }
        }
    };
    var ah = ac.removeEventListener ?
    function (a0, aZ, a1) {
        a0.removeEventListener(aZ, a1, false)
    } : function (a0, aZ, a1) {
        a0.detachEvent("on" + aZ, a1)
    };
    a.Event = function (aZ) {
        if (!this.preventDefault) {
            return new a.Event(aZ)
        }
        if (aZ && aZ.type) {
            this.originalEvent = aZ;
            this.type = aZ.type
        } else {
            this.type = aZ
        }
        this.timeStamp = aQ();
        this[aJ] = true
    };

    function aS() {
        return false
    }
    function f() {
        return true
    }
    a.Event.prototype = {
        preventDefault: function () {
            this.isDefaultPrevented = f;
            var aZ = this.originalEvent;
            if (!aZ) {
                return
            }
            if (aZ.preventDefault) {
                aZ.preventDefault()
            }
            aZ.returnValue = false
        },
        stopPropagation: function () {
            this.isPropagationStopped = f;
            var aZ = this.originalEvent;
            if (!aZ) {
                return
            }
            if (aZ.stopPropagation) {
                aZ.stopPropagation()
            }
            aZ.cancelBubble = true
        },
        stopImmediatePropagation: function () {
            this.isImmediatePropagationStopped = f;
            this.stopPropagation()
        },
        isDefaultPrevented: aS,
        isPropagationStopped: aS,
        isImmediatePropagationStopped: aS
    };
    var R = function (a0) {
        var aZ = a0.relatedTarget;
        try {
            while (aZ && aZ !== this) {
                aZ = aZ.parentNode
            }
            if (aZ !== this) {
                a0.type = a0.data;
                a.event.handle.apply(this, arguments)
            }
        } catch (a1) {}
    },
        az = function (aZ) {
            aZ.type = aZ.data;
            a.event.handle.apply(this, arguments)
        };
    a.each({
        mouseenter: "mouseover",
        mouseleave: "mouseout"
    }, function (a0, aZ) {
        a.event.special[a0] = {
            setup: function (a1) {
                a.event.add(this, aZ, a1 && a1.selector ? az : R, a0)
            },
            teardown: function (a1) {
                a.event.remove(this, aZ, a1 && a1.selector ? az : R)
            }
        }
    });
    if (!a.support.submitBubbles) {
        a.event.special.submit = {
            setup: function (a0, aZ) {
                if (this.nodeName.toLowerCase() !== "form") {
                    a.event.add(this, "click.specialSubmit", function (a3) {
                        var a2 = a3.target,
                            a1 = a2.type;
                        if ((a1 === "submit" || a1 === "image") && a(a2).closest("form").length) {
                            return aB("submit", this, arguments)
                        }
                    });
                    a.event.add(this, "keypress.specialSubmit", function (a3) {
                        var a2 = a3.target,
                            a1 = a2.type;
                        if ((a1 === "text" || a1 === "password") && a(a2).closest("form").length && a3.keyCode === 13) {
                            return aB("submit", this, arguments)
                        }
                    })
                } else {
                    return false
                }
            },
            teardown: function (aZ) {
                a.event.remove(this, ".specialSubmit")
            }
        }
    }
    if (!a.support.changeBubbles) {
        var ar = /textarea|input|select/i,
            aT, i = function (a0) {
                var aZ = a0.type,
                    a1 = a0.value;
                if (aZ === "radio" || aZ === "checkbox") {
                    a1 = a0.checked
                } else {
                    if (aZ === "select-multiple") {
                        a1 = a0.selectedIndex > -1 ? a.map(a0.options, function (a2) {
                            return a2.selected
                        }).join("-") : ""
                    } else {
                        if (a0.nodeName.toLowerCase() === "select") {
                            a1 = a0.selectedIndex
                        }
                    }
                }
                return a1
            },
            P = function P(a1) {
                var aZ = a1.target,
                    a0, a2;
                if (!ar.test(aZ.nodeName) || aZ.readOnly) {
                    return
                }
                a0 = a.data(aZ, "_change_data");
                a2 = i(aZ);
                if (a1.type !== "focusout" || aZ.type !== "radio") {
                    a.data(aZ, "_change_data", a2)
                }
                if (a0 === D || a2 === a0) {
                    return
                }
                if (a0 != null || a2) {
                    a1.type = "change";
                    return a.event.trigger(a1, arguments[1], aZ)
                }
            };
        a.event.special.change = {
            filters: {
                focusout: P,
                click: function (a1) {
                    var a0 = a1.target,
                        aZ = a0.type;
                    if (aZ === "radio" || aZ === "checkbox" || a0.nodeName.toLowerCase() === "select") {
                        return P.call(this, a1)
                    }
                },
                keydown: function (a1) {
                    var a0 = a1.target,
                        aZ = a0.type;
                    if ((a1.keyCode === 13 && a0.nodeName.toLowerCase() !== "textarea") || (a1.keyCode === 32 && (aZ === "checkbox" || aZ === "radio")) || aZ === "select-multiple") {
                        return P.call(this, a1)
                    }
                },
                beforeactivate: function (a0) {
                    var aZ = a0.target;
                    a.data(aZ, "_change_data", i(aZ))
                }
            },
            setup: function (a1, a0) {
                if (this.type === "file") {
                    return false
                }
                for (var aZ in aT) {
                    a.event.add(this, aZ + ".specialChange", aT[aZ])
                }
                return ar.test(this.nodeName)
            },
            teardown: function (aZ) {
                a.event.remove(this, ".specialChange");
                return ar.test(this.nodeName)
            }
        };
        aT = a.event.special.change.filters
    }
    function aB(a0, a1, aZ) {
        aZ[0].type = a0;
        return a.event.handle.apply(a1, aZ)
    }
    if (ac.addEventListener) {
        a.each({
            focus: "focusin",
            blur: "focusout"
        }, function (a1, aZ) {
            a.event.special[aZ] = {
                setup: function () {
                    this.addEventListener(a1, a0, true)
                },
                teardown: function () {
                    this.removeEventListener(a1, a0, true)
                }
            };

            function a0(a2) {
                a2 = a.event.fix(a2);
                a2.type = aZ;
                return a.event.handle.call(this, a2)
            }
        })
    }
    a.each(["bind", "one"], function (a0, aZ) {
        a.fn[aZ] = function (a6, a7, a5) {
            if (typeof a6 === "object") {
                for (var a3 in a6) {
                    this[aZ](a3, a7, a6[a3], a5)
                }
                return this
            }
            if (a.isFunction(a7)) {
                a5 = a7;
                a7 = D
            }
            var a4 = aZ === "one" ? a.proxy(a5, function (a8) {
                a(this).unbind(a8, a4);
                return a5.apply(this, arguments)
            }) : a5;
            if (a6 === "unload" && aZ !== "one") {
                this.one(a6, a7, a5)
            } else {
                for (var a2 = 0, a1 = this.length; a2 < a1; a2++) {
                    a.event.add(this[a2], a6, a4, a7)
                }
            }
            return this
        }
    });
    a.fn.extend({
        unbind: function (a3, a2) {
            if (typeof a3 === "object" && !a3.preventDefault) {
                for (var a1 in a3) {
                    this.unbind(a1, a3[a1])
                }
            } else {
                for (var a0 = 0, aZ = this.length; a0 < aZ; a0++) {
                    a.event.remove(this[a0], a3, a2)
                }
            }
            return this
        },
        delegate: function (aZ, a0, a2, a1) {
            return this.live(a0, a2, a1, aZ)
        },
        undelegate: function (aZ, a0, a1) {
            if (arguments.length === 0) {
                return this.unbind("live")
            } else {
                return this.die(a0, null, a1, aZ)
            }
        },
        trigger: function (aZ, a0) {
            return this.each(function () {
                a.event.trigger(aZ, a0, this)
            })
        },
        triggerHandler: function (aZ, a1) {
            if (this[0]) {
                var a0 = a.Event(aZ);
                a0.preventDefault();
                a0.stopPropagation();
                a.event.trigger(a0, a1, this[0]);
                return a0.result
            }
        },
        toggle: function (a1) {
            var aZ = arguments,
                a0 = 1;
            while (a0 < aZ.length) {
                a.proxy(a1, aZ[a0++])
            }
            return this.click(a.proxy(a1, function (a2) {
                var a3 = (a.data(this, "lastToggle" + a1.guid) || 0) % a0;
                a.data(this, "lastToggle" + a1.guid, a3 + 1);
                a2.preventDefault();
                return aZ[a3].apply(this, arguments) || false
            }))
        },
        hover: function (aZ, a0) {
            return this.mouseenter(aZ).mouseleave(a0 || aZ)
        }
    });
    var ax = {
        focus: "focusin",
        blur: "focusout",
        mouseenter: "mouseover",
        mouseleave: "mouseout"
    };
    a.each(["live", "die"], function (a0, aZ) {
        a.fn[aZ] = function (a8, a5, ba, a3) {
            var a9, a6 = 0,
                a7, a2, bb, a4 = a3 || this.selector,
                a1 = a3 ? this : a(this.context);
            if (a.isFunction(a5)) {
                ba = a5;
                a5 = D
            }
            a8 = (a8 || "").split(" ");
            while ((a9 = a8[a6++]) != null) {
                a7 = aD.exec(a9);
                a2 = "";
                if (a7) {
                    a2 = a7[0];
                    a9 = a9.replace(aD, "")
                }
                if (a9 === "hover") {
                    a8.push("mouseenter" + a2, "mouseleave" + a2);
                    continue
                }
                bb = a9;
                if (a9 === "focus" || a9 === "blur") {
                    a8.push(ax[a9] + a2);
                    a9 = a9 + a2
                } else {
                    a9 = (ax[a9] || a9) + a2
                }
                if (aZ === "live") {
                    a1.each(function () {
                        a.event.add(this, m(a9, a4), {
                            data: a5,
                            selector: a4,
                            handler: ba,
                            origType: a9,
                            origHandler: ba,
                            preType: bb
                        })
                    })
                } else {
                    a1.unbind(m(a9, a4), ba)
                }
            }
            return this
        }
    });

    function W(aZ) {
        var a9, a0 = [],
            bc = [],
            a8 = arguments,
            bb, a7, ba, a2, a4, a6, a3, a5, bd = a.data(this, "events");
        if (aZ.liveFired === this || !bd || !bd.live || aZ.button && aZ.type === "click") {
            return
        }
        aZ.liveFired = this;
        var a1 = bd.live.slice(0);
        for (a4 = 0; a4 < a1.length; a4++) {
            ba = a1[a4];
            if (ba.origType.replace(aD, "") === aZ.type) {
                bc.push(ba.selector)
            } else {
                a1.splice(a4--, 1)
            }
        }
        a7 = a(aZ.target).closest(bc, aZ.currentTarget);
        for (a6 = 0, a3 = a7.length; a6 < a3; a6++) {
            for (a4 = 0; a4 < a1.length; a4++) {
                ba = a1[a4];
                if (a7[a6].selector === ba.selector) {
                    a2 = a7[a6].elem;
                    bb = null;
                    if (ba.preType === "mouseenter" || ba.preType === "mouseleave") {
                        bb = a(aZ.relatedTarget).closest(ba.selector)[0]
                    }
                    if (!bb || bb !== a2) {
                        a0.push({
                            elem: a2,
                            handleObj: ba
                        })
                    }
                }
            }
        }
        for (a6 = 0, a3 = a0.length; a6 < a3; a6++) {
            a7 = a0[a6];
            aZ.currentTarget = a7.elem;
            aZ.data = a7.handleObj.data;
            aZ.handleObj = a7.handleObj;
            if (a7.handleObj.origHandler.apply(a7.elem, a8) === false) {
                a9 = false;
                break
            }
        }
        return a9
    }
    function m(a0, aZ) {
        return "live." + (a0 && a0 !== "*" ? a0 + "." : "") + aZ.replace(/\./g, "`").replace(/ /g, "&")
    }
    a.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error").split(" "), function (a0, aZ) {
        a.fn[aZ] = function (a1) {
            return a1 ? this.bind(aZ, a1) : this.trigger(aZ)
        };
        if (a.attrFn) {
            a.attrFn[aZ] = true
        }
    });
    if (aN.attachEvent && !aN.addEventListener) {
        aN.attachEvent("onunload", function () {
            for (var a0 in a.cache) {
                if (a.cache[a0].handle) {
                    try {
                        a.event.remove(a.cache[a0].handle.elem)
                    } catch (aZ) {}
                }
            }
        });
/*
 * Sizzle CSS Selector Engine - v1.0
 *  Copyright 2009, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 */
    }(function () {
        var ba = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
            bb = 0,
            bd = Object.prototype.toString,
            a5 = false,
            a4 = true;
        [0, 0].sort(function () {
            a4 = false;
            return 0
        });
        var a1 = function (bm, bh, bp, bq) {
            bp = bp || [];
            var bs = bh = bh || ac;
            if (bh.nodeType !== 1 && bh.nodeType !== 9) {
                return []
            }
            if (!bm || typeof bm !== "string") {
                return bp
            }
            var bn = [],
                bj, bu, bx, bi, bl = true,
                bk = a2(bh),
                br = bm;
            while ((ba.exec(""), bj = ba.exec(br)) !== null) {
                br = bj[3];
                bn.push(bj[1]);
                if (bj[2]) {
                    bi = bj[3];
                    break
                }
            }
            if (bn.length > 1 && a6.exec(bm)) {
                if (bn.length === 2 && a7.relative[bn[0]]) {
                    bu = be(bn[0] + bn[1], bh)
                } else {
                    bu = a7.relative[bn[0]] ? [bh] : a1(bn.shift(), bh);
                    while (bn.length) {
                        bm = bn.shift();
                        if (a7.relative[bm]) {
                            bm += bn.shift()
                        }
                        bu = be(bm, bu)
                    }
                }
            } else {
                if (!bq && bn.length > 1 && bh.nodeType === 9 && !bk && a7.match.ID.test(bn[0]) && !a7.match.ID.test(bn[bn.length - 1])) {
                    var bt = a1.find(bn.shift(), bh, bk);
                    bh = bt.expr ? a1.filter(bt.expr, bt.set)[0] : bt.set[0]
                }
                if (bh) {
                    var bt = bq ? {
                        expr: bn.pop(),
                        set: a9(bq)
                    } : a1.find(bn.pop(), bn.length === 1 && (bn[0] === "~" || bn[0] === "+") && bh.parentNode ? bh.parentNode : bh, bk);
                    bu = bt.expr ? a1.filter(bt.expr, bt.set) : bt.set;
                    if (bn.length > 0) {
                        bx = a9(bu)
                    } else {
                        bl = false
                    }
                    while (bn.length) {
                        var bw = bn.pop(),
                            bv = bw;
                        if (!a7.relative[bw]) {
                            bw = ""
                        } else {
                            bv = bn.pop()
                        }
                        if (bv == null) {
                            bv = bh
                        }
                        a7.relative[bw](bx, bv, bk)
                    }
                } else {
                    bx = bn = []
                }
            }
            if (!bx) {
                bx = bu
            }
            if (!bx) {
                a1.error(bw || bm)
            }
            if (bd.call(bx) === "[object Array]") {
                if (!bl) {
                    bp.push.apply(bp, bx)
                } else {
                    if (bh && bh.nodeType === 1) {
                        for (var bo = 0; bx[bo] != null; bo++) {
                            if (bx[bo] && (bx[bo] === true || bx[bo].nodeType === 1 && a8(bh, bx[bo]))) {
                                bp.push(bu[bo])
                            }
                        }
                    } else {
                        for (var bo = 0; bx[bo] != null; bo++) {
                            if (bx[bo] && bx[bo].nodeType === 1) {
                                bp.push(bu[bo])
                            }
                        }
                    }
                }
            } else {
                a9(bx, bp)
            }
            if (bi) {
                a1(bi, bs, bp, bq);
                a1.uniqueSort(bp)
            }
            return bp
        };
        a1.uniqueSort = function (bi) {
            if (bc) {
                a5 = a4;
                bi.sort(bc);
                if (a5) {
                    for (var bh = 1; bh < bi.length; bh++) {
                        if (bi[bh] === bi[bh - 1]) {
                            bi.splice(bh--, 1)
                        }
                    }
                }
            }
            return bi
        };
        a1.matches = function (bh, bi) {
            return a1(bh, null, null, bi)
        };
        a1.find = function (bo, bh, bp) {
            var bn, bl;
            if (!bo) {
                return []
            }
            for (var bk = 0, bj = a7.order.length; bk < bj; bk++) {
                var bm = a7.order[bk],
                    bl;
                if ((bl = a7.leftMatch[bm].exec(bo))) {
                    var bi = bl[1];
                    bl.splice(1, 1);
                    if (bi.substr(bi.length - 1) !== "\\") {
                        bl[1] = (bl[1] || "").replace(/\\/g, "");
                        bn = a7.find[bm](bl, bh, bp);
                        if (bn != null) {
                            bo = bo.replace(a7.match[bm], "");
                            break
                        }
                    }
                }
            }
            if (!bn) {
                bn = bh.getElementsByTagName("*")
            }
            return {
                set: bn,
                expr: bo
            }
        };
        a1.filter = function (bs, br, bv, bl) {
            var bj = bs,
                bx = [],
                bp = br,
                bn, bh, bo = br && br[0] && a2(br[0]);
            while (bs && br.length) {
                for (var bq in a7.filter) {
                    if ((bn = a7.leftMatch[bq].exec(bs)) != null && bn[2]) {
                        var bi = a7.filter[bq],
                            bw, bu, bk = bn[1];
                        bh = false;
                        bn.splice(1, 1);
                        if (bk.substr(bk.length - 1) === "\\") {
                            continue
                        }
                        if (bp === bx) {
                            bx = []
                        }
                        if (a7.preFilter[bq]) {
                            bn = a7.preFilter[bq](bn, bp, bv, bx, bl, bo);
                            if (!bn) {
                                bh = bw = true
                            } else {
                                if (bn === true) {
                                    continue
                                }
                            }
                        }
                        if (bn) {
                            for (var bm = 0;
                            (bu = bp[bm]) != null; bm++) {
                                if (bu) {
                                    bw = bi(bu, bn, bm, bp);
                                    var bt = bl ^ !! bw;
                                    if (bv && bw != null) {
                                        if (bt) {
                                            bh = true
                                        } else {
                                            bp[bm] = false
                                        }
                                    } else {
                                        if (bt) {
                                            bx.push(bu);
                                            bh = true
                                        }
                                    }
                                }
                            }
                        }
                        if (bw !== D) {
                            if (!bv) {
                                bp = bx
                            }
                            bs = bs.replace(a7.match[bq], "");
                            if (!bh) {
                                return []
                            }
                            break
                        }
                    }
                }
                if (bs === bj) {
                    if (bh == null) {
                        a1.error(bs)
                    } else {
                        break
                    }
                }
                bj = bs
            }
            return bp
        };
        a1.error = function (bh) {
            throw "Syntax error, unrecognized expression: " + bh
        };
        var a7 = a1.selectors = {
            order: ["ID", "NAME", "TAG"],
            match: {
                ID: /#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
                CLASS: /\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
                NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,
                ATTR: /\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
                TAG: /^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,
                CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,
                POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,
                PSEUDO: /:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
            },
            leftMatch: {},
            attrMap: {
                "class": "className",
                "for": "htmlFor"
            },
            attrHandle: {
                href: function (bh) {
                    return bh.getAttribute("href")
                }
            },
            relative: {
                "+": function (bn, bi) {
                    var bk = typeof bi === "string",
                        bm = bk && !/\W/.test(bi),
                        bo = bk && !bm;
                    if (bm) {
                        bi = bi.toLowerCase()
                    }
                    for (var bj = 0, bh = bn.length, bl; bj < bh; bj++) {
                        if ((bl = bn[bj])) {
                            while ((bl = bl.previousSibling) && bl.nodeType !== 1) {}
                            bn[bj] = bo || bl && bl.nodeName.toLowerCase() === bi ? bl || false : bl === bi
                        }
                    }
                    if (bo) {
                        a1.filter(bi, bn, true)
                    }
                },
                ">": function (bn, bi) {
                    var bl = typeof bi === "string";
                    if (bl && !/\W/.test(bi)) {
                        bi = bi.toLowerCase();
                        for (var bj = 0, bh = bn.length; bj < bh; bj++) {
                            var bm = bn[bj];
                            if (bm) {
                                var bk = bm.parentNode;
                                bn[bj] = bk.nodeName.toLowerCase() === bi ? bk : false
                            }
                        }
                    } else {
                        for (var bj = 0, bh = bn.length; bj < bh; bj++) {
                            var bm = bn[bj];
                            if (bm) {
                                bn[bj] = bl ? bm.parentNode : bm.parentNode === bi
                            }
                        }
                        if (bl) {
                            a1.filter(bi, bn, true)
                        }
                    }
                },
                "": function (bk, bi, bm) {
                    var bj = bb++,
                        bh = bf;
                    if (typeof bi === "string" && !/\W/.test(bi)) {
                        var bl = bi = bi.toLowerCase();
                        bh = aZ
                    }
                    bh("parentNode", bi, bj, bk, bl, bm)
                },
                "~": function (bk, bi, bm) {
                    var bj = bb++,
                        bh = bf;
                    if (typeof bi === "string" && !/\W/.test(bi)) {
                        var bl = bi = bi.toLowerCase();
                        bh = aZ
                    }
                    bh("previousSibling", bi, bj, bk, bl, bm)
                }
            },
            find: {
                ID: function (bi, bj, bk) {
                    if (typeof bj.getElementById !== "undefined" && !bk) {
                        var bh = bj.getElementById(bi[1]);
                        return bh ? [bh] : []
                    }
                },
                NAME: function (bj, bm) {
                    if (typeof bm.getElementsByName !== "undefined") {
                        var bi = [],
                            bl = bm.getElementsByName(bj[1]);
                        for (var bk = 0, bh = bl.length; bk < bh; bk++) {
                            if (bl[bk].getAttribute("name") === bj[1]) {
                                bi.push(bl[bk])
                            }
                        }
                        return bi.length === 0 ? null : bi
                    }
                },
                TAG: function (bh, bi) {
                    return bi.getElementsByTagName(bh[1])
                }
            },
            preFilter: {
                CLASS: function (bk, bi, bj, bh, bn, bo) {
                    bk = " " + bk[1].replace(/\\/g, "") + " ";
                    if (bo) {
                        return bk
                    }
                    for (var bl = 0, bm;
                    (bm = bi[bl]) != null; bl++) {
                        if (bm) {
                            if (bn ^ (bm.className && (" " + bm.className + " ").replace(/[\t\n]/g, " ").indexOf(bk) >= 0)) {
                                if (!bj) {
                                    bh.push(bm)
                                }
                            } else {
                                if (bj) {
                                    bi[bl] = false
                                }
                            }
                        }
                    }
                    return false
                },
                ID: function (bh) {
                    return bh[1].replace(/\\/g, "")
                },
                TAG: function (bi, bh) {
                    return bi[1].toLowerCase()
                },
                CHILD: function (bh) {
                    if (bh[1] === "nth") {
                        var bi = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(bh[2] === "even" && "2n" || bh[2] === "odd" && "2n+1" || !/\D/.test(bh[2]) && "0n+" + bh[2] || bh[2]);
                        bh[2] = (bi[1] + (bi[2] || 1)) - 0;
                        bh[3] = bi[3] - 0
                    }
                    bh[0] = bb++;
                    return bh
                },
                ATTR: function (bl, bi, bj, bh, bm, bn) {
                    var bk = bl[1].replace(/\\/g, "");
                    if (!bn && a7.attrMap[bk]) {
                        bl[1] = a7.attrMap[bk]
                    }
                    if (bl[2] === "~=") {
                        bl[4] = " " + bl[4] + " "
                    }
                    return bl
                },
                PSEUDO: function (bl, bi, bj, bh, bm) {
                    if (bl[1] === "not") {
                        if ((ba.exec(bl[3]) || "").length > 1 || /^\w/.test(bl[3])) {
                            bl[3] = a1(bl[3], null, null, bi)
                        } else {
                            var bk = a1.filter(bl[3], bi, bj, true ^ bm);
                            if (!bj) {
                                bh.push.apply(bh, bk)
                            }
                            return false
                        }
                    } else {
                        if (a7.match.POS.test(bl[0]) || a7.match.CHILD.test(bl[0])) {
                            return true
                        }
                    }
                    return bl
                },
                POS: function (bh) {
                    bh.unshift(true);
                    return bh
                }
            },
            filters: {
                enabled: function (bh) {
                    return bh.disabled === false && bh.type !== "hidden"
                },
                disabled: function (bh) {
                    return bh.disabled === true
                },
                checked: function (bh) {
                    return bh.checked === true
                },
                selected: function (bh) {
                    bh.parentNode.selectedIndex;
                    return bh.selected === true
                },
                parent: function (bh) {
                    return !!bh.firstChild
                },
                empty: function (bh) {
                    return !bh.firstChild
                },
                has: function (bj, bi, bh) {
                    return !!a1(bh[3], bj).length
                },
                header: function (bh) {
                    return /h\d/i.test(bh.nodeName)
                },
                text: function (bh) {
                    return "text" === bh.type
                },
                radio: function (bh) {
                    return "radio" === bh.type
                },
                checkbox: function (bh) {
                    return "checkbox" === bh.type
                },
                file: function (bh) {
                    return "file" === bh.type
                },
                password: function (bh) {
                    return "password" === bh.type
                },
                submit: function (bh) {
                    return "submit" === bh.type
                },
                image: function (bh) {
                    return "image" === bh.type
                },
                reset: function (bh) {
                    return "reset" === bh.type
                },
                button: function (bh) {
                    return "button" === bh.type || bh.nodeName.toLowerCase() === "button"
                },
                input: function (bh) {
                    return /input|select|textarea|button/i.test(bh.nodeName)
                }
            },
            setFilters: {
                first: function (bi, bh) {
                    return bh === 0
                },
                last: function (bj, bi, bh, bk) {
                    return bi === bk.length - 1
                },
                even: function (bi, bh) {
                    return bh % 2 === 0
                },
                odd: function (bi, bh) {
                    return bh % 2 === 1
                },
                lt: function (bj, bi, bh) {
                    return bi < bh[3] - 0
                },
                gt: function (bj, bi, bh) {
                    return bi > bh[3] - 0
                },
                nth: function (bj, bi, bh) {
                    return bh[3] - 0 === bi
                },
                eq: function (bj, bi, bh) {
                    return bh[3] - 0 === bi
                }
            },
            filter: {
                PSEUDO: function (bn, bj, bk, bo) {
                    var bi = bj[1],
                        bl = a7.filters[bi];
                    if (bl) {
                        return bl(bn, bk, bj, bo)
                    } else {
                        if (bi === "contains") {
                            return (bn.textContent || bn.innerText || a0([bn]) || "").indexOf(bj[3]) >= 0
                        } else {
                            if (bi === "not") {
                                var bm = bj[3];
                                for (var bk = 0, bh = bm.length; bk < bh; bk++) {
                                    if (bm[bk] === bn) {
                                        return false
                                    }
                                }
                                return true
                            } else {
                                a1.error("Syntax error, unrecognized expression: " + bi)
                            }
                        }
                    }
                },
                CHILD: function (bh, bk) {
                    var bn = bk[1],
                        bi = bh;
                    switch (bn) {
                    case "only":
                    case "first":
                        while ((bi = bi.previousSibling)) {
                            if (bi.nodeType === 1) {
                                return false
                            }
                        }
                        if (bn === "first") {
                            return true
                        }
                        bi = bh;
                    case "last":
                        while ((bi = bi.nextSibling)) {
                            if (bi.nodeType === 1) {
                                return false
                            }
                        }
                        return true;
                    case "nth":
                        var bj = bk[2],
                            bq = bk[3];
                        if (bj === 1 && bq === 0) {
                            return true
                        }
                        var bm = bk[0],
                            bp = bh.parentNode;
                        if (bp && (bp.sizcache !== bm || !bh.nodeIndex)) {
                            var bl = 0;
                            for (bi = bp.firstChild; bi; bi = bi.nextSibling) {
                                if (bi.nodeType === 1) {
                                    bi.nodeIndex = ++bl
                                }
                            }
                            bp.sizcache = bm
                        }
                        var bo = bh.nodeIndex - bq;
                        if (bj === 0) {
                            return bo === 0
                        } else {
                            return (bo % bj === 0 && bo / bj >= 0)
                        }
                    }
                },
                ID: function (bi, bh) {
                    return bi.nodeType === 1 && bi.getAttribute("id") === bh
                },
                TAG: function (bi, bh) {
                    return (bh === "*" && bi.nodeType === 1) || bi.nodeName.toLowerCase() === bh
                },
                CLASS: function (bi, bh) {
                    return (" " + (bi.className || bi.getAttribute("class")) + " ").indexOf(bh) > -1
                },
                ATTR: function (bm, bk) {
                    var bj = bk[1],
                        bh = a7.attrHandle[bj] ? a7.attrHandle[bj](bm) : bm[bj] != null ? bm[bj] : bm.getAttribute(bj),
                        bn = bh + "",
                        bl = bk[2],
                        bi = bk[4];
                    return bh == null ? bl === "!=" : bl === "=" ? bn === bi : bl === "*=" ? bn.indexOf(bi) >= 0 : bl === "~=" ? (" " + bn + " ").indexOf(bi) >= 0 : !bi ? bn && bh !== false : bl === "!=" ? bn !== bi : bl === "^=" ? bn.indexOf(bi) === 0 : bl === "$=" ? bn.substr(bn.length - bi.length) === bi : bl === "|=" ? bn === bi || bn.substr(0, bi.length + 1) === bi + "-" : false
                },
                POS: function (bl, bi, bj, bm) {
                    var bh = bi[2],
                        bk = a7.setFilters[bh];
                    if (bk) {
                        return bk(bl, bj, bi, bm)
                    }
                }
            }
        };
        var a6 = a7.match.POS;
        for (var a3 in a7.match) {
            a7.match[a3] = new RegExp(a7.match[a3].source + /(?![^\[]*\])(?![^\(]*\))/.source);
            a7.leftMatch[a3] = new RegExp(/(^(?:.|\r|\n)*?)/.source + a7.match[a3].source.replace(/\\(\d+)/g, function (bi, bh) {
                return "\\" + (bh - 0 + 1)
            }))
        }
        var a9 = function (bi, bh) {
            bi = Array.prototype.slice.call(bi, 0);
            if (bh) {
                bh.push.apply(bh, bi);
                return bh
            }
            return bi
        };
        try {
            Array.prototype.slice.call(ac.documentElement.childNodes, 0)[0].nodeType
        } catch (bg) {
            a9 = function (bl, bk) {
                var bi = bk || [];
                if (bd.call(bl) === "[object Array]") {
                    Array.prototype.push.apply(bi, bl)
                } else {
                    if (typeof bl.length === "number") {
                        for (var bj = 0, bh = bl.length; bj < bh; bj++) {
                            bi.push(bl[bj])
                        }
                    } else {
                        for (var bj = 0; bl[bj]; bj++) {
                            bi.push(bl[bj])
                        }
                    }
                }
                return bi
            }
        }
        var bc;
        if (ac.documentElement.compareDocumentPosition) {
            bc = function (bi, bh) {
                if (!bi.compareDocumentPosition || !bh.compareDocumentPosition) {
                    if (bi == bh) {
                        a5 = true
                    }
                    return bi.compareDocumentPosition ? -1 : 1
                }
                var bj = bi.compareDocumentPosition(bh) & 4 ? -1 : bi === bh ? 0 : 1;
                if (bj === 0) {
                    a5 = true
                }
                return bj
            }
        } else {
            if ("sourceIndex" in ac.documentElement) {
                bc = function (bi, bh) {
                    if (!bi.sourceIndex || !bh.sourceIndex) {
                        if (bi == bh) {
                            a5 = true
                        }
                        return bi.sourceIndex ? -1 : 1
                    }
                    var bj = bi.sourceIndex - bh.sourceIndex;
                    if (bj === 0) {
                        a5 = true
                    }
                    return bj
                }
            } else {
                if (ac.createRange) {
                    bc = function (bk, bi) {
                        if (!bk.ownerDocument || !bi.ownerDocument) {
                            if (bk == bi) {
                                a5 = true
                            }
                            return bk.ownerDocument ? -1 : 1
                        }
                        var bj = bk.ownerDocument.createRange(),
                            bh = bi.ownerDocument.createRange();
                        bj.setStart(bk, 0);
                        bj.setEnd(bk, 0);
                        bh.setStart(bi, 0);
                        bh.setEnd(bi, 0);
                        var bl = bj.compareBoundaryPoints(Range.START_TO_END, bh);
                        if (bl === 0) {
                            a5 = true
                        }
                        return bl
                    }
                }
            }
        }
        function a0(bh) {
            var bi = "",
                bk;
            for (var bj = 0; bh[bj]; bj++) {
                bk = bh[bj];
                if (bk.nodeType === 3 || bk.nodeType === 4) {
                    bi += bk.nodeValue
                } else {
                    if (bk.nodeType !== 8) {
                        bi += a0(bk.childNodes)
                    }
                }
            }
            return bi
        }(function () {
            var bi = ac.createElement("div"),
                bj = "script" + (new Date).getTime();
            bi.innerHTML = "<a name='" + bj + "'/>";
            var bh = ac.documentElement;
            bh.insertBefore(bi, bh.firstChild);
            if (ac.getElementById(bj)) {
                a7.find.ID = function (bl, bm, bn) {
                    if (typeof bm.getElementById !== "undefined" && !bn) {
                        var bk = bm.getElementById(bl[1]);
                        return bk ? bk.id === bl[1] || typeof bk.getAttributeNode !== "undefined" && bk.getAttributeNode("id").nodeValue === bl[1] ? [bk] : D : []
                    }
                };
                a7.filter.ID = function (bm, bk) {
                    var bl = typeof bm.getAttributeNode !== "undefined" && bm.getAttributeNode("id");
                    return bm.nodeType === 1 && bl && bl.nodeValue === bk
                }
            }
            bh.removeChild(bi);
            bh = bi = null
        })();
        (function () {
            var bh = ac.createElement("div");
            bh.appendChild(ac.createComment(""));
            if (bh.getElementsByTagName("*").length > 0) {
                a7.find.TAG = function (bi, bm) {
                    var bl = bm.getElementsByTagName(bi[1]);
                    if (bi[1] === "*") {
                        var bk = [];
                        for (var bj = 0; bl[bj]; bj++) {
                            if (bl[bj].nodeType === 1) {
                                bk.push(bl[bj])
                            }
                        }
                        bl = bk
                    }
                    return bl
                }
            }
            bh.innerHTML = "<a href='#'></a>";
            if (bh.firstChild && typeof bh.firstChild.getAttribute !== "undefined" && bh.firstChild.getAttribute("href") !== "#") {
                a7.attrHandle.href = function (bi) {
                    return bi.getAttribute("href", 2)
                }
            }
            bh = null
        })();
        if (ac.querySelectorAll) {
            (function () {
                var bh = a1,
                    bj = ac.createElement("div");
                bj.innerHTML = "<p class='TEST'></p>";
                if (bj.querySelectorAll && bj.querySelectorAll(".TEST").length === 0) {
                    return
                }
                a1 = function (bn, bm, bk, bl) {
                    bm = bm || ac;
                    if (!bl && bm.nodeType === 9 && !a2(bm)) {
                        try {
                            return a9(bm.querySelectorAll(bn), bk)
                        } catch (bo) {}
                    }
                    return bh(bn, bm, bk, bl)
                };
                for (var bi in bh) {
                    a1[bi] = bh[bi]
                }
                bj = null
            })()
        }(function () {
            var bh = ac.createElement("div");
            bh.innerHTML = "<div class='test e'></div><div class='test'></div>";
            if (!bh.getElementsByClassName || bh.getElementsByClassName("e").length === 0) {
                return
            }
            bh.lastChild.className = "e";
            if (bh.getElementsByClassName("e").length === 1) {
                return
            }
            a7.order.splice(1, 0, "CLASS");
            a7.find.CLASS = function (bi, bj, bk) {
                if (typeof bj.getElementsByClassName !== "undefined" && !bk) {
                    return bj.getElementsByClassName(bi[1])
                }
            };
            bh = null
        })();

        function aZ(bi, bn, bm, bq, bo, bp) {
            for (var bk = 0, bj = bq.length; bk < bj; bk++) {
                var bh = bq[bk];
                if (bh) {
                    bh = bh[bi];
                    var bl = false;
                    while (bh) {
                        if (bh.sizcache === bm) {
                            bl = bq[bh.sizset];
                            break
                        }
                        if (bh.nodeType === 1 && !bp) {
                            bh.sizcache = bm;
                            bh.sizset = bk
                        }
                        if (bh.nodeName.toLowerCase() === bn) {
                            bl = bh;
                            break
                        }
                        bh = bh[bi]
                    }
                    bq[bk] = bl
                }
            }
        }
        function bf(bi, bn, bm, bq, bo, bp) {
            for (var bk = 0, bj = bq.length; bk < bj; bk++) {
                var bh = bq[bk];
                if (bh) {
                    bh = bh[bi];
                    var bl = false;
                    while (bh) {
                        if (bh.sizcache === bm) {
                            bl = bq[bh.sizset];
                            break
                        }
                        if (bh.nodeType === 1) {
                            if (!bp) {
                                bh.sizcache = bm;
                                bh.sizset = bk
                            }
                            if (typeof bn !== "string") {
                                if (bh === bn) {
                                    bl = true;
                                    break
                                }
                            } else {
                                if (a1.filter(bn, [bh]).length > 0) {
                                    bl = bh;
                                    break
                                }
                            }
                        }
                        bh = bh[bi]
                    }
                    bq[bk] = bl
                }
            }
        }
        var a8 = ac.compareDocumentPosition ?
        function (bi, bh) {
            return !!(bi.compareDocumentPosition(bh) & 16)
        } : function (bi, bh) {
            return bi !== bh && (bi.contains ? bi.contains(bh) : true)
        };
        var a2 = function (bh) {
            var bi = (bh ? bh.ownerDocument || bh : 0).documentElement;
            return bi ? bi.nodeName !== "HTML" : false
        };
        var be = function (bh, bo) {
            var bk = [],
                bl = "",
                bm, bj = bo.nodeType ? [bo] : bo;
            while ((bm = a7.match.PSEUDO.exec(bh))) {
                bl += bm[0];
                bh = bh.replace(a7.match.PSEUDO, "")
            }
            bh = a7.relative[bh] ? bh + "*" : bh;
            for (var bn = 0, bi = bj.length; bn < bi; bn++) {
                a1(bh, bj[bn], bk)
            }
            return a1.filter(bl, bk)
        };
        a.find = a1;
        a.expr = a1.selectors;
        a.expr[":"] = a.expr.filters;
        a.unique = a1.uniqueSort;
        a.text = a0;
        a.isXMLDoc = a2;
        a.contains = a8;
        return;
        aN.Sizzle = a1
    })();
    var O = /Until$/,
        Z = /^(?:parents|prevUntil|prevAll)/,
        aM = /,/,
        G = Array.prototype.slice;
    var aj = function (a2, a1, aZ) {
        if (a.isFunction(a1)) {
            return a.grep(a2, function (a4, a3) {
                return !!a1.call(a4, a3, a4) === aZ
            })
        } else {
            if (a1.nodeType) {
                return a.grep(a2, function (a4, a3) {
                    return (a4 === a1) === aZ
                })
            } else {
                if (typeof a1 === "string") {
                    var a0 = a.grep(a2, function (a3) {
                        return a3.nodeType === 1
                    });
                    if (aX.test(a1)) {
                        return a.filter(a1, a0, !aZ)
                    } else {
                        a1 = a.filter(a1, a0)
                    }
                }
            }
        }
        return a.grep(a2, function (a4, a3) {
            return (a.inArray(a4, a1) >= 0) === aZ
        })
    };
    a.fn.extend({
        find: function (aZ) {
            var a1 = this.pushStack("", "find", aZ),
                a4 = 0;
            for (var a2 = 0, a0 = this.length; a2 < a0; a2++) {
                a4 = a1.length;
                a.find(aZ, this[a2], a1);
                if (a2 > 0) {
                    for (var a5 = a4; a5 < a1.length; a5++) {
                        for (var a3 = 0; a3 < a4; a3++) {
                            if (a1[a3] === a1[a5]) {
                                a1.splice(a5--, 1);
                                break
                            }
                        }
                    }
                }
            }
            return a1
        },
        has: function (a0) {
            var aZ = a(a0);
            return this.filter(function () {
                for (var a2 = 0, a1 = aZ.length; a2 < a1; a2++) {
                    if (a.contains(this, aZ[a2])) {
                        return true
                    }
                }
            })
        },
        not: function (aZ) {
            return this.pushStack(aj(this, aZ, false), "not", aZ)
        },
        filter: function (aZ) {
            return this.pushStack(aj(this, aZ, true), "filter", aZ)
        },
        is: function (aZ) {
            return !!aZ && a.filter(aZ, this).length > 0
        },
        closest: function (a8, aZ) {
            if (a.isArray(a8)) {
                var a5 = [],
                    a7 = this[0],
                    a4, a3 = {},
                    a1;
                if (a7 && a8.length) {
                    for (var a2 = 0, a0 = a8.length; a2 < a0; a2++) {
                        a1 = a8[a2];
                        if (!a3[a1]) {
                            a3[a1] = a.expr.match.POS.test(a1) ? a(a1, aZ || this.context) : a1
                        }
                    }
                    while (a7 && a7.ownerDocument && a7 !== aZ) {
                        for (a1 in a3) {
                            a4 = a3[a1];
                            if (a4.jquery ? a4.index(a7) > -1 : a(a7).is(a4)) {
                                a5.push({
                                    selector: a1,
                                    elem: a7
                                });
                                delete a3[a1]
                            }
                        }
                        a7 = a7.parentNode
                    }
                }
                return a5
            }
            var a6 = a.expr.match.POS.test(a8) ? a(a8, aZ || this.context) : null;
            return this.map(function (a9, ba) {
                while (ba && ba.ownerDocument && ba !== aZ) {
                    if (a6 ? a6.index(ba) > -1 : a(ba).is(a8)) {
                        return ba
                    }
                    ba = ba.parentNode
                }
                return null
            })
        },
        index: function (aZ) {
            if (!aZ || typeof aZ === "string") {
                return a.inArray(this[0], aZ ? a(aZ) : this.parent().children())
            }
            return a.inArray(aZ.jquery ? aZ[0] : aZ, this)
        },
        add: function (aZ, a0) {
            var a2 = typeof aZ === "string" ? a(aZ, a0 || this.context) : a.makeArray(aZ),
                a1 = a.merge(this.get(), a2);
            return this.pushStack(z(a2[0]) || z(a1[0]) ? a1 : a.unique(a1))
        },
        andSelf: function () {
            return this.add(this.prevObject)
        }
    });

    function z(aZ) {
        return !aZ || !aZ.parentNode || aZ.parentNode.nodeType === 11
    }
    a.each({
        parent: function (a0) {
            var aZ = a0.parentNode;
            return aZ && aZ.nodeType !== 11 ? aZ : null
        },
        parents: function (aZ) {
            return a.dir(aZ, "parentNode")
        },
        parentsUntil: function (a0, aZ, a1) {
            return a.dir(a0, "parentNode", a1)
        },
        next: function (aZ) {
            return a.nth(aZ, 2, "nextSibling")
        },
        prev: function (aZ) {
            return a.nth(aZ, 2, "previousSibling")
        },
        nextAll: function (aZ) {
            return a.dir(aZ, "nextSibling")
        },
        prevAll: function (aZ) {
            return a.dir(aZ, "previousSibling")
        },
        nextUntil: function (a0, aZ, a1) {
            return a.dir(a0, "nextSibling", a1)
        },
        prevUntil: function (a0, aZ, a1) {
            return a.dir(a0, "previousSibling", a1)
        },
        siblings: function (aZ) {
            return a.sibling(aZ.parentNode.firstChild, aZ)
        },
        children: function (aZ) {
            return a.sibling(aZ.firstChild)
        },
        contents: function (aZ) {
            return a.nodeName(aZ, "iframe") ? aZ.contentDocument || aZ.contentWindow.document : a.makeArray(aZ.childNodes)
        }
    }, function (aZ, a0) {
        a.fn[aZ] = function (a3, a1) {
            var a2 = a.map(this, a0, a3);
            if (!O.test(aZ)) {
                a1 = a3
            }
            if (a1 && typeof a1 === "string") {
                a2 = a.filter(a1, a2)
            }
            a2 = this.length > 1 ? a.unique(a2) : a2;
            if ((this.length > 1 || aM.test(a1)) && Z.test(aZ)) {
                a2 = a2.reverse()
            }
            return this.pushStack(a2, aZ, G.call(arguments).join(","))
        }
    });
    a.extend({
        filter: function (a1, aZ, a0) {
            if (a0) {
                a1 = ":not(" + a1 + ")"
            }
            return a.find.matches(a1, aZ)
        },
        dir: function (a1, a0, a3) {
            var aZ = [],
                a2 = a1[a0];
            while (a2 && a2.nodeType !== 9 && (a3 === D || a2.nodeType !== 1 || !a(a2).is(a3))) {
                if (a2.nodeType === 1) {
                    aZ.push(a2)
                }
                a2 = a2[a0]
            }
            return aZ
        },
        nth: function (a3, aZ, a1, a2) {
            aZ = aZ || 1;
            var a0 = 0;
            for (; a3; a3 = a3[a1]) {
                if (a3.nodeType === 1 && ++a0 === aZ) {
                    break
                }
            }
            return a3
        },
        sibling: function (a1, a0) {
            var aZ = [];
            for (; a1; a1 = a1.nextSibling) {
                if (a1.nodeType === 1 && a1 !== a0) {
                    aZ.push(a1)
                }
            }
            return aZ
        }
    });
    var U = / jQuery\d+="(?:\d+|null)"/g,
        aa = /^\s+/,
        I = /(<([\w:]+)[^>]*?)\/>/g,
        am = /^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,
        c = /<([\w:]+)/,
        u = /<tbody/i,
        M = /<|&#?\w+;/,
        F = /<script|<object|<embed|<option|<style/i,
        l = /checked\s*(?:[^=]|=\s*.checked.)/i,
        q = function (a0, a1, aZ) {
            return am.test(aZ) ? a0 : a1 + "></" + aZ + ">"
        },
        ad = {
            option: [1, "<select multiple='multiple'>", "</select>"],
            legend: [1, "<fieldset>", "</fieldset>"],
            thead: [1, "<table>", "</table>"],
            tr: [2, "<table><tbody>", "</tbody></table>"],
            td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
            col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"],
            area: [1, "<map>", "</map>"],
            _default: [0, "", ""]
        };
    ad.optgroup = ad.option;
    ad.tbody = ad.tfoot = ad.colgroup = ad.caption = ad.thead;
    ad.th = ad.td;
    if (!a.support.htmlSerialize) {
        ad._default = [1, "div<div>", "</div>"]
    }
    a.fn.extend({
        text: function (aZ) {
            if (a.isFunction(aZ)) {
                return this.each(function (a1) {
                    var a0 = a(this);
                    a0.text(aZ.call(this, a1, a0.text()))
                })
            }
            if (typeof aZ !== "object" && aZ !== D) {
                return this.empty().append((this[0] && this[0].ownerDocument || ac).createTextNode(aZ))
            }
            return a.text(this)
        },
        wrapAll: function (aZ) {
            if (a.isFunction(aZ)) {
                return this.each(function (a1) {
                    a(this).wrapAll(aZ.call(this, a1))
                })
            }
            if (this[0]) {
                var a0 = a(aZ, this[0].ownerDocument).eq(0).clone(true);
                if (this[0].parentNode) {
                    a0.insertBefore(this[0])
                }
                a0.map(function () {
                    var a1 = this;
                    while (a1.firstChild && a1.firstChild.nodeType === 1) {
                        a1 = a1.firstChild
                    }
                    return a1
                }).append(this)
            }
            return this
        },
        wrapInner: function (aZ) {
            if (a.isFunction(aZ)) {
                return this.each(function (a0) {
                    a(this).wrapInner(aZ.call(this, a0))
                })
            }
            return this.each(function () {
                var a0 = a(this),
                    a1 = a0.contents();
                if (a1.length) {
                    a1.wrapAll(aZ)
                } else {
                    a0.append(aZ)
                }
            })
        },
        wrap: function (aZ) {
            return this.each(function () {
                a(this).wrapAll(aZ)
            })
        },
        unwrap: function () {
            return this.parent().each(function () {
                if (!a.nodeName(this, "body")) {
                    a(this).replaceWith(this.childNodes)
                }
            }).end()
        },
        append: function () {
            return this.domManip(arguments, true, function (aZ) {
                if (this.nodeType === 1) {
                    this.appendChild(aZ)
                }
            })
        },
        prepend: function () {
            return this.domManip(arguments, true, function (aZ) {
                if (this.nodeType === 1) {
                    this.insertBefore(aZ, this.firstChild)
                }
            })
        },
        before: function () {
            if (this[0] && this[0].parentNode) {
                return this.domManip(arguments, false, function (a0) {
                    this.parentNode.insertBefore(a0, this)
                })
            } else {
                if (arguments.length) {
                    var aZ = a(arguments[0]);
                    aZ.push.apply(aZ, this.toArray());
                    return this.pushStack(aZ, "before", arguments)
                }
            }
        },
        after: function () {
            if (this[0] && this[0].parentNode) {
                return this.domManip(arguments, false, function (a0) {
                    this.parentNode.insertBefore(a0, this.nextSibling)
                })
            } else {
                if (arguments.length) {
                    var aZ = this.pushStack(this, "after", arguments);
                    aZ.push.apply(aZ, a(arguments[0]).toArray());
                    return aZ
                }
            }
        },
        remove: function (aZ, a2) {
            for (var a0 = 0, a1;
            (a1 = this[a0]) != null; a0++) {
                if (!aZ || a.filter(aZ, [a1]).length) {
                    if (!a2 && a1.nodeType === 1) {
                        a.cleanData(a1.getElementsByTagName("*"));
                        a.cleanData([a1])
                    }
                    if (a1.parentNode) {
                        a1.parentNode.removeChild(a1)
                    }
                }
            }
            return this
        },
        empty: function () {
            for (var aZ = 0, a0;
            (a0 = this[aZ]) != null; aZ++) {
                if (a0.nodeType === 1) {
                    a.cleanData(a0.getElementsByTagName("*"))
                }
                while (a0.firstChild) {
                    a0.removeChild(a0.firstChild)
                }
            }
            return this
        },
        clone: function (a0) {
            var aZ = this.map(function () {
                if (!a.support.noCloneEvent && !a.isXMLDoc(this)) {
                    var a2 = this.outerHTML,
                        a1 = this.ownerDocument;
                    if (!a2) {
                        var a3 = a1.createElement("div");
                        a3.appendChild(this.cloneNode(true));
                        a2 = a3.innerHTML
                    }
                    return a.clean([a2.replace(U, "").replace(/=([^="'>\s]+\/)>/g, '="$1">').replace(aa, "")], a1)[0]
                } else {
                    return this.cloneNode(true)
                }
            });
            if (a0 === true) {
                r(this, aZ);
                r(this.find("*"), aZ.find("*"))
            }
            return aZ
        },
        html: function (a1) {
            if (a1 === D) {
                return this[0] && this[0].nodeType === 1 ? this[0].innerHTML.replace(U, "") : null
            } else {
                if (typeof a1 === "string" && !F.test(a1) && (a.support.leadingWhitespace || !aa.test(a1)) && !ad[(c.exec(a1) || ["", ""])[1].toLowerCase()]) {
                    a1 = a1.replace(I, q);
                    try {
                        for (var a0 = 0, aZ = this.length; a0 < aZ; a0++) {
                            if (this[a0].nodeType === 1) {
                                a.cleanData(this[a0].getElementsByTagName("*"));
                                this[a0].innerHTML = a1
                            }
                        }
                    } catch (a2) {
                        this.empty().append(a1)
                    }
                } else {
                    if (a.isFunction(a1)) {
                        this.each(function (a5) {
                            var a4 = a(this),
                                a3 = a4.html();
                            a4.empty().append(function () {
                                return a1.call(this, a5, a3)
                            })
                        })
                    } else {
                        this.empty().append(a1)
                    }
                }
            }
            return this
        },
        replaceWith: function (aZ) {
            if (this[0] && this[0].parentNode) {
                if (a.isFunction(aZ)) {
                    return this.each(function (a2) {
                        var a1 = a(this),
                            a0 = a1.html();
                        a1.replaceWith(aZ.call(this, a2, a0))
                    })
                }
                if (typeof aZ !== "string") {
                    aZ = a(aZ).detach()
                }
                return this.each(function () {
                    var a1 = this.nextSibling,
                        a0 = this.parentNode;
                    a(this).remove();
                    if (a1) {
                        a(a1).before(aZ)
                    } else {
                        a(a0).append(aZ)
                    }
                })
            } else {
                return this.pushStack(a(a.isFunction(aZ) ? aZ() : aZ), "replaceWith", aZ)
            }
        },
        detach: function (aZ) {
            return this.remove(aZ, true)
        },
        domManip: function (a5, ba, a9) {
            var a2, a3, a8 = a5[0],
                a0 = [],
                a4, a7;
            if (!a.support.checkClone && arguments.length === 3 && typeof a8 === "string" && l.test(a8)) {
                return this.each(function () {
                    a(this).domManip(a5, ba, a9, true)
                })
            }
            if (a.isFunction(a8)) {
                return this.each(function (bc) {
                    var bb = a(this);
                    a5[0] = a8.call(this, bc, ba ? bb.html() : D);
                    bb.domManip(a5, ba, a9)
                })
            }
            if (this[0]) {
                a7 = a8 && a8.parentNode;
                if (a.support.parentNode && a7 && a7.nodeType === 11 && a7.childNodes.length === this.length) {
                    a2 = {
                        fragment: a7
                    }
                } else {
                    a2 = K(a5, this, a0)
                }
                a4 = a2.fragment;
                if (a4.childNodes.length === 1) {
                    a3 = a4 = a4.firstChild
                } else {
                    a3 = a4.firstChild
                }
                if (a3) {
                    ba = ba && a.nodeName(a3, "tr");
                    for (var a1 = 0, aZ = this.length; a1 < aZ; a1++) {
                        a9.call(ba ? a6(this[a1], a3) : this[a1], a1 > 0 || a2.cacheable || this.length > 1 ? a4.cloneNode(true) : a4)
                    }
                }
                if (a0.length) {
                    a.each(a0, aW)
                }
            }
            return this;

            function a6(bb, bc) {
                return a.nodeName(bb, "table") ? (bb.getElementsByTagName("tbody")[0] || bb.appendChild(bb.ownerDocument.createElement("tbody"))) : bb
            }
        }
    });

    function r(a1, aZ) {
        var a0 = 0;
        aZ.each(function () {
            if (this.nodeName !== (a1[a0] && a1[a0].nodeName)) {
                return
            }
            var a6 = a.data(a1[a0++]),
                a5 = a.data(this, a6),
                a2 = a6 && a6.events;
            if (a2) {
                delete a5.handle;
                a5.events = {};
                for (var a4 in a2) {
                    for (var a3 in a2[a4]) {
                        a.event.add(this, a4, a2[a4][a3], a2[a4][a3].data)
                    }
                }
            }
        })
    }
    function K(a4, a2, a0) {
        var a3, aZ, a1, a5 = (a2 && a2[0] ? a2[0].ownerDocument || a2[0] : ac);
        if (a4.length === 1 && typeof a4[0] === "string" && a4[0].length < 512 && a5 === ac && !F.test(a4[0]) && (a.support.checkClone || !l.test(a4[0]))) {
            aZ = true;
            a1 = a.fragments[a4[0]];
            if (a1) {
                if (a1 !== 1) {
                    a3 = a1
                }
            }
        }
        if (!a3) {
            a3 = a5.createDocumentFragment();
            a.clean(a4, a5, a3, a0)
        }
        if (aZ) {
            a.fragments[a4[0]] = a1 ? a3 : 1
        }
        return {
            fragment: a3,
            cacheable: aZ
        }
    }
    a.fragments = {};
    a.each({
        appendTo: "append",
        prependTo: "prepend",
        insertBefore: "before",
        insertAfter: "after",
        replaceAll: "replaceWith"
    }, function (aZ, a0) {
        a.fn[aZ] = function (a1) {
            var a4 = [],
                a7 = a(a1),
                a6 = this.length === 1 && this[0].parentNode;
            if (a6 && a6.nodeType === 11 && a6.childNodes.length === 1 && a7.length === 1) {
                a7[a0](this[0]);
                return this
            } else {
                for (var a5 = 0, a2 = a7.length; a5 < a2; a5++) {
                    var a3 = (a5 > 0 ? this.clone(true) : this).get();
                    a.fn[a0].apply(a(a7[a5]), a3);
                    a4 = a4.concat(a3)
                }
                return this.pushStack(a4, aZ, a7.selector)
            }
        }
    });
    a.extend({
        clean: function (a1, a3, ba, a5) {
            a3 = a3 || ac;
            if (typeof a3.createElement === "undefined") {
                a3 = a3.ownerDocument || a3[0] && a3[0].ownerDocument || ac
            }
            var bb = [];
            for (var a9 = 0, a4;
            (a4 = a1[a9]) != null; a9++) {
                if (typeof a4 === "number") {
                    a4 += ""
                }
                if (!a4) {
                    continue
                }
                if (typeof a4 === "string" && !M.test(a4)) {
                    a4 = a3.createTextNode(a4)
                } else {
                    if (typeof a4 === "string") {
                        a4 = a4.replace(I, q);
                        var bc = (c.exec(a4) || ["", ""])[1].toLowerCase(),
                            a2 = ad[bc] || ad._default,
                            a8 = a2[0],
                            a0 = a3.createElement("div");
                        a0.innerHTML = a2[1] + a4 + a2[2];
                        while (a8--) {
                            a0 = a0.lastChild
                        }
                        if (!a.support.tbody) {
                            var aZ = u.test(a4),
                                a7 = bc === "table" && !aZ ? a0.firstChild && a0.firstChild.childNodes : a2[1] === "<table>" && !aZ ? a0.childNodes : [];
                            for (var a6 = a7.length - 1; a6 >= 0; --a6) {
                                if (a.nodeName(a7[a6], "tbody") && !a7[a6].childNodes.length) {
                                    a7[a6].parentNode.removeChild(a7[a6])
                                }
                            }
                        }
                        if (!a.support.leadingWhitespace && aa.test(a4)) {
                            a0.insertBefore(a3.createTextNode(aa.exec(a4)[0]), a0.firstChild)
                        }
                        a4 = a0.childNodes
                    }
                }
                if (a4.nodeType) {
                    bb.push(a4)
                } else {
                    bb = a.merge(bb, a4)
                }
            }
            if (ba) {
                for (var a9 = 0; bb[a9]; a9++) {
                    if (a5 && a.nodeName(bb[a9], "script") && (!bb[a9].type || bb[a9].type.toLowerCase() === "text/javascript")) {
                        a5.push(bb[a9].parentNode ? bb[a9].parentNode.removeChild(bb[a9]) : bb[a9])
                    } else {
                        if (bb[a9].nodeType === 1) {
                            bb.splice.apply(bb, [a9 + 1, 0].concat(a.makeArray(bb[a9].getElementsByTagName("script"))))
                        }
                        ba.appendChild(bb[a9])
                    }
                }
            }
            return bb
        },
        cleanData: function (a0) {
            var a3, a1, aZ = a.cache,
                a6 = a.event.special,
                a5 = a.support.deleteExpando;
            for (var a4 = 0, a2;
            (a2 = a0[a4]) != null; a4++) {
                a1 = a2[a.expando];
                if (a1) {
                    a3 = aZ[a1];
                    if (a3.events) {
                        for (var a7 in a3.events) {
                            if (a6[a7]) {
                                a.event.remove(a2, a7)
                            } else {
                                ah(a2, a7, a3.handle)
                            }
                        }
                    }
                    if (a5) {
                        delete a2[a.expando]
                    } else {
                        if (a2.removeAttribute) {
                            a2.removeAttribute(a.expando)
                        }
                    }
                    delete aZ[a1]
                }
            }
        }
    });
    var at = /z-?index|font-?weight|opacity|zoom|line-?height/i,
        V = /alpha\([^)]*\)/,
        ab = /opacity=([^)]*)/,
        ai = /float/i,
        aA = /-([a-z])/ig,
        w = /([A-Z])/g,
        aP = /^-?\d+(?:px)?$/i,
        aV = /^-?\d/,
        aL = {
            position: "absolute",
            visibility: "hidden",
            display: "block"
        },
        X = ["Left", "Right"],
        aF = ["Top", "Bottom"],
        al = ac.defaultView && ac.defaultView.getComputedStyle,
        aO = a.support.cssFloat ? "cssFloat" : "styleFloat",
        k = function (aZ, a0) {
            return a0.toUpperCase()
        };
    a.fn.css = function (aZ, a0) {
        return ao(this, aZ, a0, true, function (a2, a1, a3) {
            if (a3 === D) {
                return a.curCSS(a2, a1)
            }
            if (typeof a3 === "number" && !at.test(a1)) {
                a3 += "px"
            }
            a.style(a2, a1, a3)
        })
    };
    a.extend({
        style: function (a3, a0, a4) {
            if (!a3 || a3.nodeType === 3 || a3.nodeType === 8) {
                return D
            }
            if ((a0 === "width" || a0 === "height") && parseFloat(a4) < 0) {
                a4 = D
            }
            var a2 = a3.style || a3,
                a5 = a4 !== D;
            if (!a.support.opacity && a0 === "opacity") {
                if (a5) {
                    a2.zoom = 1;
                    var aZ = parseInt(a4, 10) + "" === "NaN" ? "" : "alpha(opacity=" + a4 * 100 + ")";
                    var a1 = a2.filter || a.curCSS(a3, "filter") || "";
                    a2.filter = V.test(a1) ? a1.replace(V, aZ) : aZ
                }
                return a2.filter && a2.filter.indexOf("opacity=") >= 0 ? (parseFloat(ab.exec(a2.filter)[1]) / 100) + "" : ""
            }
            if (ai.test(a0)) {
                a0 = aO
            }
            a0 = a0.replace(aA, k);
            if (a5) {
                a2[a0] = a4
            }
            return a2[a0]
        },
        css: function (a2, a0, a4, aZ) {
            if (a0 === "width" || a0 === "height") {
                var a6, a1 = aL,
                    a5 = a0 === "width" ? X : aF;

                function a3() {
                    a6 = a0 === "width" ? a2.offsetWidth : a2.offsetHeight;
                    if (aZ === "border") {
                        return
                    }
                    a.each(a5, function () {
                        if (!aZ) {
                            a6 -= parseFloat(a.curCSS(a2, "padding" + this, true)) || 0
                        }
                        if (aZ === "margin") {
                            a6 += parseFloat(a.curCSS(a2, "margin" + this, true)) || 0
                        } else {
                            a6 -= parseFloat(a.curCSS(a2, "border" + this + "Width", true)) || 0
                        }
                    })
                }
                if (a2.offsetWidth !== 0) {
                    a3()
                } else {
                    a.swap(a2, a1, a3)
                }
                return Math.max(0, Math.round(a6))
            }
            return a.curCSS(a2, a0, a4)
        },
        curCSS: function (a5, a0, a1) {
            var a8, aZ = a5.style,
                a2;
            if (!a.support.opacity && a0 === "opacity" && a5.currentStyle) {
                a8 = ab.test(a5.currentStyle.filter || "") ? (parseFloat(RegExp.$1) / 100) + "" : "";
                return a8 === "" ? "1" : a8
            }
            if (ai.test(a0)) {
                a0 = aO
            }
            if (!a1 && aZ && aZ[a0]) {
                a8 = aZ[a0]
            } else {
                if (al) {
                    if (ai.test(a0)) {
                        a0 = "float"
                    }
                    a0 = a0.replace(w, "-$1").toLowerCase();
                    var a7 = a5.ownerDocument.defaultView;
                    if (!a7) {
                        return null
                    }
                    var a9 = a7.getComputedStyle(a5, null);
                    if (a9) {
                        a8 = a9.getPropertyValue(a0)
                    }
                    if (a0 === "opacity" && a8 === "") {
                        a8 = "1"
                    }
                } else {
                    if (a5.currentStyle) {
                        var a4 = a0.replace(aA, k);
                        a8 = a5.currentStyle[a0] || a5.currentStyle[a4];
                        if (!aP.test(a8) && aV.test(a8)) {
                            var a3 = aZ.left,
                                a6 = a5.runtimeStyle.left;
                            a5.runtimeStyle.left = a5.currentStyle.left;
                            aZ.left = a4 === "fontSize" ? "1em" : (a8 || 0);
                            a8 = aZ.pixelLeft + "px";
                            aZ.left = a3;
                            a5.runtimeStyle.left = a6
                        }
                    }
                }
            }
            return a8
        },
        swap: function (a2, a1, a3) {
            var aZ = {};
            for (var a0 in a1) {
                aZ[a0] = a2.style[a0];
                a2.style[a0] = a1[a0]
            }
            a3.call(a2);
            for (var a0 in a1) {
                a2.style[a0] = aZ[a0]
            }
        }
    });
    if (a.expr && a.expr.filters) {
        a.expr.filters.hidden = function (a2) {
            var a0 = a2.offsetWidth,
                aZ = a2.offsetHeight,
                a1 = a2.nodeName.toLowerCase() === "tr";
            return a0 === 0 && aZ === 0 && !a1 ? true : a0 > 0 && aZ > 0 && !a1 ? false : a.curCSS(a2, "display") === "none"
        };
        a.expr.filters.visible = function (aZ) {
            return !a.expr.filters.hidden(aZ)
        }
    }
    var ag = aQ(),
        aK = /<script(.|\s)*?\/script>/gi,
        o = /select|textarea/i,
        aC = /color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,
        s = /=\?(&|$)/,
        E = /\?/,
        aY = /(\?|&)_=.*?(&|$)/,
        C = /^(\w+:)?\/\/([^\/?#]+)/,
        h = /%20/g,
        x = a.fn.load;
    a.fn.extend({
        load: function (a1, a4, a5) {
            if (typeof a1 !== "string") {
                return x.call(this, a1)
            } else {
                if (!this.length) {
                    return this
                }
            }
            var a3 = a1.indexOf(" ");
            if (a3 >= 0) {
                var aZ = a1.slice(a3, a1.length);
                a1 = a1.slice(0, a3)
            }
            var a2 = "GET";
            if (a4) {
                if (a.isFunction(a4)) {
                    a5 = a4;
                    a4 = null
                } else {
                    if (typeof a4 === "object") {
                        a4 = a.param(a4, a.ajaxSettings.traditional);
                        a2 = "POST"
                    }
                }
            }
            var a0 = this;
            a.ajax({
                url: a1,
                type: a2,
                dataType: "html",
                data: a4,
                complete: function (a7, a6) {
                    if (a6 === "success" || a6 === "notmodified") {
                        a0.html(aZ ? a("<div />").append(a7.responseText.replace(aK, "")).find(aZ) : a7.responseText)
                    }
                    if (a5) {
                        a0.each(a5, [a7.responseText, a6, a7])
                    }
                }
            });
            return this
        },
        serialize: function () {
            return a.param(this.serializeArray())
        },
        serializeArray: function () {
            return this.map(function () {
                return this.elements ? a.makeArray(this.elements) : this
            }).filter(function () {
                return this.name && !this.disabled && (this.checked || o.test(this.nodeName) || aC.test(this.type))
            }).map(function (aZ, a0) {
                var a1 = a(this).val();
                return a1 == null ? null : a.isArray(a1) ? a.map(a1, function (a3, a2) {
                    return {
                        name: a0.name,
                        value: a3
                    }
                }) : {
                    name: a0.name,
                    value: a1
                }
            }).get()
        }
    });
    a.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function (aZ, a0) {
        a.fn[a0] = function (a1) {
            return this.bind(a0, a1)
        }
    });
    a.extend({
        get: function (aZ, a1, a2, a0) {
            if (a.isFunction(a1)) {
                a0 = a0 || a2;
                a2 = a1;
                a1 = null
            }
            return a.ajax({
                type: "GET",
                url: aZ,
                data: a1,
                success: a2,
                dataType: a0
            })
        },
        getScript: function (aZ, a0) {
            return a.get(aZ, null, a0, "script")
        },
        getJSON: function (aZ, a0, a1) {
            return a.get(aZ, a0, a1, "json")
        },
        post: function (aZ, a1, a2, a0) {
            if (a.isFunction(a1)) {
                a0 = a0 || a2;
                a2 = a1;
                a1 = {}
            }
            return a.ajax({
                type: "POST",
                url: aZ,
                data: a1,
                success: a2,
                dataType: a0
            })
        },
        ajaxSetup: function (aZ) {
            a.extend(a.ajaxSettings, aZ)
        },
        ajaxSettings: {
            url: location.href,
            global: true,
            type: "GET",
            contentType: "application/x-www-form-urlencoded",
            processData: true,
            async: true,
            xhr: aN.XMLHttpRequest && (aN.location.protocol !== "file:" || !aN.ActiveXObject) ?
            function () {
                return new aN.XMLHttpRequest()
            } : function () {
                try {
                    return new aN.ActiveXObject("Microsoft.XMLHTTP")
                } catch (aZ) {}
            },
            accepts: {
                xml: "application/xml, text/xml",
                html: "text/html",
                script: "text/javascript, application/javascript",
                json: "application/json, text/javascript",
                text: "text/plain",
                _default: "*/*"
            }
        },
        lastModified: {},
        etag: {},
        ajax: function (be) {
            var a9 = a.extend(true, {}, a.ajaxSettings, be);
            var bj, bd, bi, bk = be && be.context || a9,
                a1 = a9.type.toUpperCase();
            if (a9.data && a9.processData && typeof a9.data !== "string") {
                a9.data = a.param(a9.data, a9.traditional)
            }
            if (a9.dataType === "jsonp") {
                if (a1 === "GET") {
                    if (!s.test(a9.url)) {
                        a9.url += (E.test(a9.url) ? "&" : "?") + (a9.jsonp || "callback") + "=?"
                    }
                } else {
                    if (!a9.data || !s.test(a9.data)) {
                        a9.data = (a9.data ? a9.data + "&" : "") + (a9.jsonp || "callback") + "=?"
                    }
                }
                a9.dataType = "json"
            }
            if (a9.dataType === "json" && (a9.data && s.test(a9.data) || s.test(a9.url))) {
                bj = a9.jsonpCallback || ("jsonp" + ag++);
                if (a9.data) {
                    a9.data = (a9.data + "").replace(s, "=" + bj + "$1")
                }
                a9.url = a9.url.replace(s, "=" + bj + "$1");
                a9.dataType = "script";
                aN[bj] = aN[bj] ||
                function (bl) {
                    bi = bl;
                    a4();
                    a7();
                    aN[bj] = D;
                    try {
                        delete aN[bj]
                    } catch (bm) {}
                    if (a2) {
                        a2.removeChild(bg)
                    }
                }
            }
            if (a9.dataType === "script" && a9.cache === null) {
                a9.cache = false
            }
            if (a9.cache === false && a1 === "GET") {
                var aZ = aQ();
                var bh = a9.url.replace(aY, "$1_=" + aZ + "$2");
                a9.url = bh + ((bh === a9.url) ? (E.test(a9.url) ? "&" : "?") + "_=" + aZ : "")
            }
            if (a9.data && a1 === "GET") {
                a9.url += (E.test(a9.url) ? "&" : "?") + a9.data
            }
            if (a9.global && !a.active++) {
                a.event.trigger("ajaxStart")
            }
            var bc = C.exec(a9.url),
                a3 = bc && (bc[1] && bc[1] !== location.protocol || bc[2] !== location.host);
            if (a9.dataType === "script" && a1 === "GET" && a3) {
                var a2 = ac.getElementsByTagName("head")[0] || ac.documentElement;
                var bg = ac.createElement("script");
                bg.src = a9.url;
                if (a9.scriptCharset) {
                    bg.charset = a9.scriptCharset
                }
                if (!bj) {
                    var bb = false;
                    bg.onload = bg.onreadystatechange = function () {
                        if (!bb && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete")) {
                            bb = true;
                            a4();
                            a7();
                            bg.onload = bg.onreadystatechange = null;
                            if (a2 && bg.parentNode) {
                                a2.removeChild(bg)
                            }
                        }
                    }
                }
                a2.insertBefore(bg, a2.firstChild);
                return D
            }
            var a6 = false;
            var a5 = a9.xhr();
            if (!a5) {
                return
            }
            if (a9.username) {
                a5.open(a1, a9.url, a9.async, a9.username, a9.password)
            } else {
                a5.open(a1, a9.url, a9.async)
            }
            try {
                if (a9.data || be && be.contentType) {
                    a5.setRequestHeader("Content-Type", a9.contentType)
                }
                if (a9.ifModified) {
                    if (a.lastModified[a9.url]) {
                        a5.setRequestHeader("If-Modified-Since", a.lastModified[a9.url])
                    }
                    if (a.etag[a9.url]) {
                        a5.setRequestHeader("If-None-Match", a.etag[a9.url])
                    }
                }
                if (!a3) {
                    a5.setRequestHeader("X-Requested-With", "XMLHttpRequest")
                }
                a5.setRequestHeader("Accept", a9.dataType && a9.accepts[a9.dataType] ? a9.accepts[a9.dataType] + ", */*" : a9.accepts._default)
            } catch (bf) {}
            if (a9.beforeSend && a9.beforeSend.call(bk, a5, a9) === false) {
                if (a9.global && !--a.active) {
                    a.event.trigger("ajaxStop")
                }
                a5.abort();
                return false
            }
            if (a9.global) {
                ba("ajaxSend", [a5, a9])
            }
            var a8 = a5.onreadystatechange = function (bl) {
                if (!a5 || a5.readyState === 0 || bl === "abort") {
                    if (!a6) {
                        a7()
                    }
                    a6 = true;
                    if (a5) {
                        a5.onreadystatechange = a.noop
                    }
                } else {
                    if (!a6 && a5 && (a5.readyState === 4 || bl === "timeout")) {
                        a6 = true;
                        a5.onreadystatechange = a.noop;
                        bd = bl === "timeout" ? "timeout" : !a.httpSuccess(a5) ? "error" : a9.ifModified && a.httpNotModified(a5, a9.url) ? "notmodified" : "success";
                        var bn;
                        if (bd === "success") {
                            try {
                                bi = a.httpData(a5, a9.dataType, a9)
                            } catch (bm) {
                                bd = "parsererror";
                                bn = bm
                            }
                        }
                        if (bd === "success" || bd === "notmodified") {
                            if (!bj) {
                                a4()
                            }
                        } else {
                            a.handleError(a9, a5, bd, bn)
                        }
                        a7();
                        if (bl === "timeout") {
                            a5.abort()
                        }
                        if (a9.async) {
                            a5 = null
                        }
                    }
                }
            };
            try {
                var a0 = a5.abort;
                a5.abort = function () {
                    if (a5) {
                        a0.call(a5)
                    }
                    a8("abort")
                }
            } catch (bf) {}
            if (a9.async && a9.timeout > 0) {
                setTimeout(function () {
                    if (a5 && !a6) {
                        a8("timeout")
                    }
                }, a9.timeout)
            }
            try {
                a5.send(a1 === "POST" || a1 === "PUT" || a1 === "DELETE" ? a9.data : null)
            } catch (bf) {
                a.handleError(a9, a5, null, bf);
                a7()
            }
            if (!a9.async) {
                a8()
            }
            function a4() {
                if (a9.success) {
                    a9.success.call(bk, bi, bd, a5)
                }
                if (a9.global) {
                    ba("ajaxSuccess", [a5, a9])
                }
            }
            function a7() {
                if (a9.complete) {
                    a9.complete.call(bk, a5, bd)
                }
                if (a9.global) {
                    ba("ajaxComplete", [a5, a9])
                }
                if (a9.global && !--a.active) {
                    a.event.trigger("ajaxStop")
                }
            }
            function ba(bm, bl) {
                (a9.context ? a(a9.context) : a.event).trigger(bm, bl)
            }
            return a5
        },
        handleError: function (a0, a2, aZ, a1) {
            if (a0.error) {
                a0.error.call(a0.context || a0, a2, aZ, a1)
            }
            if (a0.global) {
                (a0.context ? a(a0.context) : a.event).trigger("ajaxError", [a2, a0, a1])
            }
        },
        active: 0,
        httpSuccess: function (a0) {
            try {
                return !a0.status && location.protocol === "file:" || (a0.status >= 200 && a0.status < 300) || a0.status === 304 || a0.status === 1223 || a0.status === 0
            } catch (aZ) {}
            return false
        },
        httpNotModified: function (a2, aZ) {
            var a1 = a2.getResponseHeader("Last-Modified"),
                a0 = a2.getResponseHeader("Etag");
            if (a1) {
                a.lastModified[aZ] = a1
            }
            if (a0) {
                a.etag[aZ] = a0
            }
            return a2.status === 304 || a2.status === 0
        },
        httpData: function (a4, a2, a1) {
            var a0 = a4.getResponseHeader("content-type") || "",
                aZ = a2 === "xml" || !a2 && a0.indexOf("xml") >= 0,
                a3 = aZ ? a4.responseXML : a4.responseText;
            if (aZ && a3.documentElement.nodeName === "parsererror") {
                a.error("parsererror")
            }
            if (a1 && a1.dataFilter) {
                a3 = a1.dataFilter(a3, a2)
            }
            if (typeof a3 === "string") {
                if (a2 === "json" || !a2 && a0.indexOf("json") >= 0) {
                    a3 = a.parseJSON(a3)
                } else {
                    if (a2 === "script" || !a2 && a0.indexOf("javascript") >= 0) {
                        a.globalEval(a3)
                    }
                }
            }
            return a3
        },
        param: function (aZ, a2) {
            var a0 = [];
            if (a2 === D) {
                a2 = a.ajaxSettings.traditional
            }
            if (a.isArray(aZ) || aZ.jquery) {
                a.each(aZ, function () {
                    a4(this.name, this.value)
                })
            } else {
                for (var a3 in aZ) {
                    a1(a3, aZ[a3])
                }
            }
            return a0.join("&").replace(h, "+");

            function a1(a5, a6) {
                if (a.isArray(a6)) {
                    a.each(a6, function (a8, a7) {
                        if (a2 || /\[\]$/.test(a5)) {
                            a4(a5, a7)
                        } else {
                            a1(a5 + "[" + (typeof a7 === "object" || a.isArray(a7) ? a8 : "") + "]", a7)
                        }
                    })
                } else {
                    if (!a2 && a6 != null && typeof a6 === "object") {
                        a.each(a6, function (a8, a7) {
                            a1(a5 + "[" + a8 + "]", a7)
                        })
                    } else {
                        a4(a5, a6)
                    }
                }
            }
            function a4(a5, a6) {
                a6 = a.isFunction(a6) ? a6() : a6;
                a0[a0.length] = encodeURIComponent(a5) + "=" + encodeURIComponent(a6)
            }
        }
    });
    var H = {},
        af = /toggle|show|hide/,
        av = /^([+-]=)?([\d+-.]+)(.*)$/,
        aG, ak = [
            ["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"],
            ["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"],
            ["opacity"]
        ];
    a.fn.extend({
        show: function (a0, a8) {
            if (a0 || a0 === 0) {
                return this.animate(aE("show", 3), a0, a8)
            } else {
                for (var a5 = 0, a2 = this.length; a5 < a2; a5++) {
                    var aZ = a.data(this[a5], "olddisplay");
                    this[a5].style.display = aZ || "";
                    if (a.css(this[a5], "display") === "none") {
                        var a7 = this[a5].nodeName,
                            a6;
                        if (H[a7]) {
                            a6 = H[a7]
                        } else {
                            var a1 = a("<" + a7 + " />").appendTo("body");
                            a6 = a1.css("display");
                            if (a6 === "none") {
                                a6 = "block"
                            }
                            a1.remove();
                            H[a7] = a6
                        }
                        a.data(this[a5], "olddisplay", a6)
                    }
                }
                for (var a4 = 0, a3 = this.length; a4 < a3; a4++) {
                    this[a4].style.display = a.data(this[a4], "olddisplay") || ""
                }
                return this
            }
        },
        hide: function (a4, a5) {
            if (a4 || a4 === 0) {
                return this.animate(aE("hide", 3), a4, a5)
            } else {
                for (var a3 = 0, a0 = this.length; a3 < a0; a3++) {
                    var aZ = a.data(this[a3], "olddisplay");
                    if (!aZ && aZ !== "none") {
                        a.data(this[a3], "olddisplay", a.css(this[a3], "display"))
                    }
                }
                for (var a2 = 0, a1 = this.length; a2 < a1; a2++) {
                    this[a2].style.display = "none"
                }
                return this
            }
        },
        _toggle: a.fn.toggle,
        toggle: function (a1, a0) {
            var aZ = typeof a1 === "boolean";
            if (a.isFunction(a1) && a.isFunction(a0)) {
                this._toggle.apply(this, arguments)
            } else {
                if (a1 == null || aZ) {
                    this.each(function () {
                        var a2 = aZ ? a1 : a(this).is(":hidden");
                        a(this)[a2 ? "show" : "hide"]()
                    })
                } else {
                    this.animate(aE("toggle", 3), a1, a0)
                }
            }
            return this
        },
        fadeTo: function (aZ, a1, a0) {
            return this.filter(":hidden").css("opacity", 0).show().end().animate({
                opacity: a1
            }, aZ, a0)
        },
        animate: function (a3, a0, a2, a1) {
            var aZ = a.speed(a0, a2, a1);
            if (a.isEmptyObject(a3)) {
                return this.each(aZ.complete)
            }
            return this[aZ.queue === false ? "each" : "queue"](function () {
                var a6 = a.extend({}, aZ),
                    a8, a7 = this.nodeType === 1 && a(this).is(":hidden"),
                    a4 = this;
                for (a8 in a3) {
                    var a5 = a8.replace(aA, k);
                    if (a8 !== a5) {
                        a3[a5] = a3[a8];
                        delete a3[a8];
                        a8 = a5
                    }
                    if (a3[a8] === "hide" && a7 || a3[a8] === "show" && !a7) {
                        return a6.complete.call(this)
                    }
                    if ((a8 === "height" || a8 === "width") && this.style) {
                        a6.display = a.css(this, "display");
                        a6.overflow = this.style.overflow
                    }
                    if (a.isArray(a3[a8])) {
                        (a6.specialEasing = a6.specialEasing || {})[a8] = a3[a8][1];
                        a3[a8] = a3[a8][0]
                    }
                }
                if (a6.overflow != null) {
                    this.style.overflow = "hidden"
                }
                a6.curAnim = a.extend({}, a3);
                a.each(a3, function (ba, be) {
                    var bd = new a.fx(a4, a6, ba);
                    if (af.test(be)) {
                        bd[be === "toggle" ? a7 ? "show" : "hide" : be](a3)
                    } else {
                        var bc = av.exec(be),
                            bf = bd.cur(true) || 0;
                        if (bc) {
                            var a9 = parseFloat(bc[2]),
                                bb = bc[3] || "px";
                            if (bb !== "px") {
                                a4.style[ba] = (a9 || 1) + bb;
                                bf = ((a9 || 1) / bd.cur(true)) * bf;
                                a4.style[ba] = bf + bb
                            }
                            if (bc[1]) {
                                a9 = ((bc[1] === "-=" ? -1 : 1) * a9) + bf
                            }
                            bd.custom(bf, a9, bb)
                        } else {
                            bd.custom(bf, be, "")
                        }
                    }
                });
                return true
            })
        },
        stop: function (a0, aZ) {
            var a1 = a.timers;
            if (a0) {
                this.queue([])
            }
            this.each(function () {
                for (var a2 = a1.length - 1; a2 >= 0; a2--) {
                    if (a1[a2].elem === this) {
                        if (aZ) {
                            a1[a2](true)
                        }
                        a1.splice(a2, 1)
                    }
                }
            });
            if (!aZ) {
                this.dequeue()
            }
            return this
        }
    });
    a.each({
        slideDown: aE("show", 1),
        slideUp: aE("hide", 1),
        slideToggle: aE("toggle", 1),
        fadeIn: {
            opacity: "show"
        },
        fadeOut: {
            opacity: "hide"
        }
    }, function (aZ, a0) {
        a.fn[aZ] = function (a1, a2) {
            return this.animate(a0, a1, a2)
        }
    });
    a.extend({
        speed: function (a1, a2, a0) {
            var aZ = a1 && typeof a1 === "object" ? a1 : {
                complete: a0 || !a0 && a2 || a.isFunction(a1) && a1,
                duration: a1,
                easing: a0 && a2 || a2 && !a.isFunction(a2) && a2
            };
            aZ.duration = a.fx.off ? 0 : typeof aZ.duration === "number" ? aZ.duration : a.fx.speeds[aZ.duration] || a.fx.speeds._default;
            aZ.old = aZ.complete;
            aZ.complete = function () {
                if (aZ.queue !== false) {
                    a(this).dequeue()
                }
                if (a.isFunction(aZ.old)) {
                    aZ.old.call(this)
                }
            };
            return aZ
        },
        easing: {
            linear: function (a1, a2, aZ, a0) {
                return aZ + a0 * a1
            },
            swing: function (a1, a2, aZ, a0) {
                return ((-Math.cos(a1 * Math.PI) / 2) + 0.5) * a0 + aZ
            }
        },
        timers: [],
        fx: function (a0, aZ, a1) {
            this.options = aZ;
            this.elem = a0;
            this.prop = a1;
            if (!aZ.orig) {
                aZ.orig = {}
            }
        }
    });
    a.fx.prototype = {
        update: function () {
            if (this.options.step) {
                this.options.step.call(this.elem, this.now, this)
            }(a.fx.step[this.prop] || a.fx.step._default)(this);
            if ((this.prop === "height" || this.prop === "width") && this.elem.style) {
                this.elem.style.display = "block"
            }
        },
        cur: function (a0) {
            if (this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null)) {
                return this.elem[this.prop]
            }
            var aZ = parseFloat(a.css(this.elem, this.prop, a0));
            return aZ && aZ > -10000 ? aZ : parseFloat(a.curCSS(this.elem, this.prop)) || 0
        },
        custom: function (a3, a2, a1) {
            this.startTime = aQ();
            this.start = a3;
            this.end = a2;
            this.unit = a1 || this.unit || "px";
            this.now = this.start;
            this.pos = this.state = 0;
            var aZ = this;

            function a0(a4) {
                return aZ.step(a4)
            }
            a0.elem = this.elem;
            if (a0() && a.timers.push(a0) && !aG) {
                aG = setInterval(a.fx.tick, 13)
            }
        },
        show: function () {
            this.options.orig[this.prop] = a.style(this.elem, this.prop);
            this.options.show = true;
            this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur());
            a(this.elem).show()
        },
        hide: function () {
            this.options.orig[this.prop] = a.style(this.elem, this.prop);
            this.options.hide = true;
            this.custom(this.cur(), 0)
        },
        step: function (a2) {
            var a7 = aQ(),
                a3 = true;
            if (a2 || a7 >= this.options.duration + this.startTime) {
                this.now = this.end;
                this.pos = this.state = 1;
                this.update();
                this.options.curAnim[this.prop] = true;
                for (var a4 in this.options.curAnim) {
                    if (this.options.curAnim[a4] !== true) {
                        a3 = false
                    }
                }
                if (a3) {
                    if (this.options.display != null) {
                        this.elem.style.overflow = this.options.overflow;
                        var a1 = a.data(this.elem, "olddisplay");
                        this.elem.style.display = a1 ? a1 : this.options.display;
                        if (a.css(this.elem, "display") === "none") {
                            this.elem.style.display = "block"
                        }
                    }
                    if (this.options.hide) {
                        a(this.elem).hide()
                    }
                    if (this.options.hide || this.options.show) {
                        for (var aZ in this.options.curAnim) {
                            a.style(this.elem, aZ, this.options.orig[aZ])
                        }
                    }
                    this.options.complete.call(this.elem)
                }
                return false
            } else {
                var a0 = a7 - this.startTime;
                this.state = a0 / this.options.duration;
                var a5 = this.options.specialEasing && this.options.specialEasing[this.prop];
                var a6 = this.options.easing || (a.easing.swing ? "swing" : "linear");
                this.pos = a.easing[a5 || a6](this.state, a0, 0, 1, this.options.duration);
                this.now = this.start + ((this.end - this.start) * this.pos);
                this.update()
            }
            return true
        }
    };
    a.extend(a.fx, {
        tick: function () {
            var a0 = a.timers;
            for (var aZ = 0; aZ < a0.length; aZ++) {
                if (!a0[aZ]()) {
                    a0.splice(aZ--, 1)
                }
            }
            if (!a0.length) {
                a.fx.stop()
            }
        },
        stop: function () {
            clearInterval(aG);
            aG = null
        },
        speeds: {
            slow: 600,
            fast: 200,
            _default: 400
        },
        step: {
            opacity: function (aZ) {
                a.style(aZ.elem, "opacity", aZ.now)
            },
            _default: function (aZ) {
                if (aZ.elem.style && aZ.elem.style[aZ.prop] != null) {
                    aZ.elem.style[aZ.prop] = (aZ.prop === "width" || aZ.prop === "height" ? Math.max(0, aZ.now) : aZ.now) + aZ.unit
                } else {
                    aZ.elem[aZ.prop] = aZ.now
                }
            }
        }
    });
    if (a.expr && a.expr.filters) {
        a.expr.filters.animated = function (aZ) {
            return a.grep(a.timers, function (a0) {
                return aZ === a0.elem
            }).length
        }
    }
    function aE(a0, aZ) {
        var a1 = {};
        a.each(ak.concat.apply([], ak.slice(0, aZ)), function () {
            a1[this] = a0
        });
        return a1
    }
    if ("getBoundingClientRect" in ac.documentElement) {
        a.fn.offset = function (a8) {
            var a1 = this[0];
            if (a8) {
                return this.each(function (a9) {
                    a.offset.setOffset(this, a8, a9)
                })
            }
            if (!a1 || !a1.ownerDocument) {
                return null
            }
            if (a1 === a1.ownerDocument.body) {
                return a.offset.bodyOffset(a1)
            }
            var a3 = a1.getBoundingClientRect(),
                a7 = a1.ownerDocument,
                a4 = a7.body,
                aZ = a7.documentElement,
                a2 = aZ.clientTop || a4.clientTop || 0,
                a5 = aZ.clientLeft || a4.clientLeft || 0,
                a6 = a3.top + (self.pageYOffset || a.support.boxModel && aZ.scrollTop || a4.scrollTop) - a2,
                a0 = a3.left + (self.pageXOffset || a.support.boxModel && aZ.scrollLeft || a4.scrollLeft) - a5;
            return {
                top: a6,
                left: a0
            }
        }
    } else {
        a.fn.offset = function (ba) {
            var a4 = this[0];
            if (ba) {
                return this.each(function (bb) {
                    a.offset.setOffset(this, ba, bb)
                })
            }
            if (!a4 || !a4.ownerDocument) {
                return null
            }
            if (a4 === a4.ownerDocument.body) {
                return a.offset.bodyOffset(a4)
            }
            a.offset.initialize();
            var a1 = a4.offsetParent,
                a0 = a4,
                a9 = a4.ownerDocument,
                a7, a2 = a9.documentElement,
                a5 = a9.body,
                a6 = a9.defaultView,
                aZ = a6 ? a6.getComputedStyle(a4, null) : a4.currentStyle,
                a8 = a4.offsetTop,
                a3 = a4.offsetLeft;
            while ((a4 = a4.parentNode) && a4 !== a5 && a4 !== a2) {
                if (a.offset.supportsFixedPosition && aZ.position === "fixed") {
                    break
                }
                a7 = a6 ? a6.getComputedStyle(a4, null) : a4.currentStyle;
                a8 -= a4.scrollTop;
                a3 -= a4.scrollLeft;
                if (a4 === a1) {
                    a8 += a4.offsetTop;
                    a3 += a4.offsetLeft;
                    if (a.offset.doesNotAddBorder && !(a.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(a4.nodeName))) {
                        a8 += parseFloat(a7.borderTopWidth) || 0;
                        a3 += parseFloat(a7.borderLeftWidth) || 0
                    }
                    a0 = a1, a1 = a4.offsetParent
                }
                if (a.offset.subtractsBorderForOverflowNotVisible && a7.overflow !== "visible") {
                    a8 += parseFloat(a7.borderTopWidth) || 0;
                    a3 += parseFloat(a7.borderLeftWidth) || 0
                }
                aZ = a7
            }
            if (aZ.position === "relative" || aZ.position === "static") {
                a8 += a5.offsetTop;
                a3 += a5.offsetLeft
            }
            if (a.offset.supportsFixedPosition && aZ.position === "fixed") {
                a8 += Math.max(a2.scrollTop, a5.scrollTop);
                a3 += Math.max(a2.scrollLeft, a5.scrollLeft)
            }
            return {
                top: a8,
                left: a3
            }
        }
    }
    a.offset = {
        initialize: function () {
            var aZ = ac.body,
                a0 = ac.createElement("div"),
                a3, a5, a4, a6, a1 = parseFloat(a.curCSS(aZ, "marginTop", true)) || 0,
                a2 = "<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
            a.extend(a0.style, {
                position: "absolute",
                top: 0,
                left: 0,
                margin: 0,
                border: 0,
                width: "1px",
                height: "1px",
                visibility: "hidden"
            });
            a0.innerHTML = a2;
            aZ.insertBefore(a0, aZ.firstChild);
            a3 = a0.firstChild;
            a5 = a3.firstChild;
            a6 = a3.nextSibling.firstChild.firstChild;
            this.doesNotAddBorder = (a5.offsetTop !== 5);
            this.doesAddBorderForTableAndCells = (a6.offsetTop === 5);
            a5.style.position = "fixed", a5.style.top = "20px";
            this.supportsFixedPosition = (a5.offsetTop === 20 || a5.offsetTop === 15);
            a5.style.position = a5.style.top = "";
            a3.style.overflow = "hidden", a3.style.position = "relative";
            this.subtractsBorderForOverflowNotVisible = (a5.offsetTop === -5);
            this.doesNotIncludeMarginInBodyOffset = (aZ.offsetTop !== a1);
            aZ.removeChild(a0);
            aZ = a0 = a3 = a5 = a4 = a6 = null;
            a.offset.initialize = a.noop
        },
        bodyOffset: function (aZ) {
            var a1 = aZ.offsetTop,
                a0 = aZ.offsetLeft;
            a.offset.initialize();
            if (a.offset.doesNotIncludeMarginInBodyOffset) {
                a1 += parseFloat(a.curCSS(aZ, "marginTop", true)) || 0;
                a0 += parseFloat(a.curCSS(aZ, "marginLeft", true)) || 0
            }
            return {
                top: a1,
                left: a0
            }
        },
        setOffset: function (a4, a0, a1) {
            if (/static/.test(a.curCSS(a4, "position"))) {
                a4.style.position = "relative"
            }
            var a3 = a(a4),
                a6 = a3.offset(),
                aZ = parseInt(a.curCSS(a4, "top", true), 10) || 0,
                a5 = parseInt(a.curCSS(a4, "left", true), 10) || 0;
            if (a.isFunction(a0)) {
                a0 = a0.call(a4, a1, a6)
            }
            var a2 = {
                top: (a0.top - a6.top) + aZ,
                left: (a0.left - a6.left) + a5
            };
            if ("using" in a0) {
                a0.using.call(a4, a2)
            } else {
                a3.css(a2)
            }
        }
    };
    a.fn.extend({
        position: function () {
            if (!this[0]) {
                return null
            }
            var a1 = this[0],
                a0 = this.offsetParent(),
                a2 = this.offset(),
                aZ = /^body|html$/i.test(a0[0].nodeName) ? {
                    top: 0,
                    left: 0
                } : a0.offset();
            a2.top -= parseFloat(a.curCSS(a1, "marginTop", true)) || 0;
            a2.left -= parseFloat(a.curCSS(a1, "marginLeft", true)) || 0;
            aZ.top += parseFloat(a.curCSS(a0[0], "borderTopWidth", true)) || 0;
            aZ.left += parseFloat(a.curCSS(a0[0], "borderLeftWidth", true)) || 0;
            return {
                top: a2.top - aZ.top,
                left: a2.left - aZ.left
            }
        },
        offsetParent: function () {
            return this.map(function () {
                var aZ = this.offsetParent || ac.body;
                while (aZ && (!/^body|html$/i.test(aZ.nodeName) && a.css(aZ, "position") === "static")) {
                    aZ = aZ.offsetParent
                }
                return aZ
            })
        }
    });
    a.each(["Left", "Top"], function (a0, aZ) {
        var a1 = "scroll" + aZ;
        a.fn[a1] = function (a4) {
            var a2 = this[0],
                a3;
            if (!a2) {
                return null
            }
            if (a4 !== D) {
                return this.each(function () {
                    a3 = an(this);
                    if (a3) {
                        a3.scrollTo(!a0 ? a4 : a(a3).scrollLeft(), a0 ? a4 : a(a3).scrollTop())
                    } else {
                        this[a1] = a4
                    }
                })
            } else {
                a3 = an(a2);
                return a3 ? ("pageXOffset" in a3) ? a3[a0 ? "pageYOffset" : "pageXOffset"] : a.support.boxModel && a3.document.documentElement[a1] || a3.document.body[a1] : a2[a1]
            }
        }
    });

    function an(aZ) {
        return ("scrollTo" in aZ && aZ.document) ? aZ : aZ.nodeType === 9 ? aZ.defaultView || aZ.parentWindow : false
    }
    a.each(["Height", "Width"], function (a0, aZ) {
        var a1 = aZ.toLowerCase();
        a.fn["inner" + aZ] = function () {
            return this[0] ? a.css(this[0], a1, false, "padding") : null
        };
        a.fn["outer" + aZ] = function (a2) {
            return this[0] ? a.css(this[0], a1, false, a2 ? "margin" : "border") : null
        };
        a.fn[a1] = function (a2) {
            var a3 = this[0];
            if (!a3) {
                return a2 == null ? null : this
            }
            if (a.isFunction(a2)) {
                return this.each(function (a5) {
                    var a4 = a(this);
                    a4[a1](a2.call(this, a5, a4[a1]()))
                })
            }
            return ("scrollTo" in a3 && a3.document) ? a3.document.compatMode === "CSS1Compat" && a3.document.documentElement["client" + aZ] || a3.document.body["client" + aZ] : (a3.nodeType === 9) ? Math.max(a3.documentElement["client" + aZ], a3.body["scroll" + aZ], a3.documentElement["scroll" + aZ], a3.body["offset" + aZ], a3.documentElement["offset" + aZ]) : a2 === D ? a.css(a3, a1) : this.css(a1, typeof a2 === "string" ? a2 : a2 + "px")
        }
    });
    aN.jQuery = aN.$ = a
})(window);
/*
 * jQuery Cycle Plugin (with Transition Definitions)
 * Examples and documentation at: http://jquery.malsup.com/cycle/
 * Copyright (c) 2007-2009 M. Alsup
 * Version: 2.73 (04-NOV-2009)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 * Requires: jQuery v1.2.6 or later
 *
 * Originally based on the work of:
 *	1) Matt Oakes
 *	2) Torsten Baldes (http://medienfreunde.com/lab/innerfade/)
 *	3) Benjamin Sterling (http://www.benjaminsterling.com/experiments/jqShuffle/)
 */
(function (i) {
    var l = "2.73";
    if (i.support == undefined) {
        i.support = {
            opacity: !(i.browser.msie)
        }
    }
    function a(q) {
        if (i.fn.cycle.debug) {
            f(q)
        }
    }
    function f() {
        if (window.console && window.console.log) {
            window.console.log("[cycle] " + Array.prototype.join.call(arguments, " "))
        }
    }
    i.fn.cycle = function (r, q) {
        var s = {
            s: this.selector,
            c: this.context
        };
        if (this.length === 0 && r != "stop") {
            if (!i.isReady && s.s) {
                f("DOM not ready, queuing slideshow");
                i(function () {
                    i(s.s, s.c).cycle(r, q)
                });
                return this
            }
            f("terminating; zero elements found by selector" + (i.isReady ? "" : " (DOM not ready)"));
            return this
        }
        return this.each(function () {
            var w = m(this, r, q);
            if (w === false) {
                return
            }
            if (this.cycleTimeout) {
                clearTimeout(this.cycleTimeout)
            }
            this.cycleTimeout = this.cyclePause = 0;
            var x = i(this);
            var y = w.slideExpr ? i(w.slideExpr, this) : x.children();
            var u = y.get();
            if (u.length < 2) {
                f("terminating; too few slides: " + u.length);
                return
            }
            var t = k(x, y, u, w, s);
            if (t === false) {
                return
            }
            var v = t.continuous ? 10 : h(t.currSlide, t.nextSlide, t, !t.rev);
            if (v) {
                v += (t.delay || 0);
                if (v < 10) {
                    v = 10
                }
                a("first timeout: " + v);
                this.cycleTimeout = setTimeout(function () {
                    e(u, t, 0, !t.rev)
                }, v)
            }
        })
    };

    function m(q, t, r) {
        if (q.cycleStop == undefined) {
            q.cycleStop = 0
        }
        if (t === undefined || t === null) {
            t = {}
        }
        if (t.constructor == String) {
            switch (t) {
            case "stop":
                q.cycleStop++;
                if (q.cycleTimeout) {
                    clearTimeout(q.cycleTimeout)
                }
                q.cycleTimeout = 0;
                i(q).removeData("cycle.opts");
                return false;
            case "pause":
                q.cyclePause = 1;
                return false;
            case "resume":
                q.cyclePause = 0;
                if (r === true) {
                    t = i(q).data("cycle.opts");
                    if (!t) {
                        f("options not found, can not resume");
                        return false
                    }
                    if (q.cycleTimeout) {
                        clearTimeout(q.cycleTimeout);
                        q.cycleTimeout = 0
                    }
                    e(t.elements, t, 1, 1)
                }
                return false;
            case "prev":
            case "next":
                var u = i(q).data("cycle.opts");
                if (!u) {
                    f('options not found, "prev/next" ignored');
                    return false
                }
                i.fn.cycle[t](u);
                return false;
            default:
                t = {
                    fx: t
                }
            }
            return t
        } else {
            if (t.constructor == Number) {
                var s = t;
                t = i(q).data("cycle.opts");
                if (!t) {
                    f("options not found, can not advance slide");
                    return false
                }
                if (s < 0 || s >= t.elements.length) {
                    f("invalid slide index: " + s);
                    return false
                }
                t.nextSlide = s;
                if (q.cycleTimeout) {
                    clearTimeout(q.cycleTimeout);
                    q.cycleTimeout = 0
                }
                if (typeof r == "string") {
                    t.oneTimeFx = r
                }
                e(t.elements, t, 1, s >= t.currSlide);
                return false
            }
        }
        return t
    }
    function b(q, r) {
        if (!i.support.opacity && r.cleartype && q.style.filter) {
            try {
                q.style.removeAttribute("filter")
            } catch (s) {}
        }
    }
    function k(y, J, u, t, E) {
        var C = i.extend({}, i.fn.cycle.defaults, t || {}, i.metadata ? y.metadata() : i.meta ? y.data() : {});
        if (C.autostop) {
            C.countdown = C.autostopCount || u.length
        }
        var r = y[0];
        y.data("cycle.opts", C);
        C.$cont = y;
        C.stopCount = r.cycleStop;
        C.elements = u;
        C.before = C.before ? [C.before] : [];
        C.after = C.after ? [C.after] : [];
        C.after.unshift(function () {
            C.busy = 0
        });
        if (!i.support.opacity && C.cleartype) {
            C.after.push(function () {
                b(this, C)
            })
        }
        if (C.continuous) {
            C.after.push(function () {
                e(u, C, 0, !C.rev)
            })
        }
        n(C);
        if (!i.support.opacity && C.cleartype && !C.cleartypeNoBg) {
            g(J)
        }
        if (y.css("position") == "static") {
            y.css("position", "relative")
        }
        if (C.width) {
            y.width(C.width)
        }
        if (C.height && C.height != "auto") {
            y.height(C.height)
        }
        if (C.startingSlide) {
            C.startingSlide = parseInt(C.startingSlide)
        }
        if (C.random) {
            C.randomMap = [];
            for (var H = 0; H < u.length; H++) {
                C.randomMap.push(H)
            }
            C.randomMap.sort(function (L, w) {
                return Math.random() - 0.5
            });
            C.randomIndex = 0;
            C.startingSlide = C.randomMap[0]
        } else {
            if (C.startingSlide >= u.length) {
                C.startingSlide = 0
            }
        }
        C.currSlide = C.startingSlide = C.startingSlide || 0;
        var x = C.startingSlide;
        J.css({
            position: "absolute",
            top: 0,
            left: 0
        }).hide().each(function (w) {
            var L = x ? w >= x ? u.length - (w - x) : x - w : u.length - w;
            i(this).css("z-index", L)
        });
        i(u[x]).css("opacity", 1).show();
        b(u[x], C);
        if (C.fit && C.width) {
            J.width(C.width)
        }
        if (C.fit && C.height && C.height != "auto") {
            J.height(C.height)
        }
        var D = C.containerResize && !y.innerHeight();
        if (D) {
            var v = 0,
                B = 0;
            for (var F = 0; F < u.length; F++) {
                var q = i(u[F]),
                    K = q[0],
                    A = q.outerWidth(),
                    I = q.outerHeight();
                if (!A) {
                    A = K.offsetWidth
                }
                if (!I) {
                    I = K.offsetHeight
                }
                v = A > v ? A : v;
                B = I > B ? I : B
            }
            if (v > 0 && B > 0) {
                y.css({
                    width: v + "px",
                    height: B + "px"
                })
            }
        }
        if (C.pause) {
            y.hover(function () {
                this.cyclePause++
            }, function () {
                this.cyclePause--
            })
        }
        if (c(C) === false) {
            return false
        }
        var s = false;
        t.requeueAttempts = t.requeueAttempts || 0;
        J.each(function () {
            var N = i(this);
            this.cycleH = (C.fit && C.height) ? C.height : N.height();
            this.cycleW = (C.fit && C.width) ? C.width : N.width();
            if (N.is("img")) {
                var L = (i.browser.msie && this.cycleW == 28 && this.cycleH == 30 && !this.complete);
                var O = (i.browser.mozilla && this.cycleW == 34 && this.cycleH == 19 && !this.complete);
                var M = (i.browser.opera && ((this.cycleW == 42 && this.cycleH == 19) || (this.cycleW == 37 && this.cycleH == 17)) && !this.complete);
                var w = (this.cycleH == 0 && this.cycleW == 0 && !this.complete);
                if (L || O || M || w) {
                    if (E.s && C.requeueOnImageNotLoaded && ++t.requeueAttempts < 100) {
                        f(t.requeueAttempts, " - img slide not loaded, requeuing slideshow: ", this.src, this.cycleW, this.cycleH);
                        setTimeout(function () {
                            i(E.s, E.c).cycle(t)
                        }, C.requeueTimeout);
                        s = true;
                        return false
                    } else {
                        f("could not determine size of image: " + this.src, this.cycleW, this.cycleH)
                    }
                }
            }
            return true
        });
        if (s) {
            return false
        }
        C.cssBefore = C.cssBefore || {};
        C.animIn = C.animIn || {};
        C.animOut = C.animOut || {};
        J.not(":eq(" + x + ")").css(C.cssBefore);
        if (C.cssFirst) {
            i(J[x]).css(C.cssFirst)
        }
        if (C.timeout) {
            C.timeout = parseInt(C.timeout);
            if (C.speed.constructor == String) {
                C.speed = i.fx.speeds[C.speed] || parseInt(C.speed)
            }
            if (!C.sync) {
                C.speed = C.speed / 2
            }
            while ((C.timeout - C.speed) < 250) {
                C.timeout += C.speed
            }
        }
        if (C.easing) {
            C.easeIn = C.easeOut = C.easing
        }
        if (!C.speedIn) {
            C.speedIn = C.speed
        }
        if (!C.speedOut) {
            C.speedOut = C.speed
        }
        C.slideCount = u.length;
        C.currSlide = C.lastSlide = x;
        if (C.random) {
            C.nextSlide = C.currSlide;
            if (++C.randomIndex == u.length) {
                C.randomIndex = 0
            }
            C.nextSlide = C.randomMap[C.randomIndex]
        } else {
            C.nextSlide = C.startingSlide >= (u.length - 1) ? 0 : C.startingSlide + 1
        }
        if (!C.multiFx) {
            var G = i.fn.cycle.transitions[C.fx];
            if (i.isFunction(G)) {
                G(y, J, C)
            } else {
                if (C.fx != "custom" && !C.multiFx) {
                    f("unknown transition: " + C.fx, "; slideshow terminating");
                    return false
                }
            }
        }
        var z = J[x];
        if (C.before.length) {
            C.before[0].apply(z, [z, z, C, true])
        }
        if (C.after.length > 1) {
            C.after[1].apply(z, [z, z, C, true])
        }
        if (C.next) {
            i(C.next).bind(C.prevNextEvent, function () {
                return o(C, C.rev ? -1 : 1)
            })
        }
        if (C.prev) {
            i(C.prev).bind(C.prevNextEvent, function () {
                return o(C, C.rev ? 1 : -1)
            })
        }
        if (C.pager) {
            d(u, C)
        }
        j(C, u);
        return C
    }
    function n(q) {
        q.original = {
            before: [],
            after: []
        };
        q.original.cssBefore = i.extend({}, q.cssBefore);
        q.original.cssAfter = i.extend({}, q.cssAfter);
        q.original.animIn = i.extend({}, q.animIn);
        q.original.animOut = i.extend({}, q.animOut);
        i.each(q.before, function () {
            q.original.before.push(this)
        });
        i.each(q.after, function () {
            q.original.after.push(this)
        })
    }
    function c(w) {
        var u, s, r = i.fn.cycle.transitions;
        if (w.fx.indexOf(",") > 0) {
            w.multiFx = true;
            w.fxs = w.fx.replace(/\s*/g, "").split(",");
            for (u = 0; u < w.fxs.length; u++) {
                var v = w.fxs[u];
                s = r[v];
                if (!s || !r.hasOwnProperty(v) || !i.isFunction(s)) {
                    f("discarding unknown transition: ", v);
                    w.fxs.splice(u, 1);
                    u--
                }
            }
            if (!w.fxs.length) {
                f("No valid transitions named; slideshow terminating.");
                return false
            }
        } else {
            if (w.fx == "all") {
                w.multiFx = true;
                w.fxs = [];
                for (p in r) {
                    s = r[p];
                    if (r.hasOwnProperty(p) && i.isFunction(s)) {
                        w.fxs.push(p)
                    }
                }
            }
        }
        if (w.multiFx && w.randomizeEffects) {
            var t = Math.floor(Math.random() * 20) + 30;
            for (u = 0; u < t; u++) {
                var q = Math.floor(Math.random() * w.fxs.length);
                w.fxs.push(w.fxs.splice(q, 1)[0])
            }
            a("randomized fx sequence: ", w.fxs)
        }
        return true
    }
    function j(r, q) {
        r.addSlide = function (u, v) {
            var t = i(u),
                w = t[0];
            if (!r.autostopCount) {
                r.countdown++
            }
            q[v ? "unshift" : "push"](w);
            if (r.els) {
                r.els[v ? "unshift" : "push"](w)
            }
            r.slideCount = q.length;
            t.css("position", "absolute");
            t[v ? "prependTo" : "appendTo"](r.$cont);
            if (v) {
                r.currSlide++;
                r.nextSlide++
            }
            if (!i.support.opacity && r.cleartype && !r.cleartypeNoBg) {
                g(t)
            }
            if (r.fit && r.width) {
                t.width(r.width)
            }
            if (r.fit && r.height && r.height != "auto") {
                $slides.height(r.height)
            }
            w.cycleH = (r.fit && r.height) ? r.height : t.height();
            w.cycleW = (r.fit && r.width) ? r.width : t.width();
            t.css(r.cssBefore);
            if (r.pager) {
                i.fn.cycle.createPagerAnchor(q.length - 1, w, i(r.pager), q, r)
            }
            if (i.isFunction(r.onAddSlide)) {
                r.onAddSlide(t)
            } else {
                t.hide()
            }
        }
    }
    i.fn.cycle.resetState = function (r, q) {
        q = q || r.fx;
        r.before = [];
        r.after = [];
        r.cssBefore = i.extend({}, r.original.cssBefore);
        r.cssAfter = i.extend({}, r.original.cssAfter);
        r.animIn = i.extend({}, r.original.animIn);
        r.animOut = i.extend({}, r.original.animOut);
        r.fxFn = null;
        i.each(r.original.before, function () {
            r.before.push(this)
        });
        i.each(r.original.after, function () {
            r.after.push(this)
        });
        var s = i.fn.cycle.transitions[q];
        if (i.isFunction(s)) {
            s(r.$cont, i(r.elements), r)
        }
    };

    function e(x, q, w, y) {
        if (w && q.busy && q.manualTrump) {
            i(x).stop(true, true);
            q.busy = false
        }
        if (q.busy) {
            return
        }
        var u = q.$cont[0],
            A = x[q.currSlide],
            z = x[q.nextSlide];
        if (u.cycleStop != q.stopCount || u.cycleTimeout === 0 && !w) {
            return
        }
        if (!w && !u.cyclePause && ((q.autostop && (--q.countdown <= 0)) || (q.nowrap && !q.random && q.nextSlide < q.currSlide))) {
            if (q.end) {
                q.end(q)
            }
            return
        }
        if (w || !u.cyclePause) {
            var v = q.fx;
            A.cycleH = A.cycleH || i(A).height();
            A.cycleW = A.cycleW || i(A).width();
            z.cycleH = z.cycleH || i(z).height();
            z.cycleW = z.cycleW || i(z).width();
            if (q.multiFx) {
                if (q.lastFx == undefined || ++q.lastFx >= q.fxs.length) {
                    q.lastFx = 0
                }
                v = q.fxs[q.lastFx];
                q.currFx = v
            }
            if (q.oneTimeFx) {
                v = q.oneTimeFx;
                q.oneTimeFx = null
            }
            i.fn.cycle.resetState(q, v);
            if (q.before.length) {
                i.each(q.before, function (B, C) {
                    if (u.cycleStop != q.stopCount) {
                        return
                    }
                    C.apply(z, [A, z, q, y])
                })
            }
            var s = function () {
                i.each(q.after, function (B, C) {
                    if (u.cycleStop != q.stopCount) {
                        return
                    }
                    C.apply(z, [A, z, q, y])
                })
            };
            if (q.nextSlide != q.currSlide) {
                q.busy = 1;
                if (q.fxFn) {
                    q.fxFn(A, z, q, s, y)
                } else {
                    if (i.isFunction(i.fn.cycle[q.fx])) {
                        i.fn.cycle[q.fx](A, z, q, s)
                    } else {
                        i.fn.cycle.custom(A, z, q, s, w && q.fastOnEvent)
                    }
                }
            }
            q.lastSlide = q.currSlide;
            if (q.random) {
                q.currSlide = q.nextSlide;
                if (++q.randomIndex == x.length) {
                    q.randomIndex = 0
                }
                q.nextSlide = q.randomMap[q.randomIndex]
            } else {
                var t = (q.nextSlide + 1) == x.length;
                q.nextSlide = t ? 0 : q.nextSlide + 1;
                q.currSlide = t ? x.length - 1 : q.nextSlide - 1
            }
            if (q.pager) {
                i.fn.cycle.updateActivePagerLink(q.pager, q.currSlide)
            }
        }
        var r = 0;
        if (q.timeout && !q.continuous) {
            r = h(A, z, q, y)
        } else {
            if (q.continuous && u.cyclePause) {
                r = 10
            }
        }
        if (r > 0) {
            u.cycleTimeout = setTimeout(function () {
                e(x, q, 0, !q.rev)
            }, r)
        }
    }
    i.fn.cycle.updateActivePagerLink = function (q, r) {
        i(q).each(function () {
            i(this).find("a").removeClass("current-slide").filter("a:eq(" + r + ")").addClass("current-slide")
        })
    };

    function h(v, s, u, r) {
        if (u.timeoutFn) {
            var q = u.timeoutFn(v, s, u, r);
            while ((q - u.speed) < 250) {
                q += u.speed
            }
            a("calculated timeout: " + q + "; speed: " + u.speed);
            if (q !== false) {
                return q
            }
        }
        return u.timeout
    }
    i.fn.cycle.next = function (q) {
        o(q, q.rev ? -1 : 1)
    };
    i.fn.cycle.prev = function (q) {
        o(q, q.rev ? 1 : -1)
    };

    function o(r, u) {
        var q = r.elements;
        var t = r.$cont[0],
            s = t.cycleTimeout;
        if (s) {
            clearTimeout(s);
            t.cycleTimeout = 0
        }
        if (r.random && u < 0) {
            r.randomIndex--;
            if (--r.randomIndex == -2) {
                r.randomIndex = q.length - 2
            } else {
                if (r.randomIndex == -1) {
                    r.randomIndex = q.length - 1
                }
            }
            r.nextSlide = r.randomMap[r.randomIndex]
        } else {
            if (r.random) {
                if (++r.randomIndex == q.length) {
                    r.randomIndex = 0
                }
                r.nextSlide = r.randomMap[r.randomIndex]
            } else {
                r.nextSlide = r.currSlide + u;
                if (r.nextSlide < 0) {
                    if (r.nowrap) {
                        return false
                    }
                    r.nextSlide = q.length - 1
                } else {
                    if (r.nextSlide >= q.length) {
                        if (r.nowrap) {
                            return false
                        }
                        r.nextSlide = 0
                    }
                }
            }
        }
        if (i.isFunction(r.prevNextClick)) {
            r.prevNextClick(u > 0, r.nextSlide, q[r.nextSlide])
        }
        e(q, r, 1, u >= 0);
        return false
    }
    function d(r, s) {
        var q = i(s.pager);
        i.each(r, function (t, u) {
            i.fn.cycle.createPagerAnchor(t, u, q, r, s)
        });
        i.fn.cycle.updateActivePagerLink(s.pager, s.startingSlide)
    }
    i.fn.cycle.createPagerAnchor = function (u, v, s, t, w) {
        var r;
        if (i.isFunction(w.pagerAnchorBuilder)) {
            r = w.pagerAnchorBuilder(u, v)
        } else {
            r = '<a href="#">' + (u + 1) + "</a>"
        }
        if (!r) {
            return
        }
        var x = i(r);
        if (x.parents("body").length === 0) {
            var q = [];
            if (s.length > 1) {
                s.each(function () {
                    var y = x.clone(true);
                    i(this).append(y);
                    q.push(y[0])
                });
                x = i(q)
            } else {
                x.appendTo(s)
            }
        }
        x.bind(w.pagerEvent, function (A) {
            A.preventDefault();
            w.nextSlide = u;
            var z = w.$cont[0],
                y = z.cycleTimeout;
            if (y) {
                clearTimeout(y);
                z.cycleTimeout = 0
            }
            if (i.isFunction(w.pagerClick)) {
                w.pagerClick(w.nextSlide, t[w.nextSlide])
            }
            e(t, w, 1, w.currSlide < u);
            return false
        });
        if (w.pagerEvent != "click") {
            x.click(function () {
                return false
            })
        }
        if (w.pauseOnPagerHover) {
            x.hover(function () {
                w.$cont[0].cyclePause++
            }, function () {
                w.$cont[0].cyclePause--
            })
        }
    };
    i.fn.cycle.hopsFromLast = function (t, s) {
        var r, q = t.lastSlide,
            u = t.currSlide;
        if (s) {
            r = u > q ? u - q : t.slideCount - q
        } else {
            r = u < q ? q - u : q + t.slideCount - u
        }
        return r
    };

    function g(s) {
        function r(t) {
            t = parseInt(t).toString(16);
            return t.length < 2 ? "0" + t : t
        }
        function q(w) {
            for (; w && w.nodeName.toLowerCase() != "html"; w = w.parentNode) {
                var t = i.css(w, "background-color");
                if (t.indexOf("rgb") >= 0) {
                    var u = t.match(/\d+/g);
                    return "#" + r(u[0]) + r(u[1]) + r(u[2])
                }
                if (t && t != "transparent") {
                    return t
                }
            }
            return "#ffffff"
        }
        s.each(function () {
            i(this).css("background-color", q(this))
        })
    }
    i.fn.cycle.commonReset = function (v, t, u, r, s, q) {
        i(u.elements).not(v).hide();
        u.cssBefore.opacity = 1;
        u.cssBefore.display = "block";
        if (r !== false && t.cycleW > 0) {
            u.cssBefore.width = t.cycleW
        }
        if (s !== false && t.cycleH > 0) {
            u.cssBefore.height = t.cycleH
        }
        u.cssAfter = u.cssAfter || {};
        u.cssAfter.display = "none";
        i(v).css("zIndex", u.slideCount + (q === true ? 1 : 0));
        i(t).css("zIndex", u.slideCount + (q === true ? 0 : 1))
    };
    i.fn.cycle.custom = function (B, v, q, s, r) {
        var A = i(B),
            w = i(v);
        var t = q.speedIn,
            z = q.speedOut,
            u = q.easeIn,
            y = q.easeOut;
        w.css(q.cssBefore);
        if (r) {
            if (typeof r == "number") {
                t = z = r
            } else {
                t = z = 1
            }
            u = y = null
        }
        var x = function () {
            w.animate(q.animIn, t, u, s)
        };
        A.animate(q.animOut, z, y, function () {
            if (q.cssAfter) {
                A.css(q.cssAfter)
            }
            if (!q.sync) {
                x()
            }
        });
        if (q.sync) {
            x()
        }
    };
    i.fn.cycle.transitions = {
        fade: function (r, s, q) {
            s.not(":eq(" + q.currSlide + ")").css("opacity", 0);
            q.before.push(function (v, t, u) {
                i.fn.cycle.commonReset(v, t, u);
                u.cssBefore.opacity = 0
            });
            q.animIn = {
                opacity: 1
            };
            q.animOut = {
                opacity: 0
            };
            q.cssBefore = {
                top: 0,
                left: 0
            }
        }
    };
    i.fn.cycle.ver = function () {
        return l
    };
    i.fn.cycle.defaults = {
        fx: "fade",
        timeout: 4000,
        timeoutFn: null,
        continuous: 0,
        speed: 1000,
        speedIn: null,
        speedOut: null,
        next: null,
        prev: null,
        prevNextClick: null,
        prevNextEvent: "click",
        pager: null,
        pagerClick: null,
        pagerEvent: "click",
        pagerAnchorBuilder: null,
        before: null,
        after: null,
        end: null,
        easing: null,
        easeIn: null,
        easeOut: null,
        shuffle: null,
        animIn: null,
        animOut: null,
        cssBefore: null,
        cssAfter: null,
        fxFn: null,
        height: "auto",
        startingSlide: 0,
        sync: 1,
        random: 0,
        fit: 0,
        containerResize: 1,
        pause: 0,
        pauseOnPagerHover: 0,
        autostop: 0,
        autostopCount: 0,
        delay: 0,
        slideExpr: null,
        cleartype: !i.support.opacity,
        cleartypeNoBg: false,
        nowrap: 0,
        fastOnEvent: 0,
        randomizeEffects: 1,
        rev: 0,
        manualTrump: true,
        requeueOnImageNotLoaded: true,
        requeueTimeout: 250
    }
})(jQuery);
/*
 * jQuery Cycle Plugin Transition Definitions
 * This script is a plugin for the jQuery Cycle Plugin
 * Examples and documentation at: http://malsup.com/jquery/cycle/
 * Copyright (c) 2007-2008 M. Alsup
 * Version:	 2.72
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 */
(function (a) {
    a.fn.cycle.transitions.none = function (c, d, b) {
        b.fxFn = function (g, e, f, h) {
            a(e).show();
            a(g).hide();
            h()
        }
    };
    a.fn.cycle.transitions.scrollUp = function (d, e, c) {
        d.css("overflow", "hidden");
        c.before.push(a.fn.cycle.commonReset);
        var b = d.height();
        c.cssBefore = {
            top: b,
            left: 0
        };
        c.cssFirst = {
            top: 0
        };
        c.animIn = {
            top: 0
        };
        c.animOut = {
            top: -b
        }
    };
    a.fn.cycle.transitions.scrollDown = function (d, e, c) {
        d.css("overflow", "hidden");
        c.before.push(a.fn.cycle.commonReset);
        var b = d.height();
        c.cssFirst = {
            top: 0
        };
        c.cssBefore = {
            top: -b,
            left: 0
        };
        c.animIn = {
            top: 0
        };
        c.animOut = {
            top: b
        }
    };
    a.fn.cycle.transitions.scrollLeft = function (d, e, c) {
        d.css("overflow", "hidden");
        c.before.push(a.fn.cycle.commonReset);
        var b = d.width();
        c.cssFirst = {
            left: 0
        };
        c.cssBefore = {
            left: b,
            top: 0
        };
        c.animIn = {
            left: 0
        };
        c.animOut = {
            left: 0 - b
        }
    };
    a.fn.cycle.transitions.scrollRight = function (d, e, c) {
        d.css("overflow", "hidden");
        c.before.push(a.fn.cycle.commonReset);
        var b = d.width();
        c.cssFirst = {
            left: 0
        };
        c.cssBefore = {
            left: -b,
            top: 0
        };
        c.animIn = {
            left: 0
        };
        c.animOut = {
            left: b
        }
    };
    a.fn.cycle.transitions.scrollHorz = function (c, d, b) {
        c.css("overflow", "hidden").width();
        b.before.push(function (h, f, g, e) {
            a.fn.cycle.commonReset(h, f, g);
            g.cssBefore.left = e ? (f.cycleW - 1) : (1 - f.cycleW);
            g.animOut.left = e ? -h.cycleW : h.cycleW
        });
        b.cssFirst = {
            left: 0
        };
        b.cssBefore = {
            top: 0
        };
        b.animIn = {
            left: 0
        };
        b.animOut = {
            top: 0
        }
    };
    a.fn.cycle.transitions.scrollVert = function (c, d, b) {
        c.css("overflow", "hidden");
        b.before.push(function (h, f, g, e) {
            a.fn.cycle.commonReset(h, f, g);
            g.cssBefore.top = e ? (1 - f.cycleH) : (f.cycleH - 1);
            g.animOut.top = e ? h.cycleH : -h.cycleH
        });
        b.cssFirst = {
            top: 0
        };
        b.cssBefore = {
            left: 0
        };
        b.animIn = {
            top: 0
        };
        b.animOut = {
            left: 0
        }
    };
    a.fn.cycle.transitions.slideX = function (c, d, b) {
        b.before.push(function (g, e, f) {
            a(f.elements).not(g).hide();
            a.fn.cycle.commonReset(g, e, f, false, true);
            f.animIn.width = e.cycleW
        });
        b.cssBefore = {
            left: 0,
            top: 0,
            width: 0
        };
        b.animIn = {
            width: "show"
        };
        b.animOut = {
            width: 0
        }
    };
    a.fn.cycle.transitions.slideY = function (c, d, b) {
        b.before.push(function (g, e, f) {
            a(f.elements).not(g).hide();
            a.fn.cycle.commonReset(g, e, f, true, false);
            f.animIn.height = e.cycleH
        });
        b.cssBefore = {
            left: 0,
            top: 0,
            height: 0
        };
        b.animIn = {
            height: "show"
        };
        b.animOut = {
            height: 0
        }
    };
    a.fn.cycle.transitions.shuffle = function (e, f, d) {
        var c, b = e.css("overflow", "visible").width();
        f.css({
            left: 0,
            top: 0
        });
        d.before.push(function (i, g, h) {
            a.fn.cycle.commonReset(i, g, h, true, true, true)
        });
        if (!d.speedAdjusted) {
            d.speed = d.speed / 2;
            d.speedAdjusted = true
        }
        d.random = 0;
        d.shuffle = d.shuffle || {
            left: -b,
            top: 15
        };
        d.els = [];
        for (c = 0; c < f.length; c++) {
            d.els.push(f[c])
        }
        for (c = 0; c < d.currSlide; c++) {
            d.els.push(d.els.shift())
        }
        d.fxFn = function (m, j, l, g, i) {
            var h = i ? a(m) : a(j);
            a(j).css(l.cssBefore);
            var k = l.slideCount;
            h.animate(l.shuffle, l.speedIn, l.easeIn, function () {
                var o = a.fn.cycle.hopsFromLast(l, i);
                for (var q = 0; q < o; q++) {
                    i ? l.els.push(l.els.shift()) : l.els.unshift(l.els.pop())
                }
                if (i) {
                    for (var r = 0, n = l.els.length; r < n; r++) {
                        a(l.els[r]).css("z-index", n - r + k)
                    }
                } else {
                    var s = a(m).css("z-index");
                    h.css("z-index", parseInt(s) + 1 + k)
                }
                h.animate({
                    left: 0,
                    top: 0
                }, l.speedOut, l.easeOut, function () {
                    a(i ? this : m).hide();
                    if (g) {
                        g()
                    }
                })
            })
        };
        d.cssBefore = {
            display: "block",
            opacity: 1,
            top: 0,
            left: 0
        }
    };
    a.fn.cycle.transitions.turnUp = function (c, d, b) {
        b.before.push(function (g, e, f) {
            a.fn.cycle.commonReset(g, e, f, true, false);
            f.cssBefore.top = e.cycleH;
            f.animIn.height = e.cycleH
        });
        b.cssFirst = {
            top: 0
        };
        b.cssBefore = {
            left: 0,
            height: 0
        };
        b.animIn = {
            top: 0
        };
        b.animOut = {
            height: 0
        }
    };
    a.fn.cycle.transitions.turnDown = function (c, d, b) {
        b.before.push(function (g, e, f) {
            a.fn.cycle.commonReset(g, e, f, true, false);
            f.animIn.height = e.cycleH;
            f.animOut.top = g.cycleH
        });
        b.cssFirst = {
            top: 0
        };
        b.cssBefore = {
            left: 0,
            top: 0,
            height: 0
        };
        b.animOut = {
            height: 0
        }
    };
    a.fn.cycle.transitions.turnLeft = function (c, d, b) {
        b.before.push(function (g, e, f) {
            a.fn.cycle.commonReset(g, e, f, false, true);
            f.cssBefore.left = e.cycleW;
            f.animIn.width = e.cycleW
        });
        b.cssBefore = {
            top: 0,
            width: 0
        };
        b.animIn = {
            left: 0
        };
        b.animOut = {
            width: 0
        }
    };
    a.fn.cycle.transitions.turnRight = function (c, d, b) {
        b.before.push(function (g, e, f) {
            a.fn.cycle.commonReset(g, e, f, false, true);
            f.animIn.width = e.cycleW;
            f.animOut.left = g.cycleW
        });
        b.cssBefore = {
            top: 0,
            left: 0,
            width: 0
        };
        b.animIn = {
            left: 0
        };
        b.animOut = {
            width: 0
        }
    };
    a.fn.cycle.transitions.zoom = function (c, d, b) {
        b.before.push(function (g, e, f) {
            a.fn.cycle.commonReset(g, e, f, false, false, true);
            f.cssBefore.top = e.cycleH / 2;
            f.cssBefore.left = e.cycleW / 2;
            f.animIn = {
                top: 0,
                left: 0,
                width: e.cycleW,
                height: e.cycleH
            };
            f.animOut = {
                width: 0,
                height: 0,
                top: g.cycleH / 2,
                left: g.cycleW / 2
            }
        });
        b.cssFirst = {
            top: 0,
            left: 0
        };
        b.cssBefore = {
            width: 0,
            height: 0
        }
    };
    a.fn.cycle.transitions.fadeZoom = function (c, d, b) {
        b.before.push(function (g, e, f) {
            a.fn.cycle.commonReset(g, e, f, false, false);
            f.cssBefore.left = e.cycleW / 2;
            f.cssBefore.top = e.cycleH / 2;
            f.animIn = {
                top: 0,
                left: 0,
                width: e.cycleW,
                height: e.cycleH
            }
        });
        b.cssBefore = {
            width: 0,
            height: 0
        };
        b.animOut = {
            opacity: 0
        }
    };
    a.fn.cycle.transitions.blindX = function (d, e, c) {
        var b = d.css("overflow", "hidden").width();
        c.before.push(function (h, f, g) {
            a.fn.cycle.commonReset(h, f, g);
            g.animIn.width = f.cycleW;
            g.animOut.left = h.cycleW
        });
        c.cssBefore = {
            left: b,
            top: 0
        };
        c.animIn = {
            left: 0
        };
        c.animOut = {
            left: b
        }
    };
    a.fn.cycle.transitions.blindY = function (d, e, c) {
        var b = d.css("overflow", "hidden").height();
        c.before.push(function (h, f, g) {
            a.fn.cycle.commonReset(h, f, g);
            g.animIn.height = f.cycleH;
            g.animOut.top = h.cycleH
        });
        c.cssBefore = {
            top: b,
            left: 0
        };
        c.animIn = {
            top: 0
        };
        c.animOut = {
            top: b
        }
    };
    a.fn.cycle.transitions.blindZ = function (e, f, d) {
        var c = e.css("overflow", "hidden").height();
        var b = e.width();
        d.before.push(function (i, g, h) {
            a.fn.cycle.commonReset(i, g, h);
            h.animIn.height = g.cycleH;
            h.animOut.top = i.cycleH
        });
        d.cssBefore = {
            top: c,
            left: b
        };
        d.animIn = {
            top: 0,
            left: 0
        };
        d.animOut = {
            top: c,
            left: b
        }
    };
    a.fn.cycle.transitions.growX = function (c, d, b) {
        b.before.push(function (g, e, f) {
            a.fn.cycle.commonReset(g, e, f, false, true);
            f.cssBefore.left = this.cycleW / 2;
            f.animIn = {
                left: 0,
                width: this.cycleW
            };
            f.animOut = {
                left: 0
            }
        });
        b.cssBefore = {
            width: 0,
            top: 0
        }
    };
    a.fn.cycle.transitions.growY = function (c, d, b) {
        b.before.push(function (g, e, f) {
            a.fn.cycle.commonReset(g, e, f, true, false);
            f.cssBefore.top = this.cycleH / 2;
            f.animIn = {
                top: 0,
                height: this.cycleH
            };
            f.animOut = {
                top: 0
            }
        });
        b.cssBefore = {
            height: 0,
            left: 0
        }
    };
    a.fn.cycle.transitions.curtainX = function (c, d, b) {
        b.before.push(function (g, e, f) {
            a.fn.cycle.commonReset(g, e, f, false, true, true);
            f.cssBefore.left = e.cycleW / 2;
            f.animIn = {
                left: 0,
                width: this.cycleW
            };
            f.animOut = {
                left: g.cycleW / 2,
                width: 0
            }
        });
        b.cssBefore = {
            top: 0,
            width: 0
        }
    };
    a.fn.cycle.transitions.curtainY = function (c, d, b) {
        b.before.push(function (g, e, f) {
            a.fn.cycle.commonReset(g, e, f, true, false, true);
            f.cssBefore.top = e.cycleH / 2;
            f.animIn = {
                top: 0,
                height: e.cycleH
            };
            f.animOut = {
                top: g.cycleH / 2,
                height: 0
            }
        });
        b.cssBefore = {
            left: 0,
            height: 0
        }
    };
    a.fn.cycle.transitions.cover = function (f, g, e) {
        var i = e.direction || "left";
        var b = f.css("overflow", "hidden").width();
        var c = f.height();
        e.before.push(function (j, d, h) {
            a.fn.cycle.commonReset(j, d, h);
            if (i == "right") {
                h.cssBefore.left = -b
            } else {
                if (i == "up") {
                    h.cssBefore.top = c
                } else {
                    if (i == "down") {
                        h.cssBefore.top = -c
                    } else {
                        h.cssBefore.left = b
                    }
                }
            }
        });
        e.animIn = {
            left: 0,
            top: 0
        };
        e.animOut = {
            opacity: 1
        };
        e.cssBefore = {
            top: 0,
            left: 0
        }
    };
    a.fn.cycle.transitions.uncover = function (f, g, e) {
        var i = e.direction || "left";
        var b = f.css("overflow", "hidden").width();
        var c = f.height();
        e.before.push(function (j, d, h) {
            a.fn.cycle.commonReset(j, d, h, true, true, true);
            if (i == "right") {
                h.animOut.left = b
            } else {
                if (i == "up") {
                    h.animOut.top = -c
                } else {
                    if (i == "down") {
                        h.animOut.top = c
                    } else {
                        h.animOut.left = -b
                    }
                }
            }
        });
        e.animIn = {
            left: 0,
            top: 0
        };
        e.animOut = {
            opacity: 1
        };
        e.cssBefore = {
            top: 0,
            left: 0
        }
    };
    a.fn.cycle.transitions.toss = function (e, f, d) {
        var b = e.css("overflow", "visible").width();
        var c = e.height();
        d.before.push(function (i, g, h) {
            a.fn.cycle.commonReset(i, g, h, true, true, true);
            if (!h.animOut.left && !h.animOut.top) {
                h.animOut = {
                    left: b * 2,
                    top: -c / 2,
                    opacity: 0
                }
            } else {
                h.animOut.opacity = 0
            }
        });
        d.cssBefore = {
            left: 0,
            top: 0
        };
        d.animIn = {
            left: 0
        }
    };
    a.fn.cycle.transitions.wipe = function (s, m, e) {
        var q = s.css("overflow", "hidden").width();
        var j = s.height();
        e.cssBefore = e.cssBefore || {};
        var g;
        if (e.clip) {
            if (/l2r/.test(e.clip)) {
                g = "rect(0px 0px " + j + "px 0px)"
            } else {
                if (/r2l/.test(e.clip)) {
                    g = "rect(0px " + q + "px " + j + "px " + q + "px)"
                } else {
                    if (/t2b/.test(e.clip)) {
                        g = "rect(0px " + q + "px 0px 0px)"
                    } else {
                        if (/b2t/.test(e.clip)) {
                            g = "rect(" + j + "px " + q + "px " + j + "px 0px)"
                        } else {
                            if (/zoom/.test(e.clip)) {
                                var o = parseInt(j / 2);
                                var f = parseInt(q / 2);
                                g = "rect(" + o + "px " + f + "px " + o + "px " + f + "px)"
                            }
                        }
                    }
                }
            }
        }
        e.cssBefore.clip = e.cssBefore.clip || g || "rect(0px 0px 0px 0px)";
        var k = e.cssBefore.clip.match(/(\d+)/g);
        var u = parseInt(k[0]),
            c = parseInt(k[1]),
            n = parseInt(k[2]),
            i = parseInt(k[3]);
        e.before.push(function (w, h, t) {
            if (w == h) {
                return
            }
            var d = a(w),
                b = a(h);
            a.fn.cycle.commonReset(w, h, t, true, true, false);
            t.cssAfter.display = "block";
            var r = 1,
                l = parseInt((t.speedIn / 13)) - 1;
            (function v() {
                var y = u ? u - parseInt(r * (u / l)) : 0;
                var z = i ? i - parseInt(r * (i / l)) : 0;
                var A = n < j ? n + parseInt(r * ((j - n) / l || 1)) : j;
                var x = c < q ? c + parseInt(r * ((q - c) / l || 1)) : q;
                b.css({
                    clip: "rect(" + y + "px " + x + "px " + A + "px " + z + "px)"
                });
                (r++ <= l) ? setTimeout(v, 13) : d.css("display", "none")
            })()
        });
        e.cssBefore = {
            display: "block",
            opacity: 1,
            top: 0,
            left: 0
        };
        e.animIn = {
            left: 0
        };
        e.animOut = {
            left: 0
        }
    }
})(jQuery);
(function (c) {
    var a = c.scrollTo = function (f, e, d) {
        c(window).scrollTo(f, e, d)
    };
    a.defaults = {
        axis: "xy",
        duration: parseFloat(c.fn.jquery) >= 1.3 ? 0 : 1
    };
    a.window = function (d) {
        return c(window)._scrollable()
    };
    c.fn._scrollable = function () {
        return this.map(function () {
            var e = this,
                d = !e.nodeName || c.inArray(e.nodeName.toLowerCase(), ["iframe", "#document", "html", "body"]) != -1;
            if (!d) {
                return e
            }
            var f = (e.contentWindow || e).document || e.ownerDocument || e;
            return c.browser.safari || f.compatMode == "BackCompat" ? f.body : f.documentElement
        })
    };
    c.fn.scrollTo = function (f, e, d) {
        if (typeof e == "object") {
            d = e;
            e = 0
        }
        if (typeof d == "function") {
            d = {
                onAfter: d
            }
        }
        if (f == "max") {
            f = 9000000000
        }
        d = c.extend({}, a.defaults, d);
        e = e || d.speed || d.duration;
        d.queue = d.queue && d.axis.length > 1;
        if (d.queue) {
            e /= 2
        }
        d.offset = b(d.offset);
        d.over = b(d.over);
        return this._scrollable().each(function () {
            var l = this,
                j = c(l),
                k = f,
                i, g = {},
                m = j.is("html,body");
            switch (typeof k) {
            case "number":
            case "string":
                if (/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(k)) {
                    k = b(k);
                    break
                }
                k = c(k, this);
            case "object":
                if (k.is || k.style) {
                    i = (k = c(k)).offset()
                }
            }
            c.each(d.axis.split(""), function (r, s) {
                var t = s == "x" ? "Left" : "Top",
                    v = t.toLowerCase(),
                    q = "scroll" + t,
                    o = l[q],
                    n = a.max(l, s);
                if (i) {
                    g[q] = i[v] + (m ? 0 : o - j.offset()[v]);
                    if (d.margin) {
                        g[q] -= parseInt(k.css("margin" + t)) || 0;
                        g[q] -= parseInt(k.css("border" + t + "Width")) || 0
                    }
                    g[q] += d.offset[v] || 0;
                    if (d.over[v]) {
                        g[q] += k[s == "x" ? "width" : "height"]() * d.over[v]
                    }
                } else {
                    var u = k[v];
                    g[q] = u.slice && u.slice(-1) == "%" ? parseFloat(u) / 100 * n : u
                }
                if (/^\d+$/.test(g[q])) {
                    g[q] = g[q] <= 0 ? 0 : Math.min(g[q], n)
                }
                if (!r && d.queue) {
                    if (o != g[q]) {
                        h(d.onAfterFirst)
                    }
                    delete g[q]
                }
            });
            h(d.onAfter);

            function h(n) {
                j.animate(g, e, d.easing, n &&
                function () {
                    n.call(this, f, d)
                })
            }
        }).end()
    };
    a.max = function (j, i) {
        var h = i == "x" ? "Width" : "Height",
            e = "scroll" + h;
        if (!c(j).is("html,body")) {
            return j[e] - c(j)[h.toLowerCase()]()
        }
        var g = "client" + h,
            f = j.ownerDocument.documentElement,
            d = j.ownerDocument.body;
        return Math.max(f[e], d[e]) - Math.min(f[g], d[g])
    };

    function b(d) {
        return typeof d == "object" ? d : {
            top: d,
            left: d
        }
    }
})(jQuery);
jQuery.easing.jswing = jQuery.easing.swing;
jQuery.extend(jQuery.easing, {
    def: "easeOutQuad",
    swing: function (e, f, a, h, g) {
        return jQuery.easing[jQuery.easing.def](e, f, a, h, g)
    },
    easeInQuad: function (e, f, a, h, g) {
        return h * (f /= g) * f + a
    },
    easeOutQuad: function (e, f, a, h, g) {
        return -h * (f /= g) * (f - 2) + a
    },
    easeInOutQuad: function (e, f, a, h, g) {
        if ((f /= g / 2) < 1) {
            return h / 2 * f * f + a
        }
        return -h / 2 * ((--f) * (f - 2) - 1) + a
    },
    easeInCubic: function (e, f, a, h, g) {
        return h * (f /= g) * f * f + a
    },
    easeOutCubic: function (e, f, a, h, g) {
        return h * ((f = f / g - 1) * f * f + 1) + a
    },
    easeInOutCubic: function (e, f, a, h, g) {
        if ((f /= g / 2) < 1) {
            return h / 2 * f * f * f + a
        }
        return h / 2 * ((f -= 2) * f * f + 2) + a
    },
    easeInQuart: function (e, f, a, h, g) {
        return h * (f /= g) * f * f * f + a
    },
    easeOutQuart: function (e, f, a, h, g) {
        return -h * ((f = f / g - 1) * f * f * f - 1) + a
    },
    easeInOutQuart: function (e, f, a, h, g) {
        if ((f /= g / 2) < 1) {
            return h / 2 * f * f * f * f + a
        }
        return -h / 2 * ((f -= 2) * f * f * f - 2) + a
    },
    easeInQuint: function (e, f, a, h, g) {
        return h * (f /= g) * f * f * f * f + a
    },
    easeOutQuint: function (e, f, a, h, g) {
        return h * ((f = f / g - 1) * f * f * f * f + 1) + a
    },
    easeInOutQuint: function (e, f, a, h, g) {
        if ((f /= g / 2) < 1) {
            return h / 2 * f * f * f * f * f + a
        }
        return h / 2 * ((f -= 2) * f * f * f * f + 2) + a
    },
    easeInSine: function (e, f, a, h, g) {
        return -h * Math.cos(f / g * (Math.PI / 2)) + h + a
    },
    easeOutSine: function (e, f, a, h, g) {
        return h * Math.sin(f / g * (Math.PI / 2)) + a
    },
    easeInOutSine: function (e, f, a, h, g) {
        return -h / 2 * (Math.cos(Math.PI * f / g) - 1) + a
    },
    easeInExpo: function (e, f, a, h, g) {
        return (f == 0) ? a : h * Math.pow(2, 10 * (f / g - 1)) + a
    },
    easeOutExpo: function (e, f, a, h, g) {
        return (f == g) ? a + h : h * (-Math.pow(2, -10 * f / g) + 1) + a
    },
    easeInOutExpo: function (e, f, a, h, g) {
        if (f == 0) {
            return a
        }
        if (f == g) {
            return a + h
        }
        if ((f /= g / 2) < 1) {
            return h / 2 * Math.pow(2, 10 * (f - 1)) + a
        }
        return h / 2 * (-Math.pow(2, -10 * --f) + 2) + a
    },
    easeInCirc: function (e, f, a, h, g) {
        return -h * (Math.sqrt(1 - (f /= g) * f) - 1) + a
    },
    easeOutCirc: function (e, f, a, h, g) {
        return h * Math.sqrt(1 - (f = f / g - 1) * f) + a
    },
    easeInOutCirc: function (e, f, a, h, g) {
        if ((f /= g / 2) < 1) {
            return -h / 2 * (Math.sqrt(1 - f * f) - 1) + a
        }
        return h / 2 * (Math.sqrt(1 - (f -= 2) * f) + 1) + a
    },
    easeInElastic: function (f, h, e, l, k) {
        var i = 1.70158;
        var j = 0;
        var g = l;
        if (h == 0) {
            return e
        }
        if ((h /= k) == 1) {
            return e + l
        }
        if (!j) {
            j = k * 0.3
        }
        if (g < Math.abs(l)) {
            g = l;
            var i = j / 4
        } else {
            var i = j / (2 * Math.PI) * Math.asin(l / g)
        }
        return -(g * Math.pow(2, 10 * (h -= 1)) * Math.sin((h * k - i) * (2 * Math.PI) / j)) + e
    },
    easeOutElastic: function (f, h, e, l, k) {
        var i = 1.70158;
        var j = 0;
        var g = l;
        if (h == 0) {
            return e
        }
        if ((h /= k) == 1) {
            return e + l
        }
        if (!j) {
            j = k * 0.3
        }
        if (g < Math.abs(l)) {
            g = l;
            var i = j / 4
        } else {
            var i = j / (2 * Math.PI) * Math.asin(l / g)
        }
        return g * Math.pow(2, -10 * h) * Math.sin((h * k - i) * (2 * Math.PI) / j) + l + e
    },
    easeInOutElastic: function (f, h, e, l, k) {
        var i = 1.70158;
        var j = 0;
        var g = l;
        if (h == 0) {
            return e
        }
        if ((h /= k / 2) == 2) {
            return e + l
        }
        if (!j) {
            j = k * (0.3 * 1.5)
        }
        if (g < Math.abs(l)) {
            g = l;
            var i = j / 4
        } else {
            var i = j / (2 * Math.PI) * Math.asin(l / g)
        }
        if (h < 1) {
            return -0.5 * (g * Math.pow(2, 10 * (h -= 1)) * Math.sin((h * k - i) * (2 * Math.PI) / j)) + e
        }
        return g * Math.pow(2, -10 * (h -= 1)) * Math.sin((h * k - i) * (2 * Math.PI) / j) * 0.5 + l + e
    },
    easeInBack: function (e, f, a, i, h, g) {
        if (g == undefined) {
            g = 1.70158
        }
        return i * (f /= h) * f * ((g + 1) * f - g) + a
    },
    easeOutBack: function (e, f, a, i, h, g) {
        if (g == undefined) {
            g = 1.70158
        }
        return i * ((f = f / h - 1) * f * ((g + 1) * f + g) + 1) + a
    },
    easeInOutBack: function (e, f, a, i, h, g) {
        if (g == undefined) {
            g = 1.70158
        }
        if ((f /= h / 2) < 1) {
            return i / 2 * (f * f * (((g *= (1.525)) + 1) * f - g)) + a
        }
        return i / 2 * ((f -= 2) * f * (((g *= (1.525)) + 1) * f + g) + 2) + a
    },
    easeInBounce: function (e, f, a, h, g) {
        return h - jQuery.easing.easeOutBounce(e, g - f, 0, h, g) + a
    },
    easeOutBounce: function (e, f, a, h, g) {
        if ((f /= g) < (1 / 2.75)) {
            return h * (7.5625 * f * f) + a
        } else {
            if (f < (2 / 2.75)) {
                return h * (7.5625 * (f -= (1.5 / 2.75)) * f + 0.75) + a
            } else {
                if (f < (2.5 / 2.75)) {
                    return h * (7.5625 * (f -= (2.25 / 2.75)) * f + 0.9375) + a
                } else {
                    return h * (7.5625 * (f -= (2.625 / 2.75)) * f + 0.984375) + a
                }
            }
        }
    },
    easeInOutBounce: function (e, f, a, h, g) {
        if (f < g / 2) {
            return jQuery.easing.easeInBounce(e, f * 2, 0, h, g) * 0.5 + a
        }
        return jQuery.easing.easeOutBounce(e, f * 2 - g, 0, h, g) * 0.5 + h * 0.5 + a
    }
});
(function (a) {
    a.belowthefold = function (c, d) {
        var b = a(window).height() + a(window).scrollTop();
        return b <= a(c).offset().top - d.threshold
    };
    a.abovethetop = function (b, c) {
        var d = a(window).scrollTop();
        return d >= a(b).offset().top + a(b).height() - c.threshold
    };
    a.rightofscreen = function (c, d) {
        var b = a(window).width() + a(window).scrollLeft();
        return b <= a(c).offset().left - d.threshold
    };
    a.leftofscreen = function (b, c) {
        var d = a(window).scrollLeft();
        return d >= a(b).offset().left + a(b).width() - c.threshold
    };
    a.inviewport = function (b, c) {
        return !a.rightofscreen(b, c) && !a.leftofscreen(b, c) && !a.belowthefold(b, c) && !a.abovethetop(b, c)
    };
    a.extend(a.expr[":"], {
        "below-the-fold": function (c, d, b) {
            return a.belowthefold(c, {
                threshold: 0
            })
        },
        "above-the-top": function (c, d, b) {
            return a.abovethetop(c, {
                threshold: 0
            })
        },
        "left-of-screen": function (c, d, b) {
            return a.leftofscreen(c, {
                threshold: 0
            })
        },
        "right-of-screen": function (c, d, b) {
            return a.rightofscreen(c, {
                threshold: 0
            })
        },
        "in-viewport": function (c, d, b) {
            return a.inviewport(c, {
                threshold: 0
            })
        }
    })
})(jQuery);
(function (a) {
    a.fn.tweet = function (f) {
        var e = {
            username: ["seaofclouds"],
            list: null,
            avatar_size: null,
            count: 3,
            intro_text: null,
            outro_text: null,
            join_text: null,
            auto_join_text_default: "i said,",
            auto_join_text_ed: "i",
            auto_join_text_ing: "i am",
            auto_join_text_reply: "i replied to",
            auto_join_text_url: "i was looking at",
            loading_text: null,
            query: null
        };
        if (f) {
            a.extend(e, f)
        }
        a.fn.extend({
            linkUrl: function () {
                var g = [];
                var h = /((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi;
                this.each(function () {
                    g.push(this.replace(h, '<a href="$1">$1</a>'))
                });
                return a(g)
            },
            linkUser: function () {
                var g = [];
                var h = /[\@]+([A-Za-z0-9-_]+)/gi;
                this.each(function () {
                    g.push(this.replace(h, '<a href="http://twitter.com/$1">@$1</a>'))
                });
                return a(g)
            },
            linkHash: function () {
                var g = [];
                var h = /(?:^| )[\#]+([A-Za-z0-9-_]+)/gi;
                this.each(function () {
                    g.push(this.replace(h, ' <a href="http://search.twitter.com/search?q=&tag=$1&lang=all&from=' + e.username.join("%2BOR%2B") + '">#$1</a>'))
                });
                return a(g)
            },
            capAwesome: function () {
                var g = [];
                this.each(function () {
                    g.push(this.replace(/\b(awesome)\b/gi, '<span class="awesome">$1</span>'))
                });
                return a(g)
            },
            capEpic: function () {
                var g = [];
                this.each(function () {
                    g.push(this.replace(/\b(epic)\b/gi, '<span class="epic">$1</span>'))
                });
                return a(g)
            },
            makeHeart: function () {
                var g = [];
                this.each(function () {
                    g.push(this.replace(/(&lt;)+[3]/gi, "<tt class='heart'>&#x2665;</tt>"))
                });
                return a(g)
            }
        });

        function b(g) {
            return Date.parse(g.replace(/^([a-z]{3})( [a-z]{3} \d\d?)(.*)( \d{4})$/i, "$1,$2$4$3"))
        }
        function d(i) {
            var g = b(i);
            var j = (arguments.length > 1) ? arguments[1] : new Date();
            var k = parseInt((j.getTime() - g) / 1000);
            var h = function (l, m) {
                return "" + m + " " + l + (m == 1 ? "" : "s")
            };
            if (k < 60) {
                return "less than a minute ago"
            } else {
                if (k < (60 * 60)) {
                    return "about " + h("minute", parseInt(k / 60)) + " ago"
                } else {
                    if (k < (24 * 60 * 60)) {
                        return "about " + h("hour", parseInt(k / 3600)) + " ago"
                    } else {
                        return "about " + h("day", parseInt(k / 86400)) + " ago"
                    }
                }
            }
        }
        function c() {
            var g = ("https:" == document.location.protocol ? "https:" : "http:");
            if (e.list) {
                return g + "//api.twitter.com/1/" + e.username[0] + "/lists/" + e.list + "/statuses.json?per_page=" + e.count + "&callback=?"
            } else {
                if (e.query == null && e.username.length == 1) {
                    return g + "//api.twitter.com/1/statuses/user_timeline.json?screen_name=" + e.username[0] + "&count=" + e.count + "&include_rts=1&callback=?"
                } else {
                    var h = (e.query || "from:" + e.username.join(" OR from:"));
                    return g + "//search.twitter.com/search.json?&q=" + encodeURIComponent(h) + "&rpp=" + e.count + "&callback=?"
                }
            }
        }
        return this.each(function (h, l) {
            var k = a('<ul class="tweet_list">').appendTo(l);
            var j = '<p class="tweet_intro">' + e.intro_text + "</p>";
            var g = '<p class="tweet_outro">' + e.outro_text + "</p>";
            var m = a('<p class="loading">' + e.loading_text + "</p>");
            if (typeof(e.username) == "string") {
                e.username = [e.username]
            }
            if (e.loading_text) {
                a(l).append(m)
            }
            a.getJSON(c(), function (i) {
                if (e.loading_text) {
                    m.remove()
                }
                if (e.intro_text) {
                    k.before(j)
                }
                var n = (i.results || i);
                a.each(n, function (s, z) {
                    if (e.join_text == "auto") {
                        if (z.text.match(/^(@([A-Za-z0-9-_]+)) .*/i)) {
                            var q = e.auto_join_text_reply
                        } else {
                            if (z.text.match(/(^\w+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+) .*/i)) {
                                var q = e.auto_join_text_url
                            } else {
                                if (z.text.match(/^((\w+ed)|just) .*/im)) {
                                    var q = e.auto_join_text_ed
                                } else {
                                    if (z.text.match(/^(\w*ing) .*/i)) {
                                        var q = e.auto_join_text_ing
                                    } else {
                                        var q = e.auto_join_text_default
                                    }
                                }
                            }
                        }
                    } else {
                        var q = e.join_text
                    }
                    var t = z.from_user || z.user.screen_name;
                    var v = z.profile_image_url || z.user.profile_image_url;
                    var x = '<span class="tweet_join"> ' + q + " </span>";
                    var o = ((e.join_text) ? x : " ");
                    var u = '<a class="tweet_avatar" href="http://twitter.com/' + t + '"><img src="' + v + '" height="' + e.avatar_size + '" width="' + e.avatar_size + '" alt="' + t + '\'s avatar" title="' + t + '\'s avatar" border="0"/></a>';
                    var w = (e.avatar_size ? u : "");
                    var r = '<span class="tweet_time"><a href="http://twitter.com/' + t + "/statuses/" + z.id + '" title="view tweet on twitter">' + d(z.created_at) + "</a></span>";
                    var y = '<span class="tweet_text">' + a([z.text]).linkUrl().linkUser().linkHash().makeHeart().capAwesome().capEpic()[0] + "</span>";
                    k.append("<li>" + w + r + o + y + "</li>");
                    k.children("li:first").addClass("tweet_first");
                    k.children("li:odd").addClass("tweet_even");
                    k.children("li:even").addClass("tweet_odd")
                });
                if (e.outro_text) {
                    k.after(g)
                }
                a(l).trigger("loaded").trigger((n.length == 0 ? "empty" : "full"))
            })
        })
    }
})(jQuery);
