From 72faafe04a30ab19c04c44e558b7cb3088797ad3 Mon Sep 17 00:00:00 2001 From: Gordon Yeu Date: Thu, 30 Mar 2023 20:35:05 +0000 Subject: [PATCH] Prodigy API document: 2023-03-31 --- build/fonts/slate-7b7da4fe.ttf | Bin 0 -> 1720 bytes build/fonts/slate-cfc9d06b.eot | Bin 0 -> 1876 bytes build/fonts/slate-e55b8307.svg | 14 + build/fonts/slate.woff | Bin 0 -> 1796 bytes build/fonts/slate.woff2 | Bin 0 -> 796 bytes build/images/logo-975fcfb8.png | Bin 0 -> 67443 bytes build/images/navbar-cad8cdcb.png | Bin 0 -> 96 bytes build/index.html | 1638 ++++++++++++++++++++ build/javascripts/all-b12a2749.js | 120 ++ build/javascripts/all_nosearch-18c3ed8e.js | 31 + build/stylesheets/print-966d6edc.css | 1 + build/stylesheets/screen-576ecead.css | 1 + 12 files changed, 1805 insertions(+) create mode 100644 build/fonts/slate-7b7da4fe.ttf create mode 100644 build/fonts/slate-cfc9d06b.eot create mode 100644 build/fonts/slate-e55b8307.svg create mode 100644 build/fonts/slate.woff create mode 100644 build/fonts/slate.woff2 create mode 100644 build/images/logo-975fcfb8.png create mode 100644 build/images/navbar-cad8cdcb.png create mode 100644 build/index.html create mode 100644 build/javascripts/all-b12a2749.js create mode 100644 build/javascripts/all_nosearch-18c3ed8e.js create mode 100644 build/stylesheets/print-966d6edc.css create mode 100644 build/stylesheets/screen-576ecead.css diff --git a/build/fonts/slate-7b7da4fe.ttf b/build/fonts/slate-7b7da4fe.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ace9a46a7e1ed6b6ab3de2f30ef3e27c572f88d3 GIT binary patch literal 1720 zcmaJ>-D_KA7=PaL@t*V?ZMro%kz(6pV-rwZyCyk@Q7?wb>UJv9`gO6wj7^qiCTUqB zO%X@;7dX69!8^V6LWJzXiw!F%45qgVdLa}=5xvm6E&iVKo-9$jJ@CHI_viaTf`}a2 zC!H2wcyVDVd0amU$>&(FZ8pn0bm7yth{U7dH)`ef4)6r{E^wmO*t_`0^~*QG?-S|8 zt!lYq{5ky*k?|Sy{uTt*p8hrX-@re<)$DYS^+1t{800m!H_O^}@g4X@@W-3w?hZXf zuY!M;^{sNV`qeJ|2)=?Gg`Mqo2XzAEd#oqjAaRXMBJF+c79{T|EPkbe7-PE;5S;Q~ zaGL1Q(r@%{&}khDI-bPX!~GUGz-0@x9Aaiik?BxrHq?#(PnWnI%nYaReOv*$ZSm>?)ctla|1hAG;T1^YPnfOv{N&_J8ekcvoG^Cm?MLpzb znO-8ASEU{s)D{<<&JKz%JjTWAM|EWWzjHMajT;ECdZ?bsKw&|^tZONrkvOuIkI%De zUYTtG_26}0jYK0>4*B1QgBuPLXU?}t^*TiboK|r`R>P0_HD+(cdi{Ze{FKYDLBs0R~?v6B%Rx~Edo2aasT@IJ-vtfG(iE^ z$Awv_E5l{^C4s84a|;3+->t#z!u^V-9Nj!@+Ph(RslFP9tMyA^DCS*vdNzG<@yc2l z`u?ov&H8>AuC0gXeBbj{4$|U#n6XQ^x*FE+&d;P>_lp(J^Zj%8%oMl&cI_ZN6TKO{ zkvFp2-&{yO{TDd~50<`txN&oc<4*8TskuV~pXj~g5i{t$k=GYVU^@bQTx>a5uvcK? zADE$i`dge4A3((KH9;?{zv*7K*f>Jt^humckR5yQeHf=xv0R7Ti)jP&N=%#Ng5wPM z_VCv|5z{smX^sCCV+<0Gsc02b(JH2*RZK;zn2MJ0U5I^E%r-TsOdYDyD_EDQO?BF) z7OFc*Cuk9TtZz5Uo$8RKb(q)a%}C8|gD__z_YMNoV9|<#sst6tUZ*|mXK52w&tq|_ J6Wq-M;U6NW`v(93 literal 0 HcmV?d00001 diff --git a/build/fonts/slate-cfc9d06b.eot b/build/fonts/slate-cfc9d06b.eot new file mode 100644 index 0000000000000000000000000000000000000000..13c4839a1975d4c92d66753d75553f922743c6ef GIT binary patch literal 1876 zcmaJ?&2Jl35TEDWeRg&sP8)xqh$Kr)Yzaiu#`dnNaHtS!Xx9i53LF}#nAmmP`Xfq= z;s{Zte*qCEK;i~h4hYFPaA-x4sD#vVrBXQ{MIaD@1Ke8kn|8tnQ^fdI9N^x@? zd<=RUJW{D`U;b-v<0kYSA}zO8E|&DaCqF0BzlPme0}$TUZbAP8`m<~GR{K~75*dg= zcCEQu4DE@ZpmS=+>&5muJwb0nf0^x#V!izR7X1vpggLV7&CM3_1j&!tPMS_)mkgrN zC!rsJe5kniow8zt{RT+zltXle=pd}!=-!|+8X9a|iyqm&z#GOh#?Z4hMmoI$K1va6 zrUYgm&_U=R+`ZrJ0!LQ9E`42ef0@uHvC8U zo}w4%B?O&MCX$JGEG)w^HIqqa()pb0xK4IFpUb457c*fwDPqaQf|z%md}h1{#>ac0 zD>_@{@&c$_-fEYWRBE3yj7U8q4MTz%hA^cOxdwei%19MlXpM(P_)+e=@Rm}B>tXap zwoqO*DogaoKF+^`!zvX>{f10 zq*F6dk@0&Ok4=k2cHR|EKKaOn+_Q3KG-~~J-9n!;&D+d{W9=SQ|IqlDm9?y2uUl{( zi(0o$Q@Cby<g+B7U zE7gMM6{=S}Ps}C~lhg72%h#4X&vB-0d)je4Z)w>(?>M%-xE~jH;l@L}Lcyy(n4O9z z65lS`w&R>XbW_^$2bKN!lz(S%N3N!tcP>R={D&-^3rjyfS-aWi!AkH>sk+00G5&qW zC1%n(1Gmpd;5$IPUF_Lw@K%&WbbxEX?LgKcF9x!K$J`8LiMQ^#KsG5yOZ=|rBS1K&l2uG4tC&hwF_o-hDp_Le zTrgI}?0+pse + + +Generated by IcoMoon + + + + + + + + + + diff --git a/build/fonts/slate.woff b/build/fonts/slate.woff new file mode 100644 index 0000000000000000000000000000000000000000..1e72e0ee0018119d7c814c2097cc60c0bcd05d84 GIT binary patch literal 1796 zcmaJ>&2Jl35TCanZ=GF;-Nqj%Qj#SmwgjS~vAs(b4i$%lc7v*fuR|jhlemtH?Nqf< z5&;$c3y8RZ#0{p83^QtGf$~^ZU#vdPL3b z4fcBr_DN>rKz!G#?&4f~pM4ZRM6a}~ts1aTadwIM%N_dh>UO7#K7YRFXF@YA68l_? z@xFm7>0K?wZ&VUvut!OxMlIIQ5*<0_&Hha~Yl49Y@PK@!7+CqFG*;eClSR)#j$=Xw zNnrjF9T`VX|4zRT99<||DqHk_nzSa(NzO5voBad{L?lOWoE4r?ZbRP(V_X@TZL>{} z(3A8mk}l-3xojrwNJr*pi-lsLQVxSKC{0w##ljO}){#>poy#tYg)pcTCk9|L<3To?f*omEO$b9ODUa}gVj!a zAvUB1l6OCpmTg;7PgnO)phbF-Xik@UVo+OLa3((}zVs*;Zywi?{r}GOL=0{q1ou!q ztD%;HAbGE?Z5HC#RzAMSTXWiN9ioS*i+Usm@#fI}eK@$`F!8DQHtAj`iEnm!UKH}P zNl{d*%%o>TwzLq6ppv_9BR_a$H<|Q)z2RXkyY6k4BJlQ)o4+xU@=Bif%MA~%sib$? zbw%hV*Y96nzi0MvpHdWZeO#D>x^i4rP!XsqKRYk5@ZB2RF5E9QWp(qg81F^VmBvaG ztu(Ggk(kS7r)DyTm#?ozQ4q}d{!9==(dt@sJ_vk&`7k5ChZ~1PD=Sgs?%Z@HoBe#* z_k-a4JvVKwyWWZ=q2@1#9uk~9EfrHBtA=!8%MC` zIGu@c6SyDi7WCym@ z2-w*rE$c_UfviKEL=Vy>={0bo+(i5#P1q3$6VB``hVMrCzU@B6vbqKcPy}m-BtQn- zkylU>byNe6DE>18g5d9bm%bZqa|qF=7&3(|U!AY)%Yg-vOsqKIq$w0D$r*3}ks4=+ z>U6?w2xMd=B$;zQ9v)F1K7KwfQ9|)<9nl&i?6-rchs{I8LC1eK^@#(|^QwB-{VeQz zoHLn@cwG?Yo(X!F(Q8iBOqSNs${h}C*?qJYLuZAnVXqx{ww|}Ux0`ca^V#hz?c7{r z7ldYbmk!M1m3G+IYC6(!VcCzqp&pJkZ#1@kw2W<^EJMqOM;^&dq6ELC*|pK!(cC0< zbZtF%BzLsuTw5O*+eg;dX0a+hcfI=gj8a~qWYJoMamHAo)!Qq|6&~9S8`{d0T?L&% z@$R=P6H0rTp6V+-Dlb>EB67JEMQ>kk%`y}{hvBC(RNEw)*%|U|4>SL+B=3rE@y*rw zR_bLZr&~XN?C;+yx2IilcDnrb?M)}An;DsTe@^rq$9L-UWNqY_oTyWyYisN3CMIh; z*C)b12exYgK^2c4S}J#2YJ+00rUlj%+LqQ7E%lldEc`K|1Bky)iLkwF{Wltvj!{A+PBEzhE3BX) zFBgqmj@&z?N1*=OK?z54T7is8FiA(N66oe`X+cKl>`n&&000000HC;3 zk^ug-#56-JW5JAtMV6Rgj#+|9A(7;@^`+^dWy@Alt7D86w|;R>QMs>d+47HJVfKhH aD;vc&%m&dlj4($-ipx}q&#}A+00017%3vV? literal 0 HcmV?d00001 diff --git a/build/images/logo-975fcfb8.png b/build/images/logo-975fcfb8.png new file mode 100644 index 0000000000000000000000000000000000000000..71784c32b6c5305a33a0e95de98af0766e53425a GIT binary patch literal 67443 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 literal 0 HcmV?d00001 diff --git a/build/images/navbar-cad8cdcb.png b/build/images/navbar-cad8cdcb.png new file mode 100644 index 0000000000000000000000000000000000000000..df38e90d87e1a215371b4977e18cde90f8832537 GIT binary patch literal 96 zcmeAS@N?(olHy`uVBq!ia0vp^3Lwk@BpAX3RW*PVQ%R6tFatx` + + + + + + + + API Reference + + + + + + + + + + + + + + NAV + + + + +
+
+
+

Prodigy API Documentation

Overview

+

This document describes the API for the Prodigy Protocol platform.

+ +

By using any API provided by Prodigy, you agree to its Terms of Use and Privacy Policy.

+

Currently Supported Instruments

+
    +
  • BTC-USD: Bitcoin/USD spot price
  • +
+

Websocket API

Connectivity (alpha)

+

wss://clob-alpha.dura.fi:36821

+

Authorization

+

Please contact your Prodigy representative to request an Alpha CLOB token for your connectivity.

+ +

No additional authorization is required at this time.

+ +

After receiving your token, ensure that it is placed in the token field of your subscription request.

+ +

Token example with characters rewritten: 0xdaaf5b74xxx8afd78xxxxx2eb5db442edb53d760ea16xxxc67707xxxxxc925e4

+

Websocket Availability

+
    +
  • Sunday evening to Saturday evening EST.
  • +
  • Currently includes a maintenance window on Thursday afternoons.
  • +
  • Alpha environment times are not guaranteed.
  • +
+

Websocket FAQ

+

Q. I am getting an ERROR: token wasn't supplied? +A. Token value must be supplied with the ws subscribeMessage for authentication.

+ +

Q. Why is the price of BTC 10x more than it should be and what is the “denominator” value in the response? +A. The denominator value is the factor to which we need to divide price by to derive the USD value of the asset. For example:

+ +

if "BestBidPrice" :"242385" , "Denominator":"10" & "Symbol":"BTC-USD" then the +USD price of BTC is $24,238.5

+ +

Q. What are the different responses coming from the depth ws connection? +A. Aside from confirmation of the connection being established, the initial depth data message will detail the current depth of the market at each price level on both the buy and sell side. Subsequent messages will update depth at those price levels based on actions taken by market participants. These actions can be new orders being added, existing orders being canceled, modified, or taken.

+

Depth of Market subscription (depth)

+

Gets depth data for a market.

+

Subscribe message

+
+

Subscribe message

+
+
{
+'user': 'g',
+'action': 'subscribe',
+'type': 'depth',
+'value': ['BTC-USD'],
+"token":"<provided by Prodigy>"
+};
+
+

Response

+

The initial depth data response returns information about the market and its current buy and sell levels with data that describes the depth at each level.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DataDefinition
DenominatorFactor to divide by for USD value
DisplaySymbolDisplay symbol of market
SecurityIDExchange ID for market
SymbolSymbol of market
buy_levelsArray of buy orders by level (details for each below)
   NumOfOrdersNumber of orders at this buy level
   PricePrice of orders at this buy level
   QtyQuantity of orders at this buy level
sell_levelsArray of sell orders by level (details for each below)
   NumOfOrdersNumber of orders at this sell level
   QtyPrice of orders at this sell level
   sell_levelsQuantity of orders at this sell level
+ +

Example response:

+ +
+

Example response

+
+
{
+  "data": {
+"Denominator":"100",
+"DisplaySymbol":"BTC-USD",
+"SecurityID":"1000000189",
+"Symbol":"BTC-USD",
+"buy_levels": [...
+{
+"NumOfOrders": "10",
+"Price": "2037600",
+"Qty": "4660000",
+},
+...],
+"sell_levels": [...
+{
+"NumOfOrders": "7",
+"Price": "2056150",
+"Qty": "6370000",
+},
+...],
+},
+  "Type":3
+

Subsequent Responses

+

Updates depth data for a market. Subsequently, depth data responses return updates to the depth of the market.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DataDefinition
DenominatorFactor to divide by for USD value
DisplaySymbolDisplay symbol of market
SecurityIDExchange ID for market
SymbolSymbol of market
updatesArray of updates to market depth (details for each below)
   ActionAction that updated market depth (New, Delete, Add, Change)
   NumOfOrdersNumber of orders that were updated
   PricePrice level of orders that were updated
   QtyQuantity of securities that were updated
   SideSide of the market of this update (Buy / Sell)
+ +

Example subsequent message response:

+ +
+

Example subsequent message response

+
+
{
+  "data": {
+"Denominator":"100",
+"DisplaySymbol":"BTC-USD",
+"SecurityID":"1000000189",
+"Symbol":"BTC-USD",
+"updates": [
+{
+"Action": "New",
+"NumOfOrders": "1",
+"Price": "2037900",
+"Quantity": "500000",
+"Side": "Buy",
+},
+{
+"Action": "Change",
+"NumOfOrders": "9",
+"Price": "2056150",
+
+"Quantity": "6160000",
+"Side": "Sell",
+}
+],
+  },
+  "Type":4
+}
+

Price Info Subscription (price_info)

+

Gets price data for a market.

+

Subscribe Message

+
+

Subscribe message

+
+
{
+'user': 'g',
+'action': 'subscribe',
+'type': 'price_info',
+'value': ['BTC-USD'],
+"token":"<provided by Prodigy>"
+};
+

Response

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DataDefinition
BestBidPricePrice level of best bid
BestBidQtyQuantity available at best bid
BestOfferPricePrice level of best ask
BestOfferQtyQuantity available at best ask
DenominatorFactor to divide by for USD value
LastTradePricePrice that last trade executed
LastTradeQtyQuantity of last trade
LastTradeTimestampLinux timestamp of last trade
SymbolSymbol of market
+ +

Example message response:

+ +
+

Example message response

+
+
{
+"data": {
+"BestBidPrice":"242385",
+"BestBidQty":"59300",
+"BestOfferPrice":"242390",
+"BestOfferQty":"200",
+"Denominator":"10",
+"LastTradePrice":"242385",
+"LastTradeQty":"97",
+"LastTradeTimestamp":"1660498301",
+"Symbol":"BTC-USD"
+},
+"Type":5
+}
+

stunnel Connectivity

+

Prodigy uses stunnel, an open-source implementation used widely as an SSL tunneling tool. Refer to http://www.stunnel.org for more information.

+ +

A stunnel provides a secure way to send FIX messages from your FIX client, over the internet, to Prodigy. The possibilities of implementing this will vary based on your existing FIX client setup, but in general it is simple:

+ +

FIX Client -> Client-side stunnel -> INTERNET -> Exchange-side stunnel ->

+ +

Below is a guide to using a dockerized stunnel implementation available to you from Prodigy.

+

Setup a client-side stunnel to connect to Prodigy’s CLOB

Important environment variables

+

export CLOB_HOST=clob-alpha.prodigy

+ +

export STUNNEL_PORT=[THE_LOCAL_PORT_TO_OPEN]

+ + + +

Alternatively, these environment variables can be passed in on the command line (see below).

+

Download Prodigy stunnel docker-compose.yml file

+
+

Prodigy stunnel docker-compose.yml file +```plaintext +version: '3.9' +services: +stunnel:

+

image: dweomer/stunnel

+

image: gitlab.dev.blockriver.tech:5050/gyeu/stunnel +container_name: stunnel +ports: +- ${STUNNEL_PORT:-36814}:${STUNNEL_PORT:-36814} + environment: +- STUNNEL_SERVICE=fixs-client +- STUNNEL_CLIENT=yes +- STUNNEL_ACCEPT=${STUNNEL_PORT:-36814} +- STUNNEL_CONNECT=${CLOB_HOST:-localhost}:36813 +- STUNNEL_PSKSECRETS=/etc/stunnel/psk.txt + volumes: +- ./psk.dev.txt:/etc/stunnel/psk.txt:ro + logging: + driver: "json-file" + options: + max-size: "50m" + max-file: "10" +```

+
+

Build Docker container with the Prodigy stunnel docker-compose.yml file

+

cd to/dir/that/contains/docker-compose.yml

+ +

docker-compose up docker-compose.yml

+ +

This will keep the container running in the foreground and we can press ctrl-c at any time to stop it.

+

Install docker and docker-compose

+

We advise installing Docker Desktop. While you can install Docker and Docker Compose, Docker Desktop is an easy-to-install application for your macOS, Linux, or Windows environment that enables you to build and share containerized applications and microservices. Installing Docker Desktop also includes docker-compose out of the box, along with Docker engine and Docker CLI. Installing Docker Desktop is the fastest and simplest way to get started.

+ +

Alternatively, if you prefer to run the container in the background, use the following command:

+ +

docker-compose up -d docker-compose.yml

+ +

If running the container in the background, remember to stop the stunnel container when not using it, as it will occupy the port until the container is terminated.

+ +

Update configuration of your FIX client

+ +
    +
  • target host = 127.0.0.1
  • +
  • target port = 36814
  • +
+

FIX API

+

FIX (Financial Information eXchange) API is a messaging protocol used in the electronic trading industry. It allows clients and brokers to enter orders, submit cancel requests, and receive fills. The Prodigy Protocol FIX API is intended to be used in conjunction with the FIX 4.4 Protocol Specification.

+ +

To establish a connection using the FIX protocol, clients and brokers use a software called FIX engines. At a predetermined start time, Client A and Broker B connect their FIX engines using a predetermined host and comp ID.

+ +

Authentication results over a secure FIX protocol ensuring privacy of data exchange. The authentication process provides privacy and a reliable FIX protocol for effective communication between clients and brokers throughout electronic trade. Responses are formatted as strings and given numerical tags for efficient communication between clients and brokers.

+ +

In all of the following example messages, the “Anatomy of” section displays the FIX tags in header, body, trailer format.

+

Logon <A>

+

Use the Logon <A> message to authenticate a user establishing a connection to a remote system. The Logon <A> message must be the first message sent by the application requesting to initiate a FIX session.

+ +

The HeartBtInt <108> field is used to declare the timeout interval for generating heartbeats, with both sides holding the same value. The HeartBtInt <108> value should be agreed upon by the two firms, specified by the Logon initiator, and echoed back by the Logon acceptor.

+ +

Upon receipt of a Logon <A> message, the session acceptor will authenticate the party requesting connection and issue a Logon <A> message as acknowledgment that the connection request has been accepted. The acknowledgment Logon <A> can also be used by the initiator to validate that the connection was established with the correct party.

+ +

The session acceptor must be prepared to immediately begin processing messages after receipt of the Logon <A>. The session initiator can choose to begin transmission of FIX messages before receipt of the confirmation Logon <A>, however it is recommended to wait for the return Logon <A> message to accommodate encryption key negotiation.

+ +

The confirmation Logon <A> can be used for encryption key negotiation. If a session key is deemed to be weak, a stronger session key can be suggested by returning a Logon <A> message with a new key. This is only valid for encryption protocols that allow for key negotiation. (See the FIX Web Site's Application notes for more information on a method for encryption and key passing.)

+ +

The Logon <A> message can be used to specify the MaxMessageSize <383> supported. This can be used to control fragmentation rules for very large messages which support fragmentation. It can also be used to specify the MsgTypes supported for both sending and receiving.

+

Anatomy of a Logon Message

+

Payload example

+ +
+

Logon payload example +plaintext +8=FIX.4.4 | 9=94 | 35=A | 49=ACCOUNT_MNEMONIC | 56=order_router | 34=1 | 52=20221007-15:49:42.769 | 98=0 | 108=30 | 141=Y | 10=112 | +

+
+ +

Where:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldValueTag NameIs RequiredDefinition
YMsgType<35>=A
8FIX 4.4BeginStringYFIX protocol version
994BodyLengthYMessage length in bytes
35AMsgTypeYMessage type is a Logon message
49ACCOUNT_MNEMONICSenderCompIDYID of party sending message
56order_routerTargetCompIDYID of party receiving message
341MsgSeqNumYInteger message sequence number
5220221007-14:49.769SendingTimeYTime of message
980EncryptMethodYMethod of encryption
10830HeartBintY30 second interval between heartbeat messages
141YResetSeqNumFlagYIndicates that both sides of the FIX session should restart sequence numbers
10112CheckSumYChecksum of FIX message
95RawDataRawDataLengthNRequired for some authentication methods
96dataRawDataNRequired for some authentication methods
789NextExpectedMsgSeqNumNOptional, alternative via counterparty bi-lateral agreement message gap detection and recovery approach
383MaxMessageSizeNCan be used to specify the maximum number of bytes supported for messages received
384NoMsgTypesNSpecifies the number of repeating RefMsgTypes <372> specified
=> 372RefMsgTypeNSpecifies a specific, supported MsgType <35>. Required if NoMsgTypes <384> is > 0. Should be specified from the point of view of the sender of the Logon <A> message.
=> 385MsgDirectionNIndicates direction (send vs. receive) of a supported MsgType <35>. Required if NoMsgTypes <384> is > 0. Should be specified from the point of view of the sender of the Logon <A> message.
464TestMessageindicatorNCan be used to specify that this FIX session will be sending and receiving 'test' vs. 'production' messages.
553UsernameN
554PasswordNNote: minimal security exists without transport-level encryption.
<MessageTrailer>
+

Logout <5>

+

Use the Logout <5> message to initiate or confirm the termination of a FIX session. If disconnection occurs without the exchange of Logout messages, this should be interpreted as an abnormal condition.

+ +

Before closing the session, the initiator of the Logout message should wait for the opposite side to respond with a confirming Logout message. This gives the remote end a chance to perform any necessary Gap Fill operations. If the remote side does not respond in an appropriate time frame, the session may be terminated.

+ +

After sending the Logout message, the initiator should not send any messages unless requested to do so by the logout acceptor via a Resend Request <2>.

+

Anatomy of a Logout Message

+

Logout payload example

+ +
+

Logout payload example +plaintext +8=FIX.4.4 | 9=66 | 35=5 | 49=ACCOUNT_MNEMONIC | 52=20221027-00:00:00.949 | 56=order_router | 10=027 | +

+
+ +

Where:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldValueTag NameIs RequiredDefinition
8FIX 4.4BeginStringYFIX protocol version
966BodyLengthYMessage length in bytes
355MsgTypeYMessage type is a Logout message
49ACCOUNT_MNEMONICSenderCompIDYID of party sending message
5220221027-00:00:00.949SendingTimeYTime of message
56order_routerTargetCompIDYID of party receiving message
10027ChecksumYChecksum of FIX message
<MessageHeader>
58StringTextNInformation to include with the message
354EncodedTextLenMust be set if Encoded Text <355> field is specified and must immediately precede it
355EncodedTextEncoded (non-ASCII characters) representation of the Text<58>field in the encoded format specified via the MessageEncoding <347> field
<MessageTrailer>Y
+

NewOrderSingle <D>

+

Use the New Order <D> message type to electronically submit securities and forex orders to a broker for execution.

+ +

Orders can be submitted with special handling and execution instructions. Handling instructions refer to how the broker should handle the order on its trading floor (see HandlInst <21> field). Execution instructions contain explicit directions as to how the order should be executed (see ExecInst <18> field).

+ +

New Order messages received with the PossResend <97> flag set in the header should be validated by ClOrdID <11>. Implementations should also check order parameters (side, symbol, quantity, etc.) to determine if the order had been previously submitted. PossResends previously received should be acknowledged back to the client via an Execution - Status message. PossResends that were not previously received should be processed as a new order and acknowledged via an Execution - New message.

+ +

The value specified in the TransactTime <60> field should allow the receiver of the order to apply business rules to determine if the order is potentially "stale," for example, in the event that there have been communication problems.

+ +

The OrdType <40> field can be set to Market, Limit, Forex - Swap, or Previously Quoted, while the Product <460> field is set to 4 (CURRENCY).

+ +

To "take" an IOI <6> (or Quote <S>) from an ECN or exchange and not display the order on the book, the New Order message must contain the TimeInForce <59> field set to "ImmediateOrCancel" and an OrdType <40> field set to "Previously Indicated" ( or "Previously Quoted"). +Anatomy of a NewOrderSingle Message

+ +

NewOrderSingle payload example

+ +
+

NewOrderSingle payload example +plaintext +8=FIX.4.4 | 9=66 | 35=5 | 49=ACCOUNT_MNEMONIC | 52=20221027-00:00:00.949 | 56=order_router | 10=027 | +

+
+ +

Where:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldValueTag NameIs RequiredDefinition
8FIX 4.4BeginStringYFIX protocol version
966BodyLengthYMessage length in bytes
355MsgTypeYMessage type is a Logout message
49StringACCOUNT_MNEMONICYID of party sending message
5220221027-00:00:00.949SendingTimeYTime of message
56order_routerStringYID of party receiving message
10027ChecksumYChecksum of FIX message
<MessageHeader>YMsgType<35>=D
11StringClOrdIDYUnique identifier of the order as assigned by institution or by the intermediary with closest association with the investor
1StringAccountNAccount mnemonic as agreed between buy and sell sides, e.g. broker and institution or investor/intermediary and fund manager
100ExchangeExDestinationNExecution destination as defined by institution when order is entered
<Instrument>Instrument fieldsYOne or more of the following instrument tags
55StringSymbolNCommon and human readable representation of the securities
48StringSecurityIDNTakes precedence in identifying security to counterparty over SecurityA/tID <455> block. Requires SecurityIDSource <22> if specified
22StringSecurityIDSourceNAlternate identifier for this security
54SidecharYSide of the order
60TransactTimeUTCTimestampYTime this order request was initiated/released by the trader, trading system, or intermediary
38YQuantity ordered
40OrdTypecharYOrder Type1 = market 2 = limit 3 = stop 4 = spot limit
44PricePriceN*Price per unit of quantity Required for limit orders
59TimeInForcecharN*Specifies how long the order remains in effect. Absence of this field is interpreted as DAY
<MessageTrailer>Y
+

OrderCancelRequest <F>

+

Use the Order Cancel Request <F> message request to cancel all of the remaining quantity of an existing order. Note that the Order Cancel/Replace Request <G> should be used to partially cancel or reduce an order.

+ +

The request will only be accepted if the order can successfully be pulled back from the exchange floor without executing.

+ +

A cancel request is assigned a ClOrdID <11> and is treated as a separate entity. If rejected, the ClOrdID <11> of the cancel request will be sent in the Cancel Reject <9> message, as well as the ClOrdID <11> of the actual order in the OrigClOrdID <41> field. The ClOrdID <11> assigned to the cancel request must be unique amongst the ClOrdID <11> assigned to regular orders and replacement orders.

+

Anatomy of a OrderCancelRequest Message

+

OrderCancelRequest payload example

+ +
+

OrderCancelRequest payload example +plaintext +8=FIX.4.4 | 9=197 | 35=F | 49=EIB_TRADER1_EMAIL_COM | 56=order_router | 34=6 | 52=20221103-05:15:53.225 | 41=ACC_OO1-1567450006911 | 11=ACC_001_1667450006914 | 1=SCC_001 55=BTC-USD | 48=1000000189 | 54=1 | 60=20221103-04:33:27.139 | 38=69 | 10=238 +

+
+ +

Where:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldValueTag NameIs RequiredDefinition
<MessageHeader>YMsgType<35>=F
41ACC_001_1567450006911OrigIOrdIDYClOrdID <11> of the previous order (NOT the initial order of the day when canceling or replacing an order
11ACC_001_1667450006914CIOrdiDYUnique ID of cancel request as assigned by the institution
1Value=ACC_001AccountNAccount mnemonic as agreed between buy and sell sides, e.g. broker and institution or investor/intermediary and fund manager
55Value=BTC-USDSymbolYCommon and human readable representation of the securities
481000000189SecurityiDNAlternate security identifier
541SideYSide of the order
6020221103-04:33:27.139TransactTimeYTime this order request was initiated/released by the trader, trading system, or intermediary
3869OrderQtyYNumber of instruments ordered
<MessageTrailer>Y
+

OrderMassStatus <AF>

+

The Order Mass Status Request <AF> message requests the status of orders that match the criteria specified in the request.

+ +

A mass status request is assigned ClOrdID <11> and is treated as a separate entity. Upon processing the request, ExecutionReports with ExecType <150>="Order Status" are returned for all orders matching the criteria provided on the request.

+ +

Use the MassStatusReqType <585> field to specify the selection criteria for the orders to be included upon the request.

+

Anatomy of a OrderMassStatus Message

+

OrderMassStatus payload example

+ +
+

OrderMassStatus payload example +plaintext +8=FIX.4.4 | 9=93 35=AF | 49=EIB_TRADER1_EMAIL_COM | 56=order_router | 34=5. | 52=20221103-05:15:40.884 | 584=4 | 585=7 | 1=* | 10=039 +

+
+ +

Where:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldValueTag NameIs RequiredDefinition
YMsgType<35>=AF
5844MassStatusReqIDYUnique ID of mass status request as assigned by the institution
5857MassStatusReqTypeYSpecifies the scope of the mass status request
Valid Values
1Status for orders for a security
2Status for orders for an Underlying security
3Status for orders for a Product<460>
4Status for orders for a CFICode <461>
5Status for orders for a SecurityType <167>
6Status for orders for a trading session
7Status for all orders
8Status for orders for a PartyID <448>
9Status for orders for an account
1*AccountNAccount
<MessageTrailer>Y
+

TradeCaptureReportRequest <AD>

+

Use the Trade Capture Report Request <AD> to: +* Request one or more trade capture reports based on specific selection criteria provided on the trade capture report request +* Subscribe for trade capture reports based upon selection criteria provided on the trade capture report request.

+ +

Except for TradeRequestID <568> and SubscriptionRequestType <263>, each field in the Trade Capture Report Request identifies filters. After meeting all specified filters, trade reports will be returned. Note that the filters are combined using an implied "and" - a trade report must satisfy every specified filter to be returned.

+ +

After looking at the TradeCaptureReportRequest in the example section below, notice the response sent back to the client is an execution report that matches the filters and queries in the original TradeCaptureReportRequest.

+

Anatomy of a TradeCaptureReportRequest Message

+

TradeCaptureReportRequest payload example

+ +
+

TradeCaptureReportRequest payload example +plaintext +8=FIX.4.4 | 9=117 | 35=AD | 34=3 | 49=EIB_TRADER1_EMAIL_COM | 52=20221103-05:15:40.884 | 56=order_router | 1=* | 58=* | 100=* | 568=T21666588915 | 569=0 | 10=137 +

+
+ +

Where:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldValueTag NameIs RequiredDefinition
<MessageHeader>YMsgType<35>=AF
1*AccountYAccount mnemonic as agreed between buy and sell sides
58*TextYFree format text string
100*ExDestinationYExecution destination as defined by institution when order is entered
568T21656588915TradeRequestIDYIdentifier for the trade request
5690TradeRequestTypeYType of Trade Capture Report
Valid Values
0all trades
1Matched trades matching Criteria provided on request (parties, exec id, trade id, order id, instrument, input source, etc.)
2Unmatched trades that match criteria
3Unreported trades that match criteria
4Advisories that match criteria
Y
+ +
+
+
+ plaintext +
+
+
+ + diff --git a/build/javascripts/all-b12a2749.js b/build/javascripts/all-b12a2749.js new file mode 100644 index 0000000..281af5a --- /dev/null +++ b/build/javascripts/all-b12a2749.js @@ -0,0 +1,120 @@ +function copyToClipboard(e){const t=document.createElement("textarea");t.value=e.textContent.replace(/\n$/,""),document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}function setupCodeCopy(){$("pre.highlight").prepend('
Copy to Clipboard
'),$(".copy-clipboard").on("click",function(){copyToClipboard(this.parentNode.children[1])})}function adjustLanguageSelectorWidth(){const e=$(".dark-box > .lang-selector");e.width(e.parent().width())}!function(){if("ontouchstart"in window){var e,t,n,r,i,o,s={};e=function(e,t){return Math.abs(e[0]-t[0])>5||Math.abs(e[1]-t[1])>5},t=function(e){this.startXY=[e.touches[0].clientX,e.touches[0].clientY],this.threshold=!1},n=function(t){if(this.threshold)return!1;this.threshold=e(this.startXY,[t.touches[0].clientX,t.touches[0].clientY])},r=function(t){if(!this.threshold&&!e(this.startXY,[t.changedTouches[0].clientX,t.changedTouches[0].clientY])){var n=t.changedTouches[0],r=document.createEvent("MouseEvents");r.initMouseEvent("click",!0,!0,window,0,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null),r.simulated=!0,t.target.dispatchEvent(r)}},i=function(e){var t=Date.now(),n=t-s.time,r=e.clientX,i=e.clientY,a=[Math.abs(s.x-r),Math.abs(s.y-i)],u=o(e.target,"A")||e.target,l=u.nodeName,c="A"===l,f=window.navigator.standalone&&c&&e.target.getAttribute("href");if(s.time=t,s.x=r,s.y=i,(!e.simulated&&(n<500||n<1500&&a[0]<50&&a[1]<50)||f)&&(e.preventDefault(),e.stopPropagation(),!f))return!1;f&&(window.location=u.getAttribute("href")),u&&u.classList&&(u.classList.add("energize-focus"),window.setTimeout(function(){u.classList.remove("energize-focus")},150))},o=function(e,t){for(var n=e;n!==document.body;){if(!n||n.nodeName===t)return n;n=n.parentNode}return null},document.addEventListener("touchstart",t,!1),document.addEventListener("touchmove",n,!1),document.addEventListener("touchend",r,!1),document.addEventListener("click",i,!0)}}(),/*! + * jQuery JavaScript Library v3.6.0 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2021-03-02T17:08Z + */ +function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(e,t,n){n=n||we;var r,i,o=n.createElement("script");if(o.text=e,t)for(r in Te)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function r(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?pe[he.call(e)]||"object":typeof e}function i(e){var t=!!e&&"length"in e&&e.length,n=r(e);return!xe(e)&&!be(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function o(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}function s(e,t,n){return xe(t)?Ce.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?Ce.grep(e,function(e){return e===t!==n}):"string"!=typeof t?Ce.grep(e,function(e){return de.call(t,e)>-1!==n}):Ce.filter(t,e,n)}function a(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function u(e){var t={};return Ce.each(e.match(Pe)||[],function(e,n){t[n]=!0}),t}function l(e){return e}function c(e){throw e}function f(e,t,n,r){var i;try{e&&xe(i=e.promise)?i.call(e).done(t).fail(n):e&&xe(i=e.then)?i.call(e,t,n):t.apply(undefined,[e].slice(r))}catch(e){n.apply(undefined,[e])}}function d(){we.removeEventListener("DOMContentLoaded",d),e.removeEventListener("load",d),Ce.ready()}function p(e,t){return t.toUpperCase()}function h(e){return e.replace(Fe,"ms-").replace($e,p)}function g(){this.expando=Ce.expando+g.uid++}function m(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Be.test(e)?JSON.parse(e):e)}function y(e,t,n){var r;if(n===undefined&&1===e.nodeType)if(r="data-"+t.replace(We,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=m(n)}catch(e){}Me.set(e,t,n)}else n=undefined;return n}function v(e,t,n,r){var i,o,s=20,a=r?function(){return r.cur()}:function(){return Ce.css(e,t,"")},u=a(),l=n&&n[3]||(Ce.cssNumber[t]?"":"px"),c=e.nodeType&&(Ce.cssNumber[t]||"px"!==l&&+u)&&Ve.exec(Ce.css(e,t));if(c&&c[3]!==l){for(u/=2,l=l||c[3],c=+u||1;s--;)Ce.style(e,t,c+l),(1-o)*(1-(o=a()/u||.5))<=0&&(s=0),c/=o;c*=2,Ce.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}function x(e){var t,n=e.ownerDocument,r=e.nodeName,i=Ke[r];return i||(t=n.body.appendChild(n.createElement(r)),i=Ce.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),Ke[r]=i,i)}function b(e,t){for(var n,r,i=[],o=0,s=e.length;o-1)o&&o.push(s);else if(c=Ye(s),a=w(d.appendChild(s),"script"),c&&T(a),n)for(f=0;s=a[f++];)tt.test(s.type||"")&&n.push(s);return d}function C(){return!0}function k(){return!1}function S(e,t){return e===L()==("focus"===t)}function L(){try{return we.activeElement}catch(e){}}function j(e,t,n,r,i,o){var s,a;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=undefined);for(a in t)j(e,a,n,r,t[a],o);return e}if(null==r&&null==i?(i=n,r=n=undefined):null==i&&("string"==typeof n?(i=r,r=undefined):(i=r,r=n,n=undefined)),!1===i)i=k;else if(!i)return e;return 1===o&&(s=i,i=function(e){return Ce().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=Ce.guid++)),e.each(function(){Ce.event.add(this,t,i,r,n)})}function N(e,t,n){if(!n)return void(He.get(e,t)===undefined&&Ce.event.add(e,t,C));He.set(e,t,!1),Ce.event.add(e,t,{namespace:!1,handler:function(e){var r,i,o=He.get(this,t);if(1&e.isTrigger&&this[t]){if(o.length)(Ce.event.special[t]||{}).delegateType&&e.stopPropagation();else if(o=le.call(arguments),He.set(this,t,o),r=n(this,t),this[t](),i=He.get(this,t),o!==i||r?He.set(this,t,!1):i={},o!==i)return e.stopImmediatePropagation(),e.preventDefault(),i&&i.value}else o.length&&(He.set(this,t,{value:Ce.event.trigger(Ce.extend(o[0],Ce.Event.prototype),o.slice(1),this)}),e.stopImmediatePropagation())}})}function A(e,t){return o(e,"table")&&o(11!==t.nodeType?t:t.firstChild,"tr")?Ce(e).children("tbody")[0]||e:e}function D(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function I(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function O(e,t){var n,r,i,o,s,a,u;if(1===t.nodeType){if(He.hasData(e)&&(o=He.get(e),u=o.events)){He.remove(t,"handle events");for(i in u)for(n=0,r=u[i].length;n1&&"string"==typeof h&&!ve.checkClone&&st.test(h))return e.each(function(n){var o=e.eq(n);g&&(t[0]=h.call(this,n,o.html())),Q(o,t,r,i)});if(d&&(o=E(t,e[0].ownerDocument,!1,e,i),s=o.firstChild,1===o.childNodes.length&&(o=s),s||i)){for(a=Ce.map(w(o,"script"),D),u=a.length;f=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-a-.5))||0),u}function B(e,t,n){var r=lt(e),i=!ve.boxSizingReliable()||n,s=i&&"border-box"===Ce.css(e,"boxSizing",!1,r),a=s,u=q(e,t,r),l="offset"+t[0].toUpperCase()+t.slice(1);if(ut.test(u)){if(!n)return u;u="auto"}return(!ve.boxSizingReliable()&&s||!ve.reliableTrDimensions()&&o(e,"tr")||"auto"===u||!parseFloat(u)&&"inline"===Ce.css(e,"display",!1,r))&&e.getClientRects().length&&(s="border-box"===Ce.css(e,"boxSizing",!1,r),(a=l in e)&&(u=e[l])),(u=parseFloat(u)||0)+M(e,t,n||(s?"border":"content"),a,r,u)+"px"}function W(e,t,n,r,i){return new W.prototype.init(e,t,n,r,i)}function z(){bt&&(!1===we.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(z):e.setTimeout(z,Ce.fx.interval),Ce.fx.tick())}function V(){return e.setTimeout(function(){xt=undefined}),xt=Date.now()}function U(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)n=Ue[r],i["margin"+n]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function X(e,t,n){for(var r,i=(J.tweeners[t]||[]).concat(J.tweeners["*"]),o=0,s=i.length;o=0&&nE.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[_]=!0,e}function i(e){var t=O.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=n.length;r--;)E.attrHandle[n[r]]=t}function s(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function a(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function l(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&Se(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function c(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),s=o.length;s--;)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))})})}function f(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function d(){}function p(e){for(var t=0,n=e.length,r="";t1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function m(e,n,r){for(var i=0,o=n.length;i-1&&(r[l]=!(s[l]=f))}}else x=y(x===s?x.splice(h,x.length):x),o?o(null,s,x,u):Z.apply(s,x)})}function x(e){for(var t,n,r,i=e.length,o=E.relative[e[0].type],s=o||E.relative[" "],a=o?1:0,u=h(function(e){return e===t},s,!0),l=h(function(e){return te(t,e)>-1},s,!0),c=[function(e,n,r){var i=!o&&(r||n!==N)||((t=n).nodeType?u(e,n,r):l(e,n,r));return t=null,i}];a1&&g(c),a>1&&p(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(ue,"$1"),n,a0,o=e.length>0,s=function(r,s,a,u,l){var c,f,d,p=0,h="0",g=r&&[],m=[],v=N,x=r||o&&E.find.TAG("*",l),b=M+=null==v?1:Math.random()||.1,w=x.length;for(l&&(N=s==O||s||l);h!==w&&null!=(c=x[h]);h++){if(o&&c){for(f=0,s||c.ownerDocument==O||(I(c),a=!Q);d=e[f++];)if(d(c,s||O,a)){u.push(c);break}l&&(M=b)}i&&((c=!d&&c)&&p--,r&&g.push(c))}if(p+=h,i&&h!==p){for(f=0;d=n[f++];)d(g,m,s,a);if(r){if(p>0)for(;h--;)g[h]||m[h]||(m[h]=J.call(u));m=y(m)}Z.apply(u,m),l&&!r&&m.length>0&&p+n.length>1&&t.uniqueSort(u)}return l&&(M=b,N=v),g};return i?r(s):s}var w,T,E,C,k,S,L,j,N,A,D,I,O,P,Q,R,q,F,$,_="sizzle"+1*new Date,H=e.document,M=0,B=0,W=n(),z=n(),V=n(),U=n(),X=function(e,t){return e===t&&(D=!0),0},Y={}.hasOwnProperty,G=[],J=G.pop,K=G.push,Z=G.push,ee=G.slice,te=function(e,t){for(var n=0,r=e.length;n+~]|"+re+")"+re+"*"),fe=new RegExp(re+"|>"),de=new RegExp(se),pe=new RegExp("^"+ie+"$"),he={ID:new RegExp("^#("+ie+")"),CLASS:new RegExp("^\\.("+ie+")"),TAG:new RegExp("^("+ie+"|[*])"),ATTR:new RegExp("^"+oe),PSEUDO:new RegExp("^"+se),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+re+"*(even|odd|(([+-]|)(\\d*)n|)"+re+"*(?:([+-]|)"+re+"*(\\d+)|))"+re+"*\\)|)","i"),bool:new RegExp("^(?:"+ne+")$","i"),needsContext:new RegExp("^"+re+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+re+"*((?:-\\d)?\\d*)"+re+"*\\)|)(?=[^-]|$)","i")},ge=/HTML$/i,me=/^(?:input|select|textarea|button)$/i,ye=/^h\d$/i,ve=/^[^{]+\{\s*\[native \w/,xe=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,be=/[+~]/,we=new RegExp("\\\\[\\da-fA-F]{1,6}"+re+"?|\\\\([^\\r\\n\\f])","g"),Te=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},Ee=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,Ce=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ke=function(){I()},Se=h(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{Z.apply(G=ee.call(H.childNodes),H.childNodes),G[H.childNodes.length].nodeType}catch(e){Z={apply:G.length?function(e,t){K.apply(e,ee.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}T=t.support={},k=t.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!ge.test(t||n&&n.nodeName||"HTML")},I=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:H;return r!=O&&9===r.nodeType&&r.documentElement?(O=r,P=O.documentElement,Q=!k(O),H!=O&&(n=O.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",ke,!1):n.attachEvent&&n.attachEvent("onunload",ke)),T.scope=i(function(e){return P.appendChild(e).appendChild(O.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),T.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),T.getElementsByTagName=i(function(e){return e.appendChild(O.createComment("")),!e.getElementsByTagName("*").length}),T.getElementsByClassName=ve.test(O.getElementsByClassName),T.getById=i(function(e){return P.appendChild(e).id=_,!O.getElementsByName||!O.getElementsByName(_).length}),T.getById?(E.filter.ID=function(e){var t=e.replace(we,Te);return function(e){return e.getAttribute("id")===t}},E.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&Q){var n=t.getElementById(e);return n?[n]:[]}}):(E.filter.ID=function(e){var t=e.replace(we,Te);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},E.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&Q){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),E.find.TAG=T.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):T.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},E.find.CLASS=T.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&Q)return t.getElementsByClassName(e)},q=[],R=[],(T.qsa=ve.test(O.querySelectorAll))&&(i(function(e){var t;P.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&R.push("[*^$]="+re+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||R.push("\\["+re+"*(?:value|"+ne+")"),e.querySelectorAll("[id~="+_+"-]").length||R.push("~="),t=O.createElement("input"),t.setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||R.push("\\["+re+"*name"+re+"*="+re+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||R.push(":checked"),e.querySelectorAll("a#"+_+"+*").length||R.push(".#.+[+~]"),e.querySelectorAll("\\\f"),R.push("[\\r\\n\\f]")}),i(function(e){e.innerHTML="";var t=O.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&R.push("name"+re+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&R.push(":enabled",":disabled"),P.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&R.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),R.push(",.*:")})),(T.matchesSelector=ve.test(F=P.matches||P.webkitMatchesSelector||P.mozMatchesSelector||P.oMatchesSelector||P.msMatchesSelector))&&i(function(e){T.disconnectedMatch=F.call(e,"*"),F.call(e,"[s!='']:x"),q.push("!=",se)}),R=R.length&&new RegExp(R.join("|")),q=q.length&&new RegExp(q.join("|")),t=ve.test(P.compareDocumentPosition),$=t||ve.test(P.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},X=t?function(e,t){if(e===t)return D=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!T.sortDetached&&t.compareDocumentPosition(e)===n?e==O||e.ownerDocument==H&&$(H,e)?-1:t==O||t.ownerDocument==H&&$(H,t)?1:A?te(A,e)-te(A,t):0:4&n?-1:1)}:function(e,t){if(e===t)return D=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],u=[t];if(!i||!o)return e==O?-1:t==O?1:i?-1:o?1:A?te(A,e)-te(A,t):0;if(i===o)return s(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;a[r]===u[r];)r++;return r?s(a[r],u[r]):a[r]==H?-1:u[r]==H?1:0},O):O},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if(I(e),T.matchesSelector&&Q&&!U[n+" "]&&(!q||!q.test(n))&&(!R||!R.test(n)))try{var r=F.call(e,n);if(r||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){U(n,!0)}return t(n,O,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!=O&&I(e),$(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!=O&&I(e);var n=E.attrHandle[t.toLowerCase()],r=n&&Y.call(E.attrHandle,t.toLowerCase())?n(e,t,!Q):undefined;return r!==undefined?r:T.attributes||!Q?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.escape=function(e){return(e+"").replace(Ee,Ce)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,i=0;if(D=!T.detectDuplicates,A=!T.sortStable&&e.slice(0),e.sort(X),D){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return A=null,e},C=t.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=C(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=C(t);return n},E=t.selectors={cacheLength:50,createPseudo:r,match:he,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(we,Te),e[3]=(e[3]||e[4]||e[5]||"").replace(we,Te),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return he.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&de.test(n)&&(t=S(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(we,Te).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=W[e+" "];return t||(t=new RegExp("(^|"+re+")"+e+"("+re+"|$)"))&&W(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(i){var o=t.attr(i,e);return null==o?"!="===n:!n||(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(ae," ")+" ").indexOf(r)>-1:"|="===n&&(o===r||o.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,d,p,h,g=o!==s?"nextSibling":"previousSibling",m=t.parentNode,y=a&&t.nodeName.toLowerCase(),v=!u&&!a,x=!1;if(m){if(o){for(;g;){for(d=t;d=d[g];)if(a?d.nodeName.toLowerCase()===y:1===d.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[s?m.firstChild:m.lastChild],s&&v){for(d=m,f=d[_]||(d[_]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),l=c[e]||[],p=l[0]===M&&l[1],x=p&&l[2],d=p&&m.childNodes[p];d=++p&&d&&d[g]||(x=p=0)||h.pop();)if(1===d.nodeType&&++x&&d===t){c[e]=[M,p,x];break}}else if(v&&(d=t,f=d[_]||(d[_]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),l=c[e]||[],p=l[0]===M&&l[1],x=p),!1===x)for(;(d=++p&&d&&d[g]||(x=p=0)||h.pop())&&((a?d.nodeName.toLowerCase()!==y:1!==d.nodeType)||!++x||(v&&(f=d[_]||(d[_]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),c[e]=[M,x]),d!==t)););return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,n){var i,o=E.pseudos[e]||E.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return o[_]?o(n):o.length>1?(i=[e,e,"",n],E.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),s=i.length;s--;)r=te(e,i[s]),e[r]=!(t[r]=i[s])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=L(e.replace(ue,"$1"));return i[_]?r(function(e,t,n,r){for(var o,s=i(e,null,r,[]),a=e.length;a--;)(o=s[a])&&(e[a]=!(t[a]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(we,Te),function(t){return(t.textContent||C(t)).indexOf(e)>-1}}),lang:r(function(e){return pe.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(we,Te).toLowerCase(),function(t){var n;do{if(n=Q?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===P},focus:function(e){return e===O.activeElement&&(!O.hasFocus||O.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:l(!1),disabled:l(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!E.pseudos.empty(e)},header:function(e){return ye.test(e.nodeName)},input:function(e){return me.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[n<0?n+t:n]}),even:c(function(e,t){for(var n=0;nt?t:n;--r>=0;)e.push(r);return e}),gt:c(function(e,t,n){for(var r=n<0?n+t:n;++r2&&"ID"===(s=o[0]).type&&9===t.nodeType&&Q&&E.relative[o[1].type]){if(!(t=(E.find.ID(s.matches[0].replace(we,Te),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=he.needsContext.test(e)?0:o.length;i--&&(s=o[i],!E.relative[a=s.type]);)if((u=E.find[a])&&(r=u(s.matches[0].replace(we,Te),be.test(o[0].type)&&f(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&p(o)))return Z.apply(n,r),n;break}}return(l||L(e,c))(r,t,!Q,n,!t||be.test(e)&&f(t.parentNode)||t),n},T.sortStable=_.split("").sort(X).join("")===_,T.detectDuplicates=!!D,I(),T.sortDetached=i(function(e){return 1&e.compareDocumentPosition(O.createElement("fieldset"))}),i(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),T.attributes&&i(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(ne,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);Ce.find=ke,Ce.expr=ke.selectors,Ce.expr[":"]=Ce.expr.pseudos,Ce.uniqueSort=Ce.unique=ke.uniqueSort,Ce.text=ke.getText,Ce.isXMLDoc=ke.isXML,Ce.contains=ke.contains,Ce.escapeSelector=ke.escape;var Se=function(e,t,n){for(var r=[],i=n!==undefined;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&Ce(e).is(n))break;r.push(e)}return r},Le=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},je=Ce.expr.match.needsContext,Ne=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;Ce.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?Ce.find.matchesSelector(r,e)?[r]:[]:Ce.find.matches(e,Ce.grep(t,function(e){return 1===e.nodeType}))},Ce.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(Ce(e).filter(function(){for(t=0;t1?Ce.uniqueSort(n):n},filter:function(e){return this.pushStack(s(this,e||[],!1))},not:function(e){return this.pushStack(s(this,e||[],!0))},is:function(e){return!!s(this,"string"==typeof e&&je.test(e)?Ce(e):e||[],!1).length}});var Ae,De=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(Ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||Ae,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:De.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof Ce?t[0]:t,Ce.merge(this,Ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:we,!0)),Ne.test(r[1])&&Ce.isPlainObject(t))for(r in t)xe(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return i=we.getElementById(r[2]),i&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):xe(e)?n.ready!==undefined?n.ready(e):e(Ce):Ce.makeArray(e,this)}).prototype=Ce.fn,Ae=Ce(we);var Ie=/^(?:parents|prev(?:Until|All))/,Oe={children:!0,contents:!0,next:!0,prev:!0};Ce.fn.extend({has:function(e){var t=Ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&Ce.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?Ce.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?de.call(Ce(e),this[0]):de.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(Ce.uniqueSort(Ce.merge(this.get(),Ce(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),Ce.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return Se(e,"parentNode")},parentsUntil:function(e,t,n){return Se(e,"parentNode",n)},next:function(e){return a(e,"nextSibling")},prev:function(e){return a(e,"previousSibling")},nextAll:function(e){return Se(e,"nextSibling")},prevAll:function(e){return Se(e,"previousSibling")},nextUntil:function(e,t,n){return Se(e,"nextSibling",n)},prevUntil:function(e,t,n){return Se(e,"previousSibling",n)},siblings:function(e){return Le((e.parentNode||{}).firstChild,e)},children:function(e){return Le(e.firstChild)},contents:function(e){return null!=e.contentDocument&&ue(e.contentDocument)?e.contentDocument:(o(e,"template")&&(e=e.content||e),Ce.merge([],e.childNodes))}},function(e,t){Ce.fn[e]=function(n,r){var i=Ce.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=Ce.filter(r,i)),this.length>1&&(Oe[e]||Ce.uniqueSort(i),Ie.test(e)&&i.reverse()),this.pushStack(i)}});var Pe=/[^\x20\t\r\n\f]+/g;Ce.Callbacks=function(e){e="string"==typeof e?u(e):Ce.extend({},e);var t,n,i,o,s=[],a=[],l=-1,c=function(){for(o=o||e.once,i=t=!0;a.length;l=-1)for(n=a.shift();++l-1;)s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?Ce.inArray(e,s)>-1:s.length>0},empty:function(){return s&&(s=[]),this},disable:function(){return o=a=[],s=n="",this},disabled:function(){return!s},lock:function(){return o=a=[],n||t||(s=n=""),this},locked:function(){return!!o},fireWith:function(e,n){return o||(n=n||[],n=[e,n.slice?n.slice():n],a.push(n),t||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!i}};return f},Ce.extend({Deferred:function(t){var n=[["notify","progress",Ce.Callbacks("memory"),Ce.Callbacks("memory"),2],["resolve","done",Ce.Callbacks("once memory"),Ce.Callbacks("once memory"),0,"resolved"],["reject","fail",Ce.Callbacks("once memory"),Ce.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return Ce.Deferred(function(t){Ce.each(n,function(n,r){var i=xe(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&xe(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){function o(t,n,r,i){return function(){var a=this,u=arguments,f=function(){var e,f;if(!(t=s&&(r!==c&&(a=undefined,u=[e]),n.rejectWith(a,u))}};t?d():(Ce.Deferred.getStackHook&&(d.stackTrace=Ce.Deferred.getStackHook()),e.setTimeout(d))}}var s=0;return Ce.Deferred(function(e){n[0][3].add(o(0,e,xe(i)?i:l,e.notifyWith)),n[1][3].add(o(0,e,xe(t)?t:l)),n[2][3].add(o(0,e,xe(r)?r:c))}).promise()},promise:function(e){return null!=e?Ce.extend(e,i):i}},o={};return Ce.each(n,function(e,t){var s=t[2],a=t[5];i[t[1]]=s.add,a&&s.add(function(){r=a},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),s.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?undefined:this,arguments),this},o[t[0]+"With"]=s.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=le.call(arguments),o=Ce.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?le.call(arguments):n,--t||o.resolveWith(r,i)}};if(t<=1&&(f(e,o.done(s(n)).resolve,o.reject,!t),"pending"===o.state()||xe(i[n]&&i[n].then)))return o.then();for(;n--;)f(i[n],s(n),o.reject);return o.promise()}});var Qe=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;Ce.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&Qe.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},Ce.readyException=function(t){e.setTimeout(function(){throw t})};var Re=Ce.Deferred();Ce.fn.ready=function(e){return Re.then(e)["catch"](function(e){Ce.readyException(e)}),this},Ce.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--Ce.readyWait:Ce.isReady)||(Ce.isReady=!0,!0!==e&&--Ce.readyWait>0||Re.resolveWith(we,[Ce]))}}),Ce.ready.then=Re.then,"complete"===we.readyState||"loading"!==we.readyState&&!we.documentElement.doScroll?e.setTimeout(Ce.ready):(we.addEventListener("DOMContentLoaded",d),e.addEventListener("load",d));var qe=function(e,t,n,i,o,s,a){var u=0,l=e.length,c=null==n;if("object"===r(n)){o=!0;for(u in n)qe(e,t,u,n[u],!0,s,a)}else if(i!==undefined&&(o=!0,xe(i)||(a=!0),c&&(a?(t.call(e,i),t=null):(c=t,t=function(e,t,n){return c.call(Ce(e),n)})),t))for(;u1,null,!0)},removeData:function(e){return this.each(function(){Me.remove(this,e)})}}),Ce.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=He.get(e,t),n&&(!r||Array.isArray(n)?r=He.access(e,t,Ce.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=Ce.queue(e,t),r=n.length,i=n.shift(),o=Ce._queueHooks(e,t),s=function(){Ce.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,s,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return He.get(e,n)||He.access(e,n,{empty:Ce.Callbacks("once memory").add(function(){He.remove(e,[t+"queue",n])})})}}),Ce.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]*)/i,tt=/^$|^module$|\/(?:java|ecma)script/i;!function(){var e=we.createDocumentFragment(),t=e.appendChild(we.createElement("div")),n=we.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),ve.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="",ve.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue,t.innerHTML="",ve.option=!!t.lastChild}();var nt={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]} +;nt.tbody=nt.tfoot=nt.colgroup=nt.caption=nt.thead,nt.th=nt.td,ve.option||(nt.optgroup=nt.option=[1,""]);var rt=/<|&#?\w+;/,it=/^([^.]*)(?:\.(.+)|)/;Ce.event={global:{},add:function(e,t,n,r,i){var o,s,a,u,l,c,f,d,p,h,g,m=He.get(e);if(_e(e))for(n.handler&&(o=n,n=o.handler,i=o.selector),i&&Ce.find.matchesSelector(Xe,i),n.guid||(n.guid=Ce.guid++),(u=m.events)||(u=m.events=Object.create(null)),(s=m.handle)||(s=m.handle=function(t){return void 0!==Ce&&Ce.event.triggered!==t.type?Ce.event.dispatch.apply(e,arguments):undefined}),t=(t||"").match(Pe)||[""],l=t.length;l--;)a=it.exec(t[l])||[],p=g=a[1],h=(a[2]||"").split(".").sort(),p&&(f=Ce.event.special[p]||{},p=(i?f.delegateType:f.bindType)||p,f=Ce.event.special[p]||{},c=Ce.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&Ce.expr.match.needsContext.test(i),namespace:h.join(".")},o),(d=u[p])||(d=u[p]=[],d.delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,s)||e.addEventListener&&e.addEventListener(p,s)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,c):d.push(c),Ce.event.global[p]=!0)},remove:function(e,t,n,r,i){var o,s,a,u,l,c,f,d,p,h,g,m=He.hasData(e)&&He.get(e);if(m&&(u=m.events)){for(t=(t||"").match(Pe)||[""],l=t.length;l--;)if(a=it.exec(t[l])||[],p=g=a[1],h=(a[2]||"").split(".").sort(),p){for(f=Ce.event.special[p]||{},p=(r?f.delegateType:f.bindType)||p,d=u[p]||[],a=a[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=d.length;o--;)c=d[o],!i&&g!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(d.splice(o,1),c.selector&&d.delegateCount--,f.remove&&f.remove.call(e,c));s&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,h,m.handle)||Ce.removeEvent(e,p,m.handle),delete u[p])}else for(p in u)Ce.event.remove(e,p+t[l],n,r,!0);Ce.isEmptyObject(u)&&He.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,s,a=new Array(arguments.length),u=Ce.event.fix(e),l=(He.get(this,"events")||Object.create(null))[u.type]||[],c=Ce.event.special[u.type]||{};for(a[0]=u,t=1;t=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],s={},n=0;n-1:Ce.find(i,this,null,[l]).length),s[i]&&o.push(r);o.length&&a.push({elem:l,handlers:o})}return l=this,u\s*$/g;Ce.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,s,a=e.cloneNode(!0),u=Ye(e);if(!(ve.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||Ce.isXMLDoc(e)))for(s=w(a),o=w(e),r=0,i=o.length;r0&&T(s,!u&&w(e,"script")),a},cleanData:function(e){for(var t,n,r,i=Ce.event.special,o=0;(n=e[o])!==undefined;o++)if(_e(n)){if(t=n[He.expando]){if(t.events)for(r in t.events)i[r]?Ce.event.remove(n,r):Ce.removeEvent(n,r,t.handle);n[He.expando]=undefined}n[Me.expando]&&(n[Me.expando]=undefined)}}}),Ce.fn.extend({detach:function(e){return R(this,e,!0)},remove:function(e){return R(this,e)},text:function(e){return qe(this,function(e){return e===undefined?Ce.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Q(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){A(this,e).appendChild(e)}})},prepend:function(){return Q(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=A(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Q(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Q(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(Ce.cleanData(w(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return Ce.clone(this,e,t)})},html:function(e){return qe(this,function(e){var t=this[0]||{},n=0,r=this.length;if(e===undefined&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ot.test(e)&&!nt[(et.exec(e)||["",""])[1].toLowerCase()]){e=Ce.htmlPrefilter(e);try{for(;n1)}}),Ce.Tween=W,W.prototype={constructor:W,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||Ce.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(Ce.cssNumber[n]?"":"px")},cur:function(){var e=W.propHooks[this.prop];return e&&e.get?e.get(this):W.propHooks._default.get(this)},run:function(e){var t,n=W.propHooks[this.prop];return this.options.duration?this.pos=t=Ce.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):W.propHooks._default.set(this),this}},W.prototype.init.prototype=W.prototype,W.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=Ce.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){Ce.fx.step[e.prop]?Ce.fx.step[e.prop](e):1!==e.elem.nodeType||!Ce.cssHooks[e.prop]&&null==e.elem.style[_(e.prop)]?e.elem[e.prop]=e.now:Ce.style(e.elem,e.prop,e.now+e.unit)}}},W.propHooks.scrollTop=W.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},Ce.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},Ce.fx=W.prototype.init,Ce.fx.step={};var xt,bt,wt=/^(?:toggle|show|hide)$/,Tt=/queueHooks$/;Ce.Animation=Ce.extend(J,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return v(n.elem,e,Ve.exec(t),n),n}]},tweener:function(e,t){xe(e)?(t=e,e=["*"]):e=e.match(Pe);for(var n,r=0,i=e.length;r1)},removeAttr:function(e){return this.each(function(){Ce.removeAttr(this,e)})}}),Ce.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?Ce.prop(e,t,n):(1===o&&Ce.isXMLDoc(e)||(i=Ce.attrHooks[t.toLowerCase()]||(Ce.expr.match.bool.test(t)?Et:undefined)),n!==undefined?null===n?void Ce.removeAttr(e,t):i&&"set"in i&&(r=i.set(e,n,t))!==undefined?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:(r=Ce.find.attr(e,t),null==r?undefined:r))},attrHooks:{type:{set:function(e,t){if(!ve.radioValue&&"radio"===t&&o(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(Pe);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),Et={set:function(e,t,n){return!1===t?Ce.removeAttr(e,n):e.setAttribute(n,n),n}},Ce.each(Ce.expr.match.bool.source.match(/\w+/g),function(e,t){var n=Ct[t]||Ce.find.attr;Ct[t]=function(e,t,r){var i,o,s=t.toLowerCase();return r||(o=Ct[s],Ct[s]=i,i=null!=n(e,t,r)?s:null,Ct[s]=o),i}});var kt=/^(?:input|select|textarea|button)$/i,St=/^(?:a|area)$/i;Ce.fn.extend({prop:function(e,t){return qe(this,Ce.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[Ce.propFix[e]||e]})}}),Ce.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&Ce.isXMLDoc(e)||(t=Ce.propFix[t]||t,i=Ce.propHooks[t]),n!==undefined?i&&"set"in i&&(r=i.set(e,n,t))!==undefined?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=Ce.find.attr(e,"tabindex");return t?parseInt(t,10):kt.test(e.nodeName)||St.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),ve.optSelected||(Ce.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),Ce.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){Ce.propFix[this.toLowerCase()]=this}),Ce.fn.extend({addClass:function(e){var t,n,r,i,o,s,a,u=0;if(xe(e))return this.each(function(t){Ce(this).addClass(e.call(this,t,Z(this)))});if(t=ee(e),t.length)for(;n=this[u++];)if(i=Z(n),r=1===n.nodeType&&" "+K(i)+" "){for(s=0;o=t[s++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");a=K(r),i!==a&&n.setAttribute("class",a)}return this},removeClass:function(e){var t,n,r,i,o,s,a,u=0;if(xe(e))return this.each(function(t){Ce(this).removeClass(e.call(this,t,Z(this)))});if(!arguments.length)return this.attr("class","");if(t=ee(e),t.length)for(;n=this[u++];)if(i=Z(n),r=1===n.nodeType&&" "+K(i)+" "){for(s=0;o=t[s++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");a=K(r),i!==a&&n.setAttribute("class",a)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):xe(e)?this.each(function(n){Ce(this).toggleClass(e.call(this,n,Z(this),t),t)}):this.each(function(){var t,i,o,s;if(r)for(i=0,o=Ce(this),s=ee(e);t=s[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else e!==undefined&&"boolean"!==n||(t=Z(this),t&&He.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":He.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+K(Z(n))+" ").indexOf(t)>-1)return!0;return!1}});var Lt=/\r/g;Ce.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=xe(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,Ce(this).val()):e,null==i?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=Ce.map(i,function(e){return null==e?"":e+""})),(t=Ce.valHooks[this.type]||Ce.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&t.set(this,i,"value")!==undefined||(this.value=i))});if(i)return(t=Ce.valHooks[i.type]||Ce.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&(n=t.get(i,"value"))!==undefined?n:(n=i.value,"string"==typeof n?n.replace(Lt,""):null==n?"":n)}}}),Ce.extend({valHooks:{option:{get:function(e){var t=Ce.find.attr(e,"value");return null!=t?t:K(Ce.text(e))}},select:{get:function(e){var t,n,r,i=e.options,s=e.selectedIndex,a="select-one"===e.type,u=a?null:[],l=a?s+1:i.length;for(r=s<0?l:a?s:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),Ce.each(["radio","checkbox"],function(){Ce.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=Ce.inArray(Ce(e).val(),t)>-1}},ve.checkOn||(Ce.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),ve.focusin="onfocusin"in e;var jt=/^(?:focusinfocus|focusoutblur)$/,Nt=function(e){e.stopPropagation()};Ce.extend(Ce.event,{trigger:function(t,n,r,i){var o,s,a,u,l,c,f,d,p=[r||we],h=ge.call(t,"type")?t.type:t,g=ge.call(t,"namespace")?t.namespace.split("."):[];if(s=d=a=r=r||we,3!==r.nodeType&&8!==r.nodeType&&!jt.test(h+Ce.event.triggered)&&(h.indexOf(".")>-1&&(g=h.split("."),h=g.shift(),g.sort()),l=h.indexOf(":")<0&&"on"+h,t=t[Ce.expando]?t:new Ce.Event(h,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=g.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=undefined,t.target||(t.target=r),n=null==n?[t]:Ce.makeArray(n,[t]),f=Ce.event.special[h]||{},i||!f.trigger||!1!==f.trigger.apply(r,n))){if(!i&&!f.noBubble&&!be(r)){for(u=f.delegateType||h,jt.test(u+h)||(s=s.parentNode);s;s=s.parentNode)p.push(s),a=s;a===(r.ownerDocument||we)&&p.push(a.defaultView||a.parentWindow||e)}for(o=0;(s=p[o++])&&!t.isPropagationStopped();)d=s,t.type=o>1?u:f.bindType||h,c=(He.get(s,"events")||Object.create(null))[t.type]&&He.get(s,"handle"),c&&c.apply(s,n),(c=l&&s[l])&&c.apply&&_e(s)&&(t.result=c.apply(s,n),!1===t.result&&t.preventDefault());return t.type=h,i||t.isDefaultPrevented()||f._default&&!1!==f._default.apply(p.pop(),n)||!_e(r)||l&&xe(r[h])&&!be(r)&&(a=r[l],a&&(r[l]=null),Ce.event.triggered=h,t.isPropagationStopped()&&d.addEventListener(h,Nt),r[h](),t.isPropagationStopped()&&d.removeEventListener(h,Nt),Ce.event.triggered=undefined,a&&(r[l]=a)),t.result}},simulate:function(e,t,n){var r=Ce.extend(new Ce.Event,n,{type:e,isSimulated:!0});Ce.event.trigger(r,null,t)}}),Ce.fn.extend({trigger:function(e,t){return this.each(function(){Ce.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return Ce.event.trigger(e,t,n,!0)}}),ve.focusin||Ce.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){Ce.event.simulate(t,e.target,Ce.event.fix(e))};Ce.event.special[t]={setup:function(){var r=this.ownerDocument||this.document||this,i=He.access(r,t);i||r.addEventListener(e,n,!0),He.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this.document||this,i=He.access(r,t)-1;i?He.access(r,t,i):(r.removeEventListener(e,n,!0),He.remove(r,t))}}});var At=e.location,Dt={guid:Date.now()},It=/\?/;Ce.parseXML=function(t){var n,r;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){}return r=n&&n.getElementsByTagName("parsererror")[0],n&&!r||Ce.error("Invalid XML: "+(r?Ce.map(r.childNodes,function(e){return e.textContent}).join("\n"):t)),n};var Ot=/\[\]$/,Pt=/\r?\n/g,Qt=/^(?:submit|button|image|reset|file)$/i,Rt=/^(?:input|select|textarea|keygen)/i;Ce.param=function(e,t){var n,r=[],i=function(e,t){var n=xe(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!Ce.isPlainObject(e))Ce.each(e,function(){i(this.name,this.value)});else for(n in e)te(n,e[n],t,i);return r.join("&")},Ce.fn.extend({serialize:function(){return Ce.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=Ce.prop(this,"elements");return e?Ce.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!Ce(this).is(":disabled")&&Rt.test(this.nodeName)&&!Qt.test(e)&&(this.checked||!Ze.test(e))}).map(function(e,t){var n=Ce(this).val();return null==n?null:Array.isArray(n)?Ce.map(n,function(e){return{name:t.name,value:e.replace(Pt,"\r\n")}}):{name:t.name,value:n.replace(Pt,"\r\n")}}).get()}});var qt=/%20/g,Ft=/#.*$/,$t=/([?&])_=[^&]*/,_t=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ht=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Bt=/^\/\//,Wt={},zt={},Vt="*/".concat("*"),Ut=we.createElement("a");Ut.href=At.href,Ce.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:At.href,type:"GET",isLocal:Ht.test(At.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Vt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":Ce.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?ie(ie(e,Ce.ajaxSettings),t):ie(Ce.ajaxSettings,e)},ajaxPrefilter:ne(Wt),ajaxTransport:ne(zt),ajax:function(t,n){function r(t,n,r,a){var l,d,p,b,w,T=n;c||(c=!0,u&&e.clearTimeout(u),i=undefined,s=a||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=oe(h,E,r)),!l&&Ce.inArray("script",h.dataTypes)>-1&&Ce.inArray("json",h.dataTypes)<0&&(h.converters["text script"]=function(){}),b=se(h,b,E,l),l?(h.ifModified&&(w=E.getResponseHeader("Last-Modified"),w&&(Ce.lastModified[o]=w),(w=E.getResponseHeader("etag"))&&(Ce.etag[o]=w)),204===t||"HEAD"===h.type?T="nocontent":304===t?T="notmodified":(T=b.state,d=b.data,p=b.error,l=!p)):(p=T,!t&&T||(T="error",t<0&&(t=0))),E.status=t,E.statusText=(n||T)+"",l?y.resolveWith(g,[d,T,E]):y.rejectWith(g,[E,T,p]),E.statusCode(x),x=undefined,f&&m.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?d:p]),v.fireWith(g,[E,T]),f&&(m.trigger("ajaxComplete",[E,h]),--Ce.active||Ce.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=undefined),n=n||{};var i,o,s,a,u,l,c,f,d,p,h=Ce.ajaxSetup({},n),g=h.context||h,m=h.context&&(g.nodeType||g.jquery)?Ce(g):Ce.event,y=Ce.Deferred(),v=Ce.Callbacks("once memory"),x=h.statusCode||{},b={},w={},T="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!a)for(a={};t=_t.exec(s);)a[t[1].toLowerCase()+" "]=(a[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=a[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return c?s:null},setRequestHeader:function(e,t){return null==c&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||T;return i&&i.abort(t),r(0,t),this}};if(y.promise(E),h.url=((t||h.url||At.href)+"").replace(Bt,At.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(Pe)||[""],null==h.crossDomain){l=we.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Ut.protocol+"//"+Ut.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=Ce.param(h.data,h.traditional)),re(Wt,h,n,E),c)return E;f=Ce.event&&h.global,f&&0==Ce.active++&&Ce.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Ft,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(p=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(It.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace($t,"$1"),p=(It.test(o)?"&":"?")+"_="+Dt.guid+++p),h.url=o+p),h.ifModified&&(Ce.lastModified[o]&&E.setRequestHeader("If-Modified-Since",Ce.lastModified[o]),Ce.etag[o]&&E.setRequestHeader("If-None-Match",Ce.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+Vt+"; q=0.01":""):h.accepts["*"]);for(d in h.headers)E.setRequestHeader(d,h.headers[d]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(T="abort",v.add(h.complete),E.done(h.success),E.fail(h.error),i=re(zt,h,n,E)){if(E.readyState=1,f&&m.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,r)}catch(e){if(c)throw e;r(-1,e)}}else r(-1,"No Transport");return E},getJSON:function(e,t,n){return Ce.get(e,t,n,"json")},getScript:function(e,t){return Ce.get(e,undefined,t,"script")}}),Ce.each(["get","post"],function(e,t){Ce[t]=function(e,n,r,i){return xe(n)&&(i=i||r,r=n,n=undefined),Ce.ajax(Ce.extend({url:e,type:t,dataType:i,data:n,success:r},Ce.isPlainObject(e)&&e))}}),Ce.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),Ce._evalUrl=function(e,t,n){return Ce.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){Ce.globalEval(e,t,n)}})},Ce.fn.extend({wrapAll:function(e){var t;return this[0]&&(xe(e)&&(e=e.call(this[0])),t=Ce(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return xe(e)?this.each(function(t){Ce(this).wrapInner(e.call(this,t))}):this.each(function(){var t=Ce(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=xe(e);return this.each(function(n){Ce(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){Ce(this).replaceWith(this.childNodes)}),this}}),Ce.expr.pseudos.hidden=function(e){return!Ce.expr.pseudos.visible(e)},Ce.expr.pseudos.visible=function(e){ +return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},Ce.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Xt={0:200,1223:204},Yt=Ce.ajaxSettings.xhr();ve.cors=!!Yt&&"withCredentials"in Yt,ve.ajax=Yt=!!Yt,Ce.ajaxTransport(function(t){var n,r;if(ve.cors||Yt&&!t.crossDomain)return{send:function(i,o){var s,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(s in t.xhrFields)a[s]=t.xhrFields[s];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(s in i)a.setRequestHeader(s,i[s]);n=function(e){return function(){n&&(n=r=a.onload=a.onerror=a.onabort=a.ontimeout=a.onreadystatechange=null,"abort"===e?a.abort():"error"===e?"number"!=typeof a.status?o(0,"error"):o(a.status,a.statusText):o(Xt[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=n(),r=a.onerror=a.ontimeout=n("error"),a.onabort!==undefined?a.onabort=r:a.onreadystatechange=function(){4===a.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{a.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),Ce.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),Ce.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return Ce.globalEval(e),e}}}),Ce.ajaxPrefilter("script",function(e){e.cache===undefined&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),Ce.ajaxTransport("script",function(e){if(e.crossDomain||e.scriptAttrs){var t,n;return{send:function(r,i){t=Ce("