
if (typeof window.jQuery == "undefined") {
    window.undefined = window.undefined;
    var jQuery = function(a, c){
        if (window == this || !this.init) 
            return new jQuery(a, c);
        return this.init(a, c)
    };
    if (typeof $ != "undefined") 
        jQuery._$ = $;
    var $ = jQuery;
    jQuery.fn = jQuery.prototype = {
        init: function(a, c){
            a = a || document;
            if (jQuery.isFunction(a)) 
                return new jQuery(document)[jQuery.fn.ready ? "ready" : "load"](a);
            if (typeof a == "string") {
                var m = /^[^<]*(<(.|\s)+>)[^>]*$/.exec(a);
                if (m) 
                    a = jQuery.clean([m[1]]);
                else 
                    return new jQuery(c).find(a)
            }
            return this.setArray(a.constructor == Array && a || (a.jquery || a.length && a != window && !a.nodeType && a[0] != undefined && a[0].nodeType) && jQuery.makeArray(a) || [a])
        },
        jquery: "1.1.3.1",
        size: function(){
            return this.length
        },
        length: 0,
        get: function(a){
            return a == undefined ? jQuery.makeArray(this) : this[a]
        },
        pushStack: function(a){
            var b = jQuery(a);
            b.prevObject = this;
            return b
        },
        setArray: function(a){
            this.length = 0;
            [].push.apply(this, a);
            return this
        },
        each: function(a, b){
            return jQuery.each(this, a, b)
        },
        index: function(a){
            var b = -1;
            this.each(function(i){
                if (this == a) 
                    b = i
            });
            return b
        },
        attr: function(c, d, e){
            var f = c;
            if (c.constructor == String) 
                if (d == undefined) 
                    return this.length && jQuery[e || "attr"](this[0], c) || undefined;
                else {
                    f = {};
                    f[c] = d
                }
            return this.each(function(a){
                for (var b in f) 
                    jQuery.attr(e ? this.style : this, b, jQuery.prop(this, f[b], e, a, b))
            })
        },
        css: function(a, b){
            return this.attr(a, b, "curCSS")
        },
        text: function(e){
            if (typeof e == "string") 
                return this.empty().append(document.createTextNode(e));
            var t = "";
            jQuery.each(e || this, function(){
                jQuery.each(this.childNodes, function(){
                    if (this.nodeType != 8) 
                        t += this.nodeType != 1 ? this.nodeValue : jQuery.fn.text([this])
                })
            });
            return t
        },
        wrap: function(){
            var a, args = arguments;
            return this.each(function(){
                if (!a) 
                    a = jQuery.clean(args, this.ownerDocument);
                var b = a[0].cloneNode(true);
                this.parentNode.insertBefore(b, this);
                while (b.firstChild) 
                    b = b.firstChild;
                b.appendChild(this)
            })
        },
        append: function(){
            return this.domManip(arguments, true, 1, function(a){
                this.appendChild(a)
            })
        },
        prepend: function(){
            return this.domManip(arguments, true, -1, function(a){
                this.insertBefore(a, this.firstChild)
            })
        },
        before: function(){
            return this.domManip(arguments, false, 1, function(a){
                this.parentNode.insertBefore(a, this)
            })
        },
        after: function(){
            return this.domManip(arguments, false, -1, function(a){
                this.parentNode.insertBefore(a, this.nextSibling)
            })
        },
        end: function(){
            return this.prevObject || jQuery([])
        },
        find: function(t){
            var b = jQuery.map(this, function(a){
                return jQuery.find(t, a)
            });
            return this.pushStack(/[^+>] [^+>]/.test(t) || t.indexOf("..") > -1 ? jQuery.unique(b) : b)
        },
        clone: function(d){
            var e = this.add(this.find("*"));
            e.each(function(){
                this._$events = {};
                for (var a in this.$events) 
                    this._$events[a] = jQuery.extend({}, this.$events[a])
            }).unbind();
            var r = this.pushStack(jQuery.map(this, function(a){
                return a.cloneNode(d != undefined ? d : true)
            }));
            e.each(function(){
                var a = this._$events;
                for (var b in a) 
                    for (var c in a[b]) 
                        jQuery.event.add(this, b, a[b][c], a[b][c].data);
                this._$events = null
            });
            return r
        },
        filter: function(t){
            return this.pushStack(jQuery.isFunction(t) && jQuery.grep(this, function(a, b){
                return t.apply(a, [b])
            }) || jQuery.multiFilter(t, this))
        },
        not: function(t){
            return this.pushStack(t.constructor == String && jQuery.multiFilter(t, this, true) || jQuery.grep(this, function(a){
                return (t.constructor == Array || t.jquery) ? jQuery.inArray(a, t) < 0 : a != t
            }))
        },
        add: function(t){
            return this.pushStack(jQuery.merge(this.get(), t.constructor == String ? jQuery(t).get() : t.length != undefined && (!t.nodeName || t.nodeName == "FORM") ? t : [t]))
        },
        is: function(a){
            return a ? jQuery.multiFilter(a, this).length > 0 : false
        },
        val: function(a){
            return a == undefined ? (this.length ? this[0].value : null) : this.attr("value", a)
        },
        html: function(a){
            return a == undefined ? (this.length ? this[0].innerHTML : null) : this.empty().append(a)
        },
        domManip: function(c, d, e, f){
            var g = this.length > 1, a;
            return this.each(function(){
                if (!a) {
                    a = jQuery.clean(c, this.ownerDocument);
                    if (e < 0) 
                        a.reverse()
                }
                var b = this;
                if (d && jQuery.nodeName(this, "table") && jQuery.nodeName(a[0], "tr")) 
                    b = this.getElementsByTagName("tbody")[0] || this.appendChild(document.createElement("tbody"));
                jQuery.each(a, function(){
                    f.apply(b, [g ? this.cloneNode(true) : this])
                })
            })
        }
    };
    jQuery.extend = jQuery.fn.extend = function(){
        var b = arguments[0], a = 1;
        if (arguments.length == 1) {
            b = this;
            a = 0
        }
        var c;
        while ((c = arguments[a++]) != null) 
            for (var i in c) 
                b[i] = c[i];
        return b
    };
    jQuery.extend({
        noConflict: function(){
            if (jQuery._$) 
                $ = jQuery._$;
            return jQuery
        },
        isFunction: function(a){
            return !!a && typeof a != "string" && !a.nodeName && a.constructor != Array && /function/i.test(a + "")
        },
        isXMLDoc: function(a){
            return a.tagName && a.ownerDocument && !a.ownerDocument.body
        },
        nodeName: function(a, b){
            return a.nodeName && a.nodeName.toUpperCase() == b.toUpperCase()
        },
        each: function(a, b, c){
            if (a.length == undefined) 
                for (var i in a) 
                    b.apply(a[i], c || [i, a[i]]);
            else 
                for (var i = 0, ol = a.length; i < ol; i++) 
                    if (b.apply(a[i], c || [i, a[i]]) === false) 
                        break;
            return a
        },
        prop: function(a, b, c, d, e){
            if (jQuery.isFunction(b)) 
                b = b.call(a, [d]);
            var f = /z-?index|font-?weight|opacity|zoom|line-?height/i;
            return b && b.constructor == Number && c == "curCSS" && !f.test(e) ? b + "px" : b
        },
        className: {
            add: function(b, c){
                jQuery.each(c.split(/\s+/), function(i, a){
                    if (!jQuery.className.has(b.className, a)) 
                        b.className += (b.className ? " " : "") + a
                })
            },
            remove: function(b, c){
                b.className = c != undefined ? jQuery.grep(b.className.split(/\s+/), function(a){
                    return !jQuery.className.has(c, a)
                }).join(" ") : ""
            },
            has: function(t, c){
                return jQuery.inArray(c, (t.className || t).toString().split(/\s+/)) > -1
            }
        },
        swap: function(e, o, f){
            for (var i in o) {
                e.style["old" + i] = e.style[i];
                e.style[i] = o[i]
            }
            f.apply(e, []);
            for (var i in o) 
                e.style[i] = e.style["old" + i]
        },
        css: function(e, p){
            if (p == "height" || p == "width") {
                var b = {}, oHeight, oWidth, d = ["Top", "Bottom", "Right", "Left"];
                jQuery.each(d, function(){
                    b["padding" + this] = 0;
                    b["border" + this + "Width"] = 0
                });
                jQuery.swap(e, b, function(){
                    if (jQuery(e).is(':visible')) {
                        oHeight = e.offsetHeight;
                        oWidth = e.offsetWidth
                    }
                    else {
                        e = jQuery(e.cloneNode(true)).find(":radio").removeAttr("checked").end().css({
                            visibility: "hidden",
                            position: "absolute",
                            display: "block",
                            right: "0",
                            left: "0"
                        }).appendTo(e.parentNode)[0];
                        var a = jQuery.css(e.parentNode, "position") || "static";
                        if (a == "static") 
                            e.parentNode.style.position = "relative";
                        oHeight = e.clientHeight;
                        oWidth = e.clientWidth;
                        if (a == "static") 
                            e.parentNode.style.position = "static";
                        e.parentNode.removeChild(e)
                    }
                });
                return p == "height" ? oHeight : oWidth
            }
            return jQuery.curCSS(e, p)
        },
        curCSS: function(a, b, d){
            var e;
            if (b == "opacity" && jQuery.browser.msie) {
                e = jQuery.attr(a.style, "opacity");
                return e == "" ? "1" : e
            }
            if (b.match(/float/i)) 
                b = jQuery.styleFloat;
            if (!d && a.style[b]) 
                e = a.style[b];
            else 
                if (document.defaultView && document.defaultView.getComputedStyle) {
                    if (b.match(/float/i)) 
                        b = "float";
                    b = b.replace(/([A-Z])/g, "-$1").toLowerCase();
                    var f = document.defaultView.getComputedStyle(a, null);
                    if (f) 
                        e = f.getPropertyValue(b);
                    else 
                        if (b == "display") 
                            e = "none";
                        else 
                            jQuery.swap(a, {
                                display: "block"
                            }, function(){
                                var c = document.defaultView.getComputedStyle(this, "");
                                e = c && c.getPropertyValue(b) || ""
                            })
                }
                else 
                    if (a.currentStyle) {
                        var g = b.replace(/\-(\w)/g, function(m, c){
                            return c.toUpperCase()
                        });
                        e = a.currentStyle[b] || a.currentStyle[g]
                    }
            return e
        },
        clean: function(a, c){
            var r = [];
            c = c || document;
            jQuery.each(a, function(i, a){
                if (!a) 
                    return;
                if (a.constructor == Number) 
                    a = a.toString();
                if (typeof a == "string") {
                    var s = jQuery.trim(a).toLowerCase(), div = c.createElement("div"), tb = [];
                    var b = !s.indexOf("<opt") && [1, "<select>", "</select>"] || !s.indexOf("<leg") && [1, "<fieldset>", "</fieldset>"] || (!s.indexOf("<thead") || !s.indexOf("<tbody") || !s.indexOf("<tfoot") || !s.indexOf("<colg")) && [1, "<table>", "</table>"] || !s.indexOf("<tr") && [2, "<table><tbody>", "</tbody></table>"] || (!s.indexOf("<td") || !s.indexOf("<th")) && [3, "<table><tbody><tr>", "</tr></tbody></table>"] || !s.indexOf("<col") && [2, "<table><colgroup>", "</colgroup></table>"] || [0, "", ""];
                    div.innerHTML = b[1] + a + b[2];
                    while (b[0]--) 
                        div = div.firstChild;
                    if (jQuery.browser.msie) {
                        if (!s.indexOf("<table") && s.indexOf("<tbody") < 0) 
                            tb = div.firstChild && div.firstChild.childNodes;
                        else 
                            if (b[1] == "<table>" && s.indexOf("<tbody") < 0) 
                                tb = div.childNodes;
                        for (var n = tb.length - 1; n >= 0; --n) 
                            if (jQuery.nodeName(tb[n], "tbody") && !tb[n].childNodes.length) 
                                tb[n].parentNode.removeChild(tb[n])
                    }
                    a = jQuery.makeArray(div.childNodes)
                }
                if (0 === a.length && (!jQuery.nodeName(a, "form") && !jQuery.nodeName(a, "select"))) 
                    return;
                if (a[0] == undefined || jQuery.nodeName(a, "form") || a.options) 
                    r.push(a);
                else 
                    r = jQuery.merge(r, a)
            });
            return r
        },
        attr: function(a, c, d){
            var e = jQuery.isXMLDoc(a) ? {} : jQuery.props;
            if (e[c]) {
                if (d != undefined) 
                    a[e[c]] = d;
                return a[e[c]]
            }
            else 
                if (d == undefined && jQuery.browser.msie && jQuery.nodeName(a, "form") && (c == "action" || c == "method")) 
                    return a.getAttributeNode(c).nodeValue;
                else 
                    if (a.tagName) {
                        if (d != undefined) 
                            a.setAttribute(c, d);
                        if (jQuery.browser.msie && /href|src/.test(c) && !jQuery.isXMLDoc(a)) 
                            return a.getAttribute(c, 2);
                        return a.getAttribute(c)
                    }
                    else {
                        if (c == "opacity" && jQuery.browser.msie) {
                            if (d != undefined) {
                                a.zoom = 1;
                                a.filter = (a.filter || "").replace(/alpha\([^)]*\)/, "") + (parseFloat(d).toString() == "NaN" ? "" : "alpha(opacity=" + d * 100 + ")")
                            }
                            return a.filter ? (parseFloat(a.filter.match(/opacity=([^)]*)/)[1]) / 100).toString() : ""
                        }
                        c = c.replace(/-([a-z])/ig, function(z, b){
                            return b.toUpperCase()
                        });
                        if (d != undefined) 
                            a[c] = d;
                        return a[c]
                    }
        },
        trim: function(t){
            return t.replace(/^\s+|\s+$/g, "")
        },
        makeArray: function(a){
            var r = [];
            if (typeof a != "array") 
                for (var i = 0, al = a.length; i < al; i++) 
                    r.push(a[i]);
            else 
                r = a.slice(0);
            return r
        },
        inArray: function(b, a){
            for (var i = 0, al = a.length; i < al; i++) 
                if (a[i] == b) 
                    return i;
            return -1
        },
        merge: function(a, b){
            for (var i = 0; b[i]; i++) 
                a.push(b[i]);
            return a
        },
        unique: function(a){
            var r = [], num = jQuery.mergeNum++;
            for (var i = 0, fl = a.length; i < fl; i++) 
                if (num != a[i].mergeNum) {
                    a[i].mergeNum = num;
                    r.push(a[i])
                }
            return r
        },
        mergeNum: 0,
        grep: function(a, b, c){
            if (typeof b == "string") 
                b = new Function("a", "i", "return " + b);
            var d = [];
            for (var i = 0, el = a.length; i < el; i++) 
                if (!c && b(a[i], i) || c && !b(a[i], i)) 
                    d.push(a[i]);
            return d
        },
        map: function(a, b){
            if (typeof b == "string") 
                b = new Function("a", "return " + b);
            var c = [];
            for (var i = 0, el = a.length; i < el; i++) {
                var d = b(a[i], i);
                if (d !== null && d != undefined) {
                    if (d.constructor != Array) 
                        d = [d];
                    c = c.concat(d)
                }
            }
            return c
        }
    });
    new function(){
        var b = navigator.userAgent.toLowerCase();
        jQuery.browser = {
            version: (b.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1],
            safari: /webkit/.test(b),
            opera: /opera/.test(b),
            msie: /msie/.test(b) && !/opera/.test(b),
            mozilla: /mozilla/.test(b) && !/(compatible|webkit)/.test(b)
        };
        jQuery.boxModel = !jQuery.browser.msie || document.compatMode == "CSS1Compat";
        jQuery.styleFloat = jQuery.browser.msie ? "styleFloat" : "cssFloat", jQuery.props = {
            "for": "htmlFor",
            "class": "className",
            "float": jQuery.styleFloat,
            cssFloat: jQuery.styleFloat,
            styleFloat: jQuery.styleFloat,
            innerHTML: "innerHTML",
            className: "className",
            value: "value",
            disabled: "disabled",
            checked: "checked",
            readonly: "readOnly",
            selected: "selected",
            maxlength: "maxLength"
        }
    };
    jQuery.each({
        parent: "a.parentNode",
        parents: "jQuery.parents(a)",
        next: "jQuery.nth(a,2,'nextSibling')",
        prev: "jQuery.nth(a,2,'previousSibling')",
        siblings: "jQuery.sibling(a.parentNode.firstChild,a)",
        children: "jQuery.sibling(a.firstChild)"
    }, function(i, n){
        jQuery.fn[i] = function(a){
            var b = jQuery.map(this, n);
            if (a && typeof a == "string") 
                b = jQuery.multiFilter(a, b);
            return this.pushStack(b)
        }
    });
    jQuery.each({
        appendTo: "append",
        prependTo: "prepend",
        insertBefore: "before",
        insertAfter: "after"
    }, function(i, n){
        jQuery.fn[i] = function(){
            var a = arguments;
            return this.each(function(){
                for (var j = 0, al = a.length; j < al; j++) 
                    jQuery(a[j])[n](this)
            })
        }
    });
    jQuery.each({
        removeAttr: function(a){
            jQuery.attr(this, a, "");
            this.removeAttribute(a)
        },
        addClass: function(c){
            jQuery.className.add(this, c)
        },
        removeClass: function(c){
            jQuery.className.remove(this, c)
        },
        toggleClass: function(c){
            jQuery.className[jQuery.className.has(this, c) ? "remove" : "add"](this, c)
        },
        remove: function(a){
            if (!a || jQuery.filter(a, [this]).r.length) 
                this.parentNode.removeChild(this)
        },
        empty: function(){
            while (this.firstChild) 
                this.removeChild(this.firstChild)
        }
    }, function(i, n){
        jQuery.fn[i] = function(){
            return this.each(n, arguments)
        }
    });
    jQuery.each(["eq", "lt", "gt", "contains"], function(i, n){
        jQuery.fn[n] = function(a, b){
            return this.filter(":" + n + "(" + a + ")", b)
        }
    });
    jQuery.each(["height", "width"], function(i, n){
        jQuery.fn[n] = function(h){
            return h == undefined ? (this.length ? jQuery.css(this[0], n) : null) : this.css(n, h.constructor == String ? h : h + "px")
        }
    });
    jQuery.extend({
        expr: {
            "": "m[2]=='*'||jQuery.nodeName(a,m[2])",
            "#": "a.getAttribute('id')==m[2]",
            ":": {
                lt: "i<m[3]-0",
                gt: "i>m[3]-0",
                nth: "m[3]-0==i",
                eq: "m[3]-0==i",
                first: "i==0",
                last: "i==r.length-1",
                even: "i%2==0",
                odd: "i%2",
                "first-child": "a.parentNode.getElementsByTagName('*')[0]==a",
                "last-child": "jQuery.nth(a.parentNode.lastChild,1,'previousSibling')==a",
                "only-child": "!jQuery.nth(a.parentNode.lastChild,2,'previousSibling')",
                parent: "a.firstChild",
                empty: "!a.firstChild",
                contains: "(a.textContent||a.innerText||'').indexOf(m[3])>=0",
                visible: '"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden"',
                hidden: '"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden"',
                enabled: "!a.disabled",
                disabled: "a.disabled",
                checked: "a.checked",
                selected: "a.selected||jQuery.attr(a,'selected')",
                text: "'text'==a.type",
                radio: "'radio'==a.type",
                checkbox: "'checkbox'==a.type",
                file: "'file'==a.type",
                password: "'password'==a.type",
                submit: "'submit'==a.type",
                image: "'image'==a.type",
                reset: "'reset'==a.type",
                button: '"button"==a.type||jQuery.nodeName(a,"button")',
                input: "/input|select|textarea|button/i.test(a.nodeName)"
            },
            "[": "jQuery.find(m[2],a).length"
        },
        parse: [/^\[ *(@)([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/, /^(\[)\s*(.*?(\[.*?\])?[^[]*?)\s*\]/, /^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/, new RegExp("^([:.#]*)(" + (jQuery.chars = jQuery.browser.safari && jQuery.browser.version < "3.0.0" ? "\\w" : "(?:[\\w\u0128-\uFFFF*_-]|\\\\.)") + "+)")],
        multiFilter: function(a, b, c){
            var d, cur = [];
            while (a && a != d) {
                d = a;
                var f = jQuery.filter(a, b, c);
                a = f.t.replace(/^\s*,\s*/, "");
                cur = c ? b = f.r : jQuery.merge(cur, f.r)
            }
            return cur
        },
        find: function(t, a){
            if (typeof t != "string") 
                return [t];
            if (a && !a.nodeType) 
                a = null;
            a = a || document;
            if (!t.indexOf("//")) {
                a = a.documentElement;
                t = t.substr(2, t.length)
            }
            else 
                if (!t.indexOf("/") && !a.ownerDocument) {
                    a = a.documentElement;
                    t = t.substr(1, t.length);
                    if (t.indexOf("/") >= 1) 
                        t = t.substr(t.indexOf("/"), t.length)
                }
            var b = [a], done = [], last;
            while (t && last != t) {
                var r = [];
                last = t;
                t = jQuery.trim(t).replace(/^\/\//, "");
                var d = false;
                var e = new RegExp("^[/>]\\s*(" + jQuery.chars + "+)");
                var m = e.exec(t);
                if (m) {
                    var f = m[1].toUpperCase();
                    for (var i = 0; b[i]; i++) 
                        for (var c = b[i].firstChild; c; c = c.nextSibling) 
                            if (c.nodeType == 1 && (f == "*" || c.nodeName.toUpperCase() == f.toUpperCase())) 
                                r.push(c);
                    b = r;
                    t = t.replace(e, "");
                    if (t.indexOf(" ") == 0) 
                        continue;
                    d = true
                }
                else {
                    e = /^((\/?\.\.)|([>\/+~]))\s*([a-z]*)/i;
                    if ((m = e.exec(t)) != null) {
                        r = [];
                        var f = m[4], mergeNum = jQuery.mergeNum++;
                        m = m[1];
                        for (var j = 0, rl = b.length; j < rl; j++) 
                            if (m.indexOf("..") < 0) {
                                var n = m == "~" || m == "+" ? b[j].nextSibling : b[j].firstChild;
                                for (; n; n = n.nextSibling) 
                                    if (n.nodeType == 1) {
                                        if (m == "~" && n.mergeNum == mergeNum) 
                                            break;
                                        if (!f || n.nodeName.toUpperCase() == f.toUpperCase()) {
                                            if (m == "~") 
                                                n.mergeNum = mergeNum;
                                            r.push(n)
                                        }
                                        if (m == "+") 
                                            break
                                    }
                            }
                            else 
                                r.push(b[j].parentNode);
                        b = r;
                        t = jQuery.trim(t.replace(e, ""));
                        d = true
                    }
                }
                if (t && !d) {
                    if (!t.indexOf(",")) {
                        if (a == b[0]) 
                            b.shift();
                        done = jQuery.merge(done, b);
                        r = b = [a];
                        t = " " + t.substr(1, t.length)
                    }
                    else {
                        var g = new RegExp("^(" + jQuery.chars + "+)(#)(" + jQuery.chars + "+)");
                        var m = g.exec(t);
                        if (m) {
                            m = [0, m[2], m[3], m[1]]
                        }
                        else {
                            g = new RegExp("^([#.]?)(" + jQuery.chars + "*)");
                            m = g.exec(t)
                        }
                        m[2] = m[2].replace(/\\/g, "");
                        var h = b[b.length - 1];
                        if (m[1] == "#" && h && h.getElementById) {
                            var k = h.getElementById(m[2]);
                            if ((jQuery.browser.msie || jQuery.browser.opera) && k && typeof k.id == "string" && k.id != m[2]) 
                                k = jQuery('[@id="' + m[2] + '"]', h)[0];
                            b = r = k && (!m[3] || jQuery.nodeName(k, m[3])) ? [k] : []
                        }
                        else {
                            for (var i = 0; b[i]; i++) {
                                var l = m[1] != "" || m[0] == "" ? "*" : m[2];
                                if (l == "*" && b[i].nodeName.toLowerCase() == "object") 
                                    l = "param";
                                r = jQuery.merge(r, b[i].getElementsByTagName(l))
                            }
                            if (m[1] == ".") 
                                r = jQuery.classFilter(r, m[2]);
                            if (m[1] == "#") {
                                var o = [];
                                for (var i = 0; r[i]; i++) 
                                    if (r[i].getAttribute("id") == m[2]) {
                                        o = [r[i]];
                                        break
                                    }
                                r = o
                            }
                            b = r
                        }
                        t = t.replace(g, "")
                    }
                }
                if (t) {
                    var p = jQuery.filter(t, r);
                    b = r = p.r;
                    t = jQuery.trim(p.t)
                }
            }
            if (t) 
                b = [];
            if (b && a == b[0]) 
                b.shift();
            done = jQuery.merge(done, b);
            return done
        },
        classFilter: function(r, m, a){
            m = " " + m + " ";
            var b = [];
            for (var i = 0; r[i]; i++) {
                var c = (" " + r[i].className + " ").indexOf(m) >= 0;
                if (!a && c || a && !c) 
                    b.push(r[i])
            }
            return b
        },
        filter: function(t, r, b){
            var d;
            while (t && t != d) {
                d = t;
                var p = jQuery.parse, m;
                for (var i = 0; p[i]; i++) {
                    m = p[i].exec(t);
                    if (m) {
                        t = t.substring(m[0].length);
                        m[2] = m[2].replace(/\\/g, "");
                        break
                    }
                }
                if (!m) 
                    break;
                if (m[1] == ":" && m[2] == "not") 
                    r = jQuery.filter(m[3], r, true).r;
                else 
                    if (m[1] == ".") 
                        r = jQuery.classFilter(r, m[2], b);
                    else 
                        if (m[1] == "@") {
                            var e = [], type = m[3];
                            for (var i = 0, rl = r.length; i < rl; i++) {
                                var a = r[i], z = a[jQuery.props[m[2]] || m[2]];
                                if (z == null || /href|src/.test(m[2])) 
                                    z = jQuery.attr(a, m[2]) || '';
                                if ((type == "" && !!z || type == "=" && z == m[5] || type == "!=" && z != m[5] || type == "^=" && z && !z.indexOf(m[5]) || type == "$=" && z.substr(z.length - m[5].length) == m[5] || (type == "*=" || type == "~=") && z.indexOf(m[5]) >= 0) ^ b) 
                                    e.push(a)
                            }
                            r = e
                        }
                        else 
                            if (m[1] == ":" && m[2] == "nth-child") {
                                var g = jQuery.mergeNum++, e = [], test = /(\d*)n\+?(\d*)/.exec(m[3] == "even" && "2n" || m[3] == "odd" && "2n+1" || !/\D/.test(m[3]) && "n+" + m[3] || m[3]), first = (test[1] || 1) - 0, d = test[2] - 0;
                                for (var i = 0, rl = r.length; i < rl; i++) {
                                    var h = r[i], parentNode = h.parentNode;
                                    if (g != parentNode.mergeNum) {
                                        var c = 1;
                                        for (var n = parentNode.firstChild; n; n = n.nextSibling) 
                                            if (n.nodeType == 1) 
                                                n.nodeIndex = c++;
                                        parentNode.mergeNum = g
                                    }
                                    var j = false;
                                    if (first == 1) {
                                        if (d == 0 || h.nodeIndex == d) 
                                            j = true
                                    }
                                    else 
                                        if ((h.nodeIndex + d) % first == 0) 
                                            j = true;
                                    if (j ^ b) 
                                        e.push(h)
                                }
                                r = e
                            }
                            else {
                                var f = jQuery.expr[m[1]];
                                if (typeof f != "string") 
                                    f = jQuery.expr[m[1]][m[2]];
                                eval("f = function(a,i){return " + f + "}");
                                r = jQuery.grep(r, f, b)
                            }
            }
            return {
                r: r,
                t: t
            }
        },
        parents: function(a){
            var b = [];
            var c = a.parentNode;
            while (c && c != document) {
                b.push(c);
                c = c.parentNode
            }
            return b
        },
        nth: function(a, b, c, d){
            b = b || 1;
            var e = 0;
            for (; a; a = a[c]) 
                if (a.nodeType == 1 && ++e == b) 
                    break;
            return a
        },
        sibling: function(n, a){
            var r = [];
            for (; n; n = n.nextSibling) {
                if (n.nodeType == 1 && (!a || n != a)) 
                    r.push(n)
            }
            return r
        }
    });
    jQuery.event = {
        add: function(b, c, d, e){
            if (jQuery.browser.msie && b.setInterval != undefined) 
                b = window;
            if (!d.guid) 
                d.guid = this.guid++;
            if (e != undefined) {
                var f = d;
                d = function(){
                    return f.apply(this, arguments)
                };
                d.data = e;
                d.guid = f.guid
            }
            if (!b.$events) 
                b.$events = {};
            if (!b.$handle) 
                b.$handle = function(){
                    var a;
                    if (typeof jQuery == "undefined" || jQuery.event.triggered) 
                        return a;
                    a = jQuery.event.handle.apply(b, arguments);
                    return a
                };
            var g = b.$events[c];
            if (!g) {
                g = b.$events[c] = {};
                if (b.addEventListener) 
                    b.addEventListener(c, b.$handle, false);
                else 
                    b.attachEvent("on" + c, b.$handle)
            }
            g[d.guid] = d;
            if (!this.global[c]) 
                this.global[c] = [];
            if (jQuery.inArray(b, this.global[c]) == -1) 
                this.global[c].push(b)
        },
        guid: 1,
        global: {},
        remove: function(a, b, c){
            var d = a.$events, ret, index;
            if (d) {
                if (b && b.type) {
                    c = b.handler;
                    b = b.type
                }
                if (!b) {
                    for (b in d) 
                        this.remove(a, b)
                }
                else 
                    if (d[b]) {
                        if (c) 
                            delete d[b][c.guid];
                        else 
                            for (c in a.$events[b]) 
                                delete d[b][c];
                        for (ret in d[b]) 
                            break;
                        if (!ret) {
                            if (a.removeEventListener) 
                                a.removeEventListener(b, a.$handle, false);
                            else 
                                a.detachEvent("on" + b, a.$handle);
                            ret = null;
                            delete d[b];
                            while (this.global[b] && ((index = jQuery.inArray(a, this.global[b])) >= 0)) 
                                delete this.global[b][index]
                        }
                    }
                for (ret in d) 
                    break;
                if (!ret) 
                    a.$handle = a.$events = null
            }
        },
        trigger: function(a, b, c){
            b = jQuery.makeArray(b || []);
            if (!c) 
                jQuery.each(this.global[a] || [], function(){
                    jQuery.event.trigger(a, b, this)
                });
            else {
                var d, ret, fn = jQuery.isFunction(c[a] || null);
                b.unshift(this.fix({
                    type: a,
                    target: c
                }));
                if (jQuery.isFunction(c.$handle) && (d = c.$handle.apply(c, b)) !== false) 
                    this.triggered = true;
                if (fn && d !== false && !jQuery.nodeName(c, 'a')) 
                    c[a]();
                this.triggered = false
            }
        },
        handle: function(a){
            var b;
            a = jQuery.event.fix(a || window.event ||
            {});
            var c = this.$events && this.$events[a.type], args = [].slice.call(arguments, 1);
            args.unshift(a);
            for (var j in c) {
                args[0].handler = c[j];
                args[0].data = c[j].data;
                if (c[j].apply(this, args) === false) {
                    a.preventDefault();
                    a.stopPropagation();
                    b = false
                }
            }
            if (jQuery.browser.msie) 
                a.target = a.preventDefault = a.stopPropagation = a.handler = a.data = null;
            return b
        },
        fix: function(a){
            var c = a;
            a = jQuery.extend({}, c);
            a.preventDefault = function(){
                if (c.preventDefault) 
                    return c.preventDefault();
                c.returnValue = false
            };
            a.stopPropagation = function(){
                if (c.stopPropagation) 
                    return c.stopPropagation();
                c.cancelBubble = true
            };
            if (!a.target && a.srcElement) 
                a.target = a.srcElement;
            if (jQuery.browser.safari && a.target.nodeType == 3) 
                a.target = c.target.parentNode;
            if (!a.relatedTarget && a.fromElement) 
                a.relatedTarget = a.fromElement == a.target ? a.toElement : a.fromElement;
            if (a.pageX == null && a.clientX != null) {
                var e = document.documentElement, b = document.body;
                a.pageX = a.clientX + (e && e.scrollLeft || b.scrollLeft);
                a.pageY = a.clientY + (e && e.scrollTop || b.scrollTop)
            }
            if (!a.which && (a.charCode || a.keyCode)) 
                a.which = a.charCode || a.keyCode;
            if (!a.metaKey && a.ctrlKey) 
                a.metaKey = a.ctrlKey;
            if (!a.which && a.button) 
                a.which = (a.button & 1 ? 1 : (a.button & 2 ? 3 : (a.button & 4 ? 2 : 0)));
            return a
        }
    };
    jQuery.fn.extend({
        bind: function(a, b, c){
            return a == "unload" ? this.one(a, b, c) : this.each(function(){
                jQuery.event.add(this, a, c || b, c && b)
            })
        },
        one: function(b, c, d){
            return this.each(function(){
                jQuery.event.add(this, b, function(a){
                    jQuery(this).unbind(a);
                    return (d || c).apply(this, arguments)
                }, d && c)
            })
        },
        unbind: function(a, b){
            return this.each(function(){
                jQuery.event.remove(this, a, b)
            })
        },
        trigger: function(a, b){
            return this.each(function(){
                jQuery.event.trigger(a, b, this)
            })
        },
        toggle: function(){
            var a = arguments;
            return this.click(function(e){
                this.lastToggle = 0 == this.lastToggle ? 1 : 0;
                e.preventDefault();
                return a[this.lastToggle].apply(this, [e]) || false
            })
        },
        hover: function(f, g){
            function handleHover(e){
                var p = e.relatedTarget;
                while (p && p != this) 
                    try {
                        p = p.parentNode
                    } 
                    catch (e) {
                        p = this
                    };
                if (p == this) 
                    return false;
                return (e.type == "mouseover" ? f : g).apply(this, [e])
            }
            return this.mouseover(handleHover).mouseout(handleHover)
        },
        ready: function(f){
            if (jQuery.isReady) 
                f.apply(document, [jQuery]);
            else 
                jQuery.readyList.push(function(){
                    return f.apply(this, [jQuery])
                });
            return this
        }
    });
    jQuery.extend({
        isReady: false,
        readyList: [],
        ready: function(){
            if (!jQuery.isReady) {
                jQuery.isReady = true;
                if (jQuery.readyList) {
                    jQuery.each(jQuery.readyList, function(){
                        this.apply(document)
                    });
                    jQuery.readyList = null
                }
                if (jQuery.browser.mozilla || jQuery.browser.opera) 
                    document.removeEventListener("DOMContentLoaded", jQuery.ready, false);
                if (!window.frames.length) 
                    jQuery(window).load(function(){
                        jQuery("#__ie_init").remove()
                    })
            }
        }
    });
    new function(){
        jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick," + "mousedown,mouseup,mousemove,mouseover,mouseout,change,select," + "submit,keydown,keypress,keyup,error").split(","), function(i, o){
            jQuery.fn[o] = function(f){
                return f ? this.bind(o, f) : this.trigger(o)
            }
        });
        if (jQuery.browser.mozilla || jQuery.browser.opera) 
            document.addEventListener("DOMContentLoaded", jQuery.ready, false);
        else 
            if (jQuery.browser.msie) {
                document.write("<scr" + "ipt id=__ie_init defer=true " + "src=//:><\/script>");
                var a = document.getElementById("__ie_init");
                if (a) 
                    a.onreadystatechange = function(){
                        if (this.readyState != "complete") 
                            return;
                        jQuery.ready()
                    };
                a = null
            }
            else 
                if (jQuery.browser.safari) 
                    jQuery.safariTimer = setInterval(function(){
                        if (document.readyState == "loaded" || document.readyState == "complete") {
                            clearInterval(jQuery.safariTimer);
                            jQuery.safariTimer = null;
                            jQuery.ready()
                        }
                    }, 10);
        jQuery.event.add(window, "load", jQuery.ready)
    };
    if (jQuery.browser.msie) 
        jQuery(window).one("unload", function(){
            var a = jQuery.event.global;
            for (var b in a) {
                var c = a[b], i = c.length;
                if (i && b != 'unload') 
                    do 
                        c[i - 1] && jQuery.event.remove(c[i - 1], b);
                    while (--i)
            }
        });
    jQuery.fn.extend({
        loadIfModified: function(a, b, c){
            this.load(a, b, c, 1)
        },
        load: function(c, d, e, f){
            if (jQuery.isFunction(c)) 
                return this.bind("load", c);
            e = e ||
            function(){
            };
            var g = "GET";
            if (d) 
                if (jQuery.isFunction(d)) {
                    e = d;
                    d = null
                }
                else {
                    d = jQuery.param(d);
                    g = "POST"
                }
            var h = this;
            jQuery.ajax({
                url: c,
                type: g,
                data: d,
                ifModified: f,
                complete: function(a, b){
                    if (b == "success" || !f && b == "notmodified") 
                        h.attr("innerHTML", a.responseText).evalScripts().each(e, [a.responseText, b, a]);
                    else 
                        e.apply(h, [a.responseText, b, a])
                }
            });
            return this
        },
        serialize: function(){
            return jQuery.param(this)
        },
        evalScripts: function(){
            return this.find("script").each(function(){
                if (this.src) 
                    jQuery.getScript(this.src);
                else 
                    jQuery.globalEval(this.text || this.textContent || this.innerHTML || "")
            }).end()
        }
    });
    jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","), function(i, o){
        jQuery.fn[o] = function(f){
            return this.bind(o, f)
        }
    });
    jQuery.extend({
        get: function(a, b, c, d, e){
            if (jQuery.isFunction(b)) {
                c = b;
                b = null
            }
            return jQuery.ajax({
                type: "GET",
                url: a,
                data: b,
                success: c,
                dataType: d,
                ifModified: e
            })
        },
        getIfModified: function(a, b, c, d){
            return jQuery.get(a, b, c, d, 1)
        },
        getScript: function(a, b){
            return jQuery.get(a, null, b, "script")
        },
        getJSON: function(a, b, c){
            return jQuery.get(a, b, c, "json")
        },
        post: function(a, b, c, d){
            if (jQuery.isFunction(b)) {
                c = b;
                b = {}
            }
            return jQuery.ajax({
                type: "POST",
                url: a,
                data: b,
                success: c,
                dataType: d
            })
        },
        ajaxTimeout: function(a){
            jQuery.ajaxSettings.timeout = a
        },
        ajaxSetup: function(a){
            jQuery.extend(jQuery.ajaxSettings, a)
        },
        ajaxSettings: {
            global: true,
            type: "GET",
            timeout: 0,
            contentType: "application/x-www-form-urlencoded",
            processData: true,
            async: true,
            data: null
        },
        lastModified: {},
        ajax: function(s){
            s = jQuery.extend({}, jQuery.ajaxSettings, s);
            if (s.data) {
                if (s.processData && typeof s.data != "string") 
                    s.data = jQuery.param(s.data);
                if (s.type.toLowerCase() == "get") {
                    s.url += ((s.url.indexOf("?") > -1) ? "&" : "?") + s.data;
                    s.data = null
                }
            }
            if (s.global && !jQuery.active++) 
                jQuery.event.trigger("ajaxStart");
            var f = false;
            var g = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
            g.open(s.type, s.url, s.async);
            if (s.data) 
                g.setRequestHeader("Content-Type", s.contentType);
            if (s.ifModified) 
                g.setRequestHeader("If-Modified-Since", jQuery.lastModified[s.url] || "Thu, 01 Jan 1970 00:00:00 GMT");
            g.setRequestHeader("X-Requested-With", "XMLHttpRequest");
            if (s.beforeSend) 
                s.beforeSend(g);
            if (s.global) 
                jQuery.event.trigger("ajaxSend", [g, s]);
            var h = function(a){
                if (g && (g.readyState == 4 || a == "timeout")) {
                    f = true;
                    if (i) {
                        clearInterval(i);
                        i = null
                    }
                    var b;
                    try {
                        b = jQuery.httpSuccess(g) && a != "timeout" ? s.ifModified && jQuery.httpNotModified(g, s.url) ? "notmodified" : "success" : "error";
                        if (b != "error") {
                            var c;
                            try {
                                c = g.getResponseHeader("Last-Modified")
                            } 
                            catch (e) {
                            }
                            if (s.ifModified && c) 
                                jQuery.lastModified[s.url] = c;
                            var d = jQuery.httpData(g, s.dataType);
                            if (s.success) 
                                s.success(d, b);
                            if (s.global) 
                                jQuery.event.trigger("ajaxSuccess", [g, s])
                        }
                        else 
                            jQuery.handleError(s, g, b)
                    } 
                    catch (e) {
                        b = "error";
                        jQuery.handleError(s, g, b, e)
                    }
                    if (s.global) 
                        jQuery.event.trigger("ajaxComplete", [g, s]);
                    if (s.global && !--jQuery.active) 
                        jQuery.event.trigger("ajaxStop");
                    if (s.complete) 
                        s.complete(g, b);
                    if (s.async) 
                        g = null
                }
            };
            var i = setInterval(h, 13);
            if (s.timeout > 0) 
                setTimeout(function(){
                    if (g) {
                        g.abort();
                        if (!f) 
                            h("timeout")
                    }
                }, s.timeout);
            try {
                g.send(s.data)
            } 
            catch (e) {
                jQuery.handleError(s, g, null, e)
            }
            if (!s.async) 
                h();
            return g
        },
        handleError: function(s, a, b, e){
            if (s.error) 
                s.error(a, b, e);
            if (s.global) 
                jQuery.event.trigger("ajaxError", [a, s, e])
        },
        active: 0,
        httpSuccess: function(r){
            try {
                return !r.status && location.protocol == "file:" || (r.status >= 200 && r.status < 300) || r.status == 304 || jQuery.browser.safari && r.status == undefined
            } 
            catch (e) {
            }
            return false
        },
        httpNotModified: function(a, b){
            try {
                var c = a.getResponseHeader("Last-Modified");
                return a.status == 304 || c == jQuery.lastModified[b] || jQuery.browser.safari && a.status == undefined
            } 
            catch (e) {
            }
            return false
        },
        httpData: function(r, a){
            var b = r.getResponseHeader("content-type");
            var c = !a && b && b.indexOf("xml") >= 0;
            c = a == "xml" || c ? r.responseXML : r.responseText;
            if (a == "script") 
                jQuery.globalEval(c);
            if (a == "json") 
                c = eval("(" + c + ")");
            if (a == "html") 
                jQuery("<div>").html(c).evalScripts();
            return c
        },
        param: function(a){
            var s = [];
            if (a.constructor == Array || a.jquery) 
                jQuery.each(a, function(){
                    s.push(encodeURIComponent(this.name) + "=" + encodeURIComponent(this.value))
                });
            else 
                for (var j in a) 
                    if (a[j] && a[j].constructor == Array) 
                        jQuery.each(a[j], function(){
                            s.push(encodeURIComponent(j) + "=" + encodeURIComponent(this))
                        });
                    else 
                        s.push(encodeURIComponent(j) + "=" + encodeURIComponent(a[j]));
            return s.join("&")
        },
        globalEval: function(a){
            if (window.execScript) 
                window.execScript(a);
            else 
                if (jQuery.browser.safari) 
                    window.setTimeout(a, 0);
                else 
                    eval.call(window, a)
        }
    });
    jQuery.fn.extend({
        show: function(a, b){
            return a ? this.animate({
                height: "show",
                width: "show",
                opacity: "show"
            }, a, b) : this.filter(":hidden").each(function(){
                this.style.display = this.oldblock ? this.oldblock : "";
                if (jQuery.css(this, "display") == "none") 
                    this.style.display = "block"
            }).end()
        },
        hide: function(a, b){
            return a ? this.animate({
                height: "hide",
                width: "hide",
                opacity: "hide"
            }, a, b) : this.filter(":visible").each(function(){
                this.oldblock = this.oldblock || jQuery.css(this, "display");
                if (this.oldblock == "none") 
                    this.oldblock = "block";
                this.style.display = "none"
            }).end()
        },
        _toggle: jQuery.fn.toggle,
        toggle: function(a, b){
            return jQuery.isFunction(a) && jQuery.isFunction(b) ? this._toggle(a, b) : a ? this.animate({
                height: "toggle",
                width: "toggle",
                opacity: "toggle"
            }, a, b) : this.each(function(){
                jQuery(this)[jQuery(this).is(":hidden") ? "show" : "hide"]()
            })
        },
        slideDown: function(a, b){
            return this.animate({
                height: "show"
            }, a, b)
        },
        slideUp: function(a, b){
            return this.animate({
                height: "hide"
            }, a, b)
        },
        slideToggle: function(a, b){
            return this.animate({
                height: "toggle"
            }, a, b)
        },
        fadeIn: function(a, b){
            return this.animate({
                opacity: "show"
            }, a, b)
        },
        fadeOut: function(a, b){
            return this.animate({
                opacity: "hide"
            }, a, b)
        },
        fadeTo: function(a, b, c){
            return this.animate({
                opacity: b
            }, a, c)
        },
        animate: function(d, f, g, h){
            return this.queue(function(){
                var c = jQuery(this).is(":hidden"), opt = jQuery.speed(f, g, h), self = this;
                for (var p in d) {
                    if (d[p] == "hide" && c || d[p] == "show" && !c) 
                        return jQuery.isFunction(opt.complete) && opt.complete.apply(this);
                    if (p == "height" || p == "width") {
                        opt.display = jQuery.css(this, "display");
                        opt.overflow = this.style.overflow
                    }
                }
                if (opt.overflow != null) 
                    this.style.overflow = "hidden";
                this.curAnim = jQuery.extend({}, d);
                jQuery.each(d, function(a, b){
                    var e = new jQuery.fx(self, opt, a);
                    if (b.constructor == Number) 
                        e.custom(e.cur(), b);
                    else 
                        e[b == "toggle" ? c ? "show" : "hide" : b](d)
                })
            })
        },
        queue: function(a, b){
            if (!b) {
                b = a;
                a = "fx"
            }
            return this.each(function(){
                if (!this.queue) 
                    this.queue = {};
                if (!this.queue[a]) 
                    this.queue[a] = [];
                this.queue[a].push(b);
                if (this.queue[a].length == 1) 
                    b.apply(this)
            })
        }
    });
    jQuery.extend({
        speed: function(a, b, c){
            var d = a && a.constructor == Object ? a : {
                complete: c || !c && b || jQuery.isFunction(a) && a,
                duration: a,
                easing: c && b || b && b.constructor != Function && b || (jQuery.easing.swing ? "swing" : "linear")
            };
            d.duration = (d.duration && d.duration.constructor == Number ? d.duration : {
                slow: 600,
                fast: 200
            }[d.duration]) || 400;
            d.old = d.complete;
            d.complete = function(){
                jQuery.dequeue(this, "fx");
                if (jQuery.isFunction(d.old)) 
                    d.old.apply(this)
            };
            return d
        },
        easing: {
            linear: function(p, n, a, b){
                return a + b * p
            },
            swing: function(p, n, a, b){
                return ((-Math.cos(p * Math.PI) / 2) + 0.5) * b + a
            }
        },
        queue: {},
        dequeue: function(a, b){
            b = b || "fx";
            if (a.queue && a.queue[b]) {
                a.queue[b].shift();
                var f = a.queue[b][0];
                if (f) 
                    f.apply(a)
            }
        },
        timers: [],
        fx: function(e, f, g){
            var z = this;
            var y = e.style;
            z.a = function(){
                if (f.step) 
                    f.step.apply(e, [z.now]);
                if (g == "opacity") 
                    jQuery.attr(y, "opacity", z.now);
                else {
                    y[g] = parseInt(z.now) + "px";
                    y.display = "block"
                }
            };
            z.max = function(){
                return parseFloat(jQuery.css(e, g))
            };
            z.cur = function(){
                var r = parseFloat(jQuery.curCSS(e, g));
                return r && r > -10000 ? r : z.max()
            };
            z.custom = function(b, c){
                z.startTime = (new Date()).getTime();
                z.now = b;
                z.a();
                jQuery.timers.push(function(){
                    return z.step(b, c)
                });
                if (jQuery.timers.length == 1) {
                    var d = setInterval(function(){
                        var a = jQuery.timers;
                        for (var i = 0; i < a.length; i++) 
                            if (!a[i]()) 
                                a.splice(i--, 1);
                        if (!a.length) 
                            clearInterval(d)
                    }, 13)
                }
            };
            z.show = function(){
                if (!e.orig) 
                    e.orig = {};
                e.orig[g] = jQuery.attr(e.style, g);
                f.show = true;
                z.custom(0, this.cur());
                if (g != "opacity") 
                    y[g] = "1px";
                jQuery(e).show()
            };
            z.hide = function(){
                if (!e.orig) 
                    e.orig = {};
                e.orig[g] = jQuery.attr(e.style, g);
                f.hide = true;
                z.custom(this.cur(), 0)
            };
            z.step = function(a, b){
                var t = (new Date()).getTime();
                if (t > f.duration + z.startTime) {
                    z.now = b;
                    z.a();
                    if (e.curAnim) 
                        e.curAnim[g] = true;
                    var c = true;
                    for (var i in e.curAnim) 
                        if (e.curAnim[i] !== true) 
                            c = false;
                    if (c) {
                        if (f.display != null) {
                            y.overflow = f.overflow;
                            y.display = f.display;
                            if (jQuery.css(e, "display") == "none") 
                                y.display = "block"
                        }
                        if (f.hide) 
                            y.display = "none";
                        if (f.hide || f.show) 
                            for (var p in e.curAnim) 
                                jQuery.attr(y, p, e.orig[p])
                    }
                    if (c && jQuery.isFunction(f.complete)) 
                        f.complete.apply(e);
                    return false
                }
                else {
                    var n = t - this.startTime;
                    var p = n / f.duration;
                    z.now = jQuery.easing[f.easing](p, n, a, (b - a), f.duration);
                    z.a()
                }
                return true
            }
        }
    })
}

