From a4f18471a883dbc233800631943811026e963e77 Mon Sep 17 00:00:00 2001 From: zone117x Date: Tue, 14 Apr 2015 08:51:56 -0600 Subject: [PATCH] Web UI development started --- src/Jackett/App.config | 14 +- src/Jackett/DataUrl.cs | 9 +- src/Jackett/IndexerInterface.cs | 3 +- src/Jackett/IndexerManager.cs | 32 +- src/Jackett/Indexers/BitMeTV.cs | 4 +- src/Jackett/Indexers/Freshon.cs | 27 +- src/Jackett/Jackett.csproj | 33 +- src/Jackett/Server.cs | 125 +- src/Jackett/WebApi.cs | 164 + .../WebContent/IndexerImages/bitmetv.jpg | Bin 56798 -> 0 bytes .../WebContent/bootstrap/bootstrap.min.css | 5 + .../WebContent/bootstrap/bootstrap.min.js | 7 + .../glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes src/Jackett/WebContent/handlebars-v3.0.1.js | 3748 +++++++++++++++++ src/Jackett/WebContent/index.html | 37 +- src/Jackett/WebContent/logos/bitmetv.png | Bin 0 -> 36897 bytes src/Jackett/WebContent/logos/freshon.png | Bin 0 -> 39049 bytes src/Jackett/WebContent/setup_indexer.html | 2 +- 18 files changed, 4035 insertions(+), 175 deletions(-) create mode 100644 src/Jackett/WebApi.cs delete mode 100644 src/Jackett/WebContent/IndexerImages/bitmetv.jpg create mode 100644 src/Jackett/WebContent/bootstrap/bootstrap.min.css create mode 100644 src/Jackett/WebContent/bootstrap/bootstrap.min.js create mode 100644 src/Jackett/WebContent/bootstrap/glyphicons-halflings-regular.woff create mode 100644 src/Jackett/WebContent/handlebars-v3.0.1.js create mode 100644 src/Jackett/WebContent/logos/bitmetv.png create mode 100644 src/Jackett/WebContent/logos/freshon.png diff --git a/src/Jackett/App.config b/src/Jackett/App.config index d0feca6f7..56ebf3f29 100644 --- a/src/Jackett/App.config +++ b/src/Jackett/App.config @@ -1,6 +1,16 @@ - + + - + + + + + + + + + + diff --git a/src/Jackett/DataUrl.cs b/src/Jackett/DataUrl.cs index 53022463d..339858836 100644 --- a/src/Jackett/DataUrl.cs +++ b/src/Jackett/DataUrl.cs @@ -4,21 +4,16 @@ using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; +using System.Web; namespace Jackett { public class DataUrl { - static Dictionary ImageMimeTypes = new Dictionary{ - { ".jpg", "data:image/jpeg" }, - { ".jpeg", "data:image/jpeg" }, - { ".png", "data:image/png" }, - { ".gif", "data:image/gif" } - }; public static string ReadFileToDataUrl(string file) { - string mime = ImageMimeTypes[Path.GetExtension(file)]; + string mime = MimeMapping.GetMimeMapping(file); return "data:" + mime + ";base64," + Convert.ToBase64String(File.ReadAllBytes(file)); } diff --git a/src/Jackett/IndexerInterface.cs b/src/Jackett/IndexerInterface.cs index 2ee106302..cf3254b7e 100644 --- a/src/Jackett/IndexerInterface.cs +++ b/src/Jackett/IndexerInterface.cs @@ -12,8 +12,7 @@ namespace Jackett { string DisplayName { get; } string DisplayDescription { get; } - Uri SitLink { get; } - + Uri SiteLink { get; } // Retrieved for starting setup for the indexer via web API Task GetConfigurationForSetup(); diff --git a/src/Jackett/IndexerManager.cs b/src/Jackett/IndexerManager.cs index 3928c686f..fb22b9c2e 100644 --- a/src/Jackett/IndexerManager.cs +++ b/src/Jackett/IndexerManager.cs @@ -13,30 +13,26 @@ namespace Jackett static string AppConfigDirectory = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); static string IndexerConfigDirectory = Path.Combine(AppConfigDirectory, "Indexers"); - Dictionary loadedIndexers; - - Dictionary implementedIndexerTypes; + public Dictionary Indexers { get; private set; } public IndexerManager() { - loadedIndexers = new Dictionary(); + Indexers = new Dictionary(); - implementedIndexerTypes = (AppDomain.CurrentDomain.GetAssemblies() + var implementedIndexerTypes = AppDomain.CurrentDomain.GetAssemblies() .SelectMany(s => s.GetTypes()) - .Where(p => typeof(IndexerInterface).IsAssignableFrom(p))) - .ToDictionary(t => t.Name.ToLower()); + .Where(p => typeof(IndexerInterface).IsAssignableFrom(p) && !p.IsInterface) + .ToArray(); - - // TODO: initialize all indexers at start, read all saved config json files then fill their indexers + foreach (var t in implementedIndexerTypes) + { + LoadIndexer(t); + } } - IndexerInterface LoadIndexer(string name) + IndexerInterface LoadIndexer(Type indexerType) { - name = name.Trim().ToLower(); - - Type indexerType; - if (!implementedIndexerTypes.TryGetValue(name, out indexerType)) - throw new Exception(string.Format("No indexer of type '{0}'", name)); + var name = indexerType.Name.Trim().ToLower(); IndexerInterface newIndexer = (IndexerInterface)Activator.CreateInstance(indexerType); @@ -47,15 +43,15 @@ namespace Jackett newIndexer.LoadFromSavedConfiguration(jsonString); } - loadedIndexers.Add(name, newIndexer); + Indexers.Add(name, newIndexer); return newIndexer; } public IndexerInterface GetIndexer(string name) { IndexerInterface indexer; - if (!loadedIndexers.TryGetValue(name, out indexer)) - indexer = LoadIndexer(name); + if (!Indexers.TryGetValue(name, out indexer)) + throw new Exception(string.Format("No indexer with ID '{0}'", name)); return indexer; } diff --git a/src/Jackett/Indexers/BitMeTV.cs b/src/Jackett/Indexers/BitMeTV.cs index a66fd0e9e..243307c4f 100644 --- a/src/Jackett/Indexers/BitMeTV.cs +++ b/src/Jackett/Indexers/BitMeTV.cs @@ -60,7 +60,7 @@ namespace Jackett public string DisplayName { get { return "BitMeTV.org"; } } public string DisplayDescription { get { return "TV Episode specialty tracker"; } } - public Uri SitLink { get { return new Uri("https://bitmetv.org"); } } + public Uri SiteLink { get { return new Uri("https://bitmetv.org"); } } public bool IsConfigured { get; private set; } @@ -81,7 +81,7 @@ namespace Jackett return Task.Run(async () => { var config = new BmtvConfig(); - config.LoadValuesFromJson(configJson["config"]); + config.LoadValuesFromJson(configJson); var pairs = new Dictionary { diff --git a/src/Jackett/Indexers/Freshon.cs b/src/Jackett/Indexers/Freshon.cs index 913d31046..3f166d131 100644 --- a/src/Jackett/Indexers/Freshon.cs +++ b/src/Jackett/Indexers/Freshon.cs @@ -11,8 +11,20 @@ namespace Jackett public class Freshon : IndexerInterface { - public string DisplayName { get; private set; } + public string DisplayName + { + get { return "FreshOnTV"; } + } + public string DisplayDescription + { + get { return "Our goal is to provide the latest stuff in the TV show domain"; } + } + + public Uri SiteLink + { + get { return new Uri("https://freshon.tv/"); } + } public Task GetConfigurationForSetup() { @@ -33,23 +45,12 @@ namespace Jackett public bool IsConfigured { - get { throw new NotImplementedException(); } + get { return false; } } public void LoadFromSavedConfiguration(JToken jsonConfig) { throw new NotImplementedException(); } - - - public string DisplayDescription - { - get { throw new NotImplementedException(); } - } - - public Uri SitLink - { - get { throw new NotImplementedException(); } - } } } diff --git a/src/Jackett/Jackett.csproj b/src/Jackett/Jackett.csproj index 71cfcd85d..83c86cc5d 100644 --- a/src/Jackett/Jackett.csproj +++ b/src/Jackett/Jackett.csproj @@ -51,7 +51,8 @@ ..\packages\CsQuery.1.3.4\lib\net40\CsQuery.dll - + + False ..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll @@ -85,10 +86,14 @@ + + + PreserveNewest + @@ -100,20 +105,32 @@ + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + - Always + PreserveNewest - Always + PreserveNewest - Always + PreserveNewest - Always - - - Always + PreserveNewest diff --git a/src/Jackett/Server.cs b/src/Jackett/Server.cs index 42e41cc42..f6483b6f3 100644 --- a/src/Jackett/Server.cs +++ b/src/Jackett/Server.cs @@ -14,23 +14,12 @@ namespace Jackett { HttpListener listener; IndexerManager indexerManager; - - static string[] StaticFiles = Directory.EnumerateFiles("WebContent", "*", SearchOption.AllDirectories).Select(Path.GetFileName).ToArray(); - - enum WebApiMethod - { - GetConfigForm, - ConfigureIndexer - } - static Dictionary WebApiMethods = new Dictionary - { - { "get_config_form", WebApiMethod.GetConfigForm }, - { "configure_indexer", WebApiMethod.ConfigureIndexer } - }; + WebApi webApi; public Server() { indexerManager = new IndexerManager(); + webApi = new WebApi(indexerManager); listener = new HttpListener(); listener.Prefixes.Add("http://*:9117/"); @@ -42,7 +31,7 @@ namespace Jackett while (true) { var context = await listener.GetContextAsync(); - ProcessContext(context); + ProcessHttpRequest(context); } } @@ -52,114 +41,10 @@ namespace Jackett listener.Abort(); } - static Dictionary MimeMapping = new Dictionary { - { ".html", "text/html" }, - { ".js", "application/javascript" } - }; - - async void ServeStaticFile(HttpListenerContext context, string file) + async void ProcessHttpRequest(HttpListenerContext context) { - var contentFile = File.ReadAllBytes(Path.Combine("WebContent", file)); - - string contentType; - MimeMapping.TryGetValue(Path.GetExtension(file), out contentType); - - context.Response.ContentType = contentType; - context.Response.StatusCode = (int)HttpStatusCode.OK; - await context.Response.OutputStream.WriteAsync(contentFile, 0, contentFile.Length); - context.Response.OutputStream.Close(); - } - - async void ProcessWebApiRequest(HttpListenerContext context, WebApiMethod method) - { - var query = HttpUtility.ParseQueryString(context.Request.Url.Query); - - string postData = await new StreamReader(context.Request.InputStream).ReadToEndAsync(); - JToken dataJson = JObject.Parse(postData); - JToken jsonReply = new JObject(); - var indexerString = (string)dataJson["indexer"]; - IndexerInterface indexer; - - try + if (webApi.HandleRequest(context)) { - indexer = indexerManager.GetIndexer(indexerString); - } - catch (Exception ex) - { - jsonReply["result"] = "error"; - jsonReply["error"] = ex.Message; - ReplyWithJson(context, jsonReply); - return; - } - - context.Response.ContentType = "text/json"; - context.Response.StatusCode = (int)HttpStatusCode.OK; - - switch (method) - { - case WebApiMethod.GetConfigForm: - try - { - var config = await indexer.GetConfigurationForSetup(); - jsonReply = config.ToJson(); - } - catch (Exception ex) - { - jsonReply["result"] = "error"; - jsonReply["error"] = ex.Message; - } - break; - case WebApiMethod.ConfigureIndexer: - try - { - await indexer.ApplyConfiguration(dataJson); - await indexer.VerifyConnection(); - jsonReply["result"] = "success"; - } - catch (Exception ex) - { - jsonReply["result"] = "error"; - jsonReply["error"] = ex.Message; - if (ex is ExceptionWithConfigData) - { - jsonReply["config"] = ((ExceptionWithConfigData)ex).ConfigData.ToJson(); - } - } - break; - default: - jsonReply["result"] = "error"; - jsonReply["error"] = "Invalid API method"; - break; - } - - ReplyWithJson(context, jsonReply); - } - - async void ReplyWithJson(HttpListenerContext context, JToken json) - { - byte[] jsonBytes = Encoding.UTF8.GetBytes(json.ToString()); - await context.Response.OutputStream.WriteAsync(jsonBytes, 0, jsonBytes.Length); - context.Response.OutputStream.Close(); - } - - async void ProcessContext(HttpListenerContext context) - { - Console.WriteLine(context.Request.Url.Query); - - string path = context.Request.Url.AbsolutePath.TrimStart('/'); - if (path == "") - path = "index.html"; - - if (Array.IndexOf(StaticFiles, path) > -1) - { - ServeStaticFile(context, path); - return; - } - - WebApiMethod apiMethod; - if (WebApiMethods.TryGetValue(path, out apiMethod)) - { - ProcessWebApiRequest(context, apiMethod); return; } diff --git a/src/Jackett/WebApi.cs b/src/Jackett/WebApi.cs new file mode 100644 index 000000000..3ff1bb8a8 --- /dev/null +++ b/src/Jackett/WebApi.cs @@ -0,0 +1,164 @@ +using Newtonsoft.Json.Linq; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Net; +using System.Text; +using System.Threading.Tasks; +using System.Web; + +namespace Jackett +{ + public class WebApi + { + static string WebContentFolder = "WebContent"; + static string[] StaticFiles = Directory.EnumerateFiles(WebContentFolder, "*", SearchOption.AllDirectories).ToArray(); + + public enum WebApiMethod + { + GetConfigForm, + ConfigureIndexer, + GetIndexers + } + static Dictionary WebApiMethods = new Dictionary + { + { "get_config_form", WebApiMethod.GetConfigForm }, + { "configure_indexer", WebApiMethod.ConfigureIndexer }, + { "get_indexers", WebApiMethod.GetIndexers } + }; + + IndexerManager indexerManager; + + public WebApi(IndexerManager indexerManager) + { + this.indexerManager = indexerManager; + } + + public bool HandleRequest(HttpListenerContext context) + { + string path = context.Request.Url.AbsolutePath.TrimStart('/'); + if (path == "") + path = "index.html"; + + var sysPath = Path.Combine(WebContentFolder, path.Replace("/", Path.DirectorySeparatorChar.ToString())); + if (Array.IndexOf(StaticFiles, sysPath) > -1) + { + ServeStaticFile(context, path); + return true; + } + + WebApi.WebApiMethod apiMethod; + if (WebApi.WebApiMethods.TryGetValue(path, out apiMethod)) + { + ProcessWebApiRequest(context, apiMethod); + return true; + } + + return false; + } + + async void ServeStaticFile(HttpListenerContext context, string file) + { + var contentFile = File.ReadAllBytes(Path.Combine(WebContentFolder, file)); + context.Response.ContentType = MimeMapping.GetMimeMapping(file); + context.Response.StatusCode = (int)HttpStatusCode.OK; + await context.Response.OutputStream.WriteAsync(contentFile, 0, contentFile.Length); + context.Response.OutputStream.Close(); + } + + async Task ReadPostDataJson(Stream stream) + { + string postData = await new StreamReader(stream).ReadToEndAsync(); + return JObject.Parse(postData); + } + + async void ProcessWebApiRequest(HttpListenerContext context, WebApiMethod method) + { + var query = HttpUtility.ParseQueryString(context.Request.Url.Query); + + JToken jsonReply = new JObject(); + + context.Response.ContentType = "text/json"; + context.Response.StatusCode = (int)HttpStatusCode.OK; + + switch (method) + { + case WebApiMethod.GetConfigForm: + try + { + var postData = await ReadPostDataJson(context.Request.InputStream); + string indexerString = (string)postData["indexer"]; + var indexer = indexerManager.GetIndexer(indexerString); + var config = await indexer.GetConfigurationForSetup(); + jsonReply["config"] = config.ToJson(); + jsonReply["result"] = "success"; + } + catch (Exception ex) + { + jsonReply["result"] = "error"; + jsonReply["error"] = ex.Message; + } + break; + case WebApiMethod.ConfigureIndexer: + try + { + var postData = await ReadPostDataJson(context.Request.InputStream); + string indexerString = (string)postData["indexer"]; + var indexer = indexerManager.GetIndexer(indexerString); + await indexer.ApplyConfiguration(postData["config"]); + await indexer.VerifyConnection(); + jsonReply["result"] = "success"; + } + catch (Exception ex) + { + jsonReply["result"] = "error"; + jsonReply["error"] = ex.Message; + if (ex is ExceptionWithConfigData) + { + jsonReply["config"] = ((ExceptionWithConfigData)ex).ConfigData.ToJson(); + } + } + break; + case WebApiMethod.GetIndexers: + try + { + jsonReply["result"] = "success"; + JArray items = new JArray(); + foreach (var i in indexerManager.Indexers) + { + var indexer = i.Value; + var item = new JObject(); + item["id"] = i.Key; + item["display_name"] = indexer.DisplayName; + item["display_description"] = indexer.DisplayDescription; + item["is_configured"] = indexer.IsConfigured; + item["site_link"] = indexer.SiteLink; + items.Add(item); + } + jsonReply["items"] = items; + } + catch (Exception ex) + { + jsonReply["result"] = "error"; + jsonReply["error"] = ex.Message; + } + break; + default: + jsonReply["result"] = "error"; + jsonReply["error"] = "Invalid API method"; + break; + } + + ReplyWithJson(context, jsonReply); + } + + async void ReplyWithJson(HttpListenerContext context, JToken json) + { + byte[] jsonBytes = Encoding.UTF8.GetBytes(json.ToString()); + await context.Response.OutputStream.WriteAsync(jsonBytes, 0, jsonBytes.Length); + context.Response.OutputStream.Close(); + } + + } +} diff --git a/src/Jackett/WebContent/IndexerImages/bitmetv.jpg b/src/Jackett/WebContent/IndexerImages/bitmetv.jpg deleted file mode 100644 index d88202b029e7d6ae9d017297165c583f34681d7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56798 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

qrr`C1{{<#?lJo_ZYOJz5s``6Bszph zL`k1^xVGPS;VDw=7lc@rW(HlpG`O~@Hin_kV&&eD+wQ$Ln&7Ca;0*`DxCY?g1@cRR zt}`b%%iKoZn}EyVTgMEb3$5AQ?AliC&d!tfH2CUEzY)oCt0R|IVltNImCKJOvP5bl ze>zZ!&Qcb#tIHkg&GKnIyF`06k_QgKW^8!#y<+(A^cG>V+WvvMN#G;x!d};A!{w*w?Ad|$87~1V_8r)>A zRa3OYeFi&tz=wiYs;=BvfozFCO1nMP(yoyAx@?tU zk0s=DnR&OSL~z&+y+|4|x{!4KHr3Lq@=s5s`#p{Z)dds z0PamvxXr!nMFhXPWg;IsjRl{Kc6gjc` zR3&jUxTwIB49zp*YQI$zuUe3tCDcpWWv*B2H_VsqT3*3#Mij8C^ShX5AKupp{{XKv z+<5l55nhfM7aNX>@S>uMkjYdn)xpvKHaefLdI@)RR z#s;mNM`fIeHrd)rKWdKDphBAtL^qK{#{?+MveTb;Zz{Sfw`7=?ej$a#vRauIX#m_H z1(;*E85+4W+2ZT5vTE4jHIc8^( z>z0_t=%b0On(h;5N|nTI$ztPqiNvv@wJ=fE8F*wyDaFoh20k>pmlt!tb#Y%OOhmI^ zf(HWHAG7jHu{!gyy-OC)8Cr1VHjWcx8zrw!YlnfzJVe;qxa*8~qC=$;)}T;$g*fZ6 zvf2gY-C1q^6EVz16a>TMWz zfSbbW-BCVS?M=v+Vz}{-7eu*m{{Rex7Qz`@tzp7p4d-2n2-%AwQ ztnZb}k{nU^C(ZD+-o8eO@rwW*RQi<3rNv>(^pCBmV9tIy7xtxBZ#Q>8%NPj%07P}y z3d9h&yxX_t9ycCo_uS7d(q3!I*oX>g>R89(^!!hU<6(MI^0J_-oh5|F^H<)l&8ON+ z{{Y)xn@#+3zqu()l~uy=Exy6V-k!gzy4R1VrF5oW(w{r9Mat^xvEFsP(;d~p{k7ek z(FvBJ7h2S$OOCmDmkj6AxGA$&`~_mI-+TyOUn32gKuwKna!aCNgST!GVwNOF9$T0HdN}gU&2`)smm97X-bt?AqOVm}qGJp2T0?>I zX)-WwxtJ*%DTMH!A~}Al9&M_}XKcTXnKs&r-@#js?62%R65ADP#BnB%7z=Osud^)nHe+A<wi|pMn!so+%tGdggiT?l?bM8&o6i6p55QiV1QcaTslwWxT zC>s(Y5R1z~UDbY$_0<9eiXIcbwU zEut>UtGA~^pe8HeNk+1UV+MatERJ5BuYi!6Q|(Q9`8A0`Ey`f#Fwj2OIFB|4tV9Q} z+sK5NEafOvcrq-a6huOwGUG3z^-*$PEm!QO`#%Km&~lRjn@mSApXD1o{j`G)(QJq# zxQu8KSV3PjMw%2)?QZVNUUi*YdOChbNeU3I%7mFs{tI22XAfE*VKu5Y zz#^iV7W7LagDu*KR8?Afdl?n*RAyKKC)S%*TeV$aZGlL4sfZ2yL8r;^%J})#E!XZR zw>h_X-GMZA9AiU}+FTOv*1v;z^%0*b_I*y{9&zM=`_!ds;=2s(C`uqnaDZ$2BAYti zOUHCd_E8{79c%fXBZ?b-o*#X+!ufTjN4P@wArP^y-mz}rzsvcVN>l~&Tw<|x;eH~A zry7<`f@nA8`QFMS-p7K`^J8hyzSEk+jq>-#4=OrxtK(a;)>l61u07=QRo_SJs9ZlB zf&-Hg^a)akjyq_}M*8!Gfmbj{JyWGbyw9{-_=U!m(vKSQ)Q0Vin{E&zrxewsnC9Ki zViSK1rB0CaD5l-W;;OVH*rX7S(Kgg*yrdOzq!Qa!X+4UzxbJ*6&t9MU&jct*Nn3ClCPu0s;X80|fyA0RR91000315g{=_QDJd`k?;_qvBA;dAo2g&00;pA z00BQC`jGlRZ=?b6{>Q0jY^51<9tn#1<}EL$`1h5pC)MvUqO3{9@%feOXFNkpq_Md5 z;q4U2wB_NG?GDixKXVus5dD4Smqff*yh;v{f4W#qNd&L;ADo|r znzvr^_c^{iL0wtmDYo&}=+^o}PgisNAn=`Eox#ACh71$#;{xBbV^E(q}s zVZrx^M+rHh!+&>@Ahw@FYI?=l<`(WlR}BVOmmWi2suTx^LLXAb_;0&bj>5Hb`FXp}}W=gM=w zZef8}eJ*5gELUcDvlD^^Ms>m}Et^v>&yB&PY9ND@2005%)71tWlGpv9gtB#6r-;8$ zW;P=cZ&*u#r4n2kD#*n5I&Lw9DjNE7fY;tQKhpbLxx*osmr!Q4-c=0ge_)htZ zu6a?I`fj;b=d5PBGLFte#PD3Tf!a0fOBh7qhB~H{HZtag_-zo$ijVtwPzYZvf+!(q zD{nuToSPC1cq3HXwHHOe+!A;`;c*6iNXi%(J>cyXWKeA5fE}&kA^!lis&9N8C|?Rb z^bx_{z|FPbfwJ;V=ww6n$bH0r;09uQtQuoyFEOp&h}# z3gTo#3F5l4hgIwRiJ_KwivH|Du1u}OFutab_6F<$#DCx*ID!d&C$8(nqPor@9Cg0% zcXNGxI?IhnA}YAEq6ves?>LrX`k&)HC|%rnhXTCymI|^TIzeT3>rW@6^kV8TuL?q; zdpbj0Sm$P;D73X)ZoHSZVR%9pSwhaz`$?VY#zFA~xy-_oHvY=3)LBs1ajeMc6vE6nRv-wrZZkolDT`4ZX4o zmt819-r8A=plrLT+BH0RlmjVqMH+*wHhS-^gwW#665#Hw?UfSL@I+9;izqH&qBbgD zb;~#vS6Z^@f+%mSgoJeKEdum8emIJslP<`ahAiyMr}&OoJ?Cr5a+!96KEare}yMqXY$j4>$ECMJlv%{nhP zs)h)~U|CGB><8*~54s+7fi!9&^TbC=n>-Yxm6agU(B`3=h|1AoSGZ!xp@t6 z#d}Awn(Xv{v2+L8H$xf}G;#jGcGoAE$mjW+KST7t(XOf*rW>T}A)sY{nNlVh>lOsn zK?fsy`Q{L12S-K;JIm6cQGoiA%?0VN{Rr9}ZHY(5D*El&3ZKrCs0RAZxaBUe$ZruZy}@P?*)u%nPbG|dg~4uXmRV^ruHEHrV0 zLwKdcDN2H}+f3RoY8c8LtIDN-@htnLx+pEXq0mD%QL@fo?S9oNsv=LYS>*jRt}QN7j_5U)u$7j<*ETmY*!3$@4BxdcbG>`D zXnV8HFv;I8OP7m?99le6%(*y^t-Hdgi8;b9tnU%jTe|=W!vkxdl;^ai)CXXVoP!ti zx)@Ifn0SCF6cF}Yh($pfjPd)|Lv z@O0m>*WBPKWTr|4$bQ6C&4?t8&A4XH|7*!pFby*JsQ-r*jI?v(JZsm5s>5cA(E{tY z%B3Z%U3o`;^#=TmynvG(lq?Z4D?l05H4)K}f09FDFj=Ep)XZa=&)(j~?Kjz$(BGb~ zT|2L~#&35k(s4_GSI+QJBM*tBUFr$jtwWwnX~xV7ZccA9hDwoYVK_#to+srJwx*kA z>iX0xi)vtJ zvVV4tM8P$2SjJpyZWm`6_Q~AN*;aydv|HGPl{GMxc(Ex+@wa+Sv~8Bv*fdIWT9K^5 z+QV5K*Xx0kr)!-UO`xnc&aO6~%)SAb$#vb`A?HC6n|tM|_xv|#hEUMq`4r#sNX?p| z$2CJ^*tUvL+K_9ujDmf)mi6-}!FFw0G^>Y~-&_6&v(Z~qk#W8o|No35+eCWJY$Nnb@xIc4Y_gVgtvUYeS=pd2gz3y3NlE zQsn@LyQ~HspT@UfjDy&wx26ToDCVLn%LdOk2V^F^-w7@BFt$XT!mA!I%|-n##If5R zCGA5rF+br+)K@+-QlQ>XtC;~`Bp=LCSGdUZhlr$%2&oH0&|73fPJXLH*|fkVLs(nB zZ+8o&AEpjNQdk0pD&c_KhOm4u>krT0KdtuNW;*<}mK07^C5^5MkaA+e!$UJRL1k-=}<$c`8j*yx;<{prVl04m=v5>-5L zKh?3TM|X?Z_NevLk&V7ar-lCjB(syh-4b%<^e)#UY}0GMsnLx3freQLeV{TZ*(nLrAmH zA~Z^(&d@#l{fC5D;MMXaJBCFF^|u9I+_MHHe$rH3d43OSJja$BISuUuaE=eJym&P3 zK+Z#ki_CZlAzH&oNdZ7jnfmLyY;t>Ms}nPqdKszB&Fc-RRhPV2bpe4ZsyrKI zfA2hvb|k%7`(SglPeDN6(@cPM6mmloh*gl+Voy5L^z2sX z-FIiVP`A|jl=Va5;2_gA00@gG87@^hp(5j_T({#2Bv@_08AebXCsH_!h7 zE~pz8dOpJQ_Z**rF@KJECBw`7q`@$^=pcJ!*=s;Sj;v)fEH|kEgpv~XkxINBSo0*H z-F4wz1h_`}fec1#X9QR2G)i$F=sVn<+*t~j)_9F1?UEFCZ?+y3S^M7zds@ghiFmhg zYP1-&&_>$@Iq#vqKZ^uv;7r_a>lRw3;~A5%V$pET4^sAi#af6t3WVjvXWUYx$+~J- z10xrQ_A)f#r_i_WKAG1P-u>U=>ARYdcC^!d2iN>!r?dFKzW|G7t#&x$0}f7TW_=;> zuTHjlp1$#n=xM`z5Y0x_o#u62c10DBI@>cs+43p?+FzAX`Er$nq-GMzOpN|cA-6z2 z?8{>({q*p6$y8S`Na+p$gtJ+x6j#4asS4qWD9I9f5gozx z^@uw(xT@753ADt*PgeJ;dg|%^Nk$f|z8~jX3=_lCo!&;_%$U82Is*u{P;#K%$6(Fi z%%@D;IXbyv1w5*Bx1wGLxe~ax)vq#D5u`XhB`XHJ z@nvp1v&l3bNJD^48)@lSMr}fX6&6QV0E;bB?~JXI^y`p9kW|QG**6?li&vQguS3JD zZ1;T`wGp=|nb6XJivH6McSB9A1`FYp0(X9e`XOl@xK2<9{tG*eL8!;A4t}5E@bfdu zfD)oXVmqXsfUUVXhu1#{6kTMtdLQHt4r=)>9OvB}2AX`RIHrab8=fbV zyS)V7gZ%{{3d|n=1sQ=-7$fo*LNX;cvFQEc4N8|V7KP5Ar2`qL{Gm1(_kj)Ox8P7? zVl-L!B&lijho=VDf+69u3WY*NERBdjqo&Mf(k~qUu;30K zA)x~5a`qCzl%eRc!?!htth(e^YYD!KIu z=q%RioC3Kbjn2(d$K-)9)F8xGFnN~9M!L{Kk)l@8m0d9S9wMtSJ2*1)c8E?CWW(CU ztsld#p}6imk|u-FR6pyjGy$i@7{r<>dlbaAB*G?q^N+sz-%7M8xA|(UjSJmVl89V5gR}(&4U7gzf0OwrP%J}eA%!GU%ZYSXr3P0uu=H8e z4d~|L;@rpb=mFh2J8|aR|6YMO_Vd_JOWm(p=YATJiRw_= zcFfgFqmTXymI8jY3_TDcEaOj>oP3s6fH%Yz7JkvfcEeVc{=yA(Cv3^>4Cbu3*|O9y ze;a-++$5msny&czE7F;%@oJdnvo@8xUM8gCV~XHY@ZPJ>TOm+}gW<90A2pfo%p@Hq zjWg7pjn*`ivqmk2_i`sALPz35pSKv~gtAF^!B(je)Od2ld$n$o8vKaVQ`ehMwXr0N zdfK(}@P@W*!i8Hbd!x!dCIQ5Mp;yC_dYZyj}4V> zjGNh-G;Yp}iie%Fh|kK#>{sdn-|0CS(e!2P@L4a(ZdK55S1mM)FF{P-lq(qf`@ zMGUyh^yy;PJBNN0CD&wKUnH0*6A|RIN&ajiZJ{X?0PcKVHKNKYeF~`VIAFr5y!>&F zuX^QzFP~3g>3rbXA>eXPSW4V!n3r`5#6VqB$`B3}Nd*(6qMuQ$DU)G6#rd9aUn%T6 z$(dt+Zd?&Qt}RaBEPO|UK#hwnmEj}Cqz}4!Xw3c95hUHmJdCrxhgxr-Uk+uB@(FI> z!S-i-m&|p5Z8=D{38cA*-y?PaPZ>125)z*d8~98s#E`efmB+TpoKK63n#ITxk|B>s z_WTYD=25(d_WNY-*FwQJ40WBNI-=|)(3sgrMiXmrP3jrzIS{L3 zMx=YrDc~h_fvqXOt_@P}dgz zP4-64^c2zZqNFSk9-A-4Uxdsz@n6Q2=kjv$>Nbv*W+9^m9a?Hqhbk+UdYab#e*omB zN~%Y9WMVda1%Rf}O}CyIIrc^kKUWp!>9qhSf1waKREUu4D6Q(!S^K9zE(IdR58*nJ zTGV<7Xhmo2i<4uB<@$66N|k2ZXx((4cX^wKvkOjhkF6_Jk=HZiVRzz0WC9AqtT&>v z9HlTL72?R)AF*OhG7U=UP9asiGIa?+d`c~-=yRdgXmJU16_XRwahBdQc)8S>Ufc^c z*X4}~dQ*D*;au$y3K4ERLV8R7UmenHrPBnz5UjbnRjCT4TkyFh#DU|)yctKe!lhy$ zthSdc7PM)TT`)bGCre$meVO2$psA70;|N(b;Tr8W6Nei7*p9;$P3?z-O2vZw9KRoP zL~q~`3l}MesriDmp1x11DW|V*R>*^u3iruPjR~m=%a?xr4R5ZKsdVRRx8J&mYLjRG z1t_2uMTUJrs|)0u!DelK^<)DaA7=0Zb<@Z`99_isb{w`g8()0_03Q51kOzQ&NAbwy_#4QVo zeXJIy`bwDwb=|zE&?A!cD0A!b4MU&;xY4g)x~Fst8T>)s>1TUq&$rV?$Hlzli-Hh> zF3(&2%Y=lU4nDXX(Zy!tV@;Mbnn4ZvtOy~lriKYgT---k(%P0fZ8(8hx9j*RuROE-EwG zQIZomK=?Bl0kQh!_x(~)?J-zi{;l}zHSC>X^$>fRdkms{QRaRcEY-A{nh~eVSJ7ee zN>vf&tx&aUQ(>RQ@K%N$-o`KR4ao8Z9Cb^qzcFEsfdjh}+$ta7aXq-Xiy^W;#`DSB z1oyys8PdEC9nqu3so3ys=+?yW(@zOD{|2+nsx6GuqRs&E@Wz0n+P=eek)sypVLIpE zu3~7n7irCFTC5>utRyBti{NU)mniobHb?vMD_WF6#Z|4@-!vZ99w;E*HLYh;o}Nx_ zs(uVjUc(K6x_gc-ck8?BSL$!V=3$zi?aJBQ|LjswzySaA^nhRx!0*@pjj#THyA*IBw0B2w@Ri1*BZC^!#mvhv@MBlYPhcse?9? z@g^7QoV1rnzwFYjiz!r*6`kN5J25Z<~V^X=i)9973=Y4)( zF;ZQKMP^GpgYssw0&HPADZWA1#W!IB-KhDR;`sqQ2g-p<+HxSmx$*rS(aUR4e(4{` zuUqJ4ygeUf24uA8hr@CHxrMfybRM8fM?`i_6z8q5N~3VHBilG(kD7?43y#or zN>F=PM%*M`Re4+}145vt;IsPuqNwL5ny5py%cpmsi{r0d8H-eot={wpayhnPIXs#( zw7a@v#174?NwBg(Mw7}+zLFheH0~O?&)(b(vK(_L_MrP~bb3JGH<(si>Ow1W_h9vC+1X9#}ADKSy;m z4){&ymh)jnpmY=UIeoGjxhRts&Dg*h^%E>YFAzlk<(UwvW}Q>0u=6DiE48Askb2>5Yw>IG z3BSOs6n2;7K?@7^#uP{#_ZeY=3=ACS+>Tb%Sh+jE@I5mJ?>=Pz^uFgOt=6REv>9nt z5sf_QePBX86ATjH6gplw*hpxdAfZLFDDvACTsyY)wg@##&J;Vv$;5vErKa&K2)0QW zt(EvKk(WPhhLt)W1?(?ER-REpscXYU`jtiVm_1wu$h5zMiKiTQ)#c<2|49&qTmLoL z){O*KdhIMsDc-!_41UTgBhEa-;H?xH&CM_)! zK8$n-N}VVD{&f1ceU@iZBwiY*QRGDxYAX%mf&a-ITUb3Z+FvT!_F!b1VrmF)5#Jm`1m^IV{ zQF@_^1%Gi3R_|I&4+8qJ8eiIn$tsUwQnVoOx+~N>eZ&_uLPD_t#5wO<>T`5`v8hsL z2k;e~k>l&+>Ak~U`pmkmsH0CDvWQh(HBZoE7E$s~LaLE`>iGPnD3=ugcuN#Z=z?&bM1-X_v@rT1$WFao zg1~ux>S|k!T~SRV{u<(a4vn`>HV`@~cw3-&9gl>7BKtN~SFqhRrF(@{c#iXi9mp*JB7uh@T|$L?;-@hhCTKx5?{ zc+wPl&fta^y_v2-6Hm(9t!((&i7&44$Z_v6r z>?v7Pf$f(N^dcGZs;_R((iwm&>HksYUPTKwsni(Un&0NIpR=Z^C%I}X6`Mft(h?TO+M$LI3 z`WusBVRZ;Dgp!^eHT8G4fKWst{$ezs^kXQj9cG=VsAhRU8G+8+Cn{(XR{*^^IfXiQ zUBkm*L|jeuQT5{eeKO%^&1+b}Ps=}voTak>Sc@=THrvHwp+Ym)sVk%GRWf_hR|yI% z>F-553zBGztr1MRD9YAhqq$|<4Th|x#EKgdDOF7{Bzh(1#pI6`UH=wn_@L4rAm(iPl~y zV3z)9l7=Y5{2wzgJEi3==hGPVDeyr%>w07!gkp_0t>yLF&QY3I!96A26XOc{48_#Q z&;0gC7t3A>+G2l=T02ptt5yUdlN1a}t#0QF?lSk^!-% zfgjtmVCiOJh~ z8BA@u0g-i~g8fG*K!-*j_^k@A3YW~JnI4f?>r9WCYO10tKMO37td|d7`$gC+^vz zOZfSF@rALHMlTX&VqPJ(c;uQo8&oyWX+Uua(Vy){ND@r$gf#%DD#eDO%cIk1pho}` zhC&X~E2iw>a=8YC1o`ED*^@6NmgUBE|H*xLBTO2G)s`s5TM;I8lW+S+_gk_p+p?b6 z_fj`~0PTtzbN{lxS)R6xWu7{XFSvc~veF)?qIPChfw(Ta;e~BGo-QoD+9={d=9AC4 z5{i0Dad~Lm!GRsoXh)r^k!^%udcMj|PSikMZY1`L3wIYUTQjgs>tU$O$p9)s%w+`j zbL~ezGU7ho3+9J6*FG(~X0gnX5|`ggVB5+H?}?Wo2A>rGgWW%-Q<MEQ1y}YmAH=3`Fr+m%s&5; z6=d^4An#hnwmdSZRjBJ6pvC0IQq4_sBZ8z*sTuCpm--PFt0?2;gbg%hf_n1*dlOc) zhgsQIdZzzDt$Q4^O}n@`gCiZJB8r)!b95Dhwrx0 zv-sBtZJG}hW4i5e`zcjc)t(61^NE})8mq7TVxP5fJOtB}l=87FIhxR+o!8zEX{Pf^ zch`V|ANTodKpB;h;qGa>bb%NPwMV>h2{JY`mI( zutiu8ytHkkHjeCx2Nfjb0sa75_a#QCU_UV<_YZ}ZNkIl81ty4L*wNDqA4tFc%w(a^ z*A4o+2ESF^{R~y{sL5EX!JH*`2!1&kffwDzF1Y1g!83Phl=q!Sk}d%m6aOq;GSJ9c#85&AsSxFhvtVc z?!I`L@0;0Qx$j-7Ah7BDzNp+V>Y3IIhgsUcQ^tSkwgF6!7Pi5CiOM!BSl1Y>b|iFm z)Nr%tlwxH?a6$qH0T67Yt7sXQ;6yD=$oH8+?mTixIG7^=xLfuWMMn$l6u|k-O z!|{U1FUfJAiVxoR9Z@bl?pH}k=9vLS${ zxz=m}1VzW8L$I_kU@~T#%6p~$z^X|Z6e?DN;}2)gPzCiAv~0?}uNy3DuiP{J3HWJi z!bEO}l8C7&?T7P|+6NEpp^D816(R_oMFY3p`j`E<<2>Oq@{SHQAlJz4y>BC?c`tx8 zn}&uUq1d0pKUj@U6PGaP?9!dtqg~GA*2<&G$a4c&T5e>C@R$GX#b%cl-|1J3P_Iph}g0 ze@sSxG}SZs+H$^jJynJuhYflQgy}C_pnnqPx{|x9q#`LTGXdtBPWH#=(P*zkEB>Y+ zJA1Ojkr=^wB0^YC;Z+5qA7guF!Vi?`gfG4#k&Mt0ZcI<^ z)Oa(BWp-UV>cHRp)ruQwIS)yGLb^E;B0o{=!5&W1_V`EHs5j(L3AN#2Dd9m4a_Is* z$89mFA^4~Qgzu1vp_47An-s^_&bPq_*gZ*3|7^pM4=O1EsFeX(Dm($k&)?ETY4My7_`HS$h$WLJ&dR=g%oFfgh4VD-+ll^?@p$m<+J^mz*z>KftTTO$HaH zH%9ftQ8q9O&Z47Txu{pSITCkkT+n$cta>nkQC4ok)Ms$+xMPJu-<9-cNwB6tVE}`| zWfy%vfO=s5AM#W`p}(NOj(^I3fPr>@N*urwg~#K^nL%&9*O>X&E)lDlTM|+Q^P;l5 zKhI(c_&+u7|7mgm?;bbU|8H>@A}2Kt-YyW|?J@sp7+7H;V*z5d7#Lrp(SQl6~UhihswY5m+Enme&*xqW6qYtviBVM*1IIbi}az%({AVGGeV0 zkcTEAO4u@36Yt@4_WuEHYYy;kv<==^zDAMB5lXi86-HGH^rZU4#$$HEQd0sCY#kw)89xF`%~89ixPPX6 zIDdvLljsTWY2nCpY>c@;_R6$T=xiCyEkS=`yYLCy?#k|PV3B~qGatW3VpPT-Q`5{0 zz#Rj!BntJGh6%)kAiKOMnIBe3^x%Ev;iz_y+&Ip6BU!?Pb_s#b8Q`Xo#bD}X>(rzb z`>NYWksk@ubXC8CB(g59(CM%(jXAX07D7DG>}cHEV;sg>3a*5rEA*Cp-H>UR!84-& zRC-p#zmPx!SB}9|)GD%bMO|c-#AV!L2n-h7aHttz#2Yj8+EMGMg{tifE%!k!vM${J z0YW;@fVia3GI-fit9L*agekm+qeN8&bv7_rGZ|9a^vs{rg$>FX9U?26EAM&~P|T^P z)mF9m(n(6?YN6yQruH4MM6vhbgi!u8v%#SVO@HvhCHN1z4(HOV+9OYO%0_ zOJnSX_C9Hc4A_x1-(VH}(PqJ!MjcpsP~Z}sT5|6{&+bawJJPYZFRwT?wwaD|ds?-Qsq`8LN`i}i9H+)%r~XF-YnSPSM^Bb7FxDC;y?q?8!2`F+L^$yWdd#fj=rP^65?ysA zh3I@Gi>&Auwc1*+1w4tnHW=U{C$3-{7C4vo;E9;*+G_t~{4YstunKtLDZw7ki8q8~ zGU$2ND0*#?MQDece>GhORx9;TCiy2ZCVRKhIYcec5^q7LO&emvEJG$X3ry3te!ops z;B2Ww#+tI5EX^@araXbHe(84)5{3cFO5z|hwj+TapbO*};#P4?jJ>>1XqZh)-BlNO zdTYKd{M7fu)Li%;CxF zE7t?(67I=E{c;P#3!n{DkOhu?5L9yl?Qj_v%V4J0+*$1~rkAN*rR>b;`x3Ko5h)ds zY=<8$moghCg|0F9hU&^-ov~D%%1UE8U-PAB@GYbAyyRlwb);^`!P74odqd>ZK!3H8 zKhhRzIvK5pJ&Rr$nPrtTBWfhmx4{dgRnly zTtswZW4$>Qk+-9(3*NEqC1;hT@8c7{y4?$K~BX8bqV#h(hD||F^0aMmP501~k%I&Rb zTEO&Ap07p5-FL=XL}5iSGn+RsgAHdKH7&zsJo*uQtg4b<)FU1{LKpiwIW>3_qKXzN z95)cw4(BKXZ|%Tx9H~O)6Ssvv=_F$&-txfki-oo!F9BH{?@z9_&fF3Xt3Z`s5-ENG zjW|M(xMpOekj#}Tnb>tA#Y4{Ikr)>(WV$c|82n*$6@|FQ5x&1LOc(@BRaG>c)8<76 zGcPmf$~IySnH$^jRHiJRmnZs+0YPv6Ss9uJ>{*!X#V+F}A6htU&zkfehKH8bMcpoV zGcF9nY`gvx42}^u4S~!^>nCyzK+2@WxK;dyYa|{PDqDWOQFs;g2O1+S_;0Ruszq%t z4I!0H2T*E1Z;EapT{GlAe>NumSbQeyexAqhK@PJ$w{+@@v65Ng0@>bWIQ#h-n?YQS zTZMdnpQ)i`;x7E}pP423V{-i*{HZrG#iG6hxl*}J(=hG`S(ve?c{KPzhHx0J5G>)y zCEL^*dY=QzBu79N@% z&YJa)Y<8=*m24R+P2uX9R+<6_#zwS83a%KGa{(&DXd`k+xb=+!gA$%S`dT2ot5{uO z4jrRjf2*l7;!F;SW~T5JNVlaZQ)n>w@>n^vQb$*`Uouu^n7hIT869zM6jZXO0jv}~Zm5z1O1oIrp2p$AG$w|FCwk(0M#6+h;|U9B6-z`)n4L%z zPAnI{f0KL@uBoK0hud|GI8jGXaJe%^$;i}bSUc6uiH{Mj!d!sA*GgO@e>41yzVa!- zzrdQqxI*P(op;gFe(pzo2`hSNdpMnie-bIhdrYqiu{3-eE)hZp6&)jCaYz)6w=0=s z4b^tSW~fnA44Lck^d!(8^QGTE!hdYfzVzS-krDXlG%I(0w?u-SOh>9Ci>Lxoiq?1BZF1 zm3_=7ouaEPY4_)8RRoz7n7M2{IK*Nb#t@eOly7u`?`IKHl4%?6MA{?1l142rE`WM> zyl__9+9X>n5Z;(xPBTjf^1Df8bHkH6D0g#OWnE||+IH=w==$h~@RfI61m(u+nisDV z<72`qtkE`*2jAIbosoAB)>r`nm+@rYkMf{T3xeaR1#HBF%tD(A#DbAsnP3X>0hCKo z(IZ802wHNXGSvBu^y9?GN8=YyL-Q_g!TJ*dMKZIU|5%tV>mnSWyT#HPI}-eMapH=KcVb%L>Ai$RI34jT%|&dLRb>8HhNwBz(R&Q zmRT_lS-Ui57qqR1)C)LkqR=Oa%*YqHJJrIdG$-uNL3mjl))D+`j2~$LhqWFJ4O@#|Pou+3iB zTS(nZOv8UqPf<{!I4dhf{}%UmOl+-$HHluV^@`d~5$#9@_Qsckz+ANB%!F+KK{3&{ zmuC2+NHnIN@X+?h3l&BS{4DfiKESX0O9tGuYmVvu7K|TeXQg)#X<|?=D8ucZaqXFH zX8#z@bQfx!Ef z2W4XL4)rcfc8!MxZk82h-bOxZ_B3J@!yjqq-LxePc2o7N&Ot8LADBYwx_BA~*;^it zOu>*vo}~lPf2@w_dSzOS7#xBtsi!F&?od2t`c5`u1DGVkn+%yJ<1>&6?)v)>k9qQS1c4kozFz4RwYOPoe8blE z2aCF8a4N|<*Bw8;Dx1T*v(KMJb|v`wd}36QYNx{;cwWMI+86Mz`C&Sef3oSg4PVBI zQ8zR@$;D2-qVA#VNZ#O}R9s5TODyx_Ou!}u77L+++XCdi)+gYDmkWCCcVJRj?ItS` zPQh3)*}dl<1$&?Ia}8N8(j1lXty}tn9QHn@eYb_i5r1ECm>Yq~8)KN3r~bB;B$Zqp z5s>NkTsdG2bOtMC0yS0>0<08hRa2|6Tuhu>vzdN&>!r4(M|L~#p$Xv^{DCWH_JtS6 zmFNugl=Nbj&kP&0E&sJh7yjkm?NTqLg-Hus$%DaBnheq)csi^6<@Oox?*_@-Lqx$F z#39ANl1o4TK#;Wvzj1LhOs7PFUE>C&DDRu$6?@Jjp$AX)fEmR1hr<(Xcdk?tD&j1V z4b~WgF)7aJJq5eQ=9@sesOM+*!_T|j;8Rhm<0XA zza8>PwazRh_g;8_%*Bu}$W~eX-MrifH+ zt5MDdqquAw9vvU|N0jGsJ%sA1QQ5}KpiX0JW3d<-T+xw8f+Xkh!$0ABemOr}%vzft zk5SYHx=X1i9HMzJYDT}=AHJs5&P>Yk?mHha2?YE9I->1Xdrd!SCGsyL-{IhK63p%P z`X6W)pKvq3M3Xd~)X~&RtedfM3k@GLoa7t~<3;j##)>i;)tuwjf=_NWMmrw<2e8Qe zyZIl0VrxX?E$tktCg)0sGYIz>h=2PpohG&0Su?xOgf<|e24i2tIyb#5ycCHAFa^T^ zo5VwR1Bt05O0jKLUX3q~`FBsS{T;pJO7xj1JCf-10Ab^2yIr+iJ2XXQBR{F@oH4j` zbm1t$NJkTQ^G+nEnfRYv2uoKk2}%P0l`q=QYON3u;3(zYpR^84ic^x&plU2uu>k^sLZ_gtpVx%66-vlq`QC?xzicgg z^5f`w+DE3Bxi!N6fXc2lppQER(rw~A-&zIaA}~)8?)>`qb(o1EJO%|mlP4w2biQLZ zKTFV-bJ9D%M_CQ)?`ulMX7b#*iRz{5?TBsOqyJt*^d_SE^}h-i_*-W6pXUD%Ske@2 z*G)~uRPi&y$m5@3bpy%B6PS$!{0X(et{U9iS{xlKz|s%+h0$q3k?>CeqWG0K z2aVmidiHAQ47aV6tnum7-$YE0E#yP8l^H77`aWWKA#DFY0Bz=J^GJW1OQry%e}E%q z@C(gT42#vs+H;GxfuXiVBfs=jn!XFfl%Y6h4hC8-ySC7-J)DS6~%I_YBNWg_GjVS`v@VD%F76}1D$=l)8Or*${MG9&fk zR-MgTD|pAWSGT+C}4YCAJ&`vu7QW|hZ~X}%chr27gYO-+_o z*<A0fYI)<@cEpVe*ClD5m0Jr{bfCAmvyzAUDUGwJ^n1#wwwI#q0i$%Cl6@usocsI$}&vrdvgeqtlrp(R8!=Q~bi(*XM^&DFNF5fe-xu zy4?Sbtxy2}4?gfe=z-h4?=$^13v^GPysn9eEdC!3@UBt3Kj(W(K%47^sHHu%TudGj(Fx5R>Q9P5@2Ht)y$i_ z08`xd0<)*;0nU}}-PwMJVT3#&nFt8}zYJ@PXGQGT_21|Y7>8;8+*RgTa|>U?U`JE{ zKwSX$I`|Fb^;Wdy_wE^RU6{6Po0c_32g@CUYwhFeNOgy)?m9;7#6Mb5959PuSexP;JUfI`J0AT zN05KrAVih#@3_>kAefI+Ksa^7i1Xve=J3;98Yojg+wzUudqmX+unZoTS(a7xyz;kC z4-nq+idN8()s8(c^TTO;)JKVakF)2^B?)sx-^ZqyiyCqKmN(=fMwCYAfo^#ixw6BK z*Q??Ui|V)IWi%3@b~HDHxDqVs>u<79)%H9l97nZO_`C33<(h0--65w4-QJg(l;rR| ztiaUY)b^{nB~s4$o(ENqwa-T#zdLOvC%T|G0#fZzg=bq`4bMQ|9*M6@LW%(pPte{xcu zP{mAunnBQoe!BY*R8yi%VMNH|s4`XXgDm^YFebXJpFrmnW%X*CbT*u~g+l;#tdZA! z0~eQD^c;15uFX>HOVpLm7fYHaYyMk6{a2XdCH$S+#oEU#lH&7?pyrVG#{rq0LxOMO zs&wMG{GTS5*>BghqysqjR7vgdVa|^(V?UI6F!!-b)5JfDV8UY<7*R?;_sT(>k*MzR z1C3*6w(Ssr8}_1SA7B>s`oD1z^Y0_&-k-#|txUvugE`Y&x6$Wq!mKdnxnI%0ly=u} zTt1F3>5jDJ^CHH{vNjg9;&AybW67KB9Z`nQaw_H9B{11A%RIqPv9qA$bQ);HnUjOL zewPe~)+!ZH0H!y1oc{&NU}1tLhhD1>Sg^zaZI&~sX@ltB7nKDMwuejpgib^rV`vW{ z%5eREf02ZmmBkn>3qMA9UPV#>D`XVz-*G+1b&bcmeZ9tEFLDD3zR?z;(7!UjSW1E_ z+6TM!EY6EU`BR8u^9%As;(zm0Q7>s!mULv_^wns@xmc!t94G;ugWABpCDyAW)GqO) z6ZMe#?|V)_&;a3P+1;ZT#*#bvDluc(zZd*2evbn3?*L==Xd?%FOrf|Lh#zY9&M zoH%{~GtbGygT(&;xlUPz0pAn(t{yMP-@A|miT!n_gE#L9NZ49;x8^1Gh|GGs6Lxa2 z1~)>+buDy)+Io*t4>kuA+H-_uPp51R!o=h78J>|O@o|JBg-)Ln@%SIV#20X|18osU zV*^DWLMUm)06BW*k|KNcil_U-RYT)>HpcreGsNsGi~~msjwq07rKm$$*%eNe%D6|X z5ITvS*9=nX*aNQx^fmAVg5_iwc5C*TYD$c3%i53NF;$-6qwAX#*iNa8@LQ*VCIH70 zCL>SSq~tO}U?Z+BRUE8|9}Q5)raV=yiY(YkVZszjVx5)yl+0Bc8y zPFy{l+cuf&ScESykS|--x7TvdeV}7JkgkM0>%!UP06l7ss&{QA3=*~0n~;%XUz6K} zmV~Nsc(ANn$(Fe26kho1o8eUwK8iSv!3(m4I=zdB&`KTjsPyskngsK9?`>;OhYnpj zxS8sKmq^i;r<2!1PoZV5bbXg&kRimA9%1|&>vkGlm%o%#Au8m)v~hvz3Kmz|u8)R* zAc3Zc$%XIC6-uPQK7uR0RC(-^2{Y_Ay#Hyz_4%z?33n4PFT*okx|%5yw4nLwkfF1% znneX5LYsKqwPR81@XbPRLcXQEK|*3SBr4R@5b$>vP1St} zd<1)Rp!Nep)#!v{UMjBguI&nl`5y@^;dxHja#BfQy)K1aq95X@DU@cBv%I=sYu$#=Q zYc?knb?b2eVvG+p5@YOUCy3Ix-$wE|M2|-U?)AVe(sb(Xc^I_4h|`_@G3-IR0zL4e zAP5N6OXKsKl7giUI^E60in`EE8>qeYmmrMV?(}8#{_8pa0KUKaZ{8c%e9v#^9y=Sd z3)QY7J3To60NmKp;Ihv?9p$dGjpAcj+kQB3V9+9w9nEqve@t}%0URF0O@6WHDw=gy zZUU{qiTDkt!-r^1G({TL`*V!Y-N(l(?}^<}(iX1X2fy7!+N)=S;KZ;)q6DGD2G05S ziO6Yo^XW0|#|qIPT|l2Hp7MW#*Ty(G$2(z8TnuKc3jq~>u`rMzoIZt`38Byb09?F| zH~lZ|!DOc$Z5Lkd6U6%01Z;?ti$*A9d5q~2g(8fZCm#S0>mQ|~JW=_{yrRtRY8WUt>V6;W55H?7_l4d4F=l0 ze6Wn-#PkP6ICRx<0*sL+0_{*Y)Oz$h0Qu-Y?~F^{`ug37x85(F6l9v+7lL7QPW*AeK6t@gTrkr<{T<;e zqMe(RjceOGQ{bH)Ck`nvAP$RUdP~X10ycL@G<0=#Z}*#RH3Lrib#uN*Xyqw;aP{Az zKo;vu?ls<0xYaH3K?di;>A`-*NaAt8OtwWl$idS`tCF|fLc0TIxJ}VNRtV7ezk&)f zQUUzy#+67bZ9uHW0fOt`FlBdaJenndGfaBr`f{PBj6fJIb%>}qKx4=+QDq>elq+Kh zpkjFukiAk1R|b1f#@Adx9xbu7aHXeFh1 z<3p@Nx|P*!ADfD(TfVk+E1bsl{_(yu$9}TCe!u2dgXy|@i$mN!ep_OqStLd85D1*oR48lv0I|+Lc_U>vZlsc_+!$r z&^JfmJmL7IKnl01n9t)SC6uY$elqG@%d>;5)2>bV#MO!xmg7(vFp< zF5VaRGn;93R$Hp^#xC>3m^=^u7zb56}80Gjff@3 zu74j{AOP^eyc=BHtJPF>%ntGkz$zN)0a{ZSHctMjeu{5ch#A3}^0;~E*AU(?NYGQM zkikRcP(?zjQb?##%Zaj_GC55hVb)vIP8wf)Ey2dAIAn%;CUTf0$NvCWj0OX8F4M-q zjW8WLbI6!Y0%%WSDo21N0s6-q!Qt@GSCBMoO4?5vdSy=k)Z- z_&`-!NmpzR1>(|dRz|Sp#q283iR>8Ir@{o}2-rJ3;ox45!yF?ufT#tkN#Ny}woVVx2M?u0GS{7{{Wfo{5c2uf83M*03Y5Z0lGmw zt<&Q;IcA-G-Pb0wEorpb#?`^l2B=DRqk|Ehyr##!jA{jlYq8tGJIMG}I*8+)9Cb5~ z;;#oPDXdejCBtV@G1e-gc6SFo35cZPhSN~C{{R`h4$Rp4-#NcDjFfoT+H+L|Qbu%6 zo8;G-h{?cI_?q9L*I6BsT_8#U_Bk^Q)i%jOS>o}HtockW%$mi(09vGI$CEuw2jAXb zrf@!Ri-rVwBBEf8BP2gV)xeBKXij%B{YA111q^-le4eKv9|pmy;#s!wjqHhHk>%25 zs8YlZY09o}3Q7Q4g@tG=7^c3slEbMci~={opz zijkkMuY9NM(euR5dG(&h(;naV-c)Gk71v!*!k01B_ny+@Gq5V(fxPIwH6g9aJ~0Rq zF&j1IxR@wGu^GmZ!`+<83KTfuyRVF5s)s5md8+#5CJ7ofdR{kuOw`gfkncphd}6YI zbV=zu=Ncj4ZF(wf^l^YELy+b}!=G$m0I2Y_=kE(>cAdUxAJykLRfHQ)s@_C2@_K-| zVG98HLUKECus2Mvm8TIrOO}|jw*^RO85#CJY%!t*0A+yyV8y^%7%ma)bK!#w7YqcH zP2P@)`-?}!B=lmRT4KVKyCl*%Sv*ir6I((#RUMGl?>9<8+^kvG#63YEq?K#}EeC81 zGbV(mX+=6vbrLsIB?Mh795RwvX>=vg0t&?+4TSQ!atkNdno}T@16+%zlz=)yn;-I;aAj`zBFmU!&^`|n!lzINEoTA&eL=Bc0&y9=k ztp(PMJq_G+`Quz?0te_>vu&NIvSQ0LS*7xtu-p?gRa3#10xD9~vxOhJZK6Cz!?sQr zfNn|P>kyT>_c__qpCk@WIXv~7pP=Cr#W$QnSC;ebnrNQdq-U>rF{^g&^Y_MY;U(ha z_&%TBf2ilT@aEn>2ltyuYln}2Y*7I(L|A-GR{^*Zn?0X=*1@oGJ*&s2NWwuN3A!Yh z2s}_l*;k_pq*E!qlyvCh6H7Uvpk5PaKDkuDXqfakQ}d7xs}DKPC9ny3-xGc^s-ikw zDWsQ|E*Js0o{H2TL#)%vK_bHPg1;Hlsm_TFym5~96Gj#7R_|P4)m8O|Rue$Mjt_0< zFa-6GC}7S)2iEMRgRvLE_=t z5ENY^01VlcL`s6XQ6%6;0oycTi0D0l!sl^LqLU1dP{8o=Sv-$-3sW`DfT)JoEQU@h z5EiXOK?UB=D3}e&T^QHu%7Fk2MyN+4gq@M}|gaQE5&sUSbi-37I7)yG6@?vQZ5R{Xh9;Qke8C~DxeBl7> zB_p@a%weg^#r0}GMh1MPkd4!5{AH_p0jm>#9AVL7s1rdCn5RsP+8kr4ZRrsVB@sM= zej=p8ggE~IuhSJ)n6w(>s_FgH-BrT?GO^RWx=g+^tcH)s1Fj4p=uzmlWRp5G*0i4s z^*84)NGy0wm$%ix-QlBrKpzGeiQ0=e8c^Qx+8kb|p3d=pw#~Kw09O?|Kj$7WTm!jw zozSo24l7%&`B9Ga`?ZTY_70ydPl<^HcoA>g#xy;a&M&E(cpdv=_E*`zdj7LiPaeEZ zb>1MtmW$YY>!TPJ7YnWYbIFKpI=?aTaLvWM{(A3OfABx7gJOJh-d3NadDo3hwDaVj zw+M|Mf#>5GG84t9o|?!#OEeq!^N1QrJ$1yJxwPQobq9K$abcyV;483!$l_Z&M7zFC z;XDtH5#O$~?OEv@!f(6PDQA3z2#8ARt zW`*Dcb8uA_oh=TGO6dxQ#f@@k;WrfrJ5<$qah}8G%nD%(zPJpu#pz-?_&mUxI~G+W zhL)K^*k*+V&e=-U*+xPZH$$`k5JMjYWq9CJrgUSwgUV2xNr70^R{NCB~2v;*vv~LA_H;2RV>#I zvBY(PvK+AkjeDLKA_D<3K3bf|riB35Hez z@hSJP#6Z^sK94wqWi}i9k^H#`zOB-GMIR0!0PqR#4d41=hc7|b*8UV23K}9La5|=G zcq|{IJYZ~O!lJvT_sQ_!S*8K8)O;9+ZyF7(1+{Zkg~ICtV?}r9y**^X%(BJ?J_bhu zY@sA5=`q9tGJ)7q3GuTmLULWv=@nxLK$s<1-LGNW2^?^vE$u5}cT5^#p@$k#Elvdl zB?4)rr3$vO>k7~qDUGl8IGCnr&>I_*5t50hbE_wbVg+pF>EH2y?0Y!<;`C0?JaMw- zgG;a&-*jJmV4~QReE{~(eeNhf0Alo|VEQl%BizD)P}+>@WJx7N=Zuu`Cj+B7;u=*k zjaAnc8I;J&exU1O5+TJdfd-TUXHs*MLI7}~R->4-Z_O7+J1aQi5?mzd!z2wsTTBr6 z2|#QB^=}s!j*tXHMxkeOHhw*NcjnVo;lZ%lFzt#jK|0p4I1pSf>xJS~g?4bQPA`}< z1PjuAe@r7n^5ywTwDrJa0#a_#JWv=L?{SEU<4~r?IHSFMGQvb9`mtjEcRcXM%?ls@ z01M-vGey;8ch7W7;y?~M* zR}6#^7~85_IOoj{0~IqBNQZGfGKwJb7k(K2ZbOsY)9)HhdHBZkJ(9h*F&?|~&q=eK z?V^2o(^vLnmDr+|JOE=rNg9FF;DZ8e5}{^V5PRCN;LSTLM-5y&Kl6>L@FOWGZjKDl zX1R`qo^>!T*{1OK;mrf+7o?@-q(+(uymg297ZcDO&NKCnU?n2lt;ozyW%Q8Nt5*RG z+&OSyO`8<}tqsHwgXpCMLs%3@1;7p`lBww=f4o5?i_tFkk+(wt!D0r112#lgI(<@) zxtj1^Huu$E&T`#0>`#kaBbBZ|53;Z82JYi$Pl6X0dhay0pfpyU8D=XP3sM1*xBw?a zH1Q&nPyYa4UzRaEO>_?#VH(daEsCj11YzYs;>i64)tRD~&Pu2=wGpQe3|MfPPPZF~ zZz2ZduV`{{2{b=vbX9U_?98GS?n2-RtPbNK@&;Pe2$2&j>oQnCQnD!ybiwDj23m+H zN>f}KxIpkwfLdMUd1HppKKkNwafU7%r7DVO1?v`smpG)&g`JZbn$oR2GS^_Nl|ne$ za5;mcQwV0FasqS>ZSq^ki#^sJ0)T;zC~Vhi5J;Vl2_xm`G1p$3M+1``MZh4|>VPvy zF+=J23L8^7=(e(voOKvp^1c1f4{k86!Cw#l@iD!pt&Kmdqr}Z<FU^58Gp-cSBM(I&l1v7k=DI+A7?V%7jV2X^8}Tk*Gx# zQYfViASml^@w`Bfa8I~8!$PZ~TWOK%sES~<7X`lgSO)slI-uLC}0L~;pfw9%3 za7|+^p$5f>@9)~DWWCO6@YIeBM8a%Koy{MdL96g5)EzJsTNu&eHsO!oJypUS7GsHd?J<;n|@F3-8j}ABG;fef5_gQ`tO|IQqC&F;n%7LpIuiG$_dSBsK%4 z*d`?MreIetomo4^ZQ-q&1P?_@DG-IWMT{ zdImAYx#yotfKnsS2lhE~cE`Cm^@y3rfEC);FgF>5($RrJ?`Wfh9=YG^&UsBw(X$Bo zB9HN{J>dtRM=w3|#!wwc@xJzD=qzBM1vJ{Tt>Q-HslG4=_E<#7@v-zwc1DedRSyN? zKb-4R2o#H_p~AUErpP;H~5TeN1s`*QvB%WvnrP_zK z1RW57kq!h#cdVcGEQ!2}>V~(@Z)h(h7=cM*k8E#=LQ8cB%Sr%Ey2RnndWSN?MU0}E zP5{OUl!X*^ZV+}O0aj4cWZoHVCK@4CH5p-nS;H35AFQgdpgM&)xLp;hD%2`5 zMAoJh*~@jyQ^$iZ$Lk#Ip){bao8^Z24p5GT)J%YKU$aDfDn1C&gpRDF7OX;V`JcM5y+mS`oy}a z-Mw`TsB2EDN5-Z-1Pc1v=5L%;ruo*~zJ?7p`2PThCi^E_>s)?tgaiSQKQpWZ5BUE8 z+<~aalGkUF8qF+77-@J!c0J(AQP^$H#CDnJYIGg>Ai$s^G)~Yi0c_BSi1h|G;{-FY zdC@A+>h*&nOF)iwLs(!C@*?xW#v~)J52t={_-$Yx)aMv?dUk#0+}G{;#NLlYJp0!L zB7Gmeu$caM?FLlWu*|^fYYF$2an?(lIY6)kWl|WsvY6Xuke+kHJ;OS}NN}>+ff!x5 zfH0)2LV8jY%Y}}_5x-jQ)iu0RV!EtW+k}T{l5xz*0AK(L>Kqxrp|P+M7@8phOwbz8 z9>`Jl6|bBetR*HYYp+oZCR{fUD_|y`k)tSTFbwdup6?jQbY;gQ85Eab@u+p@Ykyhj zehkt103b4KeM}6rs{}GwtDqj#LrBeh%^>WCgir${A%YevFvd)gydslPy124Fv6X6! z>GP~JyhrT_u~Lt zeLswOmG}O0kzMxtryOHC4tH<$=PP&(q2ChYMNfe`@HqA_I%lzcFngQK58yBY1L21c zDZ>eY`2PURxg+%d0Ne%AGmHD>$`L~fZ+cEF)(35;AT^hO85){mrQy-1IJ65?9hxms zGA0v6A>PT+m?RAWIO27|fp4z1Gx1DJh$BO1-%dG*Eay)e{o{BV-v>W9BZFtJP0o41 z{{WZz!r(8)x0_vm59;IU*cTlLgh-2s$*?W)ZPBZ7tBCAn5gPR1R}?};7qcjX>Zf?I z_(AOzFqlrbA&8_SXn-awW}2p2!3>2XKCns1#e?QEC0RNEd8|s&Al95vj8jdBQu_$1 z+tPR+39Q#bDlG9FO`sC90JJa|)io1Vr3&Gxl=d*NRW)8t6DG-EwE5m5fx>P8uaUWh zbg*!h=2qq6O`MKd{(r7MpZBhZCzyK&-#N*yeScmvmd@vo%r%~m$X|YZ=Y+v?{&Ux+ z2l`I^r<^!`&+NGRPmldGUPbHP?+EFA&-t4WCyzg!rhGZS?Q?*74y68a^zZThF@9s# z{{UI?9+U6RIzBx=yOHVm#CZJ}_kZ6w4x0ID{qF(TeIMQ%y7AZEMrP0X?~I^*IqMFc zzt{7Cgg37`^?SHp#QS}j@mwSb@Asf$LlM@@t%j|{_~d!<{mtA zoAL+a^`758JH^vti$}K!?SMB!M977U4Tca0B82V3s?VH-cr-2Fu7Ocn-;#H-qXb1s dTdCJ90(`pGIt-w9gOsbmRd%~>PlN9t|Jla{#XkT5 diff --git a/src/Jackett/WebContent/bootstrap/bootstrap.min.css b/src/Jackett/WebContent/bootstrap/bootstrap.min.css new file mode 100644 index 000000000..cd1c616ad --- /dev/null +++ b/src/Jackett/WebContent/bootstrap/bootstrap.min.css @@ -0,0 +1,5 @@ +/*! + * Bootstrap v3.3.4 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px \9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.form-group-sm .form-control{height:30px;line-height:30px}select[multiple].form-group-sm .form-control,textarea.form-group-sm .form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:5px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.form-group-lg .form-control{height:46px;line-height:46px}select[multiple].form-group-lg .form-control,textarea.form-group-lg .form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:10px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.33px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.active,.btn-default.focus,.btn-default:active,.btn-default:focus,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.active,.btn-primary.focus,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.active,.btn-success.focus,.btn-success:active,.btn-success:focus,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.active,.btn-info.focus,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.active,.btn-warning.focus,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.active,.btn-danger.focus,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px)and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding:48px 0}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.4;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.42857143;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px)and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px)and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px)and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px)and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px)and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px)and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px)and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px)and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px)and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px)and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} \ No newline at end of file diff --git a/src/Jackett/WebContent/bootstrap/bootstrap.min.js b/src/Jackett/WebContent/bootstrap/bootstrap.min.js new file mode 100644 index 000000000..c8f82e592 --- /dev/null +++ b/src/Jackett/WebContent/bootstrap/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v3.3.4 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.4",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.4",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.4",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.4",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=c(d),f={relatedTarget:this};e.hasClass("open")&&(e.trigger(b=a.Event("hide.bs.dropdown",f)),b.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f)))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.4",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('

',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport),this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c&&c.$tip&&c.$tip.is(":visible")?void(c.hoverState="in"):(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.options.container?a(this.options.container):this.$element.parent(),p=this.getPosition(o);h="bottom"==h&&k.bottom+m>p.bottom?"top":"top"==h&&k.top-mp.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type)})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.4",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.4",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.4",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=a(document.body).height();"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file diff --git a/src/Jackett/WebContent/bootstrap/glyphicons-halflings-regular.woff b/src/Jackett/WebContent/bootstrap/glyphicons-halflings-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..9e612858f802245ddcbf59788a0db942224bab35 GIT binary patch literal 23424 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 G`u_lkUM?>H literal 0 HcmV?d00001 diff --git a/src/Jackett/WebContent/handlebars-v3.0.1.js b/src/Jackett/WebContent/handlebars-v3.0.1.js new file mode 100644 index 000000000..a5a217d39 --- /dev/null +++ b/src/Jackett/WebContent/handlebars-v3.0.1.js @@ -0,0 +1,3748 @@ +/*! + + handlebars v3.0.1 + +Copyright (C) 2011-2014 by Yehuda Katz + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +@license +*/ +/* exported Handlebars */ +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + define([], factory); + } else if (typeof exports === 'object') { + module.exports = factory(); + } else { + root.Handlebars = factory(); + } +}(this, function () { +// handlebars/utils.js +var __module3__ = (function() { + "use strict"; + var __exports__ = {}; + /*jshint -W004 */ + var escape = { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'", + "`": "`" + }; + + var badChars = /[&<>"'`]/g; + var possible = /[&<>"'`]/; + + function escapeChar(chr) { + return escape[chr]; + } + + function extend(obj /* , ...source */) { + for (var i = 1; i < arguments.length; i++) { + for (var key in arguments[i]) { + if (Object.prototype.hasOwnProperty.call(arguments[i], key)) { + obj[key] = arguments[i][key]; + } + } + } + + return obj; + } + + __exports__.extend = extend;var toString = Object.prototype.toString; + __exports__.toString = toString; + // Sourced from lodash + // https://github.com/bestiejs/lodash/blob/master/LICENSE.txt + var isFunction = function(value) { + return typeof value === 'function'; + }; + // fallback for older versions of Chrome and Safari + /* istanbul ignore next */ + if (isFunction(/x/)) { + isFunction = function(value) { + return typeof value === 'function' && toString.call(value) === '[object Function]'; + }; + } + var isFunction; + __exports__.isFunction = isFunction; + /* istanbul ignore next */ + var isArray = Array.isArray || function(value) { + return (value && typeof value === 'object') ? toString.call(value) === '[object Array]' : false; + }; + __exports__.isArray = isArray; + // Older IE versions do not directly support indexOf so we must implement our own, sadly. + function indexOf(array, value) { + for (var i = 0, len = array.length; i < len; i++) { + if (array[i] === value) { + return i; + } + } + return -1; + } + + __exports__.indexOf = indexOf; + function escapeExpression(string) { + if (typeof string !== 'string') { + // don't escape SafeStrings, since they're already safe + if (string && string.toHTML) { + return string.toHTML(); + } else if (string == null) { + return ''; + } else if (!string) { + return string + ''; + } + + // Force a string conversion as this will be done by the append regardless and + // the regex test will do this transparently behind the scenes, causing issues if + // an object's to string has escaped characters in it. + string = '' + string; + } + + if (!possible.test(string)) { return string; } + return string.replace(badChars, escapeChar); + } + + __exports__.escapeExpression = escapeExpression;function isEmpty(value) { + if (!value && value !== 0) { + return true; + } else if (isArray(value) && value.length === 0) { + return true; + } else { + return false; + } + } + + __exports__.isEmpty = isEmpty;function blockParams(params, ids) { + params.path = ids; + return params; + } + + __exports__.blockParams = blockParams;function appendContextPath(contextPath, id) { + return (contextPath ? contextPath + '.' : '') + id; + } + + __exports__.appendContextPath = appendContextPath; + return __exports__; +})(); + +// handlebars/exception.js +var __module4__ = (function() { + "use strict"; + var __exports__; + + var errorProps = ['description', 'fileName', 'lineNumber', 'message', 'name', 'number', 'stack']; + + function Exception(message, node) { + var loc = node && node.loc, + line, + column; + if (loc) { + line = loc.start.line; + column = loc.start.column; + + message += ' - ' + line + ':' + column; + } + + var tmp = Error.prototype.constructor.call(this, message); + + // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work. + for (var idx = 0; idx < errorProps.length; idx++) { + this[errorProps[idx]] = tmp[errorProps[idx]]; + } + + if (loc) { + this.lineNumber = line; + this.column = column; + } + } + + Exception.prototype = new Error(); + + __exports__ = Exception; + return __exports__; +})(); + +// handlebars/base.js +var __module2__ = (function(__dependency1__, __dependency2__) { + "use strict"; + var __exports__ = {}; + var Utils = __dependency1__; + var Exception = __dependency2__; + + var VERSION = "3.0.1"; + __exports__.VERSION = VERSION;var COMPILER_REVISION = 6; + __exports__.COMPILER_REVISION = COMPILER_REVISION; + var REVISION_CHANGES = { + 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it + 2: '== 1.0.0-rc.3', + 3: '== 1.0.0-rc.4', + 4: '== 1.x.x', + 5: '== 2.0.0-alpha.x', + 6: '>= 2.0.0-beta.1' + }; + __exports__.REVISION_CHANGES = REVISION_CHANGES; + var isArray = Utils.isArray, + isFunction = Utils.isFunction, + toString = Utils.toString, + objectType = '[object Object]'; + + function HandlebarsEnvironment(helpers, partials) { + this.helpers = helpers || {}; + this.partials = partials || {}; + + registerDefaultHelpers(this); + } + + __exports__.HandlebarsEnvironment = HandlebarsEnvironment;HandlebarsEnvironment.prototype = { + constructor: HandlebarsEnvironment, + + logger: logger, + log: log, + + registerHelper: function(name, fn) { + if (toString.call(name) === objectType) { + if (fn) { throw new Exception('Arg not supported with multiple helpers'); } + Utils.extend(this.helpers, name); + } else { + this.helpers[name] = fn; + } + }, + unregisterHelper: function(name) { + delete this.helpers[name]; + }, + + registerPartial: function(name, partial) { + if (toString.call(name) === objectType) { + Utils.extend(this.partials, name); + } else { + if (typeof partial === 'undefined') { + throw new Exception('Attempting to register a partial as undefined'); + } + this.partials[name] = partial; + } + }, + unregisterPartial: function(name) { + delete this.partials[name]; + } + }; + + function registerDefaultHelpers(instance) { + instance.registerHelper('helperMissing', function(/* [args, ]options */) { + if(arguments.length === 1) { + // A missing field in a {{foo}} constuct. + return undefined; + } else { + // Someone is actually trying to call something, blow up. + throw new Exception("Missing helper: '" + arguments[arguments.length-1].name + "'"); + } + }); + + instance.registerHelper('blockHelperMissing', function(context, options) { + var inverse = options.inverse, + fn = options.fn; + + if(context === true) { + return fn(this); + } else if(context === false || context == null) { + return inverse(this); + } else if (isArray(context)) { + if(context.length > 0) { + if (options.ids) { + options.ids = [options.name]; + } + + return instance.helpers.each(context, options); + } else { + return inverse(this); + } + } else { + if (options.data && options.ids) { + var data = createFrame(options.data); + data.contextPath = Utils.appendContextPath(options.data.contextPath, options.name); + options = {data: data}; + } + + return fn(context, options); + } + }); + + instance.registerHelper('each', function(context, options) { + if (!options) { + throw new Exception('Must pass iterator to #each'); + } + + var fn = options.fn, inverse = options.inverse; + var i = 0, ret = "", data; + + var contextPath; + if (options.data && options.ids) { + contextPath = Utils.appendContextPath(options.data.contextPath, options.ids[0]) + '.'; + } + + if (isFunction(context)) { context = context.call(this); } + + if (options.data) { + data = createFrame(options.data); + } + + function execIteration(key, i, last) { + if (data) { + data.key = key; + data.index = i; + data.first = i === 0; + data.last = !!last; + + if (contextPath) { + data.contextPath = contextPath + key; + } + } + + ret = ret + fn(context[key], { + data: data, + blockParams: Utils.blockParams([context[key], key], [contextPath + key, null]) + }); + } + + if(context && typeof context === 'object') { + if (isArray(context)) { + for(var j = context.length; i 2) { + expected.push("'" + this.terminals_[p] + "'"); + } + if (this.lexer.showPosition) { + errStr = "Parse error on line " + (yylineno + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'"; + } else { + errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == 1?"end of input":"'" + (this.terminals_[symbol] || symbol) + "'"); + } + this.parseError(errStr, {text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected}); + } + } + if (action[0] instanceof Array && action.length > 1) { + throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol); + } + switch (action[0]) { + case 1: + stack.push(symbol); + vstack.push(this.lexer.yytext); + lstack.push(this.lexer.yylloc); + stack.push(action[1]); + symbol = null; + if (!preErrorSymbol) { + yyleng = this.lexer.yyleng; + yytext = this.lexer.yytext; + yylineno = this.lexer.yylineno; + yyloc = this.lexer.yylloc; + if (recovering > 0) + recovering--; + } else { + symbol = preErrorSymbol; + preErrorSymbol = null; + } + break; + case 2: + len = this.productions_[action[1]][1]; + yyval.$ = vstack[vstack.length - len]; + yyval._$ = {first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column}; + if (ranges) { + yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]]; + } + r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack); + if (typeof r !== "undefined") { + return r; + } + if (len) { + stack = stack.slice(0, -1 * len * 2); + vstack = vstack.slice(0, -1 * len); + lstack = lstack.slice(0, -1 * len); + } + stack.push(this.productions_[action[1]][0]); + vstack.push(yyval.$); + lstack.push(yyval._$); + newState = table[stack[stack.length - 2]][stack[stack.length - 1]]; + stack.push(newState); + break; + case 3: + return true; + } + } + return true; + } + }; + /* Jison generated lexer */ + var lexer = (function(){ + var lexer = ({EOF:1, + parseError:function parseError(str, hash) { + if (this.yy.parser) { + this.yy.parser.parseError(str, hash); + } else { + throw new Error(str); + } + }, + setInput:function (input) { + this._input = input; + this._more = this._less = this.done = false; + this.yylineno = this.yyleng = 0; + this.yytext = this.matched = this.match = ''; + this.conditionStack = ['INITIAL']; + this.yylloc = {first_line:1,first_column:0,last_line:1,last_column:0}; + if (this.options.ranges) this.yylloc.range = [0,0]; + this.offset = 0; + return this; + }, + input:function () { + var ch = this._input[0]; + this.yytext += ch; + this.yyleng++; + this.offset++; + this.match += ch; + this.matched += ch; + var lines = ch.match(/(?:\r\n?|\n).*/g); + if (lines) { + this.yylineno++; + this.yylloc.last_line++; + } else { + this.yylloc.last_column++; + } + if (this.options.ranges) this.yylloc.range[1]++; + + this._input = this._input.slice(1); + return ch; + }, + unput:function (ch) { + var len = ch.length; + var lines = ch.split(/(?:\r\n?|\n)/g); + + this._input = ch + this._input; + this.yytext = this.yytext.substr(0, this.yytext.length-len-1); + //this.yyleng -= len; + this.offset -= len; + var oldLines = this.match.split(/(?:\r\n?|\n)/g); + this.match = this.match.substr(0, this.match.length-1); + this.matched = this.matched.substr(0, this.matched.length-1); + + if (lines.length-1) this.yylineno -= lines.length-1; + var r = this.yylloc.range; + + this.yylloc = {first_line: this.yylloc.first_line, + last_line: this.yylineno+1, + first_column: this.yylloc.first_column, + last_column: lines ? + (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length: + this.yylloc.first_column - len + }; + + if (this.options.ranges) { + this.yylloc.range = [r[0], r[0] + this.yyleng - len]; + } + return this; + }, + more:function () { + this._more = true; + return this; + }, + less:function (n) { + this.unput(this.match.slice(n)); + }, + pastInput:function () { + var past = this.matched.substr(0, this.matched.length - this.match.length); + return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, ""); + }, + upcomingInput:function () { + var next = this.match; + if (next.length < 20) { + next += this._input.substr(0, 20-next.length); + } + return (next.substr(0,20)+(next.length > 20 ? '...':'')).replace(/\n/g, ""); + }, + showPosition:function () { + var pre = this.pastInput(); + var c = new Array(pre.length + 1).join("-"); + return pre + this.upcomingInput() + "\n" + c+"^"; + }, + next:function () { + if (this.done) { + return this.EOF; + } + if (!this._input) this.done = true; + + var token, + match, + tempMatch, + index, + col, + lines; + if (!this._more) { + this.yytext = ''; + this.match = ''; + } + var rules = this._currentRules(); + for (var i=0;i < rules.length; i++) { + tempMatch = this._input.match(this.rules[rules[i]]); + if (tempMatch && (!match || tempMatch[0].length > match[0].length)) { + match = tempMatch; + index = i; + if (!this.options.flex) break; + } + } + if (match) { + lines = match[0].match(/(?:\r\n?|\n).*/g); + if (lines) this.yylineno += lines.length; + this.yylloc = {first_line: this.yylloc.last_line, + last_line: this.yylineno+1, + first_column: this.yylloc.last_column, + last_column: lines ? lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length}; + this.yytext += match[0]; + this.match += match[0]; + this.matches = match; + this.yyleng = this.yytext.length; + if (this.options.ranges) { + this.yylloc.range = [this.offset, this.offset += this.yyleng]; + } + this._more = false; + this._input = this._input.slice(match[0].length); + this.matched += match[0]; + token = this.performAction.call(this, this.yy, this, rules[index],this.conditionStack[this.conditionStack.length-1]); + if (this.done && this._input) this.done = false; + if (token) return token; + else return; + } + if (this._input === "") { + return this.EOF; + } else { + return this.parseError('Lexical error on line '+(this.yylineno+1)+'. Unrecognized text.\n'+this.showPosition(), + {text: "", token: null, line: this.yylineno}); + } + }, + lex:function lex() { + var r = this.next(); + if (typeof r !== 'undefined') { + return r; + } else { + return this.lex(); + } + }, + begin:function begin(condition) { + this.conditionStack.push(condition); + }, + popState:function popState() { + return this.conditionStack.pop(); + }, + _currentRules:function _currentRules() { + return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules; + }, + topState:function () { + return this.conditionStack[this.conditionStack.length-2]; + }, + pushState:function begin(condition) { + this.begin(condition); + }}); + lexer.options = {}; + lexer.performAction = function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) { + + + function strip(start, end) { + return yy_.yytext = yy_.yytext.substr(start, yy_.yyleng-end); + } + + + var YYSTATE=YY_START + switch($avoiding_name_collisions) { + case 0: + if(yy_.yytext.slice(-2) === "\\\\") { + strip(0,1); + this.begin("mu"); + } else if(yy_.yytext.slice(-1) === "\\") { + strip(0,1); + this.begin("emu"); + } else { + this.begin("mu"); + } + if(yy_.yytext) return 14; + + break; + case 1:return 14; + break; + case 2: + this.popState(); + return 14; + + break; + case 3: + yy_.yytext = yy_.yytext.substr(5, yy_.yyleng-9); + this.popState(); + return 16; + + break; + case 4: return 14; + break; + case 5: + this.popState(); + return 13; + + break; + case 6:return 59; + break; + case 7:return 62; + break; + case 8: return 17; + break; + case 9: + this.popState(); + this.begin('raw'); + return 21; + + break; + case 10:return 53; + break; + case 11:return 27; + break; + case 12:return 45; + break; + case 13:this.popState(); return 42; + break; + case 14:this.popState(); return 42; + break; + case 15:return 32; + break; + case 16:return 37; + break; + case 17:return 49; + break; + case 18:return 46; + break; + case 19: + this.unput(yy_.yytext); + this.popState(); + this.begin('com'); + + break; + case 20: + this.popState(); + return 13; + + break; + case 21:return 46; + break; + case 22:return 67; + break; + case 23:return 66; + break; + case 24:return 66; + break; + case 25:return 79; + break; + case 26:// ignore whitespace + break; + case 27:this.popState(); return 52; + break; + case 28:this.popState(); return 31; + break; + case 29:yy_.yytext = strip(1,2).replace(/\\"/g,'"'); return 74; + break; + case 30:yy_.yytext = strip(1,2).replace(/\\'/g,"'"); return 74; + break; + case 31:return 77; + break; + case 32:return 76; + break; + case 33:return 76; + break; + case 34:return 75; + break; + case 35:return 69; + break; + case 36:return 71; + break; + case 37:return 66; + break; + case 38:yy_.yytext = strip(1,2); return 66; + break; + case 39:return 'INVALID'; + break; + case 40:return 5; + break; + } + }; + lexer.rules = [/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]*?(?=(\{\{\{\{\/)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[[^\]]*\])/,/^(?:.)/,/^(?:$)/]; + lexer.conditions = {"mu":{"rules":[6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],"inclusive":false},"emu":{"rules":[2],"inclusive":false},"com":{"rules":[5],"inclusive":false},"raw":{"rules":[3,4],"inclusive":false},"INITIAL":{"rules":[0,1,40],"inclusive":true}}; + return lexer;})() + parser.lexer = lexer; + function Parser () { this.yy = {}; }Parser.prototype = parser;parser.Parser = Parser; + return new Parser; + })();__exports__ = handlebars; + /* jshint ignore:end */ + return __exports__; +})(); + +// handlebars/compiler/visitor.js +var __module11__ = (function(__dependency1__, __dependency2__) { + "use strict"; + var __exports__; + var Exception = __dependency1__; + var AST = __dependency2__; + + function Visitor() { + this.parents = []; + } + + Visitor.prototype = { + constructor: Visitor, + mutating: false, + + // Visits a given value. If mutating, will replace the value if necessary. + acceptKey: function(node, name) { + var value = this.accept(node[name]); + if (this.mutating) { + // Hacky sanity check: + if (value && (!value.type || !AST[value.type])) { + throw new Exception('Unexpected node type "' + value.type + '" found when accepting ' + name + ' on ' + node.type); + } + node[name] = value; + } + }, + + // Performs an accept operation with added sanity check to ensure + // required keys are not removed. + acceptRequired: function(node, name) { + this.acceptKey(node, name); + + if (!node[name]) { + throw new Exception(node.type + ' requires ' + name); + } + }, + + // Traverses a given array. If mutating, empty respnses will be removed + // for child elements. + acceptArray: function(array) { + for (var i = 0, l = array.length; i < l; i++) { + this.acceptKey(array, i); + + if (!array[i]) { + array.splice(i, 1); + i--; + l--; + } + } + }, + + accept: function(object) { + if (!object) { + return; + } + + if (this.current) { + this.parents.unshift(this.current); + } + this.current = object; + + var ret = this[object.type](object); + + this.current = this.parents.shift(); + + if (!this.mutating || ret) { + return ret; + } else if (ret !== false) { + return object; + } + }, + + Program: function(program) { + this.acceptArray(program.body); + }, + + MustacheStatement: function(mustache) { + this.acceptRequired(mustache, 'path'); + this.acceptArray(mustache.params); + this.acceptKey(mustache, 'hash'); + }, + + BlockStatement: function(block) { + this.acceptRequired(block, 'path'); + this.acceptArray(block.params); + this.acceptKey(block, 'hash'); + + this.acceptKey(block, 'program'); + this.acceptKey(block, 'inverse'); + }, + + PartialStatement: function(partial) { + this.acceptRequired(partial, 'name'); + this.acceptArray(partial.params); + this.acceptKey(partial, 'hash'); + }, + + ContentStatement: function(/* content */) {}, + CommentStatement: function(/* comment */) {}, + + SubExpression: function(sexpr) { + this.acceptRequired(sexpr, 'path'); + this.acceptArray(sexpr.params); + this.acceptKey(sexpr, 'hash'); + }, + PartialExpression: function(partial) { + this.acceptRequired(partial, 'name'); + this.acceptArray(partial.params); + this.acceptKey(partial, 'hash'); + }, + + PathExpression: function(/* path */) {}, + + StringLiteral: function(/* string */) {}, + NumberLiteral: function(/* number */) {}, + BooleanLiteral: function(/* bool */) {}, + + Hash: function(hash) { + this.acceptArray(hash.pairs); + }, + HashPair: function(pair) { + this.acceptRequired(pair, 'value'); + } + }; + + __exports__ = Visitor; + return __exports__; +})(__module4__, __module7__); + +// handlebars/compiler/whitespace-control.js +var __module10__ = (function(__dependency1__) { + "use strict"; + var __exports__; + var Visitor = __dependency1__; + + function WhitespaceControl() { + } + WhitespaceControl.prototype = new Visitor(); + + WhitespaceControl.prototype.Program = function(program) { + var isRoot = !this.isRootSeen; + this.isRootSeen = true; + + var body = program.body; + for (var i = 0, l = body.length; i < l; i++) { + var current = body[i], + strip = this.accept(current); + + if (!strip) { + continue; + } + + var _isPrevWhitespace = isPrevWhitespace(body, i, isRoot), + _isNextWhitespace = isNextWhitespace(body, i, isRoot), + + openStandalone = strip.openStandalone && _isPrevWhitespace, + closeStandalone = strip.closeStandalone && _isNextWhitespace, + inlineStandalone = strip.inlineStandalone && _isPrevWhitespace && _isNextWhitespace; + + if (strip.close) { + omitRight(body, i, true); + } + if (strip.open) { + omitLeft(body, i, true); + } + + if (inlineStandalone) { + omitRight(body, i); + + if (omitLeft(body, i)) { + // If we are on a standalone node, save the indent info for partials + if (current.type === 'PartialStatement') { + // Pull out the whitespace from the final line + current.indent = (/([ \t]+$)/).exec(body[i-1].original)[1]; + } + } + } + if (openStandalone) { + omitRight((current.program || current.inverse).body); + + // Strip out the previous content node if it's whitespace only + omitLeft(body, i); + } + if (closeStandalone) { + // Always strip the next node + omitRight(body, i); + + omitLeft((current.inverse || current.program).body); + } + } + + return program; + }; + WhitespaceControl.prototype.BlockStatement = function(block) { + this.accept(block.program); + this.accept(block.inverse); + + // Find the inverse program that is involed with whitespace stripping. + var program = block.program || block.inverse, + inverse = block.program && block.inverse, + firstInverse = inverse, + lastInverse = inverse; + + if (inverse && inverse.chained) { + firstInverse = inverse.body[0].program; + + // Walk the inverse chain to find the last inverse that is actually in the chain. + while (lastInverse.chained) { + lastInverse = lastInverse.body[lastInverse.body.length-1].program; + } + } + + var strip = { + open: block.openStrip.open, + close: block.closeStrip.close, + + // Determine the standalone candiacy. Basically flag our content as being possibly standalone + // so our parent can determine if we actually are standalone + openStandalone: isNextWhitespace(program.body), + closeStandalone: isPrevWhitespace((firstInverse || program).body) + }; + + if (block.openStrip.close) { + omitRight(program.body, null, true); + } + + if (inverse) { + var inverseStrip = block.inverseStrip; + + if (inverseStrip.open) { + omitLeft(program.body, null, true); + } + + if (inverseStrip.close) { + omitRight(firstInverse.body, null, true); + } + if (block.closeStrip.open) { + omitLeft(lastInverse.body, null, true); + } + + // Find standalone else statments + if (isPrevWhitespace(program.body) + && isNextWhitespace(firstInverse.body)) { + + omitLeft(program.body); + omitRight(firstInverse.body); + } + } else { + if (block.closeStrip.open) { + omitLeft(program.body, null, true); + } + } + + return strip; + }; + + WhitespaceControl.prototype.MustacheStatement = function(mustache) { + return mustache.strip; + }; + + WhitespaceControl.prototype.PartialStatement = + WhitespaceControl.prototype.CommentStatement = function(node) { + /* istanbul ignore next */ + var strip = node.strip || {}; + return { + inlineStandalone: true, + open: strip.open, + close: strip.close + }; + }; + + + function isPrevWhitespace(body, i, isRoot) { + if (i === undefined) { + i = body.length; + } + + // Nodes that end with newlines are considered whitespace (but are special + // cased for strip operations) + var prev = body[i-1], + sibling = body[i-2]; + if (!prev) { + return isRoot; + } + + if (prev.type === 'ContentStatement') { + return (sibling || !isRoot ? (/\r?\n\s*?$/) : (/(^|\r?\n)\s*?$/)).test(prev.original); + } + } + function isNextWhitespace(body, i, isRoot) { + if (i === undefined) { + i = -1; + } + + var next = body[i+1], + sibling = body[i+2]; + if (!next) { + return isRoot; + } + + if (next.type === 'ContentStatement') { + return (sibling || !isRoot ? (/^\s*?\r?\n/) : (/^\s*?(\r?\n|$)/)).test(next.original); + } + } + + // Marks the node to the right of the position as omitted. + // I.e. {{foo}}' ' will mark the ' ' node as omitted. + // + // If i is undefined, then the first child will be marked as such. + // + // If mulitple is truthy then all whitespace will be stripped out until non-whitespace + // content is met. + function omitRight(body, i, multiple) { + var current = body[i == null ? 0 : i + 1]; + if (!current || current.type !== 'ContentStatement' || (!multiple && current.rightStripped)) { + return; + } + + var original = current.value; + current.value = current.value.replace(multiple ? (/^\s+/) : (/^[ \t]*\r?\n?/), ''); + current.rightStripped = current.value !== original; + } + + // Marks the node to the left of the position as omitted. + // I.e. ' '{{foo}} will mark the ' ' node as omitted. + // + // If i is undefined then the last child will be marked as such. + // + // If mulitple is truthy then all whitespace will be stripped out until non-whitespace + // content is met. + function omitLeft(body, i, multiple) { + var current = body[i == null ? body.length - 1 : i - 1]; + if (!current || current.type !== 'ContentStatement' || (!multiple && current.leftStripped)) { + return; + } + + // We omit the last node if it's whitespace only and not preceeded by a non-content node. + var original = current.value; + current.value = current.value.replace(multiple ? (/\s+$/) : (/[ \t]+$/), ''); + current.leftStripped = current.value !== original; + return current.leftStripped; + } + + __exports__ = WhitespaceControl; + return __exports__; +})(__module11__); + +// handlebars/compiler/helpers.js +var __module12__ = (function(__dependency1__) { + "use strict"; + var __exports__ = {}; + var Exception = __dependency1__; + + function SourceLocation(source, locInfo) { + this.source = source; + this.start = { + line: locInfo.first_line, + column: locInfo.first_column + }; + this.end = { + line: locInfo.last_line, + column: locInfo.last_column + }; + } + + __exports__.SourceLocation = SourceLocation;function stripFlags(open, close) { + return { + open: open.charAt(2) === '~', + close: close.charAt(close.length-3) === '~' + }; + } + + __exports__.stripFlags = stripFlags;function stripComment(comment) { + return comment.replace(/^\{\{~?\!-?-?/, '') + .replace(/-?-?~?\}\}$/, ''); + } + + __exports__.stripComment = stripComment;function preparePath(data, parts, locInfo) { + /*jshint -W040 */ + locInfo = this.locInfo(locInfo); + + var original = data ? '@' : '', + dig = [], + depth = 0, + depthString = ''; + + for(var i=0,l=parts.length; i 0) { + throw new Exception('Invalid path: ' + original, {loc: locInfo}); + } else if (part === '..') { + depth++; + depthString += '../'; + } + } else { + dig.push(part); + } + } + + return new this.PathExpression(data, depth, dig, original, locInfo); + } + + __exports__.preparePath = preparePath;function prepareMustache(path, params, hash, open, strip, locInfo) { + /*jshint -W040 */ + // Must use charAt to support IE pre-10 + var escapeFlag = open.charAt(3) || open.charAt(2), + escaped = escapeFlag !== '{' && escapeFlag !== '&'; + + return new this.MustacheStatement(path, params, hash, escaped, strip, this.locInfo(locInfo)); + } + + __exports__.prepareMustache = prepareMustache;function prepareRawBlock(openRawBlock, content, close, locInfo) { + /*jshint -W040 */ + if (openRawBlock.path.original !== close) { + var errorNode = {loc: openRawBlock.path.loc}; + + throw new Exception(openRawBlock.path.original + " doesn't match " + close, errorNode); + } + + locInfo = this.locInfo(locInfo); + var program = new this.Program([content], null, {}, locInfo); + + return new this.BlockStatement( + openRawBlock.path, openRawBlock.params, openRawBlock.hash, + program, undefined, + {}, {}, {}, + locInfo); + } + + __exports__.prepareRawBlock = prepareRawBlock;function prepareBlock(openBlock, program, inverseAndProgram, close, inverted, locInfo) { + /*jshint -W040 */ + // When we are chaining inverse calls, we will not have a close path + if (close && close.path && openBlock.path.original !== close.path.original) { + var errorNode = {loc: openBlock.path.loc}; + + throw new Exception(openBlock.path.original + ' doesn\'t match ' + close.path.original, errorNode); + } + + program.blockParams = openBlock.blockParams; + + var inverse, + inverseStrip; + + if (inverseAndProgram) { + if (inverseAndProgram.chain) { + inverseAndProgram.program.body[0].closeStrip = close.strip; + } + + inverseStrip = inverseAndProgram.strip; + inverse = inverseAndProgram.program; + } + + if (inverted) { + inverted = inverse; + inverse = program; + program = inverted; + } + + return new this.BlockStatement( + openBlock.path, openBlock.params, openBlock.hash, + program, inverse, + openBlock.strip, inverseStrip, close && close.strip, + this.locInfo(locInfo)); + } + + __exports__.prepareBlock = prepareBlock; + return __exports__; +})(__module4__); + +// handlebars/compiler/base.js +var __module8__ = (function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__) { + "use strict"; + var __exports__ = {}; + var parser = __dependency1__; + var AST = __dependency2__; + var WhitespaceControl = __dependency3__; + var Helpers = __dependency4__; + var extend = __dependency5__.extend; + + __exports__.parser = parser; + + var yy = {}; + extend(yy, Helpers, AST); + + function parse(input, options) { + // Just return if an already-compiled AST was passed in. + if (input.type === 'Program') { return input; } + + parser.yy = yy; + + // Altering the shared object here, but this is ok as parser is a sync operation + yy.locInfo = function(locInfo) { + return new yy.SourceLocation(options && options.srcName, locInfo); + }; + + var strip = new WhitespaceControl(); + return strip.accept(parser.parse(input)); + } + + __exports__.parse = parse; + return __exports__; +})(__module9__, __module7__, __module10__, __module12__, __module3__); + +// handlebars/compiler/compiler.js +var __module13__ = (function(__dependency1__, __dependency2__, __dependency3__) { + "use strict"; + var __exports__ = {}; + var Exception = __dependency1__; + var isArray = __dependency2__.isArray; + var indexOf = __dependency2__.indexOf; + var AST = __dependency3__; + + var slice = [].slice; + + + function Compiler() {} + + __exports__.Compiler = Compiler;// the foundHelper register will disambiguate helper lookup from finding a + // function in a context. This is necessary for mustache compatibility, which + // requires that context functions in blocks are evaluated by blockHelperMissing, + // and then proceed as if the resulting value was provided to blockHelperMissing. + + Compiler.prototype = { + compiler: Compiler, + + equals: function(other) { + var len = this.opcodes.length; + if (other.opcodes.length !== len) { + return false; + } + + for (var i = 0; i < len; i++) { + var opcode = this.opcodes[i], + otherOpcode = other.opcodes[i]; + if (opcode.opcode !== otherOpcode.opcode || !argEquals(opcode.args, otherOpcode.args)) { + return false; + } + } + + // We know that length is the same between the two arrays because they are directly tied + // to the opcode behavior above. + len = this.children.length; + for (i = 0; i < len; i++) { + if (!this.children[i].equals(other.children[i])) { + return false; + } + } + + return true; + }, + + guid: 0, + + compile: function(program, options) { + this.sourceNode = []; + this.opcodes = []; + this.children = []; + this.options = options; + this.stringParams = options.stringParams; + this.trackIds = options.trackIds; + + options.blockParams = options.blockParams || []; + + // These changes will propagate to the other compiler components + var knownHelpers = options.knownHelpers; + options.knownHelpers = { + 'helperMissing': true, + 'blockHelperMissing': true, + 'each': true, + 'if': true, + 'unless': true, + 'with': true, + 'log': true, + 'lookup': true + }; + if (knownHelpers) { + for (var name in knownHelpers) { + options.knownHelpers[name] = knownHelpers[name]; + } + } + + return this.accept(program); + }, + + compileProgram: function(program) { + var result = new this.compiler().compile(program, this.options); + var guid = this.guid++; + + this.usePartial = this.usePartial || result.usePartial; + + this.children[guid] = result; + this.useDepths = this.useDepths || result.useDepths; + + return guid; + }, + + accept: function(node) { + this.sourceNode.unshift(node); + var ret = this[node.type](node); + this.sourceNode.shift(); + return ret; + }, + + Program: function(program) { + this.options.blockParams.unshift(program.blockParams); + + var body = program.body; + for(var i=0, l=body.length; i 1) { + throw new Exception('Unsupported number of partial arguments: ' + params.length, partial); + } else if (!params.length) { + params.push({type: 'PathExpression', parts: [], depth: 0}); + } + + var partialName = partial.name.original, + isDynamic = partial.name.type === 'SubExpression'; + if (isDynamic) { + this.accept(partial.name); + } + + this.setupFullMustacheParams(partial, undefined, undefined, true); + + var indent = partial.indent || ''; + if (this.options.preventIndent && indent) { + this.opcode('appendContent', indent); + indent = ''; + } + + this.opcode('invokePartial', isDynamic, partialName, indent); + this.opcode('append'); + }, + + MustacheStatement: function(mustache) { + this.SubExpression(mustache); + + if(mustache.escaped && !this.options.noEscape) { + this.opcode('appendEscaped'); + } else { + this.opcode('append'); + } + }, + + ContentStatement: function(content) { + if (content.value) { + this.opcode('appendContent', content.value); + } + }, + + CommentStatement: function() {}, + + SubExpression: function(sexpr) { + transformLiteralToPath(sexpr); + var type = this.classifySexpr(sexpr); + + if (type === 'simple') { + this.simpleSexpr(sexpr); + } else if (type === 'helper') { + this.helperSexpr(sexpr); + } else { + this.ambiguousSexpr(sexpr); + } + }, + ambiguousSexpr: function(sexpr, program, inverse) { + var path = sexpr.path, + name = path.parts[0], + isBlock = program != null || inverse != null; + + this.opcode('getContext', path.depth); + + this.opcode('pushProgram', program); + this.opcode('pushProgram', inverse); + + this.accept(path); + + this.opcode('invokeAmbiguous', name, isBlock); + }, + + simpleSexpr: function(sexpr) { + this.accept(sexpr.path); + this.opcode('resolvePossibleLambda'); + }, + + helperSexpr: function(sexpr, program, inverse) { + var params = this.setupFullMustacheParams(sexpr, program, inverse), + path = sexpr.path, + name = path.parts[0]; + + if (this.options.knownHelpers[name]) { + this.opcode('invokeKnownHelper', params.length, name); + } else if (this.options.knownHelpersOnly) { + throw new Exception("You specified knownHelpersOnly, but used the unknown helper " + name, sexpr); + } else { + path.falsy = true; + + this.accept(path); + this.opcode('invokeHelper', params.length, path.original, AST.helpers.simpleId(path)); + } + }, + + PathExpression: function(path) { + this.addDepth(path.depth); + this.opcode('getContext', path.depth); + + var name = path.parts[0], + scoped = AST.helpers.scopedId(path), + blockParamId = !path.depth && !scoped && this.blockParamIndex(name); + + if (blockParamId) { + this.opcode('lookupBlockParam', blockParamId, path.parts); + } else if (!name) { + // Context reference, i.e. `{{foo .}}` or `{{foo ..}}` + this.opcode('pushContext'); + } else if (path.data) { + this.options.data = true; + this.opcode('lookupData', path.depth, path.parts); + } else { + this.opcode('lookupOnContext', path.parts, path.falsy, scoped); + } + }, + + StringLiteral: function(string) { + this.opcode('pushString', string.value); + }, + + NumberLiteral: function(number) { + this.opcode('pushLiteral', number.value); + }, + + BooleanLiteral: function(bool) { + this.opcode('pushLiteral', bool.value); + }, + + Hash: function(hash) { + var pairs = hash.pairs, i, l; + + this.opcode('pushHash'); + + for (i=0, l=pairs.length; i= 0) { + return [depth, param]; + } + } + } + }; + + function precompile(input, options, env) { + if (input == null || (typeof input !== 'string' && input.type !== 'Program')) { + throw new Exception("You must pass a string or Handlebars AST to Handlebars.precompile. You passed " + input); + } + + options = options || {}; + if (!('data' in options)) { + options.data = true; + } + if (options.compat) { + options.useDepths = true; + } + + var ast = env.parse(input, options); + var environment = new env.Compiler().compile(ast, options); + return new env.JavaScriptCompiler().compile(environment, options); + } + + __exports__.precompile = precompile;function compile(input, options, env) { + if (input == null || (typeof input !== 'string' && input.type !== 'Program')) { + throw new Exception("You must pass a string or Handlebars AST to Handlebars.compile. You passed " + input); + } + + options = options || {}; + + if (!('data' in options)) { + options.data = true; + } + if (options.compat) { + options.useDepths = true; + } + + var compiled; + + function compileInput() { + var ast = env.parse(input, options); + var environment = new env.Compiler().compile(ast, options); + var templateSpec = new env.JavaScriptCompiler().compile(environment, options, undefined, true); + return env.template(templateSpec); + } + + // Template is only compiled on first use and cached after that point. + var ret = function(context, options) { + if (!compiled) { + compiled = compileInput(); + } + return compiled.call(this, context, options); + }; + ret._setup = function(options) { + if (!compiled) { + compiled = compileInput(); + } + return compiled._setup(options); + }; + ret._child = function(i, data, blockParams, depths) { + if (!compiled) { + compiled = compileInput(); + } + return compiled._child(i, data, blockParams, depths); + }; + return ret; + } + + __exports__.compile = compile;function argEquals(a, b) { + if (a === b) { + return true; + } + + if (isArray(a) && isArray(b) && a.length === b.length) { + for (var i = 0; i < a.length; i++) { + if (!argEquals(a[i], b[i])) { + return false; + } + } + return true; + } + } + + function transformLiteralToPath(sexpr) { + if (!sexpr.path.parts) { + var literal = sexpr.path; + // Casting to string here to make false and 0 literal values play nicely with the rest + // of the system. + sexpr.path = new AST.PathExpression(false, 0, [literal.original+''], literal.original+'', literal.loc); + } + } + return __exports__; +})(__module4__, __module3__, __module7__); + +// handlebars/compiler/code-gen.js +var __module15__ = (function(__dependency1__) { + "use strict"; + var __exports__; + var isArray = __dependency1__.isArray; + + try { + var SourceMap = require('source-map'), + SourceNode = SourceMap.SourceNode; + } catch (err) { + /* istanbul ignore next: tested but not covered in istanbul due to dist build */ + SourceNode = function(line, column, srcFile, chunks) { + this.src = ''; + if (chunks) { + this.add(chunks); + } + }; + /* istanbul ignore next */ + SourceNode.prototype = { + add: function(chunks) { + if (isArray(chunks)) { + chunks = chunks.join(''); + } + this.src += chunks; + }, + prepend: function(chunks) { + if (isArray(chunks)) { + chunks = chunks.join(''); + } + this.src = chunks + this.src; + }, + toStringWithSourceMap: function() { + return {code: this.toString()}; + }, + toString: function() { + return this.src; + } + }; + } + + + function castChunk(chunk, codeGen, loc) { + if (isArray(chunk)) { + var ret = []; + + for (var i = 0, len = chunk.length; i < len; i++) { + ret.push(codeGen.wrap(chunk[i], loc)); + } + return ret; + } else if (typeof chunk === 'boolean' || typeof chunk === 'number') { + // Handle primitives that the SourceNode will throw up on + return chunk+''; + } + return chunk; + } + + + function CodeGen(srcFile) { + this.srcFile = srcFile; + this.source = []; + } + + CodeGen.prototype = { + prepend: function(source, loc) { + this.source.unshift(this.wrap(source, loc)); + }, + push: function(source, loc) { + this.source.push(this.wrap(source, loc)); + }, + + merge: function() { + var source = this.empty(); + this.each(function(line) { + source.add([' ', line, '\n']); + }); + return source; + }, + + each: function(iter) { + for (var i = 0, len = this.source.length; i < len; i++) { + iter(this.source[i]); + } + }, + + empty: function(loc) { + loc = loc || this.currentLocation || {start:{}}; + return new SourceNode(loc.start.line, loc.start.column, this.srcFile); + }, + wrap: function(chunk, loc) { + if (chunk instanceof SourceNode) { + return chunk; + } + + loc = loc || this.currentLocation || {start:{}}; + chunk = castChunk(chunk, this, loc); + + return new SourceNode(loc.start.line, loc.start.column, this.srcFile, chunk); + }, + + functionCall: function(fn, type, params) { + params = this.generateList(params); + return this.wrap([fn, type ? '.' + type + '(' : '(', params, ')']); + }, + + quotedString: function(str) { + return '"' + (str + '') + .replace(/\\/g, '\\\\') + .replace(/"/g, '\\"') + .replace(/\n/g, '\\n') + .replace(/\r/g, '\\r') + .replace(/\u2028/g, '\\u2028') // Per Ecma-262 7.3 + 7.8.4 + .replace(/\u2029/g, '\\u2029') + '"'; + }, + + objectLiteral: function(obj) { + var pairs = []; + + for (var key in obj) { + if (obj.hasOwnProperty(key)) { + var value = castChunk(obj[key], this); + if (value !== 'undefined') { + pairs.push([this.quotedString(key), ':', value]); + } + } + } + + var ret = this.generateList(pairs); + ret.prepend('{'); + ret.add('}'); + return ret; + }, + + + generateList: function(entries, loc) { + var ret = this.empty(loc); + + for (var i = 0, len = entries.length; i < len; i++) { + if (i) { + ret.add(','); + } + + ret.add(castChunk(entries[i], this, loc)); + } + + return ret; + }, + + generateArray: function(entries, loc) { + var ret = this.generateList(entries, loc); + ret.prepend('['); + ret.add(']'); + + return ret; + } + }; + + __exports__ = CodeGen; + return __exports__; +})(__module3__); + +// handlebars/compiler/javascript-compiler.js +var __module14__ = (function(__dependency1__, __dependency2__, __dependency3__, __dependency4__) { + "use strict"; + var __exports__; + var COMPILER_REVISION = __dependency1__.COMPILER_REVISION; + var REVISION_CHANGES = __dependency1__.REVISION_CHANGES; + var Exception = __dependency2__; + var isArray = __dependency3__.isArray; + var CodeGen = __dependency4__; + + function Literal(value) { + this.value = value; + } + + function JavaScriptCompiler() {} + + JavaScriptCompiler.prototype = { + // PUBLIC API: You can override these methods in a subclass to provide + // alternative compiled forms for name lookup and buffering semantics + nameLookup: function(parent, name /* , type*/) { + if (JavaScriptCompiler.isValidJavaScriptVariableName(name)) { + return [parent, ".", name]; + } else { + return [parent, "['", name, "']"]; + } + }, + depthedLookup: function(name) { + return [this.aliasable('this.lookup'), '(depths, "', name, '")']; + }, + + compilerInfo: function() { + var revision = COMPILER_REVISION, + versions = REVISION_CHANGES[revision]; + return [revision, versions]; + }, + + appendToBuffer: function(source, location, explicit) { + // Force a source as this simplifies the merge logic. + if (!isArray(source)) { + source = [source]; + } + source = this.source.wrap(source, location); + + if (this.environment.isSimple) { + return ['return ', source, ';']; + } else if (explicit) { + // This is a case where the buffer operation occurs as a child of another + // construct, generally braces. We have to explicitly output these buffer + // operations to ensure that the emitted code goes in the correct location. + return ['buffer += ', source, ';']; + } else { + source.appendToBuffer = true; + return source; + } + }, + + initializeBuffer: function() { + return this.quotedString(""); + }, + // END PUBLIC API + + compile: function(environment, options, context, asObject) { + this.environment = environment; + this.options = options; + this.stringParams = this.options.stringParams; + this.trackIds = this.options.trackIds; + this.precompile = !asObject; + + this.name = this.environment.name; + this.isChild = !!context; + this.context = context || { + programs: [], + environments: [] + }; + + this.preamble(); + + this.stackSlot = 0; + this.stackVars = []; + this.aliases = {}; + this.registers = { list: [] }; + this.hashes = []; + this.compileStack = []; + this.inlineStack = []; + this.blockParams = []; + + this.compileChildren(environment, options); + + this.useDepths = this.useDepths || environment.useDepths || this.options.compat; + this.useBlockParams = this.useBlockParams || environment.useBlockParams; + + var opcodes = environment.opcodes, + opcode, + firstLoc, + i, + l; + + for (i = 0, l = opcodes.length; i < l; i++) { + opcode = opcodes[i]; + + this.source.currentLocation = opcode.loc; + firstLoc = firstLoc || opcode.loc; + this[opcode.opcode].apply(this, opcode.args); + } + + // Flush any trailing content that might be pending. + this.source.currentLocation = firstLoc; + this.pushSource(''); + + /* istanbul ignore next */ + if (this.stackSlot || this.inlineStack.length || this.compileStack.length) { + throw new Exception('Compile completed with content left on stack'); + } + + var fn = this.createFunctionContext(asObject); + if (!this.isChild) { + var ret = { + compiler: this.compilerInfo(), + main: fn + }; + var programs = this.context.programs; + for (i = 0, l = programs.length; i < l; i++) { + if (programs[i]) { + ret[i] = programs[i]; + } + } + + if (this.environment.usePartial) { + ret.usePartial = true; + } + if (this.options.data) { + ret.useData = true; + } + if (this.useDepths) { + ret.useDepths = true; + } + if (this.useBlockParams) { + ret.useBlockParams = true; + } + if (this.options.compat) { + ret.compat = true; + } + + if (!asObject) { + ret.compiler = JSON.stringify(ret.compiler); + + this.source.currentLocation = {start: {line: 1, column: 0}}; + ret = this.objectLiteral(ret); + + if (options.srcName) { + ret = ret.toStringWithSourceMap({file: options.destName}); + ret.map = ret.map && ret.map.toString(); + } else { + ret = ret.toString(); + } + } else { + ret.compilerOptions = this.options; + } + + return ret; + } else { + return fn; + } + }, + + preamble: function() { + // track the last context pushed into place to allow skipping the + // getContext opcode when it would be a noop + this.lastContext = 0; + this.source = new CodeGen(this.options.srcName); + }, + + createFunctionContext: function(asObject) { + var varDeclarations = ''; + + var locals = this.stackVars.concat(this.registers.list); + if(locals.length > 0) { + varDeclarations += ", " + locals.join(", "); + } + + // Generate minimizer alias mappings + // + // When using true SourceNodes, this will update all references to the given alias + // as the source nodes are reused in situ. For the non-source node compilation mode, + // aliases will not be used, but this case is already being run on the client and + // we aren't concern about minimizing the template size. + var aliasCount = 0; + for (var alias in this.aliases) { + var node = this.aliases[alias]; + + if (this.aliases.hasOwnProperty(alias) && node.children && node.referenceCount > 1) { + varDeclarations += ', alias' + (++aliasCount) + '=' + alias; + node.children[0] = 'alias' + aliasCount; + } + } + + var params = ["depth0", "helpers", "partials", "data"]; + + if (this.useBlockParams || this.useDepths) { + params.push('blockParams'); + } + if (this.useDepths) { + params.push('depths'); + } + + // Perform a second pass over the output to merge content when possible + var source = this.mergeSource(varDeclarations); + + if (asObject) { + params.push(source); + + return Function.apply(this, params); + } else { + return this.source.wrap(['function(', params.join(','), ') {\n ', source, '}']); + } + }, + mergeSource: function(varDeclarations) { + var isSimple = this.environment.isSimple, + appendOnly = !this.forceBuffer, + appendFirst, + + sourceSeen, + bufferStart, + bufferEnd; + this.source.each(function(line) { + if (line.appendToBuffer) { + if (bufferStart) { + line.prepend(' + '); + } else { + bufferStart = line; + } + bufferEnd = line; + } else { + if (bufferStart) { + if (!sourceSeen) { + appendFirst = true; + } else { + bufferStart.prepend('buffer += '); + } + bufferEnd.add(';'); + bufferStart = bufferEnd = undefined; + } + + sourceSeen = true; + if (!isSimple) { + appendOnly = false; + } + } + }); + + + if (appendOnly) { + if (bufferStart) { + bufferStart.prepend('return '); + bufferEnd.add(';'); + } else if (!sourceSeen) { + this.source.push('return "";'); + } + } else { + varDeclarations += ", buffer = " + (appendFirst ? '' : this.initializeBuffer()); + + if (bufferStart) { + bufferStart.prepend('return buffer + '); + bufferEnd.add(';'); + } else { + this.source.push('return buffer;'); + } + } + + if (varDeclarations) { + this.source.prepend('var ' + varDeclarations.substring(2) + (appendFirst ? '' : ';\n')); + } + + return this.source.merge(); + }, + + // [blockValue] + // + // On stack, before: hash, inverse, program, value + // On stack, after: return value of blockHelperMissing + // + // The purpose of this opcode is to take a block of the form + // `{{#this.foo}}...{{/this.foo}}`, resolve the value of `foo`, and + // replace it on the stack with the result of properly + // invoking blockHelperMissing. + blockValue: function(name) { + var blockHelperMissing = this.aliasable('helpers.blockHelperMissing'), + params = [this.contextName(0)]; + this.setupHelperArgs(name, 0, params); + + var blockName = this.popStack(); + params.splice(1, 0, blockName); + + this.push(this.source.functionCall(blockHelperMissing, 'call', params)); + }, + + // [ambiguousBlockValue] + // + // On stack, before: hash, inverse, program, value + // Compiler value, before: lastHelper=value of last found helper, if any + // On stack, after, if no lastHelper: same as [blockValue] + // On stack, after, if lastHelper: value + ambiguousBlockValue: function() { + // We're being a bit cheeky and reusing the options value from the prior exec + var blockHelperMissing = this.aliasable('helpers.blockHelperMissing'), + params = [this.contextName(0)]; + this.setupHelperArgs('', 0, params, true); + + this.flushInline(); + + var current = this.topStack(); + params.splice(1, 0, current); + + this.pushSource([ + 'if (!', this.lastHelper, ') { ', + current, ' = ', this.source.functionCall(blockHelperMissing, 'call', params), + '}']); + }, + + // [appendContent] + // + // On stack, before: ... + // On stack, after: ... + // + // Appends the string value of `content` to the current buffer + appendContent: function(content) { + if (this.pendingContent) { + content = this.pendingContent + content; + } else { + this.pendingLocation = this.source.currentLocation; + } + + this.pendingContent = content; + }, + + // [append] + // + // On stack, before: value, ... + // On stack, after: ... + // + // Coerces `value` to a String and appends it to the current buffer. + // + // If `value` is truthy, or 0, it is coerced into a string and appended + // Otherwise, the empty string is appended + append: function() { + if (this.isInline()) { + this.replaceStack(function(current) { + return [' != null ? ', current, ' : ""']; + }); + + this.pushSource(this.appendToBuffer(this.popStack())); + } else { + var local = this.popStack(); + this.pushSource(['if (', local, ' != null) { ', this.appendToBuffer(local, undefined, true), ' }']); + if (this.environment.isSimple) { + this.pushSource(['else { ', this.appendToBuffer("''", undefined, true), ' }']); + } + } + }, + + // [appendEscaped] + // + // On stack, before: value, ... + // On stack, after: ... + // + // Escape `value` and append it to the buffer + appendEscaped: function() { + this.pushSource(this.appendToBuffer( + [this.aliasable('this.escapeExpression'), '(', this.popStack(), ')'])); + }, + + // [getContext] + // + // On stack, before: ... + // On stack, after: ... + // Compiler value, after: lastContext=depth + // + // Set the value of the `lastContext` compiler value to the depth + getContext: function(depth) { + this.lastContext = depth; + }, + + // [pushContext] + // + // On stack, before: ... + // On stack, after: currentContext, ... + // + // Pushes the value of the current context onto the stack. + pushContext: function() { + this.pushStackLiteral(this.contextName(this.lastContext)); + }, + + // [lookupOnContext] + // + // On stack, before: ... + // On stack, after: currentContext[name], ... + // + // Looks up the value of `name` on the current context and pushes + // it onto the stack. + lookupOnContext: function(parts, falsy, scoped) { + var i = 0; + + if (!scoped && this.options.compat && !this.lastContext) { + // The depthed query is expected to handle the undefined logic for the root level that + // is implemented below, so we evaluate that directly in compat mode + this.push(this.depthedLookup(parts[i++])); + } else { + this.pushContext(); + } + + this.resolvePath('context', parts, i, falsy); + }, + + // [lookupBlockParam] + // + // On stack, before: ... + // On stack, after: blockParam[name], ... + // + // Looks up the value of `parts` on the given block param and pushes + // it onto the stack. + lookupBlockParam: function(blockParamId, parts) { + this.useBlockParams = true; + + this.push(['blockParams[', blockParamId[0], '][', blockParamId[1], ']']); + this.resolvePath('context', parts, 1); + }, + + // [lookupData] + // + // On stack, before: ... + // On stack, after: data, ... + // + // Push the data lookup operator + lookupData: function(depth, parts) { + /*jshint -W083 */ + if (!depth) { + this.pushStackLiteral('data'); + } else { + this.pushStackLiteral('this.data(data, ' + depth + ')'); + } + + this.resolvePath('data', parts, 0, true); + }, + + resolvePath: function(type, parts, i, falsy) { + /*jshint -W083 */ + if (this.options.strict || this.options.assumeObjects) { + this.push(strictLookup(this.options.strict, this, parts, type)); + return; + } + + var len = parts.length; + for (; i < len; i++) { + this.replaceStack(function(current) { + var lookup = this.nameLookup(current, parts[i], type); + // We want to ensure that zero and false are handled properly if the context (falsy flag) + // needs to have the special handling for these values. + if (!falsy) { + return [' != null ? ', lookup, ' : ', current]; + } else { + // Otherwise we can use generic falsy handling + return [' && ', lookup]; + } + }); + } + }, + + // [resolvePossibleLambda] + // + // On stack, before: value, ... + // On stack, after: resolved value, ... + // + // If the `value` is a lambda, replace it on the stack by + // the return value of the lambda + resolvePossibleLambda: function() { + this.push([this.aliasable('this.lambda'), '(', this.popStack(), ', ', this.contextName(0), ')']); + }, + + // [pushStringParam] + // + // On stack, before: ... + // On stack, after: string, currentContext, ... + // + // This opcode is designed for use in string mode, which + // provides the string value of a parameter along with its + // depth rather than resolving it immediately. + pushStringParam: function(string, type) { + this.pushContext(); + this.pushString(type); + + // If it's a subexpression, the string result + // will be pushed after this opcode. + if (type !== 'SubExpression') { + if (typeof string === 'string') { + this.pushString(string); + } else { + this.pushStackLiteral(string); + } + } + }, + + emptyHash: function(omitEmpty) { + if (this.trackIds) { + this.push('{}'); // hashIds + } + if (this.stringParams) { + this.push('{}'); // hashContexts + this.push('{}'); // hashTypes + } + this.pushStackLiteral(omitEmpty ? 'undefined' : '{}'); + }, + pushHash: function() { + if (this.hash) { + this.hashes.push(this.hash); + } + this.hash = {values: [], types: [], contexts: [], ids: []}; + }, + popHash: function() { + var hash = this.hash; + this.hash = this.hashes.pop(); + + if (this.trackIds) { + this.push(this.objectLiteral(hash.ids)); + } + if (this.stringParams) { + this.push(this.objectLiteral(hash.contexts)); + this.push(this.objectLiteral(hash.types)); + } + + this.push(this.objectLiteral(hash.values)); + }, + + // [pushString] + // + // On stack, before: ... + // On stack, after: quotedString(string), ... + // + // Push a quoted version of `string` onto the stack + pushString: function(string) { + this.pushStackLiteral(this.quotedString(string)); + }, + + // [pushLiteral] + // + // On stack, before: ... + // On stack, after: value, ... + // + // Pushes a value onto the stack. This operation prevents + // the compiler from creating a temporary variable to hold + // it. + pushLiteral: function(value) { + this.pushStackLiteral(value); + }, + + // [pushProgram] + // + // On stack, before: ... + // On stack, after: program(guid), ... + // + // Push a program expression onto the stack. This takes + // a compile-time guid and converts it into a runtime-accessible + // expression. + pushProgram: function(guid) { + if (guid != null) { + this.pushStackLiteral(this.programExpression(guid)); + } else { + this.pushStackLiteral(null); + } + }, + + // [invokeHelper] + // + // On stack, before: hash, inverse, program, params..., ... + // On stack, after: result of helper invocation + // + // Pops off the helper's parameters, invokes the helper, + // and pushes the helper's return value onto the stack. + // + // If the helper is not found, `helperMissing` is called. + invokeHelper: function(paramSize, name, isSimple) { + var nonHelper = this.popStack(); + var helper = this.setupHelper(paramSize, name); + var simple = isSimple ? [helper.name, ' || '] : ''; + + var lookup = ['('].concat(simple, nonHelper); + if (!this.options.strict) { + lookup.push(' || ', this.aliasable('helpers.helperMissing')); + } + lookup.push(')'); + + this.push(this.source.functionCall(lookup, 'call', helper.callParams)); + }, + + // [invokeKnownHelper] + // + // On stack, before: hash, inverse, program, params..., ... + // On stack, after: result of helper invocation + // + // This operation is used when the helper is known to exist, + // so a `helperMissing` fallback is not required. + invokeKnownHelper: function(paramSize, name) { + var helper = this.setupHelper(paramSize, name); + this.push(this.source.functionCall(helper.name, 'call', helper.callParams)); + }, + + // [invokeAmbiguous] + // + // On stack, before: hash, inverse, program, params..., ... + // On stack, after: result of disambiguation + // + // This operation is used when an expression like `{{foo}}` + // is provided, but we don't know at compile-time whether it + // is a helper or a path. + // + // This operation emits more code than the other options, + // and can be avoided by passing the `knownHelpers` and + // `knownHelpersOnly` flags at compile-time. + invokeAmbiguous: function(name, helperCall) { + this.useRegister('helper'); + + var nonHelper = this.popStack(); + + this.emptyHash(); + var helper = this.setupHelper(0, name, helperCall); + + var helperName = this.lastHelper = this.nameLookup('helpers', name, 'helper'); + + var lookup = ['(', '(helper = ', helperName, ' || ', nonHelper, ')']; + if (!this.options.strict) { + lookup[0] = '(helper = '; + lookup.push( + ' != null ? helper : ', + this.aliasable('helpers.helperMissing') + ); + } + + this.push([ + '(', lookup, + (helper.paramsInit ? ['),(', helper.paramsInit] : []), '),', + '(typeof helper === ', this.aliasable('"function"'), ' ? ', + this.source.functionCall('helper','call', helper.callParams), ' : helper))' + ]); + }, + + // [invokePartial] + // + // On stack, before: context, ... + // On stack after: result of partial invocation + // + // This operation pops off a context, invokes a partial with that context, + // and pushes the result of the invocation back. + invokePartial: function(isDynamic, name, indent) { + var params = [], + options = this.setupParams(name, 1, params, false); + + if (isDynamic) { + name = this.popStack(); + delete options.name; + } + + if (indent) { + options.indent = JSON.stringify(indent); + } + options.helpers = 'helpers'; + options.partials = 'partials'; + + if (!isDynamic) { + params.unshift(this.nameLookup('partials', name, 'partial')); + } else { + params.unshift(name); + } + + if (this.options.compat) { + options.depths = 'depths'; + } + options = this.objectLiteral(options); + params.push(options); + + this.push(this.source.functionCall('this.invokePartial', '', params)); + }, + + // [assignToHash] + // + // On stack, before: value, ..., hash, ... + // On stack, after: ..., hash, ... + // + // Pops a value off the stack and assigns it to the current hash + assignToHash: function(key) { + var value = this.popStack(), + context, + type, + id; + + if (this.trackIds) { + id = this.popStack(); + } + if (this.stringParams) { + type = this.popStack(); + context = this.popStack(); + } + + var hash = this.hash; + if (context) { + hash.contexts[key] = context; + } + if (type) { + hash.types[key] = type; + } + if (id) { + hash.ids[key] = id; + } + hash.values[key] = value; + }, + + pushId: function(type, name, child) { + if (type === 'BlockParam') { + this.pushStackLiteral( + 'blockParams[' + name[0] + '].path[' + name[1] + ']' + + (child ? ' + ' + JSON.stringify('.' + child) : '')); + } else if (type === 'PathExpression') { + this.pushString(name); + } else if (type === 'SubExpression') { + this.pushStackLiteral('true'); + } else { + this.pushStackLiteral('null'); + } + }, + + // HELPERS + + compiler: JavaScriptCompiler, + + compileChildren: function(environment, options) { + var children = environment.children, child, compiler; + + for(var i=0, l=children.length; i this.stackVars.length) { this.stackVars.push("stack" + this.stackSlot); } + return this.topStackName(); + }, + topStackName: function() { + return "stack" + this.stackSlot; + }, + flushInline: function() { + var inlineStack = this.inlineStack; + this.inlineStack = []; + for (var i = 0, len = inlineStack.length; i < len; i++) { + var entry = inlineStack[i]; + /* istanbul ignore if */ + if (entry instanceof Literal) { + this.compileStack.push(entry); + } else { + var stack = this.incrStack(); + this.pushSource([stack, ' = ', entry, ';']); + this.compileStack.push(stack); + } + } + }, + isInline: function() { + return this.inlineStack.length; + }, + + popStack: function(wrapped) { + var inline = this.isInline(), + item = (inline ? this.inlineStack : this.compileStack).pop(); + + if (!wrapped && (item instanceof Literal)) { + return item.value; + } else { + if (!inline) { + /* istanbul ignore next */ + if (!this.stackSlot) { + throw new Exception('Invalid stack pop'); + } + this.stackSlot--; + } + return item; + } + }, + + topStack: function() { + var stack = (this.isInline() ? this.inlineStack : this.compileStack), + item = stack[stack.length - 1]; + + /* istanbul ignore if */ + if (item instanceof Literal) { + return item.value; + } else { + return item; + } + }, + + contextName: function(context) { + if (this.useDepths && context) { + return 'depths[' + context + ']'; + } else { + return 'depth' + context; + } + }, + + quotedString: function(str) { + return this.source.quotedString(str); + }, + + objectLiteral: function(obj) { + return this.source.objectLiteral(obj); + }, + + aliasable: function(name) { + var ret = this.aliases[name]; + if (ret) { + ret.referenceCount++; + return ret; + } + + ret = this.aliases[name] = this.source.wrap(name); + ret.aliasable = true; + ret.referenceCount = 1; + + return ret; + }, + + setupHelper: function(paramSize, name, blockHelper) { + var params = [], + paramsInit = this.setupHelperArgs(name, paramSize, params, blockHelper); + var foundHelper = this.nameLookup('helpers', name, 'helper'); + + return { + params: params, + paramsInit: paramsInit, + name: foundHelper, + callParams: [this.contextName(0)].concat(params) + }; + }, + + setupParams: function(helper, paramSize, params) { + var options = {}, contexts = [], types = [], ids = [], param; + + options.name = this.quotedString(helper); + options.hash = this.popStack(); + + if (this.trackIds) { + options.hashIds = this.popStack(); + } + if (this.stringParams) { + options.hashTypes = this.popStack(); + options.hashContexts = this.popStack(); + } + + var inverse = this.popStack(), + program = this.popStack(); + + // Avoid setting fn and inverse if neither are set. This allows + // helpers to do a check for `if (options.fn)` + if (program || inverse) { + options.fn = program || 'this.noop'; + options.inverse = inverse || 'this.noop'; + } + + // The parameters go on to the stack in order (making sure that they are evaluated in order) + // so we need to pop them off the stack in reverse order + var i = paramSize; + while (i--) { + param = this.popStack(); + params[i] = param; + + if (this.trackIds) { + ids[i] = this.popStack(); + } + if (this.stringParams) { + types[i] = this.popStack(); + contexts[i] = this.popStack(); + } + } + + if (this.trackIds) { + options.ids = this.source.generateArray(ids); + } + if (this.stringParams) { + options.types = this.source.generateArray(types); + options.contexts = this.source.generateArray(contexts); + } + + if (this.options.data) { + options.data = 'data'; + } + if (this.useBlockParams) { + options.blockParams = 'blockParams'; + } + return options; + }, + + setupHelperArgs: function(helper, paramSize, params, useRegister) { + var options = this.setupParams(helper, paramSize, params, true); + options = this.objectLiteral(options); + if (useRegister) { + this.useRegister('options'); + params.push('options'); + return ['options=', options]; + } else { + params.push(options); + return ''; + } + } + }; + + + var reservedWords = ( + "break else new var" + + " case finally return void" + + " catch for switch while" + + " continue function this with" + + " default if throw" + + " delete in try" + + " do instanceof typeof" + + " abstract enum int short" + + " boolean export interface static" + + " byte extends long super" + + " char final native synchronized" + + " class float package throws" + + " const goto private transient" + + " debugger implements protected volatile" + + " double import public let yield await" + + " null true false" + ).split(" "); + + var compilerWords = JavaScriptCompiler.RESERVED_WORDS = {}; + + for(var i=0, l=reservedWords.length; i - + + + + + Jackett + - home +
+
+
+ +
+ + \ No newline at end of file diff --git a/src/Jackett/WebContent/logos/bitmetv.png b/src/Jackett/WebContent/logos/bitmetv.png new file mode 100644 index 0000000000000000000000000000000000000000..cc1a30ea46eb307af7be2ec4d752383ead27b79a GIT binary patch literal 36897 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 F{{!iXu2=v7 literal 0 HcmV?d00001 diff --git a/src/Jackett/WebContent/setup_indexer.html b/src/Jackett/WebContent/setup_indexer.html index 9d408b089..a891294ad 100644 --- a/src/Jackett/WebContent/setup_indexer.html +++ b/src/Jackett/WebContent/setup_indexer.html @@ -20,7 +20,7 @@ var urlParams = getUrlParams(); var jqxhr = $.post("get_config_form", JSON.stringify({ indexer: urlParams.indexer }), function (data) { - populateForm(data); + populateForm(data.config); }) .fail(function () { alert("error");
+
+
{{name}}
+
{{description}}
+
+
+ {{#if configured}} + Configred + {{else}} + Not configured + {{/if}} +
+
+