From 016df1eaf2a321b4ffbc8f6ac9508fa5ec4352d1 Mon Sep 17 00:00:00 2001 From: Rossen Georgiev Date: Sun, 7 Apr 2013 17:25:28 +0300 Subject: [PATCH 1/7] init --- .gitignore | 4 + index.html | 11 + js/jquery-1.8.3-min.js | 1 + js/jquery.couch.js | 1075 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 1091 insertions(+) create mode 100644 .gitignore create mode 100644 index.html create mode 100644 js/jquery-1.8.3-min.js create mode 100644 js/jquery.couch.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..153a081 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +*.swp +js/mobile.js +js/init_plot.js +css/mobile.css diff --git a/index.html b/index.html new file mode 100644 index 0000000..9a71d7e --- /dev/null +++ b/index.html @@ -0,0 +1,11 @@ + + + + + habitat api test + + + + + + diff --git a/js/jquery-1.8.3-min.js b/js/jquery-1.8.3-min.js new file mode 100644 index 0000000..ab825e5 --- /dev/null +++ b/js/jquery-1.8.3-min.js @@ -0,0 +1 @@ +(function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write(""),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t
a",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="
t
",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="
",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;ti.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="
",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="

",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t0)for(i=r;i=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*\s*$/g,Nt={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X
","
"]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1>");try{for(;r1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]===""&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("
").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window); diff --git a/js/jquery.couch.js b/js/jquery.couch.js new file mode 100644 index 0000000..4db6efa --- /dev/null +++ b/js/jquery.couch.js @@ -0,0 +1,1075 @@ +// Licensed under the Apache License, Version 2.0 (the "License"); you may not +// use this file except in compliance with the License. You may obtain a copy of +// the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations under +// the License. + +/** + * @namespace + * $.couch is used to communicate with a CouchDB server, the server methods can + * be called directly without creating an instance. Typically all methods are + * passed an options object which defines a success callback which + * is called with the data returned from the http request to CouchDB, you can + * find the other settings that can be used in the options object + * from + * jQuery.ajax settings + *
$.couch.activeTasks({
+ *   success: function (data) {
+ *     console.log(data);
+ *   }
+ * });
+ * Outputs (for example): + *
[
+ *  {
+ *   "pid" : "<0.11599.0>",
+ *   "status" : "Copied 0 of 18369 changes (0%)",
+ *   "task" : "recipes",
+ *   "type" : "Database Compaction"
+ *  }
+ *]
+ */ +(function($) { + + $.couch = $.couch || {}; + /** @lends $.couch */ + + /** + * @private + */ + function encodeDocId(docID) { + var parts = docID.split("/"); + if (parts[0] == "_design") { + parts.shift(); + return "_design/" + encodeURIComponent(parts.join('/')); + } + return encodeURIComponent(docID); + } + + /** + * @private + */ + + var uuidCache = []; + + $.extend($.couch, { + urlPrefix: '', + + /** + * You can obtain a list of active tasks by using the /_active_tasks URL. + * The result is a JSON array of the currently running tasks, with each task + * being described with a single object. + * @see docs for /_active_tasks + * @param {ajaxSettings} options jQuery ajax settings + */ + activeTasks: function(options) { + ajax( + {url: this.urlPrefix + "/_active_tasks"}, + options, + "Active task status could not be retrieved" + ); + }, + + /** + * Returns a list of all the databases in the CouchDB instance + * @see docs for /_all_dbs + * @param {ajaxSettings} options jQuery ajax settings + */ + allDbs: function(options) { + ajax( + {url: this.urlPrefix + "/_all_dbs"}, + options, + "An error occurred retrieving the list of all databases" + ); + }, + + /** + * View and edit the CouchDB configuration, called with just the options + * parameter the entire config is returned, you can be more specific by + * passing the section and option parameters, if you specify a value that + * value will be stored in the configuration. + * @see docs for /_config + * @param {ajaxSettings} options + * + * jQuery ajax settings + * @param {String} [section] the section of the config + * @param {String} [option] the particular config option + * @param {String} [value] value to be set + */ + config: function(options, section, option, value) { + var req = {url: this.urlPrefix + "/_config/"}; + if (section) { + req.url += encodeURIComponent(section) + "/"; + if (option) { + req.url += encodeURIComponent(option); + } + } + if (value === null) { + req.type = "DELETE"; + } else if (value !== undefined) { + req.type = "PUT"; + req.data = toJSON(value); + req.contentType = "application/json"; + req.processData = false + } + + ajax(req, options, + "An error occurred retrieving/updating the server configuration" + ); + }, + + /** + * Returns the session information for the currently logged in user. + * @param {ajaxSettings} options + * + * jQuery ajax settings + */ + session: function(options) { + options = options || {}; + $.ajax({ + type: "GET", url: this.urlPrefix + "/_session", + beforeSend: function(xhr) { + xhr.setRequestHeader('Accept', 'application/json'); + }, + complete: function(req) { + var resp = $.parseJSON(req.responseText); + if (req.status == 200) { + if (options.success) options.success(resp); + } else if (options.error) { + options.error(req.status, resp.error, resp.reason); + } else { + throw "An error occurred getting session info: " + resp.reason; + } + } + }); + }, + + /** + * @private + */ + userDb : function(callback) { + $.couch.session({ + success : function(resp) { + var userDb = $.couch.db(resp.info.authentication_db); + callback(userDb); + } + }); + }, + + /** + * Create a new user on the CouchDB server, user_doc is an + * object with a name field and other information you want + * to store relating to that user, for example + * {"name": "daleharvey"} + * @param {Object} user_doc Users details + * @param {String} password Users password + * @param {ajaxSettings} options + * + * jQuery ajax settings + */ + signup: function(user_doc, password, options) { + options = options || {}; + user_doc.password = password; + user_doc.roles = user_doc.roles || []; + user_doc.type = user_doc.type = "user" || []; + var user_prefix = "org.couchdb.user:"; + user_doc._id = user_doc._id || user_prefix + user_doc.name; + + $.couch.userDb(function(db) { + db.saveDoc(user_doc, options); + }); + }, + + /** + * Authenticate against CouchDB, the options parameter is + *expected to have name and password fields. + * @param {ajaxSettings} options + * + * jQuery ajax settings + */ + login: function(options) { + options = options || {}; + $.ajax({ + type: "POST", url: this.urlPrefix + "/_session", dataType: "json", + data: {name: options.name, password: options.password}, + beforeSend: function(xhr) { + xhr.setRequestHeader('Accept', 'application/json'); + }, + complete: function(req) { + var resp = $.parseJSON(req.responseText); + if (req.status == 200) { + if (options.success) options.success(resp); + } else if (options.error) { + options.error(req.status, resp.error, resp.reason); + } else { + throw 'An error occurred logging in: ' + resp.reason; + } + } + }); + }, + + + /** + * Delete your current CouchDB user session + * @param {ajaxSettings} options + * + * jQuery ajax settings + */ + logout: function(options) { + options = options || {}; + $.ajax({ + type: "DELETE", url: this.urlPrefix + "/_session", dataType: "json", + username : "_", password : "_", + beforeSend: function(xhr) { + xhr.setRequestHeader('Accept', 'application/json'); + }, + complete: function(req) { + var resp = $.parseJSON(req.responseText); + if (req.status == 200) { + if (options.success) options.success(resp); + } else if (options.error) { + options.error(req.status, resp.error, resp.reason); + } else { + throw 'An error occurred logging out: ' + resp.reason; + } + } + }); + }, + + /** + * @namespace + * $.couch.db is used to communicate with a specific CouchDB database + *
var $db = $.couch.db("mydatabase");
+     *$db.allApps({
+     *  success: function (data) {
+     *    ... process data ...
+     *  }
+     *});
+     * 
+ */ + db: function(name, db_opts) { + db_opts = db_opts || {}; + var rawDocs = {}; + function maybeApplyVersion(doc) { + if (doc._id && doc._rev && rawDocs[doc._id] && + rawDocs[doc._id].rev == doc._rev) { + // todo: can we use commonjs require here? + if (typeof Base64 == "undefined") { + throw 'Base64 support not found.'; + } else { + doc._attachments = doc._attachments || {}; + doc._attachments["rev-"+doc._rev.split("-")[0]] = { + content_type :"application/json", + data : Base64.encode(rawDocs[doc._id].raw) + }; + return true; + } + } + }; + return /** @lends $.couch.db */{ + name: name, + uri: this.urlPrefix + "/" + encodeURIComponent(name) + "/", + + /** + * Request compaction of the specified database. + * @see docs for /db/_compact + * @param {ajaxSettings} options + * + * jQuery ajax settings + */ + compact: function(options) { + $.extend(options, {successStatus: 202}); + ajax({ + type: "POST", url: this.uri + "_compact", + data: "", processData: false + }, + options, + "The database could not be compacted" + ); + }, + + /** + * Cleans up the cached view output on disk for a given view. + * @see docs for /db/_compact + * @param {ajaxSettings} options jQuery ajax settings + */ + viewCleanup: function(options) { + $.extend(options, {successStatus: 202}); + ajax({ + type: "POST", url: this.uri + "_view_cleanup", + data: "", processData: false + }, + options, + "The views could not be cleaned up" + ); + }, + + /** + * Compacts the view indexes associated with the specified design + * document. You can use this in place of the full database compaction + * if you know a specific set of view indexes have been affected by a + * recent database change. + * @see docs for /db/_compact/design-doc + * @param {String} groupname Name of design-doc to compact + * @param {ajaxSettings} options jQuery ajax settings + */ + compactView: function(groupname, options) { + $.extend(options, {successStatus: 202}); + ajax({ + type: "POST", url: this.uri + "_compact/" + groupname, + data: "", processData: false + }, + options, + "The view could not be compacted" + ); + }, + + /** + * Create a new database + * @see docs for PUT /db/ + * @param {ajaxSettings} options jQuery ajax settings + */ + create: function(options) { + $.extend(options, {successStatus: 201}); + ajax({ + type: "PUT", url: this.uri, contentType: "application/json", + data: "", processData: false + }, + options, + "The database could not be created" + ); + }, + + /** + * Deletes the specified database, and all the documents and + * attachments contained within it. + * @see docs for DELETE /db/ + * @param {ajaxSettings} options jQuery ajax settings + */ + drop: function(options) { + ajax( + {type: "DELETE", url: this.uri}, + options, + "The database could not be deleted" + ); + }, + + /** + * Gets information about the specified database. + * @see docs for GET /db/ + * @param {ajaxSettings} options jQuery ajax settings + */ + info: function(options) { + ajax( + {url: this.uri}, + options, + "Database information could not be retrieved" + ); + }, + + /** + * @namespace + * $.couch.db.changes provides an API for subscribing to the changes + * feed + *
var $changes = $.couch.db("mydatabase").changes();
+         *$changes.onChange = function (data) {
+         *    ... process data ...
+         * }
+         * $changes.stop();
+         * 
+ */ + changes: function(since, options) { + + options = options || {}; + // set up the promise object within a closure for this handler + var timeout = 100, db = this, active = true, + listeners = [], + promise = /** @lends $.couch.db.changes */ { + /** + * Add a listener callback + * @see docs for /db/_changes + * @param {Function} fun Callback function to run when + * notified of changes. + */ + onChange : function(fun) { + listeners.push(fun); + }, + /** + * Stop subscribing to the changes feed + */ + stop : function() { + active = false; + } + }; + // call each listener when there is a change + function triggerListeners(resp) { + $.each(listeners, function() { + this(resp); + }); + }; + // when there is a change, call any listeners, then check for + // another change + options.success = function(resp) { + timeout = 100; + if (active) { + since = resp.last_seq; + triggerListeners(resp); + getChangesSince(); + }; + }; + options.error = function() { + if (active) { + setTimeout(getChangesSince, timeout); + timeout = timeout * 2; + } + }; + // actually make the changes request + function getChangesSince() { + var opts = $.extend({heartbeat : 10 * 1000}, options, { + feed : "longpoll", + since : since + }); + ajax( + {url: db.uri + "_changes"+encodeOptions(opts)}, + options, + "Error connecting to "+db.uri+"/_changes." + ); + } + // start the first request + if (since) { + getChangesSince(); + } else { + db.info({ + success : function(info) { + since = info.update_seq; + getChangesSince(); + } + }); + } + return promise; + }, + + /** + * Fetch all the docs in this db, you can specify an array of keys to + * fetch by passing the keys field in the + * options + * parameter. + * @see docs for /db/all_docs/ + * @param {ajaxSettings} options jQuery ajax settings + */ + allDocs: function(options) { + var type = "GET"; + var data = null; + if (options["keys"]) { + type = "POST"; + var keys = options["keys"]; + delete options["keys"]; + data = toJSON({ "keys": keys }); + } + ajax({ + type: type, + data: data, + url: this.uri + "_all_docs" + encodeOptions(options) + }, + options, + "An error occurred retrieving a list of all documents" + ); + }, + + /** + * Fetch all the design docs in this db + * @param {ajaxSettings} options jQuery ajax settings + */ + allDesignDocs: function(options) { + this.allDocs($.extend( + {startkey:"_design", endkey:"_design0"}, options)); + }, + + /** + * Fetch all the design docs with an index.html, options + * parameter expects an eachApp field which is a callback + * called on each app found. + * @param {ajaxSettings} options jQuery ajax settings + */ + allApps: function(options) { + options = options || {}; + var self = this; + if (options.eachApp) { + this.allDesignDocs({ + success: function(resp) { + $.each(resp.rows, function() { + self.openDoc(this.id, { + success: function(ddoc) { + var index, appPath, appName = ddoc._id.split('/'); + appName.shift(); + appName = appName.join('/'); + index = ddoc.couchapp && ddoc.couchapp.index; + if (index) { + appPath = ['', name, ddoc._id, index].join('/'); + } else if (ddoc._attachments && + ddoc._attachments["index.html"]) { + appPath = ['', name, ddoc._id, "index.html"].join('/'); + } + if (appPath) options.eachApp(appName, appPath, ddoc); + } + }); + }); + } + }); + } else { + throw 'Please provide an eachApp function for allApps()'; + } + }, + + /** + * Returns the specified doc from the specified db. + * @see docs for GET /db/doc + * @param {String} docId id of document to fetch + * @param {ajaxSettings} options jQuery ajax settings + * @param {ajaxSettings} ajaxOptions jQuery ajax settings + */ + openDoc: function(docId, options, ajaxOptions) { + options = options || {}; + if (db_opts.attachPrevRev || options.attachPrevRev) { + $.extend(options, { + beforeSuccess : function(req, doc) { + rawDocs[doc._id] = { + rev : doc._rev, + raw : req.responseText + }; + } + }); + } else { + $.extend(options, { + beforeSuccess : function(req, doc) { + if (doc["jquery.couch.attachPrevRev"]) { + rawDocs[doc._id] = { + rev : doc._rev, + raw : req.responseText + }; + } + } + }); + } + ajax({url: this.uri + encodeDocId(docId) + encodeOptions(options)}, + options, + "The document could not be retrieved", + ajaxOptions + ); + }, + + /** + * Create a new document in the specified database, using the supplied + * JSON document structure. If the JSON structure includes the _id + * field, then the document will be created with the specified document + * ID. If the _id field is not specified, a new unique ID will be + * generated. + * @see docs for GET /db/doc + * @param {String} doc document to save + * @param {ajaxSettings} options jQuery ajax settings + */ + saveDoc: function(doc, options) { + options = options || {}; + var db = this; + var beforeSend = fullCommit(options); + if (doc._id === undefined) { + var method = "POST"; + var uri = this.uri; + } else { + var method = "PUT"; + var uri = this.uri + encodeDocId(doc._id); + } + var versioned = maybeApplyVersion(doc); + $.ajax({ + type: method, url: uri + encodeOptions(options), + contentType: "application/json", + dataType: "json", data: toJSON(doc), + beforeSend : beforeSend, + complete: function(req) { + var resp = $.parseJSON(req.responseText); + if (req.status == 200 || req.status == 201 || req.status == 202) { + doc._id = resp.id; + doc._rev = resp.rev; + if (versioned) { + db.openDoc(doc._id, { + attachPrevRev : true, + success : function(d) { + doc._attachments = d._attachments; + if (options.success) options.success(resp); + } + }); + } else { + if (options.success) options.success(resp); + } + } else if (options.error) { + options.error(req.status, resp.error, resp.reason); + } else { + throw "The document could not be saved: " + resp.reason; + } + } + }); + }, + + /** + * Save a list of documents + * @see docs for /db/_bulk_docs + * @param {Object[]} docs List of documents to save + * @param {ajaxSettings} options jQuery ajax settings + */ + bulkSave: function(docs, options) { + var beforeSend = fullCommit(options); + $.extend(options, {successStatus: 201, beforeSend : beforeSend}); + ajax({ + type: "POST", + url: this.uri + "_bulk_docs" + encodeOptions(options), + contentType: "application/json", data: toJSON(docs) + }, + options, + "The documents could not be saved" + ); + }, + + /** + * Deletes the specified document from the database. You must supply + * the current (latest) revision and id of the document + * to delete eg removeDoc({_id:"mydoc", _rev: "1-2345"}) + * @see docs for DELETE /db/doc + * @param {Object} doc Document to delete + * @param {ajaxSettings} options jQuery ajax settings + */ + removeDoc: function(doc, options) { + ajax({ + type: "DELETE", + url: this.uri + + encodeDocId(doc._id) + + encodeOptions({rev: doc._rev}) + }, + options, + "The document could not be deleted" + ); + }, + + /** + * Remove a set of documents + * @see docs for /db/_bulk_docs + * @param {String[]} docs List of document id's to remove + * @param {ajaxSettings} options jQuery ajax settings + */ + bulkRemove: function(docs, options){ + docs.docs = $.each( + docs.docs, function(i, doc){ + doc._deleted = true; + } + ); + $.extend(options, {successStatus: 201}); + ajax({ + type: "POST", + url: this.uri + "_bulk_docs" + encodeOptions(options), + data: toJSON(docs) + }, + options, + "The documents could not be deleted" + ); + }, + + /** + * The COPY command (which is non-standard HTTP) copies an existing + * document to a new or existing document. + * @see docs for COPY /db/doc + * @param {String[]} docId document id to copy + * @param {ajaxSettings} options jQuery ajax settings + * @param {ajaxSettings} options jQuery ajax settings + */ + copyDoc: function(docId, options, ajaxOptions) { + ajaxOptions = $.extend(ajaxOptions, { + complete: function(req) { + var resp = $.parseJSON(req.responseText); + if (req.status == 201) { + if (options.success) options.success(resp); + } else if (options.error) { + options.error(req.status, resp.error, resp.reason); + } else { + throw "The document could not be copied: " + resp.reason; + } + } + }); + ajax({ + type: "COPY", + url: this.uri + encodeDocId(docId) + }, + options, + "The document could not be copied", + ajaxOptions + ); + }, + + /** + * Creates (and executes) a temporary view based on the view function + * supplied in the JSON request. + * @see docs for /db/_temp_view + * @param {Function} mapFun Map function + * @param {Function} reduceFun Reduce function + * @param {Function} language Language the map / reduce funs are + * implemented in + * @param {ajaxSettings} options jQuery ajax settings + */ + query: function(mapFun, reduceFun, language, options) { + language = language || "javascript"; + if (typeof(mapFun) !== "string") { + mapFun = mapFun.toSource ? mapFun.toSource() + : "(" + mapFun.toString() + ")"; + } + var body = {language: language, map: mapFun}; + if (reduceFun != null) { + if (typeof(reduceFun) !== "string") + reduceFun = reduceFun.toSource ? reduceFun.toSource() + : "(" + reduceFun.toString() + ")"; + body.reduce = reduceFun; + } + ajax({ + type: "POST", + url: this.uri + "_temp_view" + encodeOptions(options), + contentType: "application/json", data: toJSON(body) + }, + options, + "An error occurred querying the database" + ); + }, + + /** + * Fetch a _list view output, you can specify a list of + * keys in the options object to recieve only those keys. + * @see + * docs for /db/_design/design-doc/_list/l1/v1 + * @param {String} list Listname in the form of ddoc/listname + * @param {String} view View to run list against + * @param {options} CouchDB View Options + * @param {ajaxSettings} options jQuery ajax settings + */ + list: function(list, view, options, ajaxOptions) { + var list = list.split('/'); + var options = options || {}; + var type = 'GET'; + var data = null; + if (options['keys']) { + type = 'POST'; + var keys = options['keys']; + delete options['keys']; + data = toJSON({'keys': keys }); + } + ajax({ + type: type, + data: data, + url: this.uri + '_design/' + list[0] + + '/_list/' + list[1] + '/' + view + encodeOptions(options) + }, + ajaxOptions, 'An error occured accessing the list' + ); + }, + + /** + * Executes the specified view-name from the specified design-doc + * design document, you can specify a list of keys + * in the options object to recieve only those keys. + * @see docs for /db/ + * _design/design-doc/_list/l1/v1 + * @param {String} name View to run list against + * @param {ajaxSettings} options jQuery ajax settings + */ + view: function(name, options) { + var name = name.split('/'); + var options = options || {}; + var type = "GET"; + var data= null; + if (options["keys"]) { + type = "POST"; + var keys = options["keys"]; + delete options["keys"]; + data = toJSON({ "keys": keys }); + } + ajax({ + type: type, + data: data, + url: this.uri + "_design/" + name[0] + + "/_view/" + name[1] + encodeOptions(options) + }, + options, "An error occurred accessing the view" + ); + }, + + /** + * Fetch an arbitrary CouchDB database property + * @see docs for /db/_prop + * @param {String} propName Propery name to fetch + * @param {ajaxSettings} options jQuery ajax settings + * @param {ajaxSettings} ajaxOptions jQuery ajax settings + */ + getDbProperty: function(propName, options, ajaxOptions) { + ajax({url: this.uri + propName + encodeOptions(options)}, + options, + "The property could not be retrieved", + ajaxOptions + ); + }, + + /** + * Set an arbitrary CouchDB database property + * @see docs for /db/_prop + * @param {String} propName Propery name to fetch + * @param {String} propValue Propery value to set + * @param {ajaxSettings} options jQuery ajax settings + * @param {ajaxSettings} ajaxOptions jQuery ajax settings + */ + setDbProperty: function(propName, propValue, options, ajaxOptions) { + ajax({ + type: "PUT", + url: this.uri + propName + encodeOptions(options), + data : JSON.stringify(propValue) + }, + options, + "The property could not be updated", + ajaxOptions + ); + } + }; + }, + + encodeDocId: encodeDocId, + + /** + * Accessing the root of a CouchDB instance returns meta information about + * the instance. The response is a JSON structure containing information + * about the server, including a welcome message and the version of the + * server. + * @see + * docs for GET / + * @param {ajaxSettings} options jQuery ajax settings + */ + info: function(options) { + ajax( + {url: this.urlPrefix + "/"}, + options, + "Server information could not be retrieved" + ); + }, + + /** + * Request, configure, or stop, a replication operation. + * @see docs for POST /_replicate + * @param {String} source Path or url to source database + * @param {String} target Path or url to target database + * @param {ajaxSettings} ajaxOptions jQuery ajax settings + * @param {Object} repOpts Additional replication options + */ + replicate: function(source, target, ajaxOptions, repOpts) { + repOpts = $.extend({source: source, target: target}, repOpts); + if (repOpts.continuous && !repOpts.cancel) { + ajaxOptions.successStatus = 202; + } + ajax({ + type: "POST", url: this.urlPrefix + "/_replicate", + data: JSON.stringify(repOpts), + contentType: "application/json" + }, + ajaxOptions, + "Replication failed" + ); + }, + + /** + * Fetch a new UUID + * @see docs for /_uuids + * @param {Int} cacheNum Number of uuids to keep cached for future use + */ + newUUID: function(cacheNum) { + if (cacheNum === undefined) { + cacheNum = 1; + } + if (!uuidCache.length) { + ajax({url: this.urlPrefix + "/_uuids", data: {count: cacheNum}, async: + false}, { + success: function(resp) { + uuidCache = resp.uuids; + } + }, + "Failed to retrieve UUID batch." + ); + } + return uuidCache.shift(); + } + }); + + /** + * @private + */ + function ajax(obj, options, errorMessage, ajaxOptions) { + + var defaultAjaxOpts = { + contentType: "application/json", + headers:{"Accept": "application/json"} + }; + + options = $.extend({successStatus: 200}, options); + ajaxOptions = $.extend(defaultAjaxOpts, ajaxOptions); + errorMessage = errorMessage || "Unknown error"; + $.ajax($.extend($.extend({ + type: "GET", dataType: "json", cache : !$.browser.msie, + beforeSend: function(xhr){ + if(ajaxOptions && ajaxOptions.headers){ + for (var header in ajaxOptions.headers){ + xhr.setRequestHeader(header, ajaxOptions.headers[header]); + } + } + }, + complete: function(req) { + try { + var resp = $.parseJSON(req.responseText); + } catch(e) { + if (options.error) { + options.error(req.status, req, e); + } else { + throw errorMessage + ': ' + e; + } + return; + } + if (options.ajaxStart) { + options.ajaxStart(resp); + } + if (req.status == options.successStatus) { + if (options.beforeSuccess) options.beforeSuccess(req, resp); + if (options.success) options.success(resp); + } else if (options.error) { + options.error(req.status, resp && resp.error || + errorMessage, resp && resp.reason || "no response"); + } else { + throw errorMessage + ": " + resp.reason; + } + } + }, obj), ajaxOptions)); + } + + /** + * @private + */ + function fullCommit(options) { + var options = options || {}; + if (typeof options.ensure_full_commit !== "undefined") { + var commit = options.ensure_full_commit; + delete options.ensure_full_commit; + return function(xhr) { + xhr.setRequestHeader('Accept', 'application/json'); + xhr.setRequestHeader("X-Couch-Full-Commit", commit.toString()); + }; + } + }; + + /** + * @private + */ + // Convert a options object to an url query string. + // ex: {key:'value',key2:'value2'} becomes '?key="value"&key2="value2"' + function encodeOptions(options) { + var buf = []; + if (typeof(options) === "object" && options !== null) { + for (var name in options) { + if ($.inArray(name, + ["error", "success", "beforeSuccess", "ajaxStart"]) >= 0) + continue; + var value = options[name]; + if ($.inArray(name, ["key", "startkey", "endkey"]) >= 0) { + value = toJSON(value); + } + buf.push(encodeURIComponent(name) + "=" + encodeURIComponent(value)); + } + } + return buf.length ? "?" + buf.join("&") : ""; + } + + /** + * @private + */ + function toJSON(obj) { + return obj !== null ? JSON.stringify(obj) : null; + } + +})(jQuery); From b6c7318ba051f9d307bf31b3b9917bb97e2bbae9 Mon Sep 17 00:00:00 2001 From: Rossen Georgiev Date: Mon, 8 Apr 2013 01:52:27 +0300 Subject: [PATCH 2/7] fetch active flights --- index.html | 3 +++ js/habitat.js | 10 ++++++++++ js/habitat.tracker.db.js | 32 ++++++++++++++++++++++++++++++++ js/habitat.tracker.js | 32 ++++++++++++++++++++++++++++++++ 4 files changed, 77 insertions(+) create mode 100644 js/habitat.js create mode 100644 js/habitat.tracker.db.js create mode 100644 js/habitat.tracker.js diff --git a/index.html b/index.html index 9a71d7e..5cb6be0 100644 --- a/index.html +++ b/index.html @@ -5,6 +5,9 @@ habitat api test + + + diff --git a/js/habitat.js b/js/habitat.js new file mode 100644 index 0000000..232274c --- /dev/null +++ b/js/habitat.js @@ -0,0 +1,10 @@ +// This file is part of Habitat Mobile Tracker + +// root object +var habitat = { + // initialize + db: $.couch.db("habitat") +}; + +// temporary fix for CORS +habitat.db.uri = "http://habitat.habhub.org/habitat/"; diff --git a/js/habitat.tracker.db.js b/js/habitat.tracker.db.js new file mode 100644 index 0000000..87c05f8 --- /dev/null +++ b/js/habitat.tracker.db.js @@ -0,0 +1,32 @@ +habitat.tracker.db = { + + // pulls latest flights from habitat + get_flights: function(callback, selector) { + var ts = Math.floor(new Date().getTime() / 1000); + + habitat.db.view("flight/end_start_including_payloads", { + startkey: [ts], + include_docs: true, + success: function(data) { + var last = null, list = [], payloads; + + // merge payload_configs into flight docs + for(k in data.rows) { + var doc = data.rows[k].doc; + + if(doc.type == "flight" && doc.approved == true) { + last = doc; + payloads = doc.payloads; + doc.payloads = []; + list.push(data.rows[k]); + } else if(payloads.indexOf(doc._id) != -1) { + last.payloads.push(doc); + } + } + + // return results + callback(list); + }, + }); + } +}; diff --git a/js/habitat.tracker.js b/js/habitat.tracker.js new file mode 100644 index 0000000..8f3dd2a --- /dev/null +++ b/js/habitat.tracker.js @@ -0,0 +1,32 @@ +habitat.tracker = { + flights: { active: [], upcoming: [] }, + + + init: function() { + + // pull flight list + this.db.get_flights(function(data) { + var ts = Math.floor(new Date().getTime() / 1000); + + for(k in data) { + if(data[k].key[1] < ts) habitat.tracker.flights.active.push(data[k]); + else habitat.tracker.flights.upcoming.push(data[k]); + } + }); + }, + + test: function() { + var out = $('body'); + + out.append("Upcoming flights

"); + this.append(this.flights.upcoming); + out.append("
Active flights

"); + this.append(this.flights.active); + }, + + append: function(ref) { + var out = $('body'); + + for(k in ref) { out.append(new Date(ref[k].doc.start).toUTCString() + " " + ref[k].doc.name + "
"); } + } +} From fc469eed92f2cfc4970cd125529f04637960ab94 Mon Sep 17 00:00:00 2001 From: Rossen Georgiev Date: Tue, 9 Apr 2013 14:49:18 +0300 Subject: [PATCH 3/7] save --- index.html | 1 + js/habitat.tracker.db.js | 16 +++++++++++++++- js/habitat.tracker.js | 31 +++++++++++++++++++++++++++---- js/habitat.util.js | 18 ++++++++++++++++++ 4 files changed, 61 insertions(+), 5 deletions(-) create mode 100644 js/habitat.util.js diff --git a/index.html b/index.html index 5cb6be0..663fd04 100644 --- a/index.html +++ b/index.html @@ -6,6 +6,7 @@ + diff --git a/js/habitat.tracker.db.js b/js/habitat.tracker.db.js index 87c05f8..3a577e8 100644 --- a/js/habitat.tracker.db.js +++ b/js/habitat.tracker.db.js @@ -18,7 +18,7 @@ habitat.tracker.db = { last = doc; payloads = doc.payloads; doc.payloads = []; - list.push(data.rows[k]); + list.push(doc); } else if(payloads.indexOf(doc._id) != -1) { last.payloads.push(doc); } @@ -28,5 +28,19 @@ habitat.tracker.db = { callback(list); }, }); + }, + get_telemetry: function(payload_ids) { + var keys = []; + for(k in payload_ids) { keys.push({ 'key': payload_ids[k] }); } + + }, + fetch_payloads: function(flight_docs) { + var list = []; + + for(k in flight_docs) { + list.concat(flight_docs[k].payloads); + } + + return list; } }; diff --git a/js/habitat.tracker.js b/js/habitat.tracker.js index 8f3dd2a..d371334 100644 --- a/js/habitat.tracker.js +++ b/js/habitat.tracker.js @@ -1,15 +1,38 @@ habitat.tracker = { flights: { active: [], upcoming: [] }, + options: {}, + vehicles: [], - init: function() { + // reset tracker state to pre-init state + reset: function() { + delete this.flights; + delete this.options; + delete this.vehicles; + + this.flights = { active: [], upcoming: [] }; + this.options = {}; + this.vehicles = []; + }, + + init: function(options) { + // options + options = options || {}; + options.filter = options.filter || null; // filter to only specific callsigns + options.poll = options.poll || true; // poll: true conitnue to poll for new telemtry, false for archive viewing + this.options = options; // pull flight list + this.update_flight_list(); + }, + update_flight_list: function() { this.db.get_flights(function(data) { - var ts = Math.floor(new Date().getTime() / 1000); + var current_ts = habitat.util.timestamp_now(); for(k in data) { - if(data[k].key[1] < ts) habitat.tracker.flights.active.push(data[k]); + var flight_ts = habitat.util.rfc3339_to_timestamp(data[k].start); + + if(flight_ts < current_ts) habitat.tracker.flights.active.push(data[k]); else habitat.tracker.flights.upcoming.push(data[k]); } }); @@ -27,6 +50,6 @@ habitat.tracker = { append: function(ref) { var out = $('body'); - for(k in ref) { out.append(new Date(ref[k].doc.start).toUTCString() + " " + ref[k].doc.name + "
"); } + for(k in ref) { out.append(ref[k].start + " " + ref[k].name + "
"); } } } diff --git a/js/habitat.util.js b/js/habitat.util.js new file mode 100644 index 0000000..6c171f7 --- /dev/null +++ b/js/habitat.util.js @@ -0,0 +1,18 @@ +habitat.util = { + timestamp_now: function() { + return Math.floor((new Date()).getTime() / 1000); + }, + rfc3339_to_timestamp: function(str) { + if(typeof str != "string") return null; + + return Math.floor((new Date(str)).getTime() / 1000); + }, + timestamp_to_rfc3339: function(ts) { + if(typeof str != "int") return null; + + var date = new Date(); + date.setTime(ts * 1000); + + return date.toISOString(); + } +}; From 9e6cbb5315e92e8c6329f493604a645c6a032cba Mon Sep 17 00:00:00 2001 From: Rossen Georgiev Date: Fri, 26 Apr 2013 01:28:58 +0300 Subject: [PATCH 4/7] moving from pure js to coffee --- .gitignore | 6 ++-- coffee/habitat.coffee | 6 ++++ coffee/habitat.tracker.coffee | 55 ++++++++++++++++++++++++++++++++ coffee/habitat.tracker.db.coffee | 38 ++++++++++++++++++++++ coffee/habitat.util.coffee | 12 +++++++ fabfile.py | 10 ++++++ index.html | 4 +-- js/habitat.js | 10 ------ js/habitat.tracker.db.js | 46 -------------------------- js/habitat.tracker.js | 55 -------------------------------- js/habitat.util.js | 18 ----------- js/{ => lib}/jquery-1.8.3-min.js | 0 js/{ => lib}/jquery.couch.js | 0 13 files changed, 126 insertions(+), 134 deletions(-) create mode 100644 coffee/habitat.coffee create mode 100644 coffee/habitat.tracker.coffee create mode 100644 coffee/habitat.tracker.db.coffee create mode 100644 coffee/habitat.util.coffee create mode 100644 fabfile.py delete mode 100644 js/habitat.js delete mode 100644 js/habitat.tracker.db.js delete mode 100644 js/habitat.tracker.js delete mode 100644 js/habitat.util.js rename js/{ => lib}/jquery-1.8.3-min.js (100%) rename js/{ => lib}/jquery.couch.js (100%) diff --git a/.gitignore b/.gitignore index 153a081..ffcb269 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ *.swp -js/mobile.js -js/init_plot.js -css/mobile.css +*.pyc +node_modules/ +js/*.js diff --git a/coffee/habitat.coffee b/coffee/habitat.coffee new file mode 100644 index 0000000..1b30f36 --- /dev/null +++ b/coffee/habitat.coffee @@ -0,0 +1,6 @@ +$ = $ || {} + +habitat = + db: if $.couch then $.couch.db "habitat" else {} + +habitat.db.uri = "http://habitat.habhub.org/habitat/" diff --git a/coffee/habitat.tracker.coffee b/coffee/habitat.tracker.coffee new file mode 100644 index 0000000..6c913d7 --- /dev/null +++ b/coffee/habitat.tracker.coffee @@ -0,0 +1,55 @@ +habitat.tracker = + flights: + active: [] + upcoming: [] + options: {} + vehicles: [] + + ### reset tracker state to pre-init state ### + reset: -> + delete this.flights + delete this.options + delete this.vehicles + + this.flights = + active: [] + upcoming: [] + this.options = {} + this.vehicles = [] + + init: (options) -> + options = if options then options else {} + options.filter = if options.filter then open|| null + options.poll = options.poll || true + this.options = options + + """ pull flight list """ + this.update_flight_list() + + update_flight_list: -> + this.db.get_flights (data) -> + current_ts = habitat.util.timestamp_now() + + for flight in data + flight_ts = habitat.util.rfc3339_to_timestamp flight.start + + if flight_ts < current_ts + habitat.tracker.flights.active.push flight + else + habitat.tracker.flights.upcoming.push flight + + null + + test: -> + out = $('body') + + out.append("Upcoming flights

") + this.append(this.flights.upcoming) + out.append("
Active flights

") + this.append(this.flights.active) + + append: (list) -> + out = $('body') + + for flight in list + out.append "#{flight.start} #{flight.name}
" diff --git a/coffee/habitat.tracker.db.coffee b/coffee/habitat.tracker.db.coffee new file mode 100644 index 0000000..c803163 --- /dev/null +++ b/coffee/habitat.tracker.db.coffee @@ -0,0 +1,38 @@ +habitat.tracker.db = + + # pulls latest flights from habitat + get_flights: (callback, selector) -> + ts = Math.floor (new Date()).getTime() / 1000 + + habitat.db.view "flight/end_start_including_payloads", { + startkey: [ts] + include_docs: true + success: (data) -> + last = null + list = [] + payloads + + # merge payload_configs into flight docs + for row in data.rows + doc = row.doc + + if doc.type is "flight" and doc.approved is true + last = doc + payloads = doc.payloads + doc.payloads = [] + list.push doc + else if payloads.indexOf doc._id is not -1 + last.payloads.push doc + + # return results + callback list + null + } + + fetch_payloads: (flight_docs) -> + list = [] + + for doc in flight_docs + list.concat(doc.payloads); + + null diff --git a/coffee/habitat.util.coffee b/coffee/habitat.util.coffee new file mode 100644 index 0000000..0dd95dc --- /dev/null +++ b/coffee/habitat.util.coffee @@ -0,0 +1,12 @@ + +habitat.util = + timestamp_now: -> + Math.floor (new Date()).getTime() / 1000 + + rfc3339_to_timestamp: (str) -> + Math.floor (new Date str).getTime() / 1000 + + timestamp_to_rfc3339: (ts) -> + date = new Date() + date.setTime ts * 1000 + date.toISOString() diff --git a/fabfile.py b/fabfile.py new file mode 100644 index 0000000..47dc7c3 --- /dev/null +++ b/fabfile.py @@ -0,0 +1,10 @@ +from fabric.api import * + +def compile_coffee(): + local("/usr/lib/node_modules/coffee-script/bin/coffee -b -c -o js/ coffee/*.coffee") + +def build(): + compile_coffee() + +def clean(): + local("rm -f js/*js") diff --git a/index.html b/index.html index 663fd04..66fad9f 100644 --- a/index.html +++ b/index.html @@ -3,8 +3,8 @@ habitat api test - - + + diff --git a/js/habitat.js b/js/habitat.js deleted file mode 100644 index 232274c..0000000 --- a/js/habitat.js +++ /dev/null @@ -1,10 +0,0 @@ -// This file is part of Habitat Mobile Tracker - -// root object -var habitat = { - // initialize - db: $.couch.db("habitat") -}; - -// temporary fix for CORS -habitat.db.uri = "http://habitat.habhub.org/habitat/"; diff --git a/js/habitat.tracker.db.js b/js/habitat.tracker.db.js deleted file mode 100644 index 3a577e8..0000000 --- a/js/habitat.tracker.db.js +++ /dev/null @@ -1,46 +0,0 @@ -habitat.tracker.db = { - - // pulls latest flights from habitat - get_flights: function(callback, selector) { - var ts = Math.floor(new Date().getTime() / 1000); - - habitat.db.view("flight/end_start_including_payloads", { - startkey: [ts], - include_docs: true, - success: function(data) { - var last = null, list = [], payloads; - - // merge payload_configs into flight docs - for(k in data.rows) { - var doc = data.rows[k].doc; - - if(doc.type == "flight" && doc.approved == true) { - last = doc; - payloads = doc.payloads; - doc.payloads = []; - list.push(doc); - } else if(payloads.indexOf(doc._id) != -1) { - last.payloads.push(doc); - } - } - - // return results - callback(list); - }, - }); - }, - get_telemetry: function(payload_ids) { - var keys = []; - for(k in payload_ids) { keys.push({ 'key': payload_ids[k] }); } - - }, - fetch_payloads: function(flight_docs) { - var list = []; - - for(k in flight_docs) { - list.concat(flight_docs[k].payloads); - } - - return list; - } -}; diff --git a/js/habitat.tracker.js b/js/habitat.tracker.js deleted file mode 100644 index d371334..0000000 --- a/js/habitat.tracker.js +++ /dev/null @@ -1,55 +0,0 @@ -habitat.tracker = { - flights: { active: [], upcoming: [] }, - options: {}, - vehicles: [], - - - // reset tracker state to pre-init state - reset: function() { - delete this.flights; - delete this.options; - delete this.vehicles; - - this.flights = { active: [], upcoming: [] }; - this.options = {}; - this.vehicles = []; - }, - - init: function(options) { - // options - options = options || {}; - options.filter = options.filter || null; // filter to only specific callsigns - options.poll = options.poll || true; // poll: true conitnue to poll for new telemtry, false for archive viewing - this.options = options; - - // pull flight list - this.update_flight_list(); - }, - update_flight_list: function() { - this.db.get_flights(function(data) { - var current_ts = habitat.util.timestamp_now(); - - for(k in data) { - var flight_ts = habitat.util.rfc3339_to_timestamp(data[k].start); - - if(flight_ts < current_ts) habitat.tracker.flights.active.push(data[k]); - else habitat.tracker.flights.upcoming.push(data[k]); - } - }); - }, - - test: function() { - var out = $('body'); - - out.append("Upcoming flights

"); - this.append(this.flights.upcoming); - out.append("
Active flights

"); - this.append(this.flights.active); - }, - - append: function(ref) { - var out = $('body'); - - for(k in ref) { out.append(ref[k].start + " " + ref[k].name + "
"); } - } -} diff --git a/js/habitat.util.js b/js/habitat.util.js deleted file mode 100644 index 6c171f7..0000000 --- a/js/habitat.util.js +++ /dev/null @@ -1,18 +0,0 @@ -habitat.util = { - timestamp_now: function() { - return Math.floor((new Date()).getTime() / 1000); - }, - rfc3339_to_timestamp: function(str) { - if(typeof str != "string") return null; - - return Math.floor((new Date(str)).getTime() / 1000); - }, - timestamp_to_rfc3339: function(ts) { - if(typeof str != "int") return null; - - var date = new Date(); - date.setTime(ts * 1000); - - return date.toISOString(); - } -}; diff --git a/js/jquery-1.8.3-min.js b/js/lib/jquery-1.8.3-min.js similarity index 100% rename from js/jquery-1.8.3-min.js rename to js/lib/jquery-1.8.3-min.js diff --git a/js/jquery.couch.js b/js/lib/jquery.couch.js similarity index 100% rename from js/jquery.couch.js rename to js/lib/jquery.couch.js From 11aa52c7bc9cac89c269fd16a796223b9591d252 Mon Sep 17 00:00:00 2001 From: Rossen Georgiev Date: Fri, 26 Apr 2013 16:30:20 +0300 Subject: [PATCH 5/7] save --- coffee/habitat.tracker.coffee | 2 +- coffee/habitat.tracker.db.coffee | 21 +++++++++++++++++++-- fabfile.py | 10 ++++++++-- 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/coffee/habitat.tracker.coffee b/coffee/habitat.tracker.coffee index 6c913d7..a036bf6 100644 --- a/coffee/habitat.tracker.coffee +++ b/coffee/habitat.tracker.coffee @@ -52,4 +52,4 @@ habitat.tracker = out = $('body') for flight in list - out.append "#{flight.start} #{flight.name}
" + out.append "#{flight.start} #{flight.name} [#{flight._id}]
" diff --git a/coffee/habitat.tracker.db.coffee b/coffee/habitat.tracker.db.coffee index c803163..4c40c41 100644 --- a/coffee/habitat.tracker.db.coffee +++ b/coffee/habitat.tracker.db.coffee @@ -1,8 +1,8 @@ habitat.tracker.db = # pulls latest flights from habitat - get_flights: (callback, selector) -> - ts = Math.floor (new Date()).getTime() / 1000 + get_flights: (callback, time) -> + ts = if time? then time else Math.floor (new Date()).getTime() / 1000 habitat.db.view "flight/end_start_including_payloads", { startkey: [ts] @@ -36,3 +36,20 @@ habitat.tracker.db = list.concat(doc.payloads); null + + get_telemetry_by_flight_id: (callback, id) -> + habitat.db.view "payload_telemetry/flight_payload_time", { + startkey: [id] + endkey: [id,{}] + include_docs: true + success: (data) -> callback data.rows + } + + get_telemetry_by_id: (callback, id, time = 0) -> + habitat.db.view "payload_telemetry/payload_time", { + startkey: [id,time] + endkey: [id,{}] + include_docs: true + success: (data) -> callback data.rows + } + diff --git a/fabfile.py b/fabfile.py index 47dc7c3..a64ab52 100644 --- a/fabfile.py +++ b/fabfile.py @@ -1,10 +1,16 @@ from fabric.api import * +def dothis(cmd): + if len(env.hosts) == 0: + local(cmd) + else: + run(cmd) + def compile_coffee(): - local("/usr/lib/node_modules/coffee-script/bin/coffee -b -c -o js/ coffee/*.coffee") + dothis("/usr/lib/node_modules/coffee-script/bin/coffee -b -c -o js/ coffee/*.coffee") def build(): compile_coffee() def clean(): - local("rm -f js/*js") + dothis("rm -f js/*js") From d96c5b7e370728f89fcf56d9a8ee51923d408286 Mon Sep 17 00:00:00 2001 From: Rossen Georgiev Date: Sun, 28 Apr 2013 11:25:23 +0300 Subject: [PATCH 6/7] reintroduce the tracker template, w/o the js --- css/base.css | 290 +++++++ css/habitat-font.css | 79 ++ css/layout.css | 176 ++++ css/main.css | 474 +++++++++++ css/skeleton.css | 242 ++++++ font/HabitatFont.eot | Bin 0 -> 14411 bytes font/HabitatFont.svg | 37 + font/HabitatFont.ttf | Bin 0 -> 28112 bytes font/HabitatFont.woff | Bin 0 -> 14676 bytes img/apple-touch-icon.png | Bin 0 -> 8197 bytes img/blank.png | Bin 0 -> 103 bytes img/logo.png | Bin 0 -> 9930 bytes img/marker-you.png | Bin 0 -> 1758 bytes img/markers/antenna-green.png | Bin 0 -> 2237 bytes img/markers/antenna-grey.png | Bin 0 -> 1521 bytes img/markers/antenna-red.png | Bin 0 -> 1484 bytes img/markers/balloon-adafruit.png | Bin 0 -> 6064 bytes img/markers/balloon-blue.png | Bin 0 -> 10992 bytes img/markers/balloon-buzz.png | Bin 0 -> 7786 bytes img/markers/balloon-cyan.png | Bin 0 -> 10928 bytes img/markers/balloon-green.png | Bin 0 -> 10982 bytes img/markers/balloon-invisible.png | Bin 0 -> 105 bytes img/markers/balloon-iss.png | Bin 0 -> 21272 bytes img/markers/balloon-orange.png | Bin 0 -> 10999 bytes img/markers/balloon-pop.png | Bin 0 -> 3684 bytes img/markers/balloon-purple.png | Bin 0 -> 10900 bytes img/markers/balloon-red.png | Bin 0 -> 10898 bytes img/markers/balloon-rob.png | Bin 0 -> 4335 bytes img/markers/balloon-rpi.png | Bin 0 -> 14565 bytes img/markers/balloon-shockpink.png | Bin 0 -> 4097 bytes img/markers/balloon-thereg.png | Bin 0 -> 5182 bytes img/markers/balloon-yellow.png | Bin 0 -> 10980 bytes img/markers/car-blue.png | Bin 0 -> 9589 bytes img/markers/car-green.png | Bin 0 -> 9573 bytes img/markers/car-red.png | Bin 0 -> 9554 bytes img/markers/car-yellow.png | Bin 0 -> 9590 bytes img/markers/hab_nyan.gif | Bin 0 -> 6677 bytes img/markers/iss.png | Bin 0 -> 22650 bytes img/markers/nyan.gif | Bin 0 -> 22528 bytes img/markers/parachute-blue.png | Bin 0 -> 18414 bytes img/markers/parachute-cyan.png | Bin 0 -> 18005 bytes img/markers/parachute-green.png | Bin 0 -> 18428 bytes img/markers/parachute-orange.png | Bin 0 -> 18146 bytes img/markers/parachute-purple.png | Bin 0 -> 17897 bytes img/markers/parachute-red.png | Bin 0 -> 18277 bytes img/markers/parachute-rpi.png | Bin 0 -> 21788 bytes img/markers/parachute-yellow.png | Bin 0 -> 17895 bytes img/markers/payload-blue.png | Bin 0 -> 1250 bytes img/markers/payload-cyan.png | Bin 0 -> 1250 bytes img/markers/payload-green.png | Bin 0 -> 1250 bytes img/markers/payload-orange.png | Bin 0 -> 1250 bytes img/markers/payload-purple.png | Bin 0 -> 1250 bytes img/markers/payload-red.png | Bin 0 -> 1256 bytes img/markers/payload-rpi.png | Bin 0 -> 2485 bytes img/markers/payload-yellow.png | Bin 0 -> 1250 bytes img/markers/shadow.png | Bin 0 -> 1093 bytes img/markers/target-blue.png | Bin 0 -> 2401 bytes img/markers/target-cyan.png | Bin 0 -> 2456 bytes img/markers/target-green.png | Bin 0 -> 2451 bytes img/markers/target-orange.png | Bin 0 -> 2294 bytes img/markers/target-purple.png | Bin 0 -> 2213 bytes img/markers/target-red.png | Bin 0 -> 2376 bytes img/markers/target-yellow.png | Bin 0 -> 2191 bytes index.html | 156 +++- js/app.js | 42 + js/lib/iscroll.js | 1 + js/tracker.js | 1265 +++++++++++++++++++++++++++++ test.html | 15 + 68 files changed, 2770 insertions(+), 7 deletions(-) create mode 100644 css/base.css create mode 100644 css/habitat-font.css create mode 100644 css/layout.css create mode 100644 css/main.css create mode 100644 css/skeleton.css create mode 100644 font/HabitatFont.eot create mode 100644 font/HabitatFont.svg create mode 100644 font/HabitatFont.ttf create mode 100644 font/HabitatFont.woff create mode 100644 img/apple-touch-icon.png create mode 100644 img/blank.png create mode 100644 img/logo.png create mode 100644 img/marker-you.png create mode 100644 img/markers/antenna-green.png create mode 100644 img/markers/antenna-grey.png create mode 100644 img/markers/antenna-red.png create mode 100644 img/markers/balloon-adafruit.png create mode 100644 img/markers/balloon-blue.png create mode 100644 img/markers/balloon-buzz.png create mode 100644 img/markers/balloon-cyan.png create mode 100644 img/markers/balloon-green.png create mode 100644 img/markers/balloon-invisible.png create mode 100644 img/markers/balloon-iss.png create mode 100644 img/markers/balloon-orange.png create mode 100644 img/markers/balloon-pop.png create mode 100644 img/markers/balloon-purple.png create mode 100644 img/markers/balloon-red.png create mode 100644 img/markers/balloon-rob.png create mode 100644 img/markers/balloon-rpi.png create mode 100644 img/markers/balloon-shockpink.png create mode 100644 img/markers/balloon-thereg.png create mode 100644 img/markers/balloon-yellow.png create mode 100644 img/markers/car-blue.png create mode 100644 img/markers/car-green.png create mode 100644 img/markers/car-red.png create mode 100644 img/markers/car-yellow.png create mode 100644 img/markers/hab_nyan.gif create mode 100644 img/markers/iss.png create mode 100644 img/markers/nyan.gif create mode 100644 img/markers/parachute-blue.png create mode 100644 img/markers/parachute-cyan.png create mode 100644 img/markers/parachute-green.png create mode 100644 img/markers/parachute-orange.png create mode 100644 img/markers/parachute-purple.png create mode 100644 img/markers/parachute-red.png create mode 100644 img/markers/parachute-rpi.png create mode 100644 img/markers/parachute-yellow.png create mode 100644 img/markers/payload-blue.png create mode 100644 img/markers/payload-cyan.png create mode 100644 img/markers/payload-green.png create mode 100644 img/markers/payload-orange.png create mode 100644 img/markers/payload-purple.png create mode 100644 img/markers/payload-red.png create mode 100644 img/markers/payload-rpi.png create mode 100644 img/markers/payload-yellow.png create mode 100644 img/markers/shadow.png create mode 100644 img/markers/target-blue.png create mode 100644 img/markers/target-cyan.png create mode 100644 img/markers/target-green.png create mode 100644 img/markers/target-orange.png create mode 100644 img/markers/target-purple.png create mode 100644 img/markers/target-red.png create mode 100644 img/markers/target-yellow.png create mode 100644 js/app.js create mode 100644 js/lib/iscroll.js create mode 100644 js/tracker.js create mode 100644 test.html diff --git a/css/base.css b/css/base.css new file mode 100644 index 0000000..60e5ea3 --- /dev/null +++ b/css/base.css @@ -0,0 +1,290 @@ +/* +* Skeleton V1.2 +* Copyright 2011, Dave Gamache +* www.getskeleton.com +* Free to use under the MIT license. +* http://www.opensource.org/licenses/mit-license.php +* 6/20/2012 + +* Edited by Daniel Saul +* For use in the Habitat Webpage Template + +*/ + + + +/* Table of Content +================================================== + #Reset & Basics + #Basic Styles + #Site Styles + #Typography + #Links + #Lists + #Images + #Buttons + #Forms + #Misc */ + + +/* #Reset & Basics (Inspired by E. Meyers) +================================================== */ + html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; } + sup { + font-size: smaller; + vertical-align: +0.4em; } + sub { + font-size: smaller; + vertical-align: -0.25em; } + article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { + display: block; } + body { + line-height: 1; } + ol, ul { + list-style: none; } + blockquote, q { + quotes: none; } + blockquote:before, blockquote:after, + q:before, q:after { + content: ''; + content: none; } + table { + border-collapse: collapse; + border-spacing: 0; } + + +/* #Basic Styles +================================================== */ + body { + background: #fff; + font: 14px/21px "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; + color: #666; + -webkit-font-smoothing: antialiased; /* Fix for webkit rendering */ + -webkit-text-size-adjust: 100%; + } + + +/* #Typography +================================================== */ + h1, h2, h3, h4, h5, h6 { + font-weight: normal; } + h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { font-weight: inherit; } + h1 { font-size: 46px; line-height: 50px; margin-bottom: 14px;} + h2 { font-size: 35px; line-height: 40px; margin-bottom: 10px; } + h3 { font-size: 28px; line-height: 34px; margin-bottom: 8px; } + h4 { font-size: 21px; line-height: 30px; margin-bottom: 4px; } + h5 { font-size: 17px; line-height: 24px; } + h6 { font-size: 14px; line-height: 21px; } + .subheader { color: #777; } + + p { margin: 0 0 20px 0; } + p img { margin: 0; } + p.lead { font-size: 21px; line-height: 27px; color: #777; } + + em { font-style: italic; } + strong { font-weight: bold; color: #333; } + b { font-weight: bold; } + small { font-size: 80%; } + +/* Blockquotes */ + blockquote, blockquote p { font-size: 17px; line-height: 24px; color: #777; font-style: italic; } + blockquote { margin: 0 0 20px; padding: 9px 20px 0 19px; border-left: 1px solid #ddd; } + blockquote cite { display: block; font-size: 12px; color: #555; } + blockquote cite:before { content: "\2014 \0020"; } + blockquote cite a, blockquote cite a:visited, blockquote cite a:visited { color: #555; } + + hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 10px 0 30px; height: 0; } + + +/* #Links +================================================== */ + a, a:visited { color: #333; text-decoration: underline; outline: 0; } + a:hover, a:focus { color: #000; } + p a, p a:visited { line-height: inherit; } + + +/* #Lists +================================================== */ + ul, ol { margin-bottom: 20px; } + ul { list-style: none outside; } + ol { list-style: decimal; } + ol, ul.square, ul.circle, ul.disc { margin-left: 30px; } + ul.square { list-style: square outside; } + ul.circle { list-style: circle outside; } + ul.disc { list-style: disc outside; } + ul ul, ul ol, + ol ol, ol ul { margin: 4px 0 5px 30px; font-size: 90%; } + ul ul li, ul ol li, + ol ol li, ol ul li { margin-bottom: 6px; } + li { line-height: 18px; margin-bottom: 12px; } + ul.large li { line-height: 21px; } + li p { line-height: 21px; } + +/* #Images +================================================== */ + + img.scale-with-grid { + max-width: 100%; + height: auto; } + + +/* #Buttons +================================================== */ + + .button, + button, + input[type="submit"], + input[type="reset"], + input[type="button"] { + background: #eee; /* Old browsers */ + background: #eee -moz-linear-gradient(top, rgba(255,255,255,.2) 0%, rgba(0,0,0,.2) 100%); /* FF3.6+ */ + background: #eee -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,.2)), color-stop(100%,rgba(0,0,0,.2))); /* Chrome,Safari4+ */ + background: #eee -webkit-linear-gradient(top, rgba(255,255,255,.2) 0%,rgba(0,0,0,.2) 100%); /* Chrome10+,Safari5.1+ */ + background: #eee -o-linear-gradient(top, rgba(255,255,255,.2) 0%,rgba(0,0,0,.2) 100%); /* Opera11.10+ */ + background: #eee -ms-linear-gradient(top, rgba(255,255,255,.2) 0%,rgba(0,0,0,.2) 100%); /* IE10+ */ + background: #eee linear-gradient(top, rgba(255,255,255,.2) 0%,rgba(0,0,0,.2) 100%); /* W3C */ + border: 1px solid #aaa; + border-top: 1px solid #ccc; + border-left: 1px solid #ccc; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + color: #444; + display: inline-block; + font-size: 11px; + font-weight: bold; + text-decoration: none; + text-shadow: 0 1px rgba(255, 255, 255, .75); + cursor: pointer; + margin-bottom: 20px; + line-height: normal; + padding: 8px 10px; + font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; } + + .button:hover, + button:hover, + input[type="submit"]:hover, + input[type="reset"]:hover, + input[type="button"]:hover { + color: #222; + background: #ddd; /* Old browsers */ + background: #ddd -moz-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); /* FF3.6+ */ + background: #ddd -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,.3)), color-stop(100%,rgba(0,0,0,.3))); /* Chrome,Safari4+ */ + background: #ddd -webkit-linear-gradient(top, rgba(255,255,255,.3) 0%,rgba(0,0,0,.3) 100%); /* Chrome10+,Safari5.1+ */ + background: #ddd -o-linear-gradient(top, rgba(255,255,255,.3) 0%,rgba(0,0,0,.3) 100%); /* Opera11.10+ */ + background: #ddd -ms-linear-gradient(top, rgba(255,255,255,.3) 0%,rgba(0,0,0,.3) 100%); /* IE10+ */ + background: #ddd linear-gradient(top, rgba(255,255,255,.3) 0%,rgba(0,0,0,.3) 100%); /* W3C */ + border: 1px solid #888; + border-top: 1px solid #aaa; + border-left: 1px solid #aaa; } + + .button:active, + button:active, + input[type="submit"]:active, + input[type="reset"]:active, + input[type="button"]:active { + border: 1px solid #666; + background: #ccc; /* Old browsers */ + background: #ccc -moz-linear-gradient(top, rgba(255,255,255,.35) 0%, rgba(10,10,10,.4) 100%); /* FF3.6+ */ + background: #ccc -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,.35)), color-stop(100%,rgba(10,10,10,.4))); /* Chrome,Safari4+ */ + background: #ccc -webkit-linear-gradient(top, rgba(255,255,255,.35) 0%,rgba(10,10,10,.4) 100%); /* Chrome10+,Safari5.1+ */ + background: #ccc -o-linear-gradient(top, rgba(255,255,255,.35) 0%,rgba(10,10,10,.4) 100%); /* Opera11.10+ */ + background: #ccc -ms-linear-gradient(top, rgba(255,255,255,.35) 0%,rgba(10,10,10,.4) 100%); /* IE10+ */ + background: #ccc linear-gradient(top, rgba(255,255,255,.35) 0%,rgba(10,10,10,.4) 100%); /* W3C */ } + + .button.full-width, + button.full-width, + input[type="submit"].full-width, + input[type="reset"].full-width, + input[type="button"].full-width { + width: 100%; + padding-left: 0 !important; + padding-right: 0 !important; + text-align: center; } + + /* Fix for odd Mozilla border & padding issues */ + button::-moz-focus-inner, + input::-moz-focus-inner { + border: 0; + padding: 0; + } + + .button.disabled, + button.disabled, + input[type="submit"].disabled, + input[type="reset"].disabled, + input[type="button"].disabled { + border: 1px solid #aaa; + color: #aaa; + background: #fff; + } + + +/* #Forms +================================================== */ + + form { + margin-bottom: 20px; } + fieldset { + margin-bottom: 20px; } + input[type="text"], + input[type="password"], + input[type="email"], + textarea, + select { + border: 1px solid #ccc; + padding: 6px 4px; + outline: none; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + font: 13px "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; + color: #888; + margin: 0; + width: 210px; + max-width: 100%; + display: block; + margin-bottom: 20px; + background: #fff; } + select { + padding: 0; } + input[type="text"]:focus, + input[type="password"]:focus, + input[type="email"]:focus, + textarea:focus { + border: 1px solid #aaa; + color: #444; + -moz-box-shadow: 0 0 3px rgba(0,0,0,.2); + -webkit-box-shadow: 0 0 3px rgba(0,0,0,.2); + box-shadow: 0 0 3px rgba(0,0,0,.2); } + textarea { + min-height: 60px; } + label, + legend { + display: block; + font-weight: bold; + font-size: 13px; } + select { + width: 220px; } + input[type="checkbox"] { + display: inline; } + label span, + legend span { + font-weight: normal; + font-size: 13px; + color: #444; } + +/* #Misc +================================================== */ + .remove-bottom { margin-bottom: 0 !important; } + .half-bottom { margin-bottom: 10px !important; } + .add-bottom { margin-bottom: 20px !important; } + .no-margin { margin: 0 !important; padding: 0; } + + diff --git a/css/habitat-font.css b/css/habitat-font.css new file mode 100644 index 0000000..e5756dd --- /dev/null +++ b/css/habitat-font.css @@ -0,0 +1,79 @@ +/* Habitat Font + * icons specifically created for habitat websites and apps + * + * Inspired from Font Awesome @ https://github.com/FortAwesome + * + * Author: Rossen Georgiev @ http://rossengeorgiev.github.com/ + */ + +@font-face { + font-family: 'HabitatFont'; + src: url('../font/HabitatFont.eot'); + src: url('../font/HabitatFont.eot?#iefix') format('embedded-opentype'), + url('../font/HabitatFont.woff') format('woff'), + url('../font/HabitatFont.ttf') format('truetype'), + url('../font/HabitatFont.svg#habitatfontregular') format('svg'); + font-weight: normal; + font-style: normal; +} + +[class^="icon-"], +[class*=" icon-"] { + font-family: HabitatFont; + font-weight: normal; + font-style: normal; + text-decoration: inherit; + display: inline; + width: auto; + height: auto; + line-height: normal; + vertical-align: baseline; + background-image: none !important; + background-position: 0% 0%; + background-repeat: repeat; +} +[class^="icon-"]:before, +[class*=" icon-"]:before { + text-decoration: inherit; + display: inline-block; + speak: none; +} +.icon-spin { + display: inline-block; + -moz-animation: spin 2s infinite linear; + -o-animation: spin 2s infinite linear; + -webkit-animation: spin 2s infinite linear; + animation: spin 2s infinite linear; +} +@-moz-keyframes spin { + 0% { -moz-transform: rotate(0deg); } + 100% { -moz-transform: rotate(359deg); } +} +@-webkit-keyframes spin { + 0% { -webkit-transform: rotate(0deg); } + 100% { -webkit-transform: rotate(359deg); } +} +@-o-keyframes spin { + 0% { -o-transform: rotate(0deg); } + 100% { -o-transform: rotate(359deg); } +} +@-ms-keyframes spin { + 0% { -ms-transform: rotate(0deg); } + 100% { -ms-transform: rotate(359deg); } +} +@keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(359deg); } +} + +.icon-habhub:before { content: "\f000"; } +.icon-compass:before { content: "\f001"; } +.icon-locate-me:before { content: "\f002"; } +.icon-car:before { content: "\f003"; } +.icon-question:before { content: "\f004"; } +.icon-location:before { content: "\f005"; } +.icon-target:before { content: "\f006"; } +.icon-earth:before { content: "\f007"; } +.icon-daylight:before { content: "\f008"; } +.icon-settings:before { content: "\f010"; } + diff --git a/css/layout.css b/css/layout.css new file mode 100644 index 0000000..bff1ee1 --- /dev/null +++ b/css/layout.css @@ -0,0 +1,176 @@ +/* +* Skeleton V1.2 +* Copyright 2011, Dave Gamache +* www.getskeleton.com +* Free to use under the MIT license. +* http://www.opensource.org/licenses/mit-license.php +* 6/20/2012 + +* Edited by Daniel Saul +* For use in the Habitat Webpage Template + +*/ + +/* Table of Content +================================================== + #Site Styles + #Page Styles + #Media Queries + #Font-Face */ + +/* #Site Styles +================================================== */ + +/* Header */ +header{ + width: 100%; + min-height: 75px; + + text-align: left; + line-height: 75px; + color: #ffffff; + font-size: 14px; + text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1); + + background: #00a3d3; + border-bottom: 1px solid #009bc9; + +} + +header h1{ + height: 75px; + float: left; +} + +header span#app_name { + float: right; +} + +/* Grey Area */ +#grey-section{ + width: 100%; + margin-bottom: 50px; + padding: 15px 0 15px 0; + + color: #666666; + + background: #fcfcfc; + border-top: 1px solid #ffffff; + border-bottom: 1px solid #eeeeee; +} + +#grey-section h3{ + color: #00a3d3; +} + +#grey-section .badge{ + margin-top: -30px; + margin-bottom: -100%; + float: right; + visibility: hidden; +} + +/* Forms */ +.form.row label{ + padding-top: 3px; + font-weight: normal; +} + +.form.row{ + margin-bottom: 44px; +} + +.form.row input, .form.row select { + margin-bottom: 0 !important; +} + +.form.row select { + /* base.css makes this different to input for some reason. */ + padding: 5px 4px; + width: 220px; +} + +.validated input{ + float: left; +} + +.validated img{ + padding: 3px 0 0 10px; + float: left; +} + +.form.row .input_extra{ + background: #f8f8f8; + color: #999999; + padding: 5px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + position: relative; + min-height: 22px; + width: auto; +} + +@media only screen and (min-width: 768px){ +.input_extra:before { + content: "\0020"; + width: 0; + height: 0; + border-top: 15px solid transparent; + border-bottom: 15px solid transparent; + border-right: 15px solid #f8f8f8; + position: absolute; + left: -14px; + top: 1px; + display: inline; +} +.form.row input.long { + width: 380px; +} +} + +.long_protection { + white-space: nowrap; + overflow: hidden; + display: block; +} + +/* #Page Styles +================================================== */ + +/* #Media Queries +================================================== */ + + /* Smaller than standard 960 (devices and browsers) */ + @media only screen and (max-width: 959px) {} + + /* Tablet Portrait size to standard 960 (devices and browsers) */ + @media only screen and (min-width: 768px) and (max-width: 959px) {} + + /* All Mobile Sizes (devices and browser) */ + @media only screen and (max-width: 767px) {} + + /* Mobile Landscape Size to Tablet Portrait (devices and browsers) */ + @media only screen and (min-width: 480px) and (max-width: 767px) {} + + /* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */ + @media only screen and (max-width: 479px) {} + + +/* #Font-Face +================================================== */ +/* This is the proper syntax for an @font-face file + Just create a "fonts" folder at the root, + copy your FontName into code below and remove + comment brackets */ + +/* @font-face { + font-family: 'FontName'; + src: url('../fonts/FontName.eot'); + src: url('../fonts/FontName.eot?iefix') format('eot'), + url('../fonts/FontName.woff') format('woff'), + url('../fonts/FontName.ttf') format('truetype'), + url('../fonts/FontName.svg#webfontZam02nTh') format('svg'); + font-weight: normal; + font-style: normal; } +*/ diff --git a/css/main.css b/css/main.css new file mode 100644 index 0000000..b05704d --- /dev/null +++ b/css/main.css @@ -0,0 +1,474 @@ +/* Habitat Mobile Tracker + * Main style sheet + * + */ + +html, body { + margin: 0; + padding: 0; + width: 100%; + height: 100%; + overflow: hidden; +} + +.scrollStyleV { + z-index: 100; + width: 5px; + bottom: 6px; + top: 6px; + left: 1px; + position: absolute; +} + +.scrollStyleV > div { + position: absolute; + background: none repeat scroll 0 0 padding-box rgba(0, 0, 0, 0.5); + border: 1px solid rgba(255, 255, 255, 0.9); + border-radius: 3px 3px 3px 3px; + position: absolute; + width: 100%; + z-index: 100; +} + +#map img { + max-width: none; +} + +#loading { + position: absolute; + z-index: 99; + width: 100%; + height: 100%; + background: #00A3D3; +} +#loading img { + width: 198px; + height: 178px; +} +#loading > div { + position: absolute; + top: 50%; + left: 50%; + width: 198px; + height: 200px; + margin-top: -100px; + margin-left: -99px; +} +#loading .bar { + position: relative; + width: 200px; + height: 5px; + border-radius: 3px; + background: #005C76; +} +#loading .complete { + width: 0px; + height: 5px; + border-radius: 3px; + background: #fff; +} + +header { + padding: 0; + margin: 0; + height: 50px; + min-height: 50px; + max-height: 50px; + line-height: normal; + border-bottom: 5px solid #33b5e5; + box-shadow: 0px 1px 3px #555; + z-index: 5; + position: relative; +} +#app_name { + line-height: normal; + margin-top: 10px; + position: relative; + height: 40px; +} +header > div { + position: relative; + height: 50px; +} +#map, +#main { + position: relative; + z-index: 1; +} +#map { + margin: 0; + padding: 0; + height: 100%; + width: 100%; +} + +.nav { + list-style: none outside none; + margin: 0; + padding: 0; + height: 40px; + display: block; + min-width: 40px; + width: auto; + float: left; + margin: 5px 0px; +} + +#locate-me { + float: right; + font-size: 25px; + height: 45px; + line-height: 50px; + margin-top: 5px; + margin-left: 5px; + cursor: pointer; +} + +.nav > li { + margin: 0; + padding: 0 5px;; + float: left; + height: 40px; + border-right: 1px solid #33b5e5; + cursor: pointer; + color: #fff; + line-height: 45px; + font-size: 35px; +} +.nav > li.last { border: 0; } +.nav > li:active { background-color: #33b5e5; } +.nav > li:hover { border-bottom: 5px solid #fff; } + +.header .arrow { + font-weight: normal; + float: right; + color: #aaa; + } +#main .header { + height: 20px; + padding: 10px; + padding-right: 3px; + border-bottom: 1px solid #33b5e5; + position: relative; + z-index: 4; + cursor: pointer; + background-color: #fff; +} +#main .vehicle0 .header { + border-top: 1px solid #33b5e5; +} +#main .header.empty { + text-align: center; + width: 100%; + height: 120px; + line-height: 100px; + border: 0; +} +#main .header span { + overflow: hidden; + display: block; + width: 90%; + float: left; +} +.row .header .arrow:after { content: "â–²"; } +.row.active .header .arrow:after { content: "â–¼"; } + +#main .row { + background-color: #f4f4f4; + margin: 0; + padding: 0; + position: relative; +} +#main .row .header { + } +#main .row:hover .header { color: #33b5e5; font-weight: bold; } +#main .row .data { display: none; width: 100%; } +#main .row.active .data { display: inline-block; } +#main .row .data .left, +#main .row .data .right { + position: relative; + z-index: 4; +} +#main .row .data img { + position: absolute; + z-index: 2; + bottom: 40%; + right: 25%; + opacity: 0.6; + width: 46px; + height: 84px; +} +#main .row .data img.car { + width: 55px; + height: 25px; +} +#main .row .header .graph { + position: absolute; + bottom: -1px; + right: 18px; + width: 60px; + height: 40px; +} +#main .row .data dt > i { + font-size: 12px; +} +#main .row .data a { + text-decoration: none; + color: #00A3D3; +} + +#chasecarbox, +#aboutbox { + position: absolute; + width: 100%; + z-index: 4; + background: #fff; +} +#aboutbox span { + display: block; + text-align: justify; + margin-bottom: 15px; +} +#cc_callsign { + text-align: right; + padding: 4px 10px; + margin: 0; +} +.slimContainer { + margin: 20px auto; + width: 300px; + height: 100%; +} +.slimContainer hr { + margin-bottom: 10px; +} +.slimContainer .row { + width: 100%; + display: block; + margin: 5px; + vertical-align: middle; +} +.slimContainer .row.info { + margin-top: 10px; +} +.slimContainer .row > span { + float: left; +} +.slimContainer .row.option > span { + line-height: 30px; +} +.slimContainer .row > span.r { + float: right; +} + +/* iOS styled switch buttons + */ +.switch { + float: right; + height: 28px; + width: 77px; + border: 1px solid #979797; + border-radius: 20px; + box-shadow: inset 0 1px 3px #BABABA, inset 0 12px 3px 2px rgba(232, 232, 232, 0.5); + cursor: pointer; + overflow: hidden; +} +.switch input[type=checkbox] { + display: none; +} +.switch:before { + content: ""; + display: block; + height: 28px; + width: 0px; + position: absolute; + border-radius: 20px; + -webkit-box-shadow: inset 0 1px 2px #33B5E5, inset 0 12px 3px 2px #00A3D3; + box-shadow: inset 0 1px 2px #33B5E5, inset 0 12px 3px 2px #00A3D3; + background-color: #33B5E5; +} +.switch.on:before { + width: 77px; +} +.switch > .thumb { + display: block; + width: 26px; + height: 26px; + position: relative; + top: 0; + z-index: 3; + border: solid 1px #919191; + border-radius: 28px; + box-shadow: inset 0 2px 1px white, inset 0 -2px 1px white; + background-color: #CECECE; + background-image: -webkit-linear-gradient(#CECECE, #FBFBFB); + background-image: -moz-linear-gradient(#CECECE, #FBFBFB); + background-image: -o-linear-gradient(#CECECE, #FBFBFB); + -o-transition: all 0.125s ease-in-out; + -webkit-transition: all 0.125s ease-in-out; + -moz-transition: all 0.125s ease-in-out; + -o-transform: translateX(0px); + -webkit-transform: translate3d(0,0,0); + -moz-transform: translateX(0px); +} +.switch.on > .thumb { + -webkit-transform: translate3d(49px,0,0); + -o-transform: translateX(49px); + -moz-transform: translateX(49px); +} +.switch:hover > .thumb { + box-shadow: inset 0 2px 1px #fff, inset 0 -2px 1px #fff; + background-image: none; +} +.switch > .thumb:before { + font-weight: bold; + font-size: 14px; + color: #fff; + content: "On"; + display: block; + height: 14px; + width: 14px; + border: none; + position: absolute; + top: 3px; + left: -30px; +} +.switch > .thumb:after { + font-weight: bold; + font-size: 14px; + content: "Off"; + display: block; + height: 14px; + width: 14px; + position: absolute; + right: -28px; + top: 3px; +} + +#telemetry_graph { + display: none; +} + +@media only screen and (min-width: 361px) { + .portrait { display: none; } + .landscape { display: block; } + #telemetry_graph { + display: block; + float: right; + height: 200px; + width: 280px; + background: #fff; + position: relative; + } + #telemetry_graph .graph_label { + position: absolute; + top: -26px; + left: 0px; + height: 20px; + padding: 3px 5px; + background: #00a3d3; + z-index: 20; + font-weight: bold; + font-size: 11px; + color: #fff; + border-radius: 0px 5px 0 0; + box-shadow: 1px -1px 5px rgba(0, 0, 0, 0.2); + cursor: pointer; + } + #map { + float: right; + height: 245px; + width: 280px; + } + #main { + float: left; + height: 245px; + width: 199px; + border-right: 1px solid #ddd; + overflow: hidden; + } + #main .data { + height: 100%; + padding-bottom: 5px; + } + #main .data .left { + float: left; + width: 160px; + padding-left: 10px; + } + #main .data dl > dt { + color: #000; + line-height: 11px; + margin-top: 5px; + font-weight: bold; + font-size: 14px; + } + #main .data dl > dd { + padding: 0; + margin: 0; + text-transform:uppercase; + line-height: 11px; + font-size: 11px; + } + #main .data dl > dt.receivers { + font-size: 10px; + font-weight: normal; + } + #main .data dl > dd.receivers { + font-size: 10px; + } + #main .row .data img { + right: 5%; + top: 50px; + } +} +@media only screen and (max-width: 360px) { + .portrait { display: block; } + .landscape { display: none; } + #map{ + height: 225px; + } + #main { + height: 180px; + } + #main .data { + height: 140px; + } + #main .data .left { + float: left; + width: 65%; + padding-left: 10px; + padding-right: 20px; + } + #main .data .right { + float: right; + padding-right: 10px; + width: 20%; + } + #main .data dl > dt { + color: #000; + line-height: 11px; + margin-top: 15px; + font-weight: bold; + font-size: 14px; + } + #main .data dl > dd { + padding: 0; + margin: 0; + text-transform:uppercase; + line-height: 11px; + font-size: 11px; + } + #main .data dl > dt.receivers { + font-size: 10px; + font-weight: normal; + } + #main .data dl > dd.receivers { + font-size: 10px; + } + #main .row .header .graph { + width: 150px; + height: 40px; + } +} + diff --git a/css/skeleton.css b/css/skeleton.css new file mode 100644 index 0000000..5db3d38 --- /dev/null +++ b/css/skeleton.css @@ -0,0 +1,242 @@ +/* +* Skeleton V1.2 +* Copyright 2011, Dave Gamache +* www.getskeleton.com +* Free to use under the MIT license. +* http://www.opensource.org/licenses/mit-license.php +* 6/20/2012 +*/ + + +/* Table of Contents +================================================== + #Base 960 Grid + #Tablet (Portrait) + #Mobile (Portrait) + #Mobile (Landscape) + #Clearing */ + + + +/* #Base 960 Grid +================================================== */ + + .container { position: relative; width: 960px; margin: 0 auto; padding: 0; } + .container .column, + .container .columns { float: left; display: inline; margin-left: 10px; margin-right: 10px; } + .row { margin-bottom: 20px; } + + /* Nested Column Classes */ + .column.alpha, .columns.alpha { margin-left: 0; } + .column.omega, .columns.omega { margin-right: 0; } + + /* Base Grid */ + .container .one.column, + .container .one.columns { width: 40px; } + .container .two.columns { width: 100px; } + .container .three.columns { width: 160px; } + .container .four.columns { width: 220px; } + .container .five.columns { width: 280px; } + .container .six.columns { width: 340px; } + .container .seven.columns { width: 400px; } + .container .eight.columns { width: 460px; } + .container .nine.columns { width: 520px; } + .container .ten.columns { width: 580px; } + .container .eleven.columns { width: 640px; } + .container .twelve.columns { width: 700px; } + .container .thirteen.columns { width: 760px; } + .container .fourteen.columns { width: 820px; } + .container .fifteen.columns { width: 880px; } + .container .sixteen.columns { width: 940px; } + + .container .one-third.column { width: 300px; } + .container .two-thirds.column { width: 620px; } + + /* Offsets */ + .container .offset-by-one { padding-left: 60px; } + .container .offset-by-two { padding-left: 120px; } + .container .offset-by-three { padding-left: 180px; } + .container .offset-by-four { padding-left: 240px; } + .container .offset-by-five { padding-left: 300px; } + .container .offset-by-six { padding-left: 360px; } + .container .offset-by-seven { padding-left: 420px; } + .container .offset-by-eight { padding-left: 480px; } + .container .offset-by-nine { padding-left: 540px; } + .container .offset-by-ten { padding-left: 600px; } + .container .offset-by-eleven { padding-left: 660px; } + .container .offset-by-twelve { padding-left: 720px; } + .container .offset-by-thirteen { padding-left: 780px; } + .container .offset-by-fourteen { padding-left: 840px; } + .container .offset-by-fifteen { padding-left: 900px; } + + + +/* #Tablet (Portrait) +================================================== */ + + /* Note: Design for a width of 768px */ + + @media only screen and (min-width: 768px) and (max-width: 959px) { + .container { width: 768px; } + .container .column, + .container .columns { margin-left: 10px; margin-right: 10px; } + .column.alpha, .columns.alpha { margin-left: 0; margin-right: 10px; } + .column.omega, .columns.omega { margin-right: 0; margin-left: 10px; } + .alpha.omega { margin-left: 0; margin-right: 0; } + + .container .one.column, + .container .one.columns { width: 28px; } + .container .two.columns { width: 76px; } + .container .three.columns { width: 124px; } + .container .four.columns { width: 172px; } + .container .five.columns { width: 220px; } + .container .six.columns { width: 268px; } + .container .seven.columns { width: 316px; } + .container .eight.columns { width: 364px; } + .container .nine.columns { width: 412px; } + .container .ten.columns { width: 460px; } + .container .eleven.columns { width: 508px; } + .container .twelve.columns { width: 556px; } + .container .thirteen.columns { width: 604px; } + .container .fourteen.columns { width: 652px; } + .container .fifteen.columns { width: 700px; } + .container .sixteen.columns { width: 748px; } + + .container .one-third.column { width: 236px; } + .container .two-thirds.column { width: 492px; } + + /* Offsets */ + .container .offset-by-one { padding-left: 48px; } + .container .offset-by-two { padding-left: 96px; } + .container .offset-by-three { padding-left: 144px; } + .container .offset-by-four { padding-left: 192px; } + .container .offset-by-five { padding-left: 240px; } + .container .offset-by-six { padding-left: 288px; } + .container .offset-by-seven { padding-left: 336px; } + .container .offset-by-eight { padding-left: 384px; } + .container .offset-by-nine { padding-left: 432px; } + .container .offset-by-ten { padding-left: 480px; } + .container .offset-by-eleven { padding-left: 528px; } + .container .offset-by-twelve { padding-left: 576px; } + .container .offset-by-thirteen { padding-left: 624px; } + .container .offset-by-fourteen { padding-left: 672px; } + .container .offset-by-fifteen { padding-left: 720px; } + } + + +/* #Mobile (Portrait) +================================================== */ + + /* Note: Design for a width of 320px */ + + @media only screen and (max-width: 767px) { + .container { width: 300px; } + .container .columns, + .container .column { margin: 0; } + + .container .one.column, + .container .one.columns, + .container .two.columns, + .container .three.columns, + .container .four.columns, + .container .five.columns, + .container .six.columns, + .container .seven.columns, + .container .eight.columns, + .container .nine.columns, + .container .ten.columns, + .container .eleven.columns, + .container .twelve.columns, + .container .thirteen.columns, + .container .fourteen.columns, + .container .fifteen.columns, + .container .sixteen.columns, + .container .one-third.column, + .container .two-thirds.column { width: 300px; } + + /* Offsets */ + .container .offset-by-one, + .container .offset-by-two, + .container .offset-by-three, + .container .offset-by-four, + .container .offset-by-five, + .container .offset-by-six, + .container .offset-by-seven, + .container .offset-by-eight, + .container .offset-by-nine, + .container .offset-by-ten, + .container .offset-by-eleven, + .container .offset-by-twelve, + .container .offset-by-thirteen, + .container .offset-by-fourteen, + .container .offset-by-fifteen { padding-left: 0; } + + } + + +/* #Mobile (Landscape) +================================================== */ + + /* Note: Design for a width of 480px */ + + @media only screen and (min-width: 480px) and (max-width: 767px) { + .container { width: 420px; } + .container .columns, + .container .column { margin: 0; } + + .container .one.column, + .container .one.columns, + .container .two.columns, + .container .three.columns, + .container .four.columns, + .container .five.columns, + .container .six.columns, + .container .seven.columns, + .container .eight.columns, + .container .nine.columns, + .container .ten.columns, + .container .eleven.columns, + .container .twelve.columns, + .container .thirteen.columns, + .container .fourteen.columns, + .container .fifteen.columns, + .container .sixteen.columns, + .container .one-third.column, + .container .two-thirds.column { width: 420px; } + } + + +/* #Clearing +================================================== */ + + /* Self Clearing Goodness */ + .container:after { content: "\0020"; display: block; height: 0; clear: both; visibility: hidden; } + + /* Use clearfix class on parent to clear nested columns, + or wrap each row of columns in a
*/ + .clearfix:before, + .clearfix:after, + .row:before, + .row:after { + content: '\0020'; + display: block; + overflow: hidden; + visibility: hidden; + width: 0; + height: 0; } + .row:after, + .clearfix:after { + clear: both; } + .row, + .clearfix { + zoom: 1; } + + /* You can also use a
to clear columns */ + .clear { + clear: both; + display: block; + overflow: hidden; + visibility: hidden; + width: 0; + height: 0; + } diff --git a/font/HabitatFont.eot b/font/HabitatFont.eot new file mode 100644 index 0000000000000000000000000000000000000000..1c912bfbe1f1939cd9575cbf10668efc60b30a44 GIT binary patch literal 14411 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 literal 0 HcmV?d00001 diff --git a/font/HabitatFont.svg b/font/HabitatFont.svg new file mode 100644 index 0000000..b307fd5 --- /dev/null +++ b/font/HabitatFont.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/font/HabitatFont.ttf b/font/HabitatFont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..6717278f4df548c01d37c481264cfac6bb61223f GIT binary patch literal 28112 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 P#xTggIeO-gJn#Plop;@D literal 0 HcmV?d00001 diff --git a/font/HabitatFont.woff b/font/HabitatFont.woff new file mode 100644 index 0000000000000000000000000000000000000000..e2bbca1602abe3e9e46780737dcd23c20e4be262 GIT binary patch literal 14676 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 RMLFhv9DfSnC*uIX{{y3&JgNWy literal 0 HcmV?d00001 diff --git a/img/apple-touch-icon.png b/img/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b16c0d776fe1b75a6f87c31a0648e5a689018547 GIT binary patch literal 8197 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 literal 0 HcmV?d00001 diff --git a/img/blank.png b/img/blank.png new file mode 100644 index 0000000000000000000000000000000000000000..5ffd60314d53e46da8c7408b115ba1b86666515a GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^j3CU&3?x-=hn)ga%mF?ju0VQumF+E%TuG2$FoVOh r8)-m}kf)1dNJSj$fkqA>k72>zmHiA%Kqb~e?jXLWtDnm{r-UW|{HqqK literal 0 HcmV?d00001 diff --git a/img/logo.png b/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..cc062741c80724dedbd22c48d3169fd4685fd1ab GIT binary patch literal 9930 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 literal 0 HcmV?d00001 diff --git a/img/marker-you.png b/img/marker-you.png new file mode 100644 index 0000000000000000000000000000000000000000..fd1f6ebdd51eb4792cd7927999db70bdec7a650b GIT binary patch literal 1758 zcmV<41|j*0P) zd2AHd0S54IX79_piw{h=&w#NFGEPbwC4d4IH55T{TFM`!jT8luR01NBC=yDEQlTgk z(5gZyQrZf&jTDI%LIQ14h^b4P16zsfI9w^=a?ILZpL_4j>nD3wSjINvWd|H-KI!)l zYiT~7-}9T9r-u39LXj;4g;2>2|pz>HV zGV~_fIU1yDI&iWjjsq8ZaIq(a;qpMf1DoggupnrUYg6MLmh1*|rs_V!M$|=*(Hlpu zMzQnrjuA@|K5b86M|~Kdv?ZJX_R(S%v>CmaN@!O@M^fJNWfu~PfS!aCDt0$^p*gDL z1K31GWZ19XNn6uG?A}q=f!a_Uqs_+Y9&DfIhc>_8CB=vl&8J7tcc<}jTLRgnhI5*W z56m+18MW$*sI;*&iKHr!O}>dK_^Kxjrh1>P2lt*Q>geqtzjn|4xQnYf-)Ig``Q@Td+(G>M) z1%F7-a=Ub0>P_QXG>uSPWf^fx35hI{1gi|NA_N3dDxeAhF~pAHwaQ%m{iDuB25qE& zPyeJ4rEd2q;-}@bJDL`=k2gp0{x@-)?@pnISI%|DJ1wZpcVP7-*9zWXuK@4|dXwrX zHr$B%X*K<}sVn9A)!A;;ao*jHa05a0R5zZQ<%7>Af37XM|4?G^s&~>7+JB}!;n`6a zzH223oL>0zr3jxGI>DQs1pr>9`-j?@=FzUpk#ycG4V}0VS8y-#uTUKO_?uJ&9tKcN zc>{~Osfr&i+<&eI%`pY{GVflC;%{6V%yYDmSqK5}J}J>Zi;C8Z$2Srl6%T zQ`AmKsu)x0xLL?8584LDYGhgOuEDJiZi|E*M%(W#81AV?8twh){D2Jy78mqAM&vR- z;+DC0(Kzs7FE=;N9;=LrZVLi-3v!tPj^<3C6&%>y6jg)(gLIDn$fi_*m?9uVj*1%3 zESghhQM0I7)GTTiHH(@>&7x*ev#5j-A_NSJ5H#FpLljjA$}o)-1B*%$^t|s%XNtBH zikub<6`pPwQaG*lKie0(hQ97p?YeX$Q?!w;|8%Aown1l{)4W#vc$!BmDsujonU}*8 zGqh8{K?i6Xr+dMiq_df#U(n9=Q#?Gl3i8Fj8_SBFc!I_E@CCsPmerfGfE`=z&&!OG zE=$Hc@j4I8*6_ODEp*`Vsh+;;@*ph?;5T$7)1Zrv(1u5goSSJW7)sFF)JZ>wj+6#$ zc#{9Y)1f$8^uM|O^@9bDx%548b7dc<-%%~aWZX=cj?!jYN$Y4iy+}3CnX~{@jn1fa zjGm!&67aP4mU$b!Pn|=ZGezl~W?)jI`E#Q}V3di|MUA;LnMKW_W>K@KS#*psi<(8v zqGnOEs9Dr3Y8Ew%nnlf`W>K@KSybQ4+0469RsUDb6cV{A8YftFeA&urks(8ZL&p$! ztrD0visq{54Z6Vh^SE6~{5HrEFxPJ%`N9$~um5Mhpir)gUZtZvgg|+4_yRmEz{7?{kwXOo)% z?BtP8>n|4uu_)hxfis4mqk4)5+veuMDoLjR9H*F$!vUd}hgMR3Qc=YxZEhCVQsD!>xOK3W& z^cB_6-{~yH$wTE-MUT*AN>V)?rGHZkC7~n#2bBb&f}bzBF8}}l07*qoM6N<$f+|=_ ASpWb4 literal 0 HcmV?d00001 diff --git a/img/markers/antenna-green.png b/img/markers/antenna-green.png new file mode 100644 index 0000000000000000000000000000000000000000..62e267bedcbc766d57ba014f8deb3981866d835c GIT binary patch literal 2237 zcmeH|`8OMQ7skIy(1e;a*4p=-DI;{$7CY5yT1%y!(Wr=}+Ceag5^9~$#?n_2OGD8z z@gl}vw9&=VTB~T&L!`0Q*lH{Fnt$N^3+A5lJont^$Ip4rxfxhDCsAQpVE}-ri?jWu zqm4ci1`a#&>yi~e005<8&v`f;ori~qNB-~pOW^+zIO>QB0Q&&20N4V+7yttRgaBv* z0096IfGYs#0zd|U2EaG~iU8~azyY8D0CfPI0oVYb8h}**MgW)w011F809gPq0f+{G z0q*r$|I^Oqh)Ztn0NmQ^?1ijo3JR&in32@oh^>n%@|@LUZOW$x7R_wAK6CVkJ71*~ zJGw?Rq}aHFGpR8P&A-SfSQM0c>=PeDC!-A>p?`2MM2U9#?p&+mVI+Y}tqXY;bqIPvCFb8)@b-$rlr z1RkI7PNPV>h81O1Y^s_NqB8K6{lgRRDXrY;;=1J*_a%JupIfuy>yML;@CfR<*xPtS z`#c)wUltEKDY)t?CT43(JrQi1KSf4iQ78uqb6xEuMm74z-<{i>{w>a}Wq$Ll>4gKR1HFoXmakY;oG#$kaub`0SFK1iZ1~XGQ1#2%Apq)P|C?aIs$qc#B3N zf|WGfh`K+>!h6(fy9*h$M>+IqGSfZbZhlb`L?==TCWtOP|G*=a9nMUC_0Bsdt~}^Z ztRAi;y+M7E^7vdXmLQyq^20-DXYJ@a6SvlPW}debNHsgt-5zC>)RXGQ8Y5X!qa|sr z=Puaa)R1;2-Y@=iu+z;8KUmKU$r*!sy;C(RCS?ckubKh0p%g~s0X(SY*U`I*O7kVNy>!=|QnF~E* zh>L}~t!KCn+PMM4q};@Xf$WmA9|F-_h}H;tQqN0ky?OWeTKU$WEsvsCy_P!p zMSbnpthBbj6Cx_ZTW3qy+0=eXg@-KEi`BJ8t!wR1cejiiE(WO$qh`Z-red8{=nz+3 z9zDcE)@!pQP_5OM_v2+JKNGE`T~jR^1<_$1!0q5J-VEJxx#il{wR3itr`yKV! zXg{gvubA@TmaxXbP!;;dz8d{AHnwesBKcoM!-^{88Y>}rnkA|*H7x~Wv%XlO3EZ1q z+IXd}ykgv)`l}q{E+z8^<2WY&DJ7q#weF|V9I0ZZ-#g4%aYj&`CQPMb50<~xr!{#g z+wof>UO(&ywN1-wY5L1Tl!7Wh2Q})W=F{t5>===~Q8xT6h7#h~wUm;)3elq~v@ECi@2<4W{4| z(fwh3N2QLD-??|WQguNL%6C!LM+>TS_*P|>+@8sWy6nA;8lOTl?vssJ(_qGUNHFCd z8XeZ8ImLF~Ij4R)NM(U&BIZmL61&aUV;rKfP%aBAFCM2R@;k=ZJa8>zZV|n-k+{!K bV01yeIp1hEZ)ZLJ=k>TaxY;vp@k##!%bft; literal 0 HcmV?d00001 diff --git a/img/markers/antenna-grey.png b/img/markers/antenna-grey.png new file mode 100644 index 0000000000000000000000000000000000000000..9888d266bdbdbf9c4de7130fdc856f7780d4cb23 GIT binary patch literal 1521 zcmeAS@N?(olHy`uVBq!ia0vp^Qb4T0!3-p=OJ|rfFfgqQ@Ck7Raz_D8Lx6*WLs3x? z%?cqQA)p8=D=V5fkjuit!p6piDUK`x(a6rujx0z9TSY~McwKyad;}HGoH=v$?AdeY z&Yd@JUT<%&kB?7jX=!C-Vl$0798<#9uVq;^|)zu{(Jqa{Ip!3>N{ZpY8> z;?6i4F;BEm;_S&VHUkb;kw}(nr}z%emOsWD6)US5+NE|R{gA(E=_iC$Rp%dyd32$dSnaC;aP{-xG-u}iV zi}35u&8OE?SDAQP-uV;1tjCw<@0yF+OMG-!iQjsyzkJHH?TQ=ATJxT0ypYs6XI8(m z+j!@`9S0_qulv!sC-rvPzYSZ~{&p4YfAJt@@%*3PzZ^EYfAO*HYyQbDD|B}Y2Lf}U zk*AAeNJU)gndD*>Mv>Ns#q~Ir+fc z1{b|E`?wC=&WYrhva@K(^baRsmH;L+NGnZak4{pSE_=x}O2d4!l@?Ywpxt z{R=kO)%>>k@%QO24+FKc+LNYVcyRl4ivBlC{9oYn<1u>E)FTJ-33x$NBJ^aQV029v*+cBtkGF`NT@ACFhr{ zIaQR|nsRos{9$MN`m<9PUhtOkiJZXKCeiKW++x5pPey7f5 ztxJ5Y%AKk!H?Pi}@cg&)emT~viY-caf;Sq*aj(2}d)8z2w+{0f_OiAn-cSn?IGMD9 zBgdby>rtn8dCVV11`N{ykeYaIICepK#$L@xtttIUT)flSs64I zA6(9O;S&FW%vH_peBt+OgQT?!m9oDD9@{u?#kmeH^;Jf4@0V?zUt)cM)9;Plnbq3lE096P@>8 zEHZu=R{uD+nK|(Nlya71f2~U#zwePbv42;Cxs*#p0Pj!b&CRA_af07HpIkpD%`I%( p?84vW7-ctIBy(X()sGC7e@vHkx~}ty-Qxu1Mo(8imvv4FO#qy?snh@f literal 0 HcmV?d00001 diff --git a/img/markers/antenna-red.png b/img/markers/antenna-red.png new file mode 100644 index 0000000000000000000000000000000000000000..a74cf3dd5a6135e6612e764765bc0b7fb2c2c7d7 GIT binary patch literal 1484 zcmeAS@N?(olHy`uVBq!ia0vp^Qb4T0!3-p=OJ|rfFfjE6_=LCuxr{(O3TP7o)(i}0 zs3!BlxN|ZOK;mQ`>nUSqRzRj=ii@rao_DPcAEU{xAa-F%2WH6qWbHMS~qN2``cCU#egyiDP`M0Zo{hU3b|#WVSu>={hn%(cySOi>r&FP_xz zbd`1PwCx-AyybCRb-z|Z`uESbL7W-d;h`JaG&oi+%X)Tey2GZ2k8k|9%e~jcQ9Wg1 zly0klH(awhV`(wX6&z4T>`pZ4FQYzx5&Ml7$UL*1S$H;K=FW&efY{_}$ z=hNAFn>N4Q+y# z91dA9uCGw{pPOg@dy8uOW7oEapSN(Y^_4v*sDJ8Gtj|)Bc(ZuH>Wf#iFTLJz@woU; zU-6x;ib4#Hy5{*?{gtOG{oZ!vynCz57mnrR}SgiN$v1%DEeBx|}2>^S&r? m=3OPe}1q6a1g3~?foEck>Z8yg`J#BM5 zW2-aM>e#~>R~l$hHWA#gQIN$YtRV>@8wuHJOYQZl-ZI~JQ=JnSb?nwJbeZ{? z`|kh#?{{AqUDwIq8bd=vWY6y1#v?~Q&p&+lu&eDty9W;Ea6E4@7z`Eym(FC;QAJV0 zaC{ir05l)8L1+s30m1&Yu&Gpv{O*}&thKe*)Ox+%hDRQKbi?PzzIY+`B zX8c>gzjwx?kqG(CQ%@DW{PN4w6h*DO<<fRoVtKPvdPZQCpj4GlkW zRZa`OR-P z&VS^w$K57@H4ev;ax{w4RT!cpAFD9{%diY=p}{_Y6PDpr$!u0)v53g?f-ae)v@E9u zj%9TS0^egCW}^TAVk)D`&pz{Sy&E=c_=xD*P5|iq-r(tU8nZ$;$j5;L2gsdw-g#qb z*|=4E_r5#5x@xi|l1d}6ioLIEI-}_ttE#F_ke*>R4YCfGR2g~bQzu>pq%Xb~_{NPJ z$ZS2X}vHBEzkO(nXjYb1mF zW~(ilibp&zJ^y@pJeh26<<1mEovYEM{GOa+FlZiCy1x85DszVd~2(rcJ>@GqpB%IRVg?&2EgH4ls*)T zN6U%}r5$g-HGS2ZwZi7tUsZwU;CF%-7Z>AZX8n?-s{wkVFP2D!BT-#67>tl20RR!0 zV<|Xfo9Yy>2?IICtZ8~iRWgP71=6P%a3Di7a6Hr7KaebRx%4+*du2**Pw(1;pL`Sou2YwRKl|*nxTRm(x^;`E ztgL+X8=L=F9Z9QcfL4tLL4=D60L}v%hYfOr*#h5yUD7`i@5df!|X3gYvIZhy5?H6oiH8o;N$)v$JIf3Kpn4(v}Yl3DtcEoXd z2K+ibzR-9?C1n1zc=l}B)PnN_~lF`%*WPyWYz{){G;w&kqF8im` z?#ouIkHyJAZ?9DpMS@PMYZ^4frL?2)T6RC3 zlC=yW%CCO?+cMalkIZAiOBXG^Yi8}lah9P#P&OJx-E1;JZ{rK>gy-o^2%sCZEDrU< z3#`E)=x}=~s9l4xz$Ri*6F3HRH8(0gj4V8DDzwCK*d{QHq)`W@(?E8kWx=!OlM%@b zhGNO7Rh70o7A~p-R_|C>sadjOWwD9}I8KR2!@130w|cBrtHENi=z<_n9YXT65M)H% zAV#>Ov}iIX;qFL08sm{xLx53>X2{sUYlVl0Svi@+PpGB|wruDl)YwMhGZ`6$Mpmv~ zQ}XWaT~`A_H-hu|E?3R;Yv))3DMdD0ENaWClex`j&x(_(s)(j2#3&l!2Mq)jPGLsi zQN!rq5{w4XT~ri?t*j`Di1QKFDH%CUt4V{=NYBMUYc!cmIvi8eiKK$%fj%+_SYU*v zUDj1PGqM*X1Cjj z$6Jyvuc#RImX(EF1)ezccrrX37C=N=RZWcuCI}2tnrZ3`nwtGF6+tn(6gCtN6AT%oVX-@s951AJhB#G4LCsT%b+othm;|TG zmF>mLohO-+$>|d(3};R>y6kp`E8p!_s-{c{)YMMvfz)RT3yY9BmjxHGz<}gbNFa4D z1{;GVF3a#-s=T5yrYS1G$kcBYRmnnYBo>QNolmH)@t0mz>36x@YB)4ZV$mpoaytC5 z8Vv^Q$z*~;LGKah@=?eu8wMHym<7qpcM%1o*xJ&Gksv1$PsL0C{6>{#E; zI);jhkY$-M+pLkI60eLfa$3eL({4{^-$VIJqVag9XxzB|su?qzuAVV{&}1>|m%6)5 zUFXhLo;!8Mff9m3jd+WTb*I}cXI+NM@0$W$2?E`RO3-Gt5m6F}iij*ABQ#WV$y73- zf*G(>ztmNAh>>xL-R^W348sC96AT1MB9@?oPnJi(<1pYFj~?-yI(lq;(C@QOsHyQy ztg4B3b#;?{J9gx!5^-Vr+_}D+7cahWmT{hjXYN<>4k z(98oo>@ZqJ;S^O<+{ML121yb@9y~aYB3u#OlRuP7TuWzy-4>MZaCKufm1i@m1d;bG|RBmn~= zzQI8h88rteMg^Ve;fm zC>X+}9@T!aw>W)UeSQ0lx8ByZ@SbJeOYU9WR6TXt#dtiSCF5}ut)K}@OJ<-az$Wb8 z{-*%4jxB4?Z2GSkPlS@`q}^r_h>n5qxM~NTGekC-B<-tXM+^J<`ccocu9oE#W{`UJ z`Lk!;AMM;Rzg)};pzrGRl^x8>$hl&s8P(4-Ql1;LC3jH=wvki=9`Bza>{u4v%`|b zY9RndA6J;*I?L9qY2igFh$}x@z=0LA*dWXBqFFC-I&8oDj~99#`=^JW2F{PJ1UErV zvZ1-7>vprn!~{bTnSoF>RnN=I(M}vcK7Q+)n{)G=&da7~4dIb6JME6xoPcmBB|L|g z0|*5(G@d_Nrw721ZeDP^|C+kGHkhOYUf>v>1!&q>S{3Ex=7_OqT(7Dq+ZzZ3aKW6o za?P250k!MNUp~=oVi}P)2ow!$O2zZqT3anp1|TECjy4LPy#a)cgd?P=xLC2;tO`m3 z0Z=xgBxRv5D>Ctsg@jKKc%IWahRv?{sj>+#7#K6hh)@3N7u^88i$Z6ECzr>UFTeQv z{mUB~@~^9#;Q+}*MNv|qlFPYpzRfU_F$Li-%Q^-=FT$A>-J*8Jj7uNCzu$w|hxpd1 zof|2EL1~%}62Y_3MW9ic>4gr9_0LC+1^)Y`7xyFEcRe3RinrIST=8WJ%sJm-6D^Ve z&q>ZZ1_lPOb{Nfa78o;13$B6wep)arTypn7*@Ou_?gCF5T!>CA-xf%U-{&}%ZfOH* z^xynkhZvVL>iw%45cq9m`z~;dq0Wx>&G)Zc-(qA5FA`#DYi`a#IZ%sYSlrS939};^ zgd2*1hD*xJlWTtZ)2_10%I@y&9)0?(S$!UlhxmOy>LlMD`Urd$8ul?kyoqCs>({Mo zK^A2CzWMwFEgYcO7|0@}Wrjb6H27S|yIdGPIi)eoC_b>Hq-TcOO zWch3Vm9pc3`&RAQv1hNZq_mt|>g^>N7@Y9mhxE<2EeNi8;P1QEJ@nA&1$W)uQZZ># zKUgDHlA?h(u!6wDARXpi#l<}O~H# z?fnCP4*vWfAKZfs-v;+xeVB%}?Pm|Hb8X)C*4jC<>T-FL)mJ*MEF>C*w5$>h){uN8 z5*AcN#pj6B@@TD~GPEFyMsDB?wXxh|TvU2VECX2wR{eC|)qju`Yy*(G7 z!$Ru2pt$b=9s!MZZ`t-%@x7~8kIS`~q-YY>bySk5QD$^%X2-nGK82;$sie~!dO9qC zgA*rJ#gp-vy}j)MH#pEwO3TNkuDfngXxv|=5(;^OsL-l&gVoR1U zO~CQk?Af!AoNsML=vD;yvA{9>zM-Mc-Fx=BSFBv=&39Nu3O`0}qnXF;7~{p|hz5H+ z%Y)%4LPpio6%#50v!~alL0R#-nRQ27o0|~283BH5a10;NckJA?+qHDb5^sSsN22hE zJVqiQkWp$KHILv~M?uGdV7xHHbVH>%yKd&;w$_#x{tM>dsuW#zs^UpjT&o&KE(^T~H9}^P5`kf=Kmdi*@i65D~uzJ95AH3-GoHRji zHgL#uDKOQVZ?`*s9{P1DDLyt%4w!@wF=qg4GOZrQ%pVn*m(u?i=N$ZLsqnyS4)GqX z{Fd4RN)WF5=G*ViiaYcy-ncn3J%7zLvvAG0Gh=AZSed=5u-cGb8IF^W|4x zpQVrPyT$aR@O#HUKhY2P8>{PM{@Hn#KR9prre}>wuitg~>h-bJ+hI?ALt{U(x=)l4 zEAGwrKlt$UUw6Xp(9K(8-oUiW?F+c(7eix`j!TIUA ztLFm2g>zSaUp`-Wu;>(RD$40#eM6IDEgYT{^O*d!{{If@B0t5Er=c@FKbF-UIr1`2 z#(Bo!rEVJl$L;Nkkw}FNzb$TZCw1Ea_`1aKXPQ52iUF?gqBlrgq=D~fYHEr&^32Rk zTWd>;R}MAd!-qf4aJ${}5!ZNQW24#xTJG-dUPUq0)z!i=jZ3Ey1F`5TwHu#{rda+6}ezTLql7m zaR9(&Wo4?PqeEv({1*}Is;Q|_4u>N;Y#bnIX=%#obl#N_WD;%2ARCp`+uIA^T~$?8 zi!f#Cwgn9g4A^RGYp=tUqZ#Wf5)1hxH8r&>BO}9*1$()&vhog0nL65#K{gry@0YYz zr{tE0C80Rn-rgQ=YikQnOiYA}ii%*$)X}D8kfjfOw`y@_i#PeDxw-jJd3m`?N=hP1 zp))%d78daFFlFj!(=y1?hraxV)xe1^yj4H zS^AWgmd5fMRs#pjT3=tE^85WNF)@+UCo(69_Yms@Butq);+$HBxDd0@)6>J?*DME4 zCfjq8f&_RuG^p|Maq>)v%Arw{N$+5gI)3l-`LwLqyb1&Y4Cc1w2MGdMcDr5Mu3;Ej z^B#`}Fn2|sF%$B)LZOhBmuomg*0j9kz|Acjtrrv&0FclKmzt=@Ow80JZ7K-~3783k zVFnn;)*Ri?9Kg^fPk^IsJjd?cyO|Np1CL@pk;CR$3uYh7-68gi2GOpWY`|d5n=Jt2 z$va?ahpA_AG7E&ytp|>F8856=ZScEK27AF23;C!cO6OnA6K563?4zgm0k{a4i=2D-&@9JJGB$MA_BKp2L>XK{1;mhJ!FO4>omZSL#QqessjJ9hMp zqNqHM<1(^}d_K?OC?o4c)>WG}lWikwBx@ntpy@|sb!7GbuL2K|`f%^N?>;wi;=}>9 zwYB@Vw6qK$>qCHh*?xi^wBm9)l65aAk4WvWCEG++O}3V7F|R_bQ^SFWw*Y4`*y1Q+~>-uKCGzd)1_N!X~)uT zr5(8K_U%o(>g(&9*>>*O5iNZ0z0J)#nxmzQ7dI?jx}@>_h3{1m0JcLEz-9%%nyt3J zap%Xwg|V(rdFft3`Sb=&0Ct>ScG+c}r%ju7aARZRP=Y*|AcqXPW5VpG<+Uc}0r}sN@ zG3>(_3NB8nB3@&sob}p2jBG?K&)^fb(u#vJ^d1G~T!~D13`f&Oy(>6W+$HzY0 z(cByrxSr)?3kZDOo&f0Gz3XQRxEnrv_<@@@Z$6sb#^*~)N?6U|x#x}Tf8xof?0?81 zU+CYVW5<#>j<{ZdQR>3jQOd-ro|9O>bA5t6$pg3tx>eZet*)-F>8&^CZG7VKKdyiJ z$;q`^y^CxS*}TmS+cy_cdAkGmq*Pg1*}tKo;rJ+u4q|svQBl$1qKhvbbn@uYmAxza zlm&6b2hJ7-vGO2Q6KJkUQYlkGK*xb8o!f_i-UjeJhQEB-(vO~+{KT3&Zo74@R^`dw zA)7_u|4TpLtE@}=11~KtJ%s>_V$d|$b-ePQel+;hQ^ySH(yd!Zf=j#vG=qys-HBqz zM8yV@^FeH7K$o&Xcg}InptlVi`Jz@`Rkiie|9p7mEkFO+-?ge<)jq$Sf%~9)_Uw7! z&Ye3)6NLRbckb-2`pGpz&N=`5&zF{#bq-=-7bS{j5HaVOI028O1EAR0^4w5>bDH?^ z-O$tU%D5Ltq;N_ZvbmL5;%tQsz*5J}#X<+@iQUrP%~@aNfDUQF_nXpP>gw3u)U<2T9k;!E=j{{Czt1D+GxjNPQgt6v_1To)ud?!U zoqv1(14oS*ad2Oj5cy^XZi*&)at?%0uxSSbrgF+Ka0blqq+b%+R4LtIino1^%f!tI z{iJ^jAOWz92XGrP+=p~J+8Ye%OASfMES)yxr8O6v_l>_PgQa9Ik!}CfffMY$w9YZE zLx&DMP8oe#&tKhj_p#)wyF^Tb7$m@%yn-g2Ou{*)DZs5x9CefckNFRQWz?d3N|gzv zWVA~t1+t&OO@j{oV4E2h z4kcs+y>VMZ^Z0QWygq04Yg=ho71?uSn?KpL6u`caVSoS1e>~v&8*V&$N6W5&feQnM z9lJ0}U^~Y`p?Zn3%}q+)#NFjo0XScO77Hb8lUP3C;? z0yNamQ}`w{%4vH69+5e3T*wEzA_C4!5nZ}=e)5^;PP%yfxLMPtPGK}>kv&Vc^^*e5 zw0hDdb+&V^^wP_}H(Kcru(uiS|tA z{3o(#hH^<7ab8Ts9x6T=q0Ra7<)5T^VP`SBvW!*LY}gdI<<+-qopv6dY76&rz9lFj z7>_(Y`NRv(`P$4`ug+vdXOKNb*7At}C)i&l8vV~W>+D|t_OqWKv#TX9Q3xBK4}%WF zoJ+uy$#~`xtxMRVE+v%sMWvLKMNLAPQwa_ggW!+2MU+$xokf(($8SUbb}U5QYAiy$23; zpW&RV95Qrh=ezE?_xKi8wMvUwIWh*#8$)IAdNDeks%X6h0imi4dJ5rl835BahmhnW zLYWM!l+QEtB&3X(nMKpmOL@2xYRupjGN+MUXR3B6-bP;DoO9Yaka{ffEh{33IPW5I zF#-GZ4$r;x@>dQXS~)GB&mXFbU~lX#@UT;-PP|rq1hahN>F17fxsqI>ELAsy4ing- zY!X#2;5w*TG%oH2^A91;yi{coQ()4O1qr(1;y5vvlBhfxqy@ZqdQ+rOzM>#+mf{Xq&{J62#@nN*OcnzHipZqsJIcI+u9e3?O?M7D-(g{`iZz~KZX?2uhaJsWRK z%IUbNDreA%C6_eoo!dwG*rrhy@(FOJm6u^UlwlbWh;uT`M~K6n)!U#dx>ldg*H%vX zlPXvrIRVedGvd(0_Pb@`9Ye35a1Ad3oJRKW#|FNB{rWKkyWiPof4$dlZD)`U>X+~l@Re*5>WfR|IX38OGK1m6>&QckQ#eLG< z5&U%?kqe7Qf)3dqs{6=^y8Q@7QYc-#J0=5Bkhqpy?2==+><3pK_V^zkt)?$K4xlEZ z$zItr-~wTPN)G1yt#|(Nm|gk2`8{3Ekm9IoU*^ z7A0#n)y9FqrF=f0zz*q{G?o#S8S`M5tUmI_@N(u>5=AR?$4biqGMhjr^EbJEtP^6? z>(v>O2Mp|a)z#My{N<$E*HM$x$(|^FUkcPcjFLgU zdi5&#=J<;aj)bsXPN8kiB{IjX(o}BoHstOvDQT7MSGQw3)N~nuz{z@yDLhKlEv_Wb z9YJ+1Nj^{UaZ5gLM(tXHe9UPi5E&G{{D88dazK#0Uxyf8_xVbXd2AuO>gsC_*Du9~ zk_{*h95MINtlNo`etFQ&d|q6GMJA!f-HaQ`7XF$lMP=`CgmVUYgC0mh@N?d2BLLB3 zP*p{-`f-_snm>=JPWOA@G_O}yq~HM>WkrhP#U`r_Xj9mEk>(wJcX;dVlZGnJ<5~qy ztooAzD!X^@Q8N1UGluStBy9E4LKCc)hzTWCx1?sqTC@!4{t00cuFSCmJ5^qog7c9; zgs~6EUoat4FhRtL88U!dT;*u)b&TY2AI&$%fBT>Um6x}s@S|8IS5LU^K=O{x)aNjT zkT6eT?+^-C;)aT=tcF1VG`t2jz=xYjbqu=D_yRg7i1N`fn4JZoDUqwBof#G3Vhkv7 zW}rgd>E!{GOGxEcUprxt7LRES_&_H4^>fZ0V%NJ;QfDEMoehw{8pbxj`G@CuleBzb zIGgmTD*sqAo}UMFQKAiszObQIt(01GE1@=mbb+v#%6-IWYwhxsj=ShP!;Gm99PZ>` zg5C3sGtcT-R^GFe%HZMzx^o6uQYhNohon+8JXu9UrM^G}PLV4*ic(<(AcVTQ$9lCg z!e^gR7yv3lLNbM}agK)-1!EgQ<-#b_zF+_SdVKl#6S`BjFWImRaH|~mt?`3eB(61R zwyr7A8Mc8%tN}H)eHSOVs(~zY6?!p5;Ef3IOj<3pp?Y`?9Fr;)B9=Vr;OjXb>JemB zo&oHArfGr)?@KQGp1GCb0FG@S`|mG~Ji5Qlus|{vRf}Q6DS|av6l3kXkj#Fe;Q3SC zjFd8jf>FS}5D--`)<(IQ+OawrTRH6vV>Q3?tc(t{rn-OBmya7@Y}3GbNB6Iscv6qD z9_3w~;KR(4UAVCZ+|c?2?EUZ0jZhJXoptHptIQQMmoo}QD5UYKLbPc*4iMrK<)Wtn zOZVFWu)!%NE(CShq$K;Y((2i(cj+<5jwxE26EfCtMn&OEzMOVr}88w*aHn}W7N z0DsMvm1}W{!(EFRVhn8%Ho8Guhanh5LRwV~3_68SC0H3f7Gto((Zh`(f>9pXu*4TW zpv#z&kMhBpXMe4qRt@ribMl454(m-a@Nh%TM&84ULfgLER{=Ou2B6_UthGV6vojgO zA2@}NE{_eaxd%8~xDD*cgo2<4oNyXwf;`*{>R1S0JmSdSa4P`bKk0(X%AP{X=-2{^ zW6TuN&^%qSO1^979t#@cl2XW~dqHw4ZG2f9=;TvEevNl6u-S?4y?n0ex;;dj!I zeFyJV#eSOu2M;bUWNeRdln)<%P^TWfdUp-HFJfJKnFD_zZB5zPCh!CT4us*m;k|ul zt_n36I1Ib;{H_kIoi&sY5K0d$3)SQ301cOU@e@U-`VHs?*3zNFhILjyUh4D-f#8cr z9@(8S*wY9Y5S?fuL4+~KaCnkNSc5F$04bO}0aAt}NSU%oy{3vM6xvu&NMAux$KW!4 z+yRZc9?iqGK;5_!k!0Lt+kwHzkw=$lMTN7u{*WQVy2dGTp0WYc8=c|kJ?5~~>;v2( zB_W!1Ax1rtvYFk!BLxiDUJmgRT#I+P$B4Bc`WbIqoZ5_81KP0J&gr84AR~N1yLT_N+rMpF#WMK%DNZZ>kq27L=X33 z3WlnUq0tfk_)7)mhm3G~;0zkzky+z{;p)=oPRl!Lbyo)7fpc9tcPS|nbD-Z4jrnU$ z@W+Bdlx`pdE}&-(C{^L`+gN@MJ-vq^8NOG?{U;d71(Z-ucLD}>lr@V=s1!9;fNKhh z&<32&ox9|0<(7f7$rrEC1uQh-8ed$;0^ipMB03ebr9~)55OE|52XS@klIns-=*9A( z#UC-g^>DIGn~h~{QA*5q*e4)LDO4xIPuv)!+1R*(Y--LOtGS$WN;AiqJQ;r{7-d-F zqT!2I2qC&t_*QNDN4-Ul=_n8GLR@uT{5G0#n}BoHfe6_XQ+P3^VW|lZo9zR1>_;Ac z+}dDD4_};8e|BOAvka1;Wf!rPEnlL~s|VW}8g>;PnBA=q<3eRuAxuKO#8u%s&SO@h zt>S{7VR!;p!TPd}^2k%dsU*rDb2v3|6{1I(Klt$!0H97lL+y?#90ojulUB;|wKgD% zGA#DpN@L@;UAm{)F>B7zGnEWJ-RrhCuO(sUtwciC>F-Tc$cha*H_&XLFGW<~GigVl zS;$8nI6^&}m$9LlVFy&)NQ$r-B%xWr^%u7!g%zDwqvoU9T4TGd#O~m)+OWP+E=^N4 zPE7yH2+^xubzB|F4X)yIMCqKy=m`)-#=`Erh&j?aMBj*85V~V2PeW%ca2tFeMh2Jw z7@Y#RrYq+~CrBY?WYVrGyM+l`Ez~jaTF%i60k*MkCl9h_kv+c5BrI2wh z7tl);>a=E))0ex{(1SudHdR+|wU{+^#4={vWvx(TEHq|8Vv*#9ljKdaTrd%vz_mTX z6e>w#<3R|IBC7VH52U78z(x(Uo-K!{&-4>q3Lv5`BW|qipuDka!&ZF=tA<(IWM>^& z-}m2px8{UXM)y#csOlEPtY<3tzMHw2=TQc}E3rH!+8cQU-jr8iQ<{&>-Q!}2Fv&>@ zoMdkZg^4eBk~NqprJzFX-s}{W8Q2cWE~aVLq&NL~Z^42ZFviWCACMjS(hGm7KJm2E zhRRb#a;m~Mw9n##J<3OTlU5O)OtaaD(vzKd22eM}EKoT`$Y*gqCYX3EQ1qiApv0XR z>U{5zj!-c0`LQ@dbXs;2T4Fo^T)>7qK_1lt-+M4%%8SoegE4?FXO&I<)8n-_-#%#v z-8s}LRNum@aUOKmnz%LL$va~BZ_Zn+7)5%Mqfp+BJTjM&z{WsHri-NraYD)ASsa`a z{BtXw)McX-516HJQJ(S@oUeKxJpP8hMLxUe1q6Sh_p%sc0GHY33VKt|us7$=yr73<$u z2)B@dA3}^-kQs<fFo`}QZLJ?d-m{Npg##%s2up9|GRW}PB%ZWO76~g9c!rfrCsXde$J3<|qGvRhV z*fw4enN>JI!L8(6ZZ~A7$~N;a4J3e_TB}jdTfKf=-OL%&>ox3NGe1M{8$+yvD$3Vu@)vf@Q|uBjcu>CHuRBH29e$B5GrWvb8}mvMo3ZQEv7p=0)^nD z9)o6)OB{YW1ulVYpmoI*?b-BsM^U|EPP-Q$wmvHUzsHtZiS)s4*=0{%@?UudAi%jwG0TV$M*^EcGJx3lW5d)t zt$1I_nl(T$1|2#8PR$?z8tviNp>V*~8VwYhwly@}^Xt2-bdK|S7C2PYL`XS&Ir#qH z{$|lt*Isv&ID`bcr*wF(D5+Bs`cExjQ8=j-T?+u)9l;S>94xRILKe1lIl#8^h99U@ z!8s>t_1_2w3#1b?DiKv@Lm-8pEyuC^oBMzJYjYvYvMDPT-)55S{P#Ostp7n?hFihld{6_`&McA8Cw`hHmj-tnASN zqJ-GqfS`RPse*DYCu)Z>W2XazsmeJ!dB`5>LLHz3H128xEI<;l+(;5>B`!qO@2`oc zVe4^ONv7V+>JJY+xRKc@!=QEGQ29=M%}{XV<(Ix);&Ql?j|>m)m{OczRq#&T1_LEI zi-I*}BPqn@4)_oEhA7X;Nt2~6|7_&p9021H0ZjlJSA&AIGF4z;WY~oRqm;u;+3N@o zb_Zg_tQ6rAvYmSd9MES_vVOte-f4XPnWvU3X!L3VsqoGmRVHqrQ2!Z2HC$$%dg9E9 zms=%bfFH)IP#xl8g#h`&*V_gO04(;QahU2jQ@mYKSPOT)sxy-w#NRJG`^<8B?7NYf z!FTT|aM)ZJ#dj^w%1H78csNKPh7-Ua;CdIxfYRk+Mgkh zgR)vV0XSg+XKK5sEzcqxv=|(!M(hoj z_QIc^Sw3~jOLfdhSp|C!90TZVb1j>ys<*Pr0Uo}cFeqF=*D0~8SP(!xfvOkoBWK_o zR2(8T*l-1qw&4XN`y5<>vIp+Nl#h0Sq!@Pq7ebSzwwjF_w_b7Scg2+mqn&#SoBnTd z-t^P!=Pg^hWIHoaHo+$g9R9rVp8vSJ>ZQLtx5ArJumQHZ7Sww$VmI_&Osrr<G-(~_4V6j^-c}Y;adUSTT6C;Wdp9M z9D}H~0T4ik8&OC;WPhfrP@!o#Vw@S3oz?qp zP_7!4H|99x-lB2mePcGg-a6uQR|dhp0geT(wSRkO{?m`LB@mut_Oo9T&5^EqjH3e0>xnL6W2a;|NRSH=s|~4 zvQZ4;cHce(-k-@4RF87Ya`kY=$1} zYvA1b2AzBUG0tE6lmEHm`DdP44(N*AQ#I7?3Sk2^>RUvWr+5B|EQ!t+VXj z6yNXT`Jfk``}6V%*ZgFK0(gvI*WiiheF;1Zonz9;oWJDaZ@)i%>eSUv2m^ZdCQMZ$ zT#J&qy)QBHot{^wn*f?lI67`vY|9PTN;setGrxXemPhOs=WhR;8fZ2{@p$ zF?3eKvs^cB?70i(&Yr#2dqWRS%K%|r8sNQD%;If-={A>fIZV+XNX@Y7i1|Q4=Rg4p z@(nun@#DtYS7px<>=g#O9TlDhPrv@b;nIs-{`#4xzx~!5bJqc~Bq#%_^W$_Cq5W~a^rvI<-GmtZ;PFX$fg7fCvV${aky7@sNWCje-l8>Wy_=#TJZP*s{ zcj#xd@{~Pu{5Qugxc7Gt?K*et1;aH?Z_OVThmKcG+Z3N5sH?&w(FWH#0e7K?vhUfa zo?7~T;f(^I9W@?TDNo{}oyOg%UTgdo0=l|vE ze_k0^K07X@Rp|6XpsVS3D1T4cZ{K$7FFvTMu4=yXS9g7hU&4;JG$<%lH#WSS zMVnwS#55{9Q2GO3eBFd==F&pcCjB|yN7q(=SOtI?QKeI}eGDA14R9KKYtX9*`a_f* z`^fJfqQ{~)%zWVYj~quoebA8$ToS+`sx~m4dDQAYp~m0;U5b;{jzoq{fP4uJdjR*d0KGV$zOS8@-u%vuK#`m zy62-j-tZH{^Jd<_6Qe^67+b6%q_xXAm;ChZ<(FLa`l^*Hd0BM>*$b=IZm1Q25Kdd_ z*6e3W;a1)g=(Pm>NuH3>k3bJQ`iR44Oqn)))WL@y+K*g}IS_-2yrm$Mv9RDl)+LMH z-*n*x=e|b%wWa0GM!vM^NBO@>zcK$0 zC!O%+IgkD6$$vQc)Kdo&bWg!h838umUTedh&^l6}|hk9C5^v{UV|3zg*p3 zb&y00@T+M+kNxMv3nyIrlf_z`wPeMb83|q=;-13R450t|?*G+J3inms7W|^VlGZNf z^y}5Vju#pU)QVNBRyN&u)6K`o6SxsL{a3$I;zN%q0{ZJCe|V@$0sMLK^3{vHV>5_* z;s&$e+bIsmNyDI+z1m09YMzMvfvoZVd+*ust#M;#Y^|?vHpr0&I{P`?_KM5CJ5ymd zlKp+UhIjI^kYbiT$9DJOqLjV&|Hv1BsQPg8h5>zhJ;sCSteG=-iFXG5LhA{= zD=JE{rV(V8N^5IswvE4V>}%`Ru5H%a&t80g>B`zn6avfE@A(zE*B0(2Zw8ZHr9*ko zfEQ67|2d#vMOXb%(BT6I4eB&)#;h^)!`CHg*qk;uH@BR1`l(YlY*@d;evy0Ok`>zx zDpC*jUI+ws$nYWiR^gHSda4Ika`2CP?h^sp@*h-fYC3R0KVE+sOR61w^G!FtdE-sL z_>u=(?e>YkcvE4oVxLX0^C@WSm99wwcrW2 z?Ci7EcW$>nkTQIlq|^_qJYX3$89DuxY3nZf&UbqgPN%S9- zGi?%59XfXCz>h@Ii*~x|eTC0r)>kzf<`^ciJyM`wOLz^I_l_co9nie zL@oKC=EF@5b7s$~``_)HZA?^G8i1cWGnW}Y1`$}KV@oW!U_;lBw$_hA!v0v|?vE-+ z+E~*zO0$V1O4C&Pr+$QD8nYXBSguYPMc9}{?B2cmCh%iTO$~zT>S{l5 zYuBz_Qus8X0Jdl}I`RG$W)Zeo_~K9|+_N&s z8?Uv!s+HzA@a2T?Ee+!3Aw2}};Nw&P=m6ZndElb#yfUB?r~)cp;A2NNrDU-R6(_$0 z?0|)FuwcVZ4jD!)Wg;2@=UqC={kY4oQ6C0Q0LOtAv%WNofCk{`3J!0mB;hSWGdl`q7(u3OZoe@^+eP>HekiUWQ;~&c#t?^Y|KrH$SrD! zTB0UUFYduiPx$8Fv9Id4)M7zps)UEZ=OK<58*@`e)DksCZD6yRgzuQoIv$t6UGQ|k zfp>HfVl3t!n|SRVvR!!+!U5>J0r&dGpLj8s045TChgKFn=0j%u55FrS;o9a~r97~8 za)Sn9Xgn=MEm70MU(F|cNm4ywwU-m5;^hcY!b}$;x2VyK9S{3SQ=T`U@Hv(uUP)@; zHT5X{meZVME|=L!KW%6PNEDGnz7!t z4ZzGQ>9oxy>lU=tM<`v6vI*#5Lkt@fqW@r^w>}RMW4VAx9}A zOIePCT=~^L4%tcxnUoMywiBS6`*ayczwRc;Ek+n1!k{5J#s~rnNmxn7N-8$eP;sIv zPHZ@NjyJ_Qacw*z{0eeen9B1c_qMI0^?ZXlmxasz2wOjg|F*#YS|B{k zv|x9rlvk|aPwU5`a<#eF;mg+=LHD2G@>g*6qJ`@n3J(J$M4HpVl2r?Nxg?*JWrZv+ zStP&sOr+>FBUq10e~%UKl_c(XBKUg4^n0!NeL)8OQ63D95)3JTf<4(rN=7PkveU_Q z*~raH!IhuJg2GG|7SAKEAY1N-Plen9%UC1Ejp7C;V6)v>k$| z##2MnMrry-E1&Lc0?^DPe8}q=;`8lr;B9FC4`^YgjghcM>k&6wHtb{P`-k|h`zAox zOu`#IS|ftalW_1|*t-Uf?u2jKVuS)ZiSjTI#@%+6{kxjkSiYC78~?`HmUaXod;tG4 z(@XQ;Uq?R5w_>kaXsJO#<@zPKdI4gJMoz&f&lX2{rch^IzCw1MLYB)$dbWkM3>)@j z3xbhQl)%sk_xvFSd=KdJ-ox8FK(D8d?kirt@9~ZAhZ~?1#LKYWa~x=zu^;T3!S1UX zV9RRtusUC_fKdlAMF@&a*wapEKYV=dAvYP+J2l`C@K0UWyUn&N>;`Iq3+>ulGkbTmTTCaB-xK3$JAbDDV_-V%?JYt)yaW3(&hvc{Rp0+N;aB#}iD8CY;& zK}9D9#E23m!acOH2s1zgKOy}G<2X!@Y*(IyixZ?2^mDElC`A9cAs@&FGJs?Z2mwQY ee`*c+GtW=p!sl3g$H>e80000ivdGBs7Y!0(KIZub_@Vk3TxWX0=M?gTi%2jx)x@Ky6 zdiI(3d%y4R-mW2(QvClY2JfZb2Y(;@een0e$;}TNX>%rTV z-q2w+WKhc*(Jk_TrYIXhXu>iZqAJUpOLWaeT4GN!obao)WOl`%#7d|0DCg_oI0006 z^EkFF3xdF7=dM8rJP(Un@4e%c(l~%GxLn-lyvJJo~qV(g%2f7YQMFx8l}Q0G#N;I}p$D+-RdgZ>&^ROEZ+is-i_HA^CEhnzEu} zaas1y%@@ac4&#AvdLkGKChRI5v@CiYfbyPXoG=8nbPk5505D-u6IT&y7#0r@U$v$! z%rE9HEH33b>~wsnUbi+(P3D;ApPa+O1qE&G{TP`TN48KL$fUDhV+j3*C<*&1rQUZ9 z?v#%ec%1y-KS$==5m01M)ALt5j?E-xxsE-vPnVxjs#JRbU5q9^eIz2NCbMia2M z26J%+zS1g&;~d7uy1_{t;_cDx?Hw(D(P-!g-kYcp0<~0up~+}Eu9`qr1>!D%BPeO7 z(6BOK)M2Zf@i&5AAC?!F|HS9_f2g~+y~X46qMYV2bLuo&%_lK3qCz)B`|A<|KeF0U&RG9I`F}49hil5d%O;2TU}j z7>lSh&Oy=2$fnik(Gyc&p@jZHN1~;tB_0Ay9+QWcz^YRyHI|UpGEj^hD)llhWlXpj z5v}ofb83{!We6^Inod<~dmhc>|CIZLl%f~WA^az}f zWf_hy*YkHj{?af1@=rhi0PJZ3YEh&XZNSMX+0bo)(!G$V*utOcQ95S4Pp z0MUz-HmEAfD(gj?xradDsI2BUpSdt~->J#jo8c~v#1k?0 zl<6{h$6APrv#Uw(jeMtD_D6%yA^@lQyu5gu9Hs>QP)c`6QN8$>t#F>Fz?T zC4x*gZL+?G`paJ*!jZ#M0Ht6U)?$?#h|WZN}gJJ7#CJf z8m$5^JPhFH0A_zDxX61&UEoz6^!0NOc)Vd$F?Yv_Gmn2kdb!8^@pIMo$L8m|Z~fRB zwvG)uNCJnU4pcd1TVQ@QG!BI!OB7bEgRwpj*NihYp50TFjN`5FAPfDD99>Q zh5_pppyW%C3kvb|j${g874gwSt*wt4Wu7Hr*dHw^0#R#Ve( z2SrGc4%mD+eoDsn?FtYPfT999wFKIzK^9abH4SA=fu-|c;Q}u)5PV+b^L5k%N4dNI zuyYb#yxYX zOTTw^>X|_$pCv7190(_{zm( z?bF$l@xk`?i>kSLrl?&~%GwM{>I}+_dC0~ZxPolr_=VRtdsk|kwvbU9KqrO#MHu5c z0z0q8@*xvS?Kym4+kM#5Az?=O7W_kpuzZfko*nl>lJ3LHPd|gx#}7d-g#v}wyAicnHzq4(#D`Qg*d-L~=YD1g-e45*U=d;$i^G%WTuZ0&IJZbK zdX1p4E-v)orI^W6VJW)7{-1U zM&Ix-HpJR66HFuEX3*Mu39__`t!@s(dqXI$<*;%=#Kof{;DT%LZzzD!^RTiELXkS$ z@gkzkAlf&Lqjy^oeE$mw1Z!Z44{}k3n?x|yxf7kFpVU*n;NQQP(tT1V_U{>l&uJU8 z43n0@5Kx$k2qhmw{vwCfX&IftJ=WdV{gJtEXeXk9FgA{C1R+&C_1GyKdxb}snE>yp zLDp3iDznf$Pa(4H5H{?;h~W>Vu=CymZhL^kjrT^e_jV4~-kHU|dvn-y8;e+YlRcRZ zVE>(cnAm#>QO^v#HndtLfZ;-<)r&+&Cjz-!T*sbm{QiIX#`ONRD*eXTP zTa3WNc)@ZkGHDG9OGzkN8g2xHi z+B0xA`rAjoa_#wxQDk!}YIPL>Uj*su3ND^YL0j98!ParCau=Ww4f*qal&am}e06Ya z88tQ!CbR}Fw-d`NyP;Wb@KPD6tOrH;99l;!h_DId+5%W9JqE_FL0)08HeZHP4nXn{ z1S0}AZi-`SbtU1ljQ?nAjUe%e-@XhkkT9w>1sS=DyYIa7kuN^jei8X&iI<-^$t~o3 zP&pk9O@|-_0Hlyw$wEzTz+n3UoN74(rC!9b-}GW}GLFveDfqjSAcBc-XBI2zWt=`! zKsDn=YkLl}NdaCT#X@BgCoi2uZYqqti$kPSMLMa#l6?pVqfoUfrst;-kH_%IyZ10I zLFi5{CI5&q6ANBfJR&S6D9jB0uZ zSh9+8kw>qpR)Tj_%F-c_v+F1KaEWE^{oj^yh!@XaD}L`))kgnA7i9Us&5?xUwh?*FjAW z1YbWymk0S=25qe&Tz}K`=I)*pcqi{n4O2c+t=Fmm|3>}z8?+2cOKm6b`&pdzE`3o0t z_R{(;o$d?zKQ?M@666I~glo_}%i zc;%2H8_Rv2BR&2W^%Kd|YHK>b2x>6kw0#&*yvS#|FgO1w+{QfkaTm^RV4 z@WNw=(90Zj5$I|2;X)R8@k}pb)3>iEwfrk>r5Y?^K+`lZ3^_hLGIG37DxX*D%;(Z; z-`|^(rae*%5UcOQR{xj5x%ki%mMMMe+=b@YwV>TR+wki7IhZX3+YSWa9#z3r3y{hl z#I%j@pa%+85cTWm3k)E0M#YIAsYZpkxRf0B2X`|ScPoLDYs<3G&=e?&@~dmF*}XPZ zdF*eVNm+Y?VmC(g&mySr2G`@gdwVH|PmBH(7|Q%TjX)H3A><@G&pLS{&S`8jvQBigiPQ#T6;5s>ve_?5 z4y+Bv7`zsXbWHj^jo+qHYcIw+JeR0tX}V#+G#Kzahu3eYNsR!9)*3HOd6qNJjYFB65 zuRitZ1O9=b&ihy%A)P2a9A|mF9>*;O+4>9$=?cn484cBhMH?{D0HqcxwHmf;+VZTu zQo80M9U7P)3n@(gtt3X7GcMHFY}p{muk+7|hvaMSNn z%c?o1SSAIvU~dcnoLei-oH_i$i9bB_#NlxZ4fy>bG>irq@`nF@u`C2ZumL!5L_%-Z zsG?R_R4P@(;!zOFfWX-RJL=##9+K#8x*rb59QT_IOBsUpjy5!Otp=0jImQb9W84#3 z?rq=q`K4rXPor$X$m(!ccs5{+b_2t!O)6tJ+0slgU zT!^4yvZyvpFlY(}EVu}dkUs z0FVU_5VHJG3#%wM7Tq4nclYQ%ccNs5pp--?l?Hre4|tXbLs*!UIt^yS_~8lw4Nn8^ zuG9nq(N>PHp9cjjO5sR16-a?jh>`$Z*Wrj#C-1Mv2YyA-udUbWLxDixtK92N0TU00 zLjh4%BL7CS%%N(v%C6<71HQ=M9nom?FYVmPPUEna7a^$^#J5U0;*xK?W1AWoQTz+b z%gCh^=v4tMVIeRaI2Qv!A`pF51mYIr-5pkOPT#b38XqcVVg4(p{bg#4g7HDD9eG`T1Vv+prIOI7!@v;i1quMRj^FMn6KCCr}%~*9iozt*1TY}dcL|^bD5cpv%6wd;T zfq~En`mq^wC4~8E*45Un9`JZw=S<6*$2t+{dION11RYF zZw7m3ITnk3>&`nq{0o0LT(_Y=oylbWL{U|rqA1Aca#&cL-!nQg{%AZNpODQQCKsNA z-Y~I!;u>@YM+l?(6MEe_tPt9Y2cKjvm=RIy%mS68Jqq z%w^~B+~I?m*f;^N=s`FlVzqP*rzR&+DCRLZFzCSXcKle=G_Q2e6w7v#JLXJGOu$;t z1^Q2Hq9}q3dfFkmTVYZYc8)LC#pm}^0&s?5Y^l|1?ZHqGnx>*yDxf9Wf^A#3VPRoj zsMl*KS4s$mLWs+8%q`5>+bqV1$553kn46!)YH9@@w-<(CfSQ)e25cI3CD}QKvF=M< zd1d87VgfG454&_=-!P&$j&q!69f#~ZpSSmSpE+~NozA4OW5+IR-n0e5Uy_WFHHc%Z00nbMD2wrAX6tjpw;z*Ij%4 ze=n9wUuZP+C;@}IETdd5t%W1eQ1fbm5C}Z)%xw~jwFqmgtCpszg-9e)E|)7l2bv*_ zQ(4o_s6|2XR&uIuSrn&FPhxm@2p*5;&ET4@0Tfq-x80iW@9+QK%F2pm=lK@i#c_Vg zce1y)_kwBBKehAPr>ZL4k{b*|ES~2XMO9##RJH%8B1w|70z=jmr-~k4a0!fQ;A(PW zlF#RxlZ9N#aRLIukl*ncRFh>nDR9Ey`h1?lCT$48kpEC$Uq9?G^GVCJ`keA=4b53Z zbca;}bhM_wyI{Tc7Alen=0gB%x$7$!Lf#h;I6K_5E`UbeVY#`MJd;t`& zVL_=Cuhwb;%W=-sXlB?nDFp>X2m#NrMO9G>rE(eeIS>Fi{ZQptRt2SaJ6f2ZZ%!6F ze(S-V^499L%U2za`vh;UOT1CsmrNfn%9^E}N}as#O@a z<%+6WplCLmW0KeFsrK}AtB!+jN2Xyya!YTHiX?fQGG2CFQRQaGGlY3l<}^)%&+CIf z5U>G!oT_Tuyk4*9xbKwIi5$bQOr=smu~>GZld#znp>U|VjI&JhYRK=k=^gNQBhGQk zc~^u$pTDU|Q7c5=FnFDr==u zsn4(**X?%0&NZASr4&JXGPS&G@HaPv4-|kb*Vkp=b{IaNAC4^3bVeUzt0kMs1gfvCs`u2#2EqfI?Ljmt7^!nccxa0L`;LN}N$A!V$&W7XcWMtKV66OP=Oxs5cC- zjPQECfy))JKw(&RwbpdQXxMWacJ|>kDFN(9wplUTZTIWPs+tCuAcBx}Fz-;*sq9;W zJB=!e62R0T>r0n`K>-jG1QK`}CCv+PhJXT&ix3#riImMu4Ovm4s+w)G0ErX9F&r2| zoY*;=w~0aVj^r5Q4+JlRU*(M!>e@UAVc*aL26zO)BTQ_Uy9gnoAPAtA<$MdUoU^fd zv?YjADaTMk;FhH3RB`%=Gz(5#>kNOJsd0|C8{4Vm)xjwR7ziMEBRC6Z9CEzDDRr~e zG^xMiW?wb@f@a8% zTb6-t>1MDz`+5_-dvKNr@C&`jbLWt%O+hzRunZqHOyeGyXCK_)zm3UzCXopqLq*Bi z;2JDw5-KfsJ^t(2y$zwXm>J0;O-Nr5vJy_c6FUw|L;T9^( zRwY=j0NE9QGg(A@9@?IWW*RyPoy6&%&IG&S2?$0MvA{TX zZN5?YK+lecqA~A}n+ulNc-Jc@x!P2c_y9WiZK%_QirT2YFd}?zw%8DQWd#h%B~Uqp z4e_n!X!`)Ure|#b=I&BYdafwGl0S=4X&*)hM-U1Jkm&8^dZHZ#Mgjq_O;%)s5QG7g z0n9p&Zx@`o47~37n@21I5h7`$0Y;tM>fbx%AG=$KPt>=;->d-%me%IXyMcg_i=2On%0!rySnJU&B!PbLcIYxE4-gfkrbE7lUYuqjO zu*ka~#!KZNBTv@Q+ReiwtYG;U%Q*7zJmxeOciy-Lvn>xwR77F|GILXyKj{SxZ)tq+ zw(UQvmTO-JXc0i|-85$t@M^DneWEMT(-L{~C#Nx0ejb7A4kB%>qLcwjk{6XlKXPZ= z(A5!#ny=xBZ!+-4LeMlHmMDkPYzz9_<7Uf;W6v`z^JBMHnrmKBQTkp_mG!xIdtLK8 z_HFpi(p+KqwTohSCe<5ZT|GXvETO3QHNHGpzHRIFY;`1gu2`%Vh3xI|)v3j}ZZtT# zu2>zRq3ouCebb?E_y~Ykc!7tm>HklDm2xT6;{NmBfAE@b+%WO!?{a7Ff2#JeaP#>tN;K207*qoM6N<$g7tdpU;qFB literal 0 HcmV?d00001 diff --git a/img/markers/balloon-cyan.png b/img/markers/balloon-cyan.png new file mode 100644 index 0000000000000000000000000000000000000000..9eae70767c61298791fd7d687681cc97f0adf446 GIT binary patch literal 10928 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 UYgB~KG5`Po07*qoM6N<$f-WaTkN^Mx literal 0 HcmV?d00001 diff --git a/img/markers/balloon-invisible.png b/img/markers/balloon-invisible.png new file mode 100644 index 0000000000000000000000000000000000000000..19464e9ed39fc5fff52f5e383bf4f8a10c5b95d7 GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2xGmzZ=C-xtZVh->LaRt)Lt88xpDaMi@zhDN3 wXE)M-91%|!$B>G++5?S14nxC&zbnmGWH87vFnat?{Rk5BboFyt=akR{0IjbY#Q*>R literal 0 HcmV?d00001 diff --git a/img/markers/balloon-iss.png b/img/markers/balloon-iss.png new file mode 100644 index 0000000000000000000000000000000000000000..23d2a49e62da283b0c3a8535b6db7008cc140a31 GIT binary patch literal 21272 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 TW77}y00000NkvXXu0mjffpz0< literal 0 HcmV?d00001 diff --git a/img/markers/balloon-orange.png b/img/markers/balloon-orange.png new file mode 100644 index 0000000000000000000000000000000000000000..b0c5d09a7730d3a02d67461b12b09f8ebede231b GIT binary patch literal 10999 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 literal 0 HcmV?d00001 diff --git a/img/markers/balloon-pop.png b/img/markers/balloon-pop.png new file mode 100644 index 0000000000000000000000000000000000000000..cb65773f5b16b080c455e41d475e7064d5b81ffc GIT binary patch literal 3684 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 literal 0 HcmV?d00001 diff --git a/img/markers/balloon-rob.png b/img/markers/balloon-rob.png new file mode 100644 index 0000000000000000000000000000000000000000..819a5589eed0a50e4fa4fc2f3f7562a29d2cb350 GIT binary patch literal 4335 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 P00000NkvXXu0mjfQ71Eq literal 0 HcmV?d00001 diff --git a/img/markers/balloon-shockpink.png b/img/markers/balloon-shockpink.png new file mode 100644 index 0000000000000000000000000000000000000000..49ad112f8dacb8c86c0fb9c9bae13d40f85b6b0c GIT binary patch literal 4097 zcmV+c5dQCpP)IMr~O5n~xqtyM8GHPQRPqYte6{cnDMGcMwvw_w|6w_20Q%ZOqi{Gj3_hcJHT5&X}4X#-PEf4FS$ znVA_p`F~HEd%t<_ZJ)vC{_F88f4Y8C<(6Uepf=MppHwSVWrc=DMH&va=9cqDWkxjA zMCcodY!slSkO7-uNsNJF1q2x9_}L%xC-1(5qyG!w(4ycEJ@gPd#q&p=8$R{w@5b&d z?YQ}cmCtWLKceaWxjFP9LLVdTRndwXO_Z#YQWcf+VsQ}`vtpxpLuoiQB{&~3cV8rh zC&C&4V{SY?f=RM22h_HUa+R$#5$l6 z1{l#bpe2Q^TWU=eGf zgkY2OLW7_s0}+TUGT7p^0Ah(|l!)1s+;Y{wnj1%+;xD?=qjTXB@PUB=R4Ns8cXy-C zI%xTyzcl;5vMc`5Xmf>5Cu@^ft~O;eDrF2K#t>q;(y31jx;!+DL=c9jN&wde$QsEi zl?g#5Iz{Gw5uOkg2YRin8@x_#xat``-2iav5^!IVBnfJ2bMu|pvFqXJhwHS5b2`Gv zTrCw@D`j!OScO7^3kR zxpvhFoQ&VWJLdtsk2K+_7>T6t7mmW2EP8Q_}UNz zCMnU11C>FCc7=yV*nlWeGSKWq%Po`u*n-Qemr_Bp9k3lZG?Ia5^3mRi1uO{p8vbJl zkaZb&$?3XXW_KTARE>9a01;LrhClB7bt$;m0tY0cYQHlQfa+wy_ERMLo<+&QQqT3**b}I&!B80W^YJ!qRy-3EUnH_y;xI469Dr$Ph+W#6dTSY7crYCwPD~R1B(Dj zp@Z8=CU_8LVuOnG`-m=3F%JifYM3oWM|u&atWS}e3ih7AG<$&^MQOLl#+ko0b*efnVm4=7b3=0NWxs^SC> z>7BJs4iL&|T28C=)q2g?gmdZ}vZ%E-Z8lpwP-@__WkAS{|56b7?U z&IL$=Zl+(=TB0R_qw`@jtWK-88c46Js%)fVWplq5iRFw52hbObNZHg-{o9Lj=pzti zGy&EEG(9|~VR0Uo=aArHtMV)pJx6QL)9QJ3V&Y^u6Poqo6J}fpkonu{GNRLOrF?(~ zKdP~II&PqOY7&!Qz8%{tP%OZ^<;P+M78MAZ0(8@$oWBXe+%JTYvGnsj(>hTQHYR~4 z3B{5_(p)TvK;Jbf#~V#HPR0P{kL$4u5Y$Zqqcsp!SWJsRXyLEBTW?Sb!6v+zZcut) z&Z}RC69o+@5|9dji-KnBrJf?jGfwjO1<&lk|8f}PM<;n=%}w^kK{hZeRUkNSLlY)A zA47sG3cyP1l&R)tIqJxuK_#I1ckAVbv}NYD0s4+(>Z8LreAF|?>8X9}J9^(OC(P@E zk-}&-eHS!^s8LaZfl1vFCmSG%8YqdlwE#^j5&=~KT{>V^O`4rXCW07WzsvjI^{k#b zMl1e&5+`1p;)!cEc-M&;A;bf+>fIKFp}XqyH?^(mmZ zTrzaW(I`fo{%v(X?|lz|2iF`tb^R1h9^a4W*6fnIN0DG2lJ5+W{5zTv12O<3vW9*Q zfEG4~&Y_Ce#Stm0&>*_^;s5`73a5@|ZWqDnw0}3g^hqncD^heNMAf4Tg%lPZ7$G8y z=PfL32G+5OP#4L(S+E4@wgNkbos%H;2gcmXOX4($@w@b{Hy|j-K$Nuv%_S-@>d+a% zFtpIgwMAvp{5bd$Oa!2OH+HGMUOYhv)E`hS}ef~ zoWQAbW7xG12qS`}f`16&*WbWBZ+XU8&_jSlfTHW!I!5f*?M-(4OmS2Qu!6W7fP9ng z*^a@pECW2~tvC6`-fh@^ES>jm0_@~q(e-w)EC}Y{X|}Hcu**Xml(xv$V{hWky`I4d z%LEUa7}rC4x8wFne?t!+7;@;Mi^W=;_2OqjWq>XP=&jg3b%cla_-8xea=`=qAw9Uq z!B2VkD0O}@*Ne3XTpW)clvC(!Q-}4?o@_H-E_e~%Ie$lhFF`W+qMI3PaU41}Nsueh z)doGjH+TB-!Hat7kiNJ#I4_sNciyyl=5NouQ43{1dRsG{L%+1FKbDsVf3O7~EehXp zJSYsZ#&VVE@Amh&4O^y;EDt&dUp71s?%B%iZScGVo?vc^v?>kZGeN>3tnLO--mJGx z9n~XyGU$IWc+iC3L|b+HBqCJG5)A-gKr_r?L9~BmAc-{`?Nvo-v;OyPNnNy>wUZ2Zxxl=rE^Sd!^TFGxWoi@!bV~V^SFjX~$B$~qHj9Gjo^agMO-$m9n-|FAgWT_Jp|$@-o<9{Pd;;hq z12iAld6+hTg2bOggn9?L-rLXB-YX3B%G_7%_XBSL1!S1+1L_WPNSgocUk1!!qPJnJ2^K1saMd`mT}Pp*re9dspu@D#|P3GUQn1#ekY27CmJI%+%{&#oUi z{%#46l2i;7Ggg3at`C5gp%!8n#`C1)=M3vv_jVNXJx7bITyk@z>6GCVu>gF&;)~=s z{lNfnt-6OW?(9}^F=O{W_BB>fnPyCxyGc&+E$xU_$vZaoZiiQVCKm-SQ_XTgso)_B zNh#fIkRg5&v$+Q!s+TvT?$gYBj^$U=)Lp422<4*X=nN4gM_>u=NUfsH2NpvTi#Q=}D8tEh9u?dWgvYT^s5ve{mdEY9aqa@w zY2ay6U2{Q9g#ud;6@(d6W`_j{!6Tbiv;EX|a`JPW-zp3O^MC{3st0$shNm|h`!5gH zRS%I+HXgz3S)$W3KbM7t50JlVE{n<*v7mSX0M@AGym6wyHQ-*L7+l2~Ie1j$TXTt< zaUg-_(Qsv@?@0aHFlNMbzE+vV?Dt2O>GgaFY~YskPgft^JHO|Jz;hqOiNERS9*+P)j-fvX6JTXn1J;CegF7_$G-OCXP>|Qjr|91 z+JEq!8=u?xv)i^lvHj~?9(?HDo4@#_zd7T~k3GTj{67HTa@Z=o7k(e`Q}H;zdGqGz z3opE|R@1a~pE&RQKV7$O-Qd}4*GU6IgS;q;E}Fp1aRnZC<^{&YOQK|pl4J`4eeCk3 z`FZ&RNW9c#B+X-Gt7KEOc`cn(L74FCri`b0aKOw@AueEq7w+~{2XXIGBhdfV+2 zKYMZKh5z*EqdRfUF97gM7wr%AIIpVeDoK*o-g?_tuDI~Ri_Xsv4%(??ve|03;?-)U z4~z=QHMo!CxWo-e#*YSIksia~yN?wG!OrLNCot)S*%v_&@(3qJmaz*AUc2suwj}2hrmT%=LN|Gq(gkBVJN0)MB#ga z4F($$;E>5=%5c(b8SuR8Ht+q`H=p_O(@(t!ww))faX^3S(#tN}aNh&p`^-XZG1osZ zaH3e6ALwXW2A^?~Bx0&XV0*w0!DH%^naqL`iPQnyv0c{&k;A*Z!;1okbg7ohrT#{} zp5r}QnicXs18*0LxoV@XB10Xjl#0W5-~Zh|Po>f#$&27W(Bru9yt6-k&ZUoU|Iro2 za&cgEbgZygT^Q0koiuq`mLz8MaMyLn<1`38kxG_K+qN(e69>z*Y!jc^xS>mzA}|?l zrMlQ#oG&bAKn^6ud(RgjCwe84@#f^@>bHx9xn=p@T>bW2zV!4@ckb8$#y#)raX|M+ zW3h|2KKZW~67;~}V6oY#_gRLSRwEIPNdzW}0@E)Ewlr^m-emmfV*m>qlM?;l-%&KYZ( zU^@o*srQr0*^fQ`#`gl5>Swz-Vv{pN(MifsTFo`4*c!}ekcs$;OXDRxKPyna^ zZ}Wy}aE9&h4h1W@JP1+@Kvts_y}HmV@*-f#8Fa%i$Q!jrc41+mk;(Lw%azKq|M zd1?UTX)O3IPX^iWx?yk~m}VG!$Iv-V*P(TTR-`ugEKEkAav~<_F?a{B`4fdvK@==e zkPIY-)34ri?H_@0T?ihwv+n-RmNPNZELx3%2)R}!XbI3F8K8rdhCw*8tWf6g1_E$M zTCgn#XP2c#8xl8c=6x5^!QY;dfAJlMK|6FJcsC3>-}A-!;y^N;tX1o^F)ifOILxa#;Kpb>*HHy3*>1dr8E$eMD3t^Xw$XVQ*EjiUTDz5zB{9%*;BAH*I@2Kz z)*6jQ5{Zy>)p0-o^A~&iuIEb}2%9|4G6$Flj{*D0u+ZCBwVO0QHLN2%&IoL0U}$)( zr>B>^t`K2R$kXP8cwb+Kiik@FW^Iz9kE6tm1LCMgxCmx@awq!w`%laqJGxSZ*H^5Zc*mEXiH?kfs z%bz~52Mrk%u;|SlK6L0b#Fn*ka`I5{IjYnSnhMqgjgLH@?8)U+c*~Jw$$?hofETw7 zxY;>^AVFT&ffQ)LCND=KktRY=hv%_U0v|7r2GFpj(}&U_8R*|b;yrofa>x4z2j*su z9vw$PhMHv(3l1NQkrpZ&vF2ubdsSj4@K`#Xjs$nXlLaDTJ`0UB~qVE>+46$&Yx!xHx&|Ay*wBt4JjG!c1n;LbLip4zYkhtq>08)W@ zbqcf{WsdigqZ*Ag$0sKCC6dW{8=Hwzaeg%4KX5b=PqZ-BFa}(gNfqD@f|QsAI_Pb! zZ4$R%ld8zw7?h7W0pwqeA_C@mXjSi9YpXvIA;HNA2X)gQVzClnb206g8t^Z`uB zVtQ_?v+d#D_IGeRP|-!tF>CHUav=6ZB0VpaJVT)&`3>+8iS{)ob|~C81}3+HM(-Y zBFQE+>p=gk|3qPK1YqLG=&~bAJsn6~Yim&lu?GnX?PkNEF1qjHi9(?T5eRs&LRzML ziY1w|EQ{P`V&o>k!Rw;iu_}v;@!7&$KfIgNw2p+8kVC3sv*W_Bz$69VQ>>irZkCai zl!(rtd2ck9X+#=}wf=M_Q&JQ~58^m1FF1ThHc=vr6o2z`g(kWx1b*!0J-bU-;T>pD zLT%l!nYJy?v@H%Yk^x0QXWFh~0yb8uRMLiS0@m=iYu@Z&WE`&H+U;gi*H8j5=ny1? zp|fX|g@u0V>CNSeyhj{JE8LgLvPH8<)#q>b?^^_OfxwS!fAWbVMn`X=Fa?+Wx~IzD}&& zts6!_`g(J2=GfWkZ0}i_bfy-IMe9g&si0(r7IV1J&JPS08jWTQvSJmU&E!E)2-s@fF3vCK5%@j5xe^0`M+5KTD+0xVD6wFrzOK=L{2jiab+o7|$%mhKeCq+Q9(eZ- zXz$m*ddF+3s+hIK#nj-?@NBp2WZA+c$@Cwao*qXADDxl<(yZI{6S{Z;3*{gJVxe3b zEzBMtr;9`eP15m#jsV$)h$Ir~yBibbQmHp0N6ZJe-2ZCe?GW7a`r&>5`{pbA-gx8J z%|;VbBOB>tx=dhUVUJ*HHd6S}a+D7P$ul1koPK7YK3}gmqx|ie{@pukkoPlz6yk|Q ziwKdSqGI4}0>+u3AxW`?YI31eeEUb+xBU+ofBi1-(Cc5h<*#1H)@`v+C=4!NvErzr zL^_={*l7{u*L;8f{6cvl&qf;V!|2Vs)@RpOy6bD6 z!FJDrA8$zMACBOiGa<$%R8Ie7XNeTm?~-uuAwtj`b7VCuP0_hcgb4DbExpqCW! zAoa#eKeD%)!e6cu;2f1V8<43e+E2f*e zN=^>l9@Z9KFuK$cZu(s2c3=NY%PhS}Bnu2$#jH-OoP4|0Y9y4jvQ? z?5;1n;!13CEva0Z&&zVe7#td!#Q<6c>Kha`3S<#_nO^VFqT8(y)rhM1_2mmFV`l)* zRTnCGYzvK{;o-u+Z`-yHzl}fje!q){HU7!9Pv7(H`>)!3>zB_&{UTzg(uc}Xj7DQE zNs>-1XC) zzq{eOOYA(n;xPdHH=rvY40Q5MfnEIY z_y2CwXRo{dw4fl-^^T0PH%6Nflm+Bn3p%zCbry0QDnMQ8=$hEkJCf`D4rpexJxv6p zDfz#ay|QP|v=99npo=Hx$x~}8?7~MF{O3;dY8lVay8BcY2G7!auQX=$yT!J3^sg8N zCQ2~KE=>D9}Qn)-5ftA#1mV z)gE@yR;j+{?015@SuZTE6Ow(Cr=3jaoV@w+b$-4xsrs_~8}Yrdd6T=T@q>QJGnrS+ z;*YF;fY}x}M*7S$^5KqlKTUrQpw~2=6630cNzUb-Im>sp-zHR#GL(kywb?=WO zfhkZbjN|4+^w>#XSI4tU7at$?`)~be2H*Tg6>g1>M>$7-<7xlu>jD3W*X&njoaPV; zYdt)v9DHu+lGZalJvTUS^AKP%jo~XpH&+)eKi=PWzT?v174AQzv`1zt>wjS!G!h&O z59DM!BBd`BTYcYsU!I$nm&I;ZD%jK#D)!f{?x3aRb3Q3fr%VaaB zyu3UFQAI_?Pe_3>pg?Kk4i$SEf^*(W3sE-8@kY{sLY-^9u_3CN>P9(_Xg5Bc*1#Qh5 zeV-dQV4QqH>Hz)DZ1MknkXXFTG@VFyH?)!xvyDVK$ufC|iW89K6o3WE%m)I1+l{1> zh@X;osL1gjh5+P~D&mvQ+sQHHld-v^UEZN0;*+le*h3DIour#QhPeA@(#5Uj*cQj)9?_0N9=ak=Ff*SKOc`TT7NR-BBl^H+3Vg;VrwF@XJ zitDFQgMZS9*Nc{#8fC_(Ixk+t6RTFi$!JeA1*Vw_U`l|gkzuzR5&vD&aEGZg!4wKI zm4=v7Lw$WXE$>jV$;y!_d@FxES_WVV36W@$mGdsSKzhmP*pLRYmz%7hs-mZZyhL6m sh2k@rW)mMdAd7AIeu|zJdGLYLU$8xL=6;3w1^@s607*qoM6N<$f{Az=pa1{> literal 0 HcmV?d00001 diff --git a/img/markers/balloon-yellow.png b/img/markers/balloon-yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..66fc0421ade8749eda8ffe016f6dda9cc1f27f65 GIT binary patch literal 10980 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 z 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 literal 0 HcmV?d00001 diff --git a/img/markers/hab_nyan.gif b/img/markers/hab_nyan.gif new file mode 100644 index 0000000000000000000000000000000000000000..bfb6876661bc92ccaca0538376ab6fa9efc5c147 GIT binary patch literal 6677 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 literal 0 HcmV?d00001 diff --git a/img/markers/nyan.gif b/img/markers/nyan.gif new file mode 100644 index 0000000000000000000000000000000000000000..fc230a18b4bf975833879ded348f199536be862f GIT binary patch literal 22528 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 literal 0 HcmV?d00001 diff --git a/img/markers/parachute-blue.png b/img/markers/parachute-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..ff4dc5db90744f11440e5076c5c05c9fc91a4d49 GIT binary patch literal 18414 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 VU?31T9#a4S002ovPDHLkV1k*Lt2O`t literal 0 HcmV?d00001 diff --git a/img/markers/parachute-cyan.png b/img/markers/parachute-cyan.png new file mode 100644 index 0000000000000000000000000000000000000000..bf83a49a80c31d53b398667a87a43d8ebf99b923 GIT binary patch literal 18005 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 literal 0 HcmV?d00001 diff --git a/img/markers/parachute-green.png b/img/markers/parachute-green.png new file mode 100644 index 0000000000000000000000000000000000000000..f41d7e19e3a01b982a73127f90dd7b0841220873 GIT binary patch literal 18428 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 N002ovPDHLkV1hi@nkfJP literal 0 HcmV?d00001 diff --git a/img/markers/parachute-purple.png b/img/markers/parachute-purple.png new file mode 100644 index 0000000000000000000000000000000000000000..adae959bf1c8a25b3acd17e8608895cf8c902af8 GIT binary patch literal 17897 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

p}?Fx4x;aa;> zaxKSoSwUi>@3Tbp6qE>|XN%B_(2fAZz}QS;TU$8y7K>m>NlBkl^>un}NQL^pL8xGb z_MMgI{wEO5+;iJYiVMZS*MO&#wm+eAEOI62ekUsBz7FgMf0}){A`Jr#B zz_kQG_4AK`4}tS{*K^wyE(ieM0k-HZbKg+v?kKf?7kC5s+ugN+c7+QPz*XReQhEbu z5Cd-B8?mk64iE>@)2-|s#J09DL((&}r8!n`ixu1oZUwhk!L8sHE4UThVgS!LuNG#$sE+-Hut{1)vLf7Z_f%X3bGG;kV$%)O>0mFzo(L zmwU_xpxXAO{C^sNwZLj%)dn_{)=)z=RaA-!M5==ePn4f%E;_XlU;4niXfh%Zad~WY0KBs)A=@coEtw@PZ@d~ecPwLDfNPyq4 zmt|&|_XMxatEIExHU8x9=AFFbe3>$K@-n?5Dl(0z=oR{#lu$}L+gWK=QfKNY7M`u8 zwB)yN(0_pU^Lr_zfM4?p6)a^VO>Co`H^qD6194tVh_s95XdfSl_r#k*$Dm_bOgTT~ zM;tfDS!>qvka>tD!lw2v4W;zCu`yJ`)GQ)iOv(99<_zv2HrAo*wFwcxF_Kc_^EHMr~a{e9%*^R<34;N z8V0ri|A4%KJj{^Exa=Az4e;Qq2dQePqGoLkbq#ek@tF>fq5*yi$Pf7_I8#V6m?R#K zksrzD*61zLm(xs+Phw&Qfv?ENf<+7XQu#uB6+Vh9iz%rpp{%Bi`zOXjjhq9Bdr9zp`%?Qra1{7~1M4+*I^6EPjT3dqG~&@XXM4}` z_RDXxyKy&rH}B=-;gcXn1@L<>xs*R{Prg`HNa3cfd0X)d27x|EnIx0dlcblYacaO+ z8BC=?E`+@DJba6^Ey@Ftj-^SACx~5+abxrb*CN*#3y*Ozc#+7N2&17<5-tcwL`295 z9Rl`4_Axop>gHFgo6}5SGJxveBt>ExnbgDG<2ffzIj2(7Tiv|o!$*KNpzrb2<}aE# zAEutK3%|%DQsTV0;9Nj=k8-A&)8uNq@_N>nKEMMkH5Duti$p;9MOq|8R9q3)7-vje z7MGk$XiJFDY}=LXn>md!)xdI~2GE>JpaLid76C;dAO?&Bmw{0r0)&7da7O=Ih#ZU0 Y0aVTmi|C^aUjP6A07*qoM6N<$g6ReYSO5S3 literal 0 HcmV?d00001 diff --git a/img/markers/parachute-red.png b/img/markers/parachute-red.png new file mode 100644 index 0000000000000000000000000000000000000000..603c60faf916f006a06c0fc1cc41662cd890ea31 GIT binary patch literal 18277 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 literal 0 HcmV?d00001 diff --git a/img/markers/parachute-rpi.png b/img/markers/parachute-rpi.png new file mode 100644 index 0000000000000000000000000000000000000000..ad421b659a134c1d96458910d2c2be6dae28917c GIT binary patch literal 21788 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 NxM)^XW5lL|{{nnm3t9jG literal 0 HcmV?d00001 diff --git a/img/markers/payload-cyan.png b/img/markers/payload-cyan.png new file mode 100644 index 0000000000000000000000000000000000000000..226bfa8d7c1961ba7a906a9c93f66f3d3ff24994 GIT binary patch literal 1250 zcmbVMX;71A5Pla3CURJ66|`#AP)IvP3l&8rBll5hz<^M0>rn+oR6szGDA*ZOv4<1S1p$FdjaVfh;Y&&mlJD*3-~Q~*v-`~M%=66b%+B&dIQ~}i zm(E8BSp^38a4B9*r9Iu0s>7{zQwW)qh6IKAVvMQD{|h#o{a+zT`Mon-h>d93GDN4l zy?%pqdc@(NCMlXTAla`dB^8wvBY_ZART@aroWzJwLS8PK)gb<9ORD{&2MrE^MvJnu z;N^>tuo3+HET}n+hU9-CLWN9BATSUuS_Hwt(EA9ovk@it_5p8inT+;cRVZ=Ut5RFzK(?SraPjBPsp@L7t?(V_;y!Xq4!5`GhJ#F|l>* zxpV*1<@dX+Zr?F$XfzXvt*WmrudIOY`OwiuCoxPYATADy&cT;~AZdV#auC(P{zM3m zm`APY;Q70v4(NRrTK zWc~feMPfFO2TUd$K4LBq()C(dco|l8xxdMwttEx1c)j((%xUPeyMi_qud%i_$oKQdj+Pe>m&qHMu z+^B_yMyRWY>g(|1W#FHN^bFYf4SdBx8`dKxvjyWNTy8cd%ficZsAF21%H@P234cnto9%C>E-oFf zd7Cyn+P?R^H`i-pT3TnrW1-G$$>oyw%Y>X5kBn1(3vDRAAZ8tYV;K;>10)f0f+)IL z#AJ?NZz#;#;~d%T@G7ckT<*Dbv6Ee_d&;c%yC?p)n#(S!c!kr=T?;&v-s9?us}1+P zloLzi6S>h50{LQ-$GwAnK@Lu}NmFjti~#?=5$VCn@wj!YS9yQCXh0l0&wAz07WRsy ze5(@&Mw%|JI55<5mY*?6AC>Lj;5yit9)B;#e6<^@*{oG5ZCu=rO==k-qg@F*`Z#5h zu=LpxorUe%*xNf@VsGZiU)2t$zm2NNZ|U*lpFFMVm~`-8(DWHp7+UW+TeyYciw%QKwpl}4X+)! F{{mGSM4$iw literal 0 HcmV?d00001 diff --git a/img/markers/payload-green.png b/img/markers/payload-green.png new file mode 100644 index 0000000000000000000000000000000000000000..f524a736638e3d192c5a31d5fbe135697b5b104e GIT binary patch literal 1250 zcmbW1Sx^&p5XS!tNk||G280CUPReDW20>BC$Z0@nz<^Sb!%=AkMQphRjfy@*v;?rA zR;yJ^Q9uj`PACd;I9?PFR4`B(BUlAWOri-f`Y%r3`q*z~_cyaUyHDSI;y3}HW^Qke z5TZp#MF{8UHdh?7>0DQIv8E9+ITaU^5Q#CKoBTiVc)b4};)VY{w8lZmfr!Wu_<9{O zcq0J~wK^fAH~W+K<|x8Y~ZDb zGmeCnGz;vHh=7#tNaKY}5Jc0E4FO{5@PGp)wy4w=MOZ*M6?vE;iiv3t8!=1?2@FIv zF(2|F?qEXlJOl_i5n+irO0q;eb7G^b$$ADXq99X1o@U@jfiNl!FChu6va9olm5R&w zS}HE0Br}tK+}zkF>&1VR;$wV6I$h&W&vE9L$Ct{=dY;}K`S?OMd#y}!GGkJ-dTa~# z$=8l|meV>H5?Wjd4KB1g56AQVaEJvxZe+}bNl!>+z)^cxMT2H%sC9sPC)j2UiI!$_ z+Yl=Bv*E-7c*KDY7Z`PiHFQX~0<{+b`*Q0dS2t|PXv;6_J}Mi$Ix_jZ33t?YHF0r5 zHLf$@4~7qhil%DMWG)ohSj=z}aZVk+s>6DnK`-sDk3X;hcornF!wQ_%hP&k-d)1$` zYMn;@`1YeLGwYY z)J_ac4z`YV)Z9Ch*S0tIR5C}j7zI$klT4Jl5Oh9}UV9HmMdAGq4z0X-jb6U^pp0_slMw>`LfuxmAXNlD|XNCR8GBk)BA$_g-aOy z?(N5YMQ^rLsvI5cyicW0|JD^Ue^2H$LEp~YvGDG3IWd#R6$ZEN+Y#&=8dofRu;AR` zs}&jL&s;qfXL`4u^S`_%Vytxda5<{bV@hqjB}+sRA3J~JhH&w5<8^JTlB&j)p{s3uSSi6d?;8$2;&-&2KA{m+&a~aO3{i!TYirLo z-w9K_u}{ksZb&Rw+L}DPKQtKQ?$ekx9Z07{@xMzfh|NyJU1RrEch=TFZAdYryZmaw znanDq?cF|d<+#)K;r1iq!YT5oeB081p_YQQTYE@uf#_n8UZZ081@4;CQ{qN%XKWl4 zoR%dNydRmhV1AWyeUo3x?|YOJjf#T5lP;FE53CgL+pUtcxAV(ybal%_>Z38gMDolw zXSW8Yc4&9KGxRG8W>%CKwX=7hX74PLtdrbI`7)omzUfSw$jgm5wA8orbJ|2l3L-9r HZQTD4x|;ma literal 0 HcmV?d00001 diff --git a/img/markers/payload-orange.png b/img/markers/payload-orange.png new file mode 100644 index 0000000000000000000000000000000000000000..20e5b057f154b56a62caa8c1adf4577eb6fcbd22 GIT binary patch literal 1250 zcmbW1Sx^&Z5XW~h1R@5tRzWIOfg*M)6+A#7BS#=mnScSMAcuoh0Y$Wcpj-l4C!!?; zD{8%pfC@pmLYsglfLH|)4^$Aa83S5OC^10-;rNOivLhRV{?vXw?1&++9GL=5(Hio?;jmVR{4% zlq0$KxzAc8O(upEklz4}5DXCfoN(bh2yn$G7xZnI8x71g;N^%bEP-YOE&N&Y=@9Hr znL~r_lG*!$48y$<5tc53^(!&V3mEoLnPV90Ww6=?XBmLqQgF0IPX{E;bhaDy%*h0~ ztcNJ7$cxBu7VXFEuvSSWQQal7TwMoCBQi}4HO)G_u9Lp2Cv4xLBYOJWjNFO|%fZsS_%`q%V!-^xgClEtC z^i?DG)!1<(?i5upj`3L!(+$+T8Cp>1v`JDM8Aut#nTl|0%=l=ag} z(afY;JEngANF=zDk+qLuZGqo!L0&vnciVVWV)NmCfa*!|hgU^vxo}L`Ij)gU=`>dl z9R3%poboM_JK9m&ImnL8224uz9th3Xv5z8_RwIWLJMqFoyb;t3o0C)MLy%qSb zhZr`T*^g!EcryoUf557vcq0=pBqMhhriNj(AF^H0X(d=&02vl@n2X8lbmr^dJM|Z4 zk;GvK0jyB#gas9yoHDm`QIRz}Ny{CQPiaQ-%HM7N764!QF+GA)BRjf+3I_tssWN|Y zTA2LaL)-Wrdwc8Sdu!|B|H1gGG?&`MIM<&>Un^Vhn29z7Y~gFWw9AR@L5W=X=Kb9_ z#$PP+G;M$Iy!Fug@AxXqC5ykj7&&}R>i%hF+--L2{v?@K^PtEuj^V&@6K3yov-b#0 zD|_$J36-fndRcT!ff6jk8?aXBqz7lJmpPL7XMuI$z>ip+&%TE&w}}So)y>~7@Fg| zbvssv$kpn?;zDcd!5cOFw4Dy2?Y3{j3J2vLn-;Ayk8n#I6C8WSYOKF}UX#Tisedrn zUF9`6T2fro=Bavb5f#VT7LqStWbpKHcbC8Is>=9bXH%LlYj;RWKtdFe${wrQwp6?n zL>QSa`^CgY5uZmtvbV49+|s>0;#1sIrE$M#kJGyD+LWmKnN%xhD0dy#sOCF5A6Aaj z0{b7tZtr4Wt`1Ha>zgn!`#R!Iv|~g=ru=PXZ^~a`<$2;xA8vMriYFGc@|&d1)miG( z{+GNNMmrLOZjp_nhd=5%dQ(O=rcaGdw7*Q)e~7o0cR%8*gJz+(u0&<6v@+~=vX}hx OZT!61%$uIubN&Vg5ijQe literal 0 HcmV?d00001 diff --git a/img/markers/payload-purple.png b/img/markers/payload-purple.png new file mode 100644 index 0000000000000000000000000000000000000000..80e1e1ad8c6fdc76e03261974c224c10762c5b6a GIT binary patch literal 1250 zcmbW1YfO`O6vqDtD7M@ja|$|jY8iCPWWt7^(un1*qge&|B^{-gpkfIUSE35aOkrzEgQoK!SC3{y=oGf2y3p?fsNVp3 z0TR3b5`RDiK@hg3XoyClQ7zI~Ad654U5ploL-=Fp7JwiRgkecO_OG(YsNqt%vy69T%Fa<>PVfc zOEugy+*#5o&ybgfmkM2kUdW3DtV&vi-fD&iJTLHSgoc+ewiougBli##l86$E;anwD z+<@8!sJ{ty*P-eMxFmv8S&+30b`d~$BX1^R;%3ZU%Eba|5guJVpRi@=Tp|h~H;t*O zpr(sk=_^o_Fo|@%=rw89PUTns75N21@GLZ73ok4FQBPFSiwI}yk+9~RSn{_{*OcA+ z2jwY)4UH*pVOX29u^}ya(>dLr6YY1L6dS^~7wUWTtFi0h7II>A{N5=2!&MxIhaJ7` z+2daos#h#u`f+LeEBQPlIpEFJIIO3#a5A3;opoW4iLI^$$4e z@ns3g+%KcWx}ihqx@` zWzGy4ZJj=iyR*wP?$$B#W$j?*o7n37=B^;oiKA*sb91oxZmUuz)SM0bF_67rcWRSw z{B7NlzfF$@Gp9BS%sS)4zSM)+k{y!!ai1J^imAJjApB?zt>4?dEVLWLcK8|Kli?%KxA^qJP;~v6$ua z4MdZOGyv=GUry9TWG4dAc%o6SS3vZ9{(K&hm&i$EA&LVSA}dibQ6rIu=qQH;mII|k zTB2N{Wq=WI5sA56etvGEnE+P@CoGj{4v{}mB5>QsX9;kcg9`*kA{9{}(G1{AF2dvK z`22OiBVXUG0)YXTOf(mW;s||wY6XI|JRU0)vNjtlk!XcN^R{iyt}gb{B{m~t-Iy`o zr>5Smt!3}rVU0$QTI~)9*clMe0ki|dz#(7@Pywvs5{X1LTqQsXPz78D`hZ?w2XI)e zt~VM7fNPuBxj`3YPtME zLV_(j`fr-!|G@n%g8E0?ooGwbn;csv)&%GO0k?*d-=`LQV}Y;`ruFdl}v zWwGo_PHvS-i#c_%v8=)HzOixC$Xtn5sQapve$`;gL?hz z@^Y8e`qpkAb~?Ro_kCc*?H+PE2kiDh?HCdo0^g)PW;rBo5syqaBh+| znJCKR(k4Y%b89S2nW52MzOeYY+v|K~(l;&R1`6F8)nZ+KM*9Qjk-oSf;b2d`+Vo>r zZ^F#}Zd;DScKvI|2Uk$os!!6NtJFm{gfj0c*00X{sgBvdd2M@cGrPTO?%Rcm&khBz zJSVk3KG43u?awe<*8Y9p77W$RI9T&o9TI%&@_5C#?;^&OxC2QACHM_^NVtg_6?P&yjXauxA(MiP_%tjRu&@&R3Wc-#nh6+ zQ{~h0cADCB%H{Ez)? z`6MDf{rZ85*|X`G;FN>(XvyIwJ@7 zh7DoUtm}_>&7C=psYa8Rrbl0HI*LuiM?ZA969^op>lVC&>S=}VR}p7 z51u(eyBnUq?#~&%%7iZ3>lXf000SmNkloS=vlT2ox+vnVq#At95o^yU@GT*%4z3+YB z_rCX@C_)H~NKq7wQ9hYPD#%=tOk$*goFse5K73sYxsp^2zn@DK;w6X3N8~7JB^Wce z{4&b0GRYrElhLjTXP!yqFG&_NuSpZdYf?q_e7mrx8w3D9*+nu4$PDrhi6py?B5#pH zl=2-SaxZcSN48NIteOCDiabr6W9L>eUYBSFb;GQ+Y3`NV3$fzo1z7e#E-u-WjYaol zi*%~961yX#!q&B;YU191DyhUh7p-%HaXbg7uuymI!+$M}!P});t?39?XNkD~vbpuE(jpy`WIL+k@Tw z&Xuz`^WZ8pOZzyZXiU;D#FQR=wTr2Zo&oR@0ZFudN7$AkhkLHQn_RJM` z{JTtS{;XVFyfI4v7{{gmpC>lgl#AQ-uYIe-JdX+ibNZ5WYW`D&Qz=UQ=)v@{H$yEA~=w>{YVSfe=k zes2qaO7b?r#1R?K%S0G-swmBOim6V!T)7ddxYb!GUdUb~Udve~s?z6)dFB-Pn+2Mf zmgW#Sxzd)vPi{^$w+@N5m8@Rp$isEk983=-;RB@|ztWE5r|ENWb&^}o5{JN2+Z3!x z%EtZehxq__)HD~}!62$#-FUXY-qaBdtOu}{bYQ#^re-;L^e)%*q#c1T)>VV89Y^4cMdUj!&8P>*#dv*djiiv&vtd6T=s1k0 zy1zhy-iE*CEWrY^3noQFdo+Nmu39>D79-k`aUpJGJ?Rt$0TIJnzGgh!`8gWHgRCDn zhE+1z8nKdX#Pv#F1AgJDgIj08^X^5s%$9*TfPr`vS$YeqGRiQYj!~#gDZ+YZ0fs~r z-dG4x5y$uW{g)XF@cv*se%y8lR#mQhBe`WVj#N1`{jI;tT8IrCh{7GNX(%-&qca*r zM8sv0_Od{eH3OD01(f`qlOs$h`Ps#&EoXW!=K?bHX1wfPjGL45T>y5H#fcnQNH*TZ z9N$TbP02{%WaZ{m_!))qg$|hIDuEaTC@ABfJG0t-im3)Bs@H2Hs+X}W&m3f zIkGy>VAWmAd=9d}LLw%^X(3SvjFkpOK06WW2ZiIqpXwM_6e0-6kVV|Zh-T=_xQ63X z<%t|AbnC2eYDVcqC?1C=8j^)+Q?;+T;?fyW6X?O7!8TCX&0SOz>_Hlz(-~>YPucz( zS@bQDAvvZHKsKX8*%R%W0l$dKTx*IVR}kdOFZP~BnJEQRbS7CN92|AQK5S|KFZvld z+RBEuiCg*U%yP`7t*QVTR2&@g;7vN|jfF`FGgTEm(J-h$B1aCK2>B{cg$9t$5PmY$ z1&RYTV~{nn){z5;YLHIs>Tf`dh2c-rj3gE^ubDy)tuNxWQp$le<>cUmx$@KYRs=+ooFt?+0 zqH)GrQOC)@7^Z^`RTr!hxq4|U?5bWonK575vdxP}WSa-UdqkO_#Y>|zoEYnp^H5|+ z!fk9;zt6f@9%>Z6%f4VzRk@`Vj7ru^w!wl@lLHifHf0We=q!>&>SbLlVp@_^J*YiI zOw`c&$h$^GlSRvu6+FVhy9ORhF9XvBAD;mVz9~gf!#} zRX^Elz$a}iv=(AkHQClVpgi!F+cNRaK#O#c9eB(@3Q{#A3(_OE>kpiTqaBuF1T}og zUc&=00HATQj_mivBOR~xpOstFETbdjWW4;~D0j_vPb~&wQKWLm&;jYxk)Rikbk-n= zfAh*PnmPy5!FvmLPy-m7LjX=p_VjHgJ9hOoJi%H)CG%`kb#j8?9OJp3lh`-dA&+~f zWk$cHj{Jo*?1#xuNY~ZlBr472e5v#^2eL-W_Pg zi+!gtq9LyMb9UFyNE_=YU2m4nt~S_5N9(cQ--(^xdaQ5$7=P+J?FVo#`6tey1pk&8 z?QZniQ55Kv-K9Nv}cXBc7|U@BHL(@Th+k7DbR^e0X$CL!~{|?Ikl6YkmY12 zYe8NOj|9As#jMJ$j@|uDsBAfi)8T<80C$lUiJVB(;wMWbY2qO$TRQuN_>T1g!AJ-I zACvO)ojY-jB&LX5O=c4d=_UusZsMD)BP04Bj}gn86xrXd00000NkvXXu0mjfiei?t literal 0 HcmV?d00001 diff --git a/img/markers/payload-yellow.png b/img/markers/payload-yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..e9b7bb5dcb887d656926c0904a5e2b3ac89bbe65 GIT binary patch literal 1250 zcmbVMdrZ@J5dR)fY~|sYQ_!hX%YZGD2^)giM&yl>0;S4e1&mGyDB=VJ1g!!~>~OY# zf{!sAFA<7Zpxug2vB)Bd0~H1cOyWORvDTzqhAy#Jsp*nA(0r>)FP5Jlh}GjgYxoWR*y~z5s7Vo??Hn@NN<4L zTtvJ85`PdBL|Gde4Lv82MvE*gP-rMDS%SjDq4yD$26_1?AOQLMgR3iIFp#pt(!l}o zcviNyXkc*R!GknD9{|v*RcONoh>b(bIx zf*8X1I*H@?e8!nGv7Mcb7~jP>-)IWfXzkO|>_wtrsWg9Jpksc1#AuXiwS^O^q-SH> z`~UFhy1(+)ZM)_cs|JbHl{&lXnw7%uK-oc&(9Rq*NC6^+{E#5saJK+Z#yi zfpICurnxy&Q&SP2@0OhnZ>DWX9F1`u#(I-UuT<6+6hyJva7t)R;w>1<=jRn9snP2- z{rw7w4+OPkeO@p$0n1ud;G{u1`>19x{65`q#F(YaD80UEDC za|<+Ghq|k9=?7{g$jXA#K6*cs5 zYgxI9GA1WoFMLgywbO<5e?@+Q5IhYH*viX_f7lmQ@*={?dMvChCzklF+a+bsfnj;d za7$~-TQIE4+0>Gjy!o8&&&kePj*5-pJBsyv`Zd_)$ZcZs`NZAl^bc42*+1y&@64X~ zs#v{p#j=mfh#Y=NusA~ z+=egTO|1I-dSt*@{?KU=Dl%Y3b<`p!0YiAc=FT1NXBW&{8jg6=DwGH>)6Mu>*zYC2rrmwhh_23#8G6MpIH*!eowL zZ7$B)>k;$7cCLj_rk16`lw>Rx7T1xX2QMW)@yxG{bqw!?cnKibke|x80|{h)yJuj@-k;f zj5dy+#@*WO8F%A2@v?C^^G$4hVOvj-@Z>SIxUDT%bf;Y@6==?e{TRqzuqRcxga&c~uKDfC`v?0Q BM1TMQ literal 0 HcmV?d00001 diff --git a/img/markers/shadow.png b/img/markers/shadow.png new file mode 100644 index 0000000000000000000000000000000000000000..b9aaf2b16b1bfee7508af7f6d4ae75e2eaae2777 GIT binary patch literal 1093 zcmeAS@N?(olHy`uVBq!ia0vp^20*O9!3-pmxw!Qh7#Q;cd_r7-+)+Tc5b$MAuLoLI zRTAVE%)oetiH+qnmlW$MPA}#|d_tmPVaIlI3oO?=d7?p3X1`Xq_C_`NUAB8If?Ah$ zDCs(7Pf{(}w&?I?tF)}7bV&)HC=K%oJqGg|7aJ{;a|jMsp1Wk#v^iVZw^5W zMTTpUPy4gx=6^l16F>5^J$K%s!zD0P@m~~AMDwmUe%0>nN;mh`e%rAB|Af2uPrJ3b z?akc2=CJ7!f%%t>n@VJCI#X}{IB+cWe5vyE?3nK{c|1pM=Dbm<(Bb4U`uAkJgLv$W zo(*1`KmIYA=aKu%&8=qk$|FBc7cXA9Vd6=qw@uUTn+Dh@@7ilxwl1z@S=;pRW2b~q zu3Y)Vr7|bA(&DMkwdXfxUDq`_@j`~b#5X-H?X`L5pF@u>J-(ck8Oz%4sBqK82TZrm+=HYL}7 zuj|COr&$BEt~^SAE`GA%*~%5+eC=DC4;L;Cvx!ouEUXh-FRH@9u_*Mxv~BlI-^=%8 zO$qm1{gwTZ^`fs^qkO0KhxNAqel~aRzNII&DYV4hzgPS8ReRQ=3+K0(2LD|#t@eHX zdc}pxFJ8_FIwLKWzwPjT4Yl=>KNkskzy87WZ_)?z-r6-g#M^I6-8kER_udSCj^CY+ o_!<8gHrt>0;QsXg{CoC{YH71huA6!=50n)=UHx3vIVCg!07WEGDF6Tf literal 0 HcmV?d00001 diff --git a/img/markers/target-blue.png b/img/markers/target-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..fae5796bc5ea2152356798c0fa624f22e097e99b GIT binary patch literal 2401 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 R3pxM*002ovPDHLkV1ldXlZ5~P literal 0 HcmV?d00001 diff --git a/img/markers/target-orange.png b/img/markers/target-orange.png new file mode 100644 index 0000000000000000000000000000000000000000..4b353b6c3cc77a94c5a81c00c09d50a3b0e4e964 GIT binary patch literal 2294 zcmVeY?!B z{_3)2mme1jh5Z8q1Fvz4aybR9UcGwJefQnBdc&<(wmo>;x$f%A+nLhQ4(^!LIjkHR zwY*GHyWlnOxpN!%`PUuZd8nNG_O;&BY15|lH#avgIAg&1^XI#F-+lKD8@{n@%7&Zf zy65*y2B!{O7qk{AWG)s^5)IlwYEa6~y*j?XGUkIvKK8zKbvz@5T;ZfTEx?s4SI%C$ zc5VMH*I!WAJG%p%Txtj0)QO}dPy%U<0%DsW+RoATwN}-|nl)=KSg~ToyxXsz>U2+UCM%mH<6vPOjs{rG^g=9Vm3GVe=^$2)lSpp`%f6sZML;G|>%hNPro3!B6OWX43G zl`*l#LZ+TP9)7XDVjvg%@0!e!iL0)CrM zp9J|v00<62Wgi^f1xL20-Ud37BokDWI)O-vp)~ZgLI1+g`}G$0I^YFFb|19sZqbI@ zmQ6XYyInq!3BN&vo@ z`w+zN)92yE?d(pu{(ek?y}iBd=XEuLj-)H4oJgq<(1soue~yJb73CUW${J|A2=+Y+ zdmkdkmNt@QYvxjJ)?Q%%=>!ZQEf4l7m>iJ$d);b4Xhn=9xR=Y=Qz%#0tlU*ovnRcqb-CEK!tX$i~~C#*9}bwZmDhG~9&47u0y9w7& zIJkxA;L9YwkCO`kNndsV$Bj^0F|==Un(~viQ*8M>p@J|%n#5YC#sR>|DWxokm3*qr zC=D`+T2hC%qr)<|0Xm5U&PS)C*5s=kfW=}_qlQ71t>cmfjC`PIj!d-y+m_=t z&PDqHahOmE$l#>BegS%V97c70jamv0{t2aP!zBp-+8rJqjtK@KlH^n=n}?}~wnAK} z0`w-#W$ZaWAm2KN@-S3N;D^RGwbD`O>4b58k5e~!Ni{$?Nads79yhs4U_&;5LtEdj zfG$E*mX0>%En3J=-+)gxQA@ezC5%1)XH4o_M@vT=qw2uR!L+IM^j@-z@fSZ!-PvCR zH(v!%diP;AZBraiJNE)`#A$DDZ&`jx^OaBB>H-R!1XOl3N5%FObM8-I%uGHD#Y1oL z$sZT8X{*oibpLN)?*abcrnmgTSN|2*GHX-bk{wmq&XXb>`ZMf#L>^~nCLLE8dh2^9 zg!2OfN2Ikr>;j}^-v7W0t}U^^p$b`7r(^Q|!|=|%0(tsyN4DL>bHDowC(?7T0WfgP zon-3Nsr~? z*z9v=E0JzJxt`h#n|Dx7nO>*~=%ku3VZx2i+;P-1H-0%`WOoPqT8`=2`=J4jv%isN zt8BuYlJ@L}2cJd(&*)UufFkolj=AA)+E{X1$3v`B$1d;Zx z@JkY4d&;v9pf;c=pU=<9<#N4GeA9PlbqH7nB{0=s*^z0)$tA#!l;s_O69bA;!0Bnl z7u>io_P)9_gUDd3j_D(YlQpM+HzYYu5m4x@uDf=D9`ofZAm<6Bz@9E#7};*!vV$`4 zq85k|09Jus1az7kzqwTBbEgOA2X+(QvJ(aDmET`PX8Gy#HGQyPeXBft*eumr-00RNx$UrJ*0S)|pH Qj{pDw07*qoM6N<$f_{5f7XSbN literal 0 HcmV?d00001 diff --git a/img/markers/target-purple.png b/img/markers/target-purple.png new file mode 100644 index 0000000000000000000000000000000000000000..451015880c28ca3f422e6040fa107c80cf655ffe GIT binary patch literal 2213 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 RfUW=l002ovPDHLkV1gEl7P$Zb literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 66fad9f..ecd0837 100644 --- a/index.html +++ b/index.html @@ -2,14 +2,156 @@ - habitat api test - - - - - - + habitat mobile tracker v2.0 + + + + + + + + + + + + + + + +

+ +
+
+ + + mobile
tracker
+
+
+ +
+ +
+
+
+
+
No vehicles :(
+
+
+
No vehicles :(
+
+
+
+ + + + + + + + + + + + + diff --git a/js/app.js b/js/app.js new file mode 100644 index 0000000..2f67882 --- /dev/null +++ b/js/app.js @@ -0,0 +1,42 @@ +function checkSize() { + // we are in landscape mode + w = $(window).width(); + w = (w < 320) ? 320 : w; // absolute minimum 320px + h = $(window).height(); + h = (h < 300) ? 300 : h; // absolute minimum 320px minus 20px for the iphone bar + hh = $('header').height(); + sw = $('#main').width(); + + $('.container').width(w-20); + + if($('.landscape:visible').length) { + $('#main').height(h-hh-5); + if($('#telemetry_graph .graph_label').hasClass('active')) { + $('#map').height(h-hh-5-200); + } else { + $('#map').height(h-hh-5); + } + $('body,#loading').height(h); + $('#map,#telemetry_graph,#telemetry_graph .holder').width(w-sw-1); + } else { // portrait mode + if(h < 420) h = 420; + $('body,#loading').height(h); + $('#map').height(h-hh-5-180); + $('#map').width(w); + $('#main').height(180); // 180px is just enough to hold one expanded vehicle + } + + // this should hide the address bar on some mobile phones + window.scrollTo(0,1); +} + +window.onresize = checkSize; +window.onchangeorientation = checkSize; + +$(window).ready(function() { + // resize elements if needed + checkSize(); + + // add inline scroll to vehicle list + listScroll = new iScroll('main', { hScrollbar: false, hScroll: false, snap: false, scrollbarClass: 'scrollStyle' }); +}); diff --git a/js/lib/iscroll.js b/js/lib/iscroll.js new file mode 100644 index 0000000..aa9c1eb --- /dev/null +++ b/js/lib/iscroll.js @@ -0,0 +1 @@ +(function(i,E){var u=Math,n=E.createElement("div").style,z=(function(){var H="t,webkitT,MozT,msT,OT".split(","),G,F=0,m=H.length;for(;FG[m+"ScrollbarMaxScroll"]){if(!G.options.fixedScrollbar){F=G[m+"ScrollbarIndicatorSize"]-u.round((I-G[m+"ScrollbarMaxScroll"])*3);if(F<8){F=8}G[m+"ScrollbarIndicator"].style[m=="h"?"width":"height"]=F+"px";I=G[m+"ScrollbarMaxScroll"]+(G[m+"ScrollbarIndicatorSize"]-F)}else{I=G[m+"ScrollbarMaxScroll"]}}}G[m+"ScrollbarWrapper"].style[e]="0";G[m+"ScrollbarWrapper"].style.opacity=H&&G.options.hideScrollbar?"0":"1";G[m+"ScrollbarIndicator"].style[l]="translate("+(m=="h"?I+"px,0)":"0,"+I+"px)")+C},_start:function(K){var J=this,F=y?K.touches[0]:K,G,m,L,I,H;if(!J.enabled){return}if(J.options.onBeforeScrollStart){J.options.onBeforeScrollStart.call(J,K)}if(J.options.useTransition||J.options.zoom){J._transitionTime(0)}J.moved=false;J.animating=false;J.zoomed=false;J.distX=0;J.distY=0;J.absDistX=0;J.absDistY=0;J.dirX=0;J.dirY=0;if(J.options.zoom&&y&&K.touches.length>1){I=u.abs(K.touches[0].pageX-K.touches[1].pageX);H=u.abs(K.touches[0].pageY-K.touches[1].pageY);J.touchesDistStart=u.sqrt(I*I+H*H);J.originX=u.abs(K.touches[0].pageX+K.touches[1].pageX-J.wrapperOffsetLeft*2)/2-J.x;J.originY=u.abs(K.touches[0].pageY+K.touches[1].pageY-J.wrapperOffsetTop*2)/2-J.y;if(J.options.onZoomStart){J.options.onZoomStart.call(J,K)}}if(J.options.momentum){if(J.options.useTransform){G=getComputedStyle(J.scroller,null)[l].replace(/[^0-9\-.,]/g,"").split(",");m=+(G[12]||G[4]);L=+(G[13]||G[5])}else{m=+getComputedStyle(J.scroller,null).left.replace(/[^0-9-]/g,"");L=+getComputedStyle(J.scroller,null).top.replace(/[^0-9-]/g,"")}if(m!=J.x||L!=J.y){if(J.options.useTransition){J._unbind(a)}else{p(J.aniTime)}J.steps=[];J._pos(m,L);if(J.options.onScrollEnd){J.options.onScrollEnd.call(J)}}}J.absStartX=J.x;J.absStartY=J.y;J.startX=J.x;J.startY=J.y;J.pointX=F.pageX;J.pointY=F.pageY;J.startTime=K.timeStamp||Date.now();if(J.options.onScrollStart){J.options.onScrollStart.call(J,K)}J._bind(t,i);J._bind(c,i);J._bind(w,i)},_move:function(M){var K=this,N=y?M.touches[0]:M,I=N.pageX-K.pointX,G=N.pageY-K.pointY,m=K.x+I,O=K.y+G,J,H,F,L=M.timeStamp||Date.now();if(K.options.onBeforeScrollMove){K.options.onBeforeScrollMove.call(K,M)}if(K.options.zoom&&y&&M.touches.length>1){J=u.abs(M.touches[0].pageX-M.touches[1].pageX);H=u.abs(M.touches[0].pageY-M.touches[1].pageY);K.touchesDist=u.sqrt(J*J+H*H);K.zoomed=true;F=1/K.touchesDistStart*K.touchesDist*this.scale;if(FK.options.zoomMax){F=2*K.options.zoomMax*Math.pow(0.5,K.options.zoomMax/F)}}K.lastScale=F/this.scale;m=this.originX-this.originX*K.lastScale+this.x,O=this.originY-this.originY*K.lastScale+this.y;this.scroller.style[l]="translate("+m+"px,"+O+"px) scale("+F+")"+C;if(K.options.onZoom){K.options.onZoom.call(K,M)}return}K.pointX=N.pageX;K.pointY=N.pageY;if(m>0||m=0||K.maxScrollX>=0?0:K.maxScrollX}if(O>K.minScrollY||O=K.minScrollY||K.maxScrollY>=0?K.minScrollY:K.maxScrollY}K.distX+=I;K.distY+=G;K.absDistX=u.abs(K.distX);K.absDistY=u.abs(K.distY);if(K.absDistX<6&&K.absDistY<6){return}if(K.options.lockDirection){if(K.absDistX>K.absDistY+5){O=K.y;G=0}else{if(K.absDistY>K.absDistX+5){m=K.x;I=0}}}K.moved=true;K._pos(m,O);K.dirX=I>0?-1:I<0?1:0;K.dirY=G>0?-1:G<0?1:0;if(L-K.startTime>300){K.startTime=L;K.startX=K.x;K.startY=K.y}if(K.options.onScrollMove){K.options.onScrollMove.call(K,M)}},_end:function(M){if(y&&M.touches.length!==0){return}var K=this,S=y?M.changedTouches[0]:M,N,R,G={dist:0,time:0},m={dist:0,time:0},J=(M.timeStamp||Date.now())-K.startTime,O=K.x,L=K.y,Q,P,F,I,H;K._unbind(t,i);K._unbind(c,i);K._unbind(w,i);if(K.options.onBeforeScrollEnd){K.options.onBeforeScrollEnd.call(K,M)}if(K.zoomed){H=K.scale*K.lastScale;H=Math.max(K.options.zoomMin,H);H=Math.min(K.options.zoomMax,H);K.lastScale=H/K.scale;K.scale=H;K.x=K.originX-K.originX*K.lastScale+K.x;K.y=K.originY-K.originY*K.lastScale+K.y;K.scroller.style[k]="200ms";K.scroller.style[l]="translate("+K.x+"px,"+K.y+"px) scale("+K.scale+")"+C;K.zoomed=false;K.refresh();if(K.options.onZoomEnd){K.options.onZoomEnd.call(K,M)}return}if(!K.moved){if(y){if(K.doubleTapTimer&&K.options.zoom){clearTimeout(K.doubleTapTimer);K.doubleTapTimer=null;if(K.options.onZoomStart){K.options.onZoomStart.call(K,M)}K.zoom(K.pointX,K.pointY,K.scale==1?K.options.doubleTapZoom:1);if(K.options.onZoomEnd){setTimeout(function(){K.options.onZoomEnd.call(K,M)},200)}}else{if(this.options.handleClick){K.doubleTapTimer=setTimeout(function(){K.doubleTapTimer=null;N=S.target;while(N.nodeType!=1){N=N.parentNode}if(N.tagName!="SELECT"&&N.tagName!="INPUT"&&N.tagName!="TEXTAREA"){R=E.createEvent("MouseEvents");R.initMouseEvent("click",true,true,M.view,1,S.screenX,S.screenY,S.clientX,S.clientY,M.ctrlKey,M.altKey,M.shiftKey,M.metaKey,0,null);R._fake=true;N.dispatchEvent(R)}},K.options.zoom?250:0)}}}K._resetPos(400);if(K.options.onTouchEnd){K.options.onTouchEnd.call(K,M)}return}if(J<300&&K.options.momentum){G=O?K._momentum(O-K.startX,J,-K.x,K.scrollerW-K.wrapperW+K.x,K.options.bounce?K.wrapperW:0):G;m=L?K._momentum(L-K.startY,J,-K.y,(K.maxScrollY<0?K.scrollerH-K.wrapperH+K.y-K.minScrollY:0),K.options.bounce?K.wrapperH:0):m;O=K.x+G.dist;L=K.y+m.dist;if((K.x>0&&O>0)||(K.xK.minScrollY&&L>K.minScrollY)||(K.y=0?0:m.x=m.minScrollY||m.maxScrollY>0?m.minScrollY:m.yH.options.zoomMax){K=H.options.zoomMax}if(K!=H.scale){if(!H.wheelZoomCount&&H.options.onZoomStart){H.options.onZoomStart.call(H,J)}H.wheelZoomCount++;H.zoom(J.pageX,J.pageY,K,400);setTimeout(function(){H.wheelZoomCount--;if(!H.wheelZoomCount&&H.options.onZoomEnd){H.options.onZoomEnd.call(H,J)}},400)}return}F=H.x+I;m=H.y+G;if(F>0){F=0}else{if(FH.minScrollY){m=H.minScrollY}else{if(m=I+J.time){K._pos(J.x,J.y);K.animating=false;if(K.options.onAnimationEnd){K.options.onAnimationEnd.call(K)}K._startAni();return}L=(L-I)/J.time-1;H=u.sqrt(1-L*L);N=(J.x-F)*H+F;M=(J.y-m)*H+m;K._pos(N,M);if(K.animating){K.aniTime=q(G)}};G()},_transitionTime:function(m){m+="ms";this.scroller.style[k]=m;if(this.hScrollbar){this.hScrollbarIndicator.style[k]=m}if(this.vScrollbar){this.vScrollbarIndicator.style[k]=m}},_momentum:function(L,F,J,m,N){var K=0.0006,G=u.abs(L)/F,H=(G*G)/(2*K),M=0,I=0;if(L>0&&H>J){I=N/(6/(H/G*K));J=J+I;G=G*J/H;H=J}else{if(L<0&&H>m){I=N/(6/(H/G*K));m=m+I;G=G*m/H;H=m}}H=H*(L<0?-1:1);M=G/K;return{dist:H,time:u.round(M)}},_offset:function(m){var G=-m.offsetLeft,F=-m.offsetTop;while(m=m.offsetParent){G-=m.offsetLeft;F-=m.offsetTop}if(m!=this.wrapper){G*=this.scale;F*=this.scale}return{left:G,top:F}},_snap:function(M,L){var J=this,I,H,K,G,F,m;K=J.pagesX.length-1;for(I=0,H=J.pagesX.length;I=J.pagesX[I]){K=I;break}}if(K==J.currPageX&&K>0&&J.dirX<0){K--}M=J.pagesX[K];F=u.abs(M-J.pagesX[J.currPageX]);F=F?u.abs(J.x-M)/F*500:0;J.currPageX=K;K=J.pagesY.length-1;for(I=0;I=J.pagesY[I]){K=I;break}}if(K==J.currPageY&&K>0&&J.dirY<0){K--}L=J.pagesY[K];m=u.abs(L-J.pagesY[J.currPageY]);m=m?u.abs(J.y-L)/m*500:0;J.currPageY=K;G=u.round(u.max(F,m))||200;return{x:M,y:L,time:G}},_bind:function(G,F,m){(F||this.scroller).addEventListener(G,this,!!m)},_unbind:function(G,F,m){(F||this.scroller).removeEventListener(G,this,!!m)},destroy:function(){var m=this;m.scroller.style[l]="";m.hScrollbar=false;m.vScrollbar=false;m._scrollbar("h");m._scrollbar("v");m._unbind(g,i);m._unbind(b);m._unbind(t,i);m._unbind(c,i);m._unbind(w,i);if(!m.options.hasTouch){m._unbind("DOMMouseScroll");m._unbind("mousewheel")}if(m.options.useTransition){m._unbind(a)}if(m.options.checkDOMChanges){clearInterval(m.checkDOMTime)}if(m.options.onDestroy){m.options.onDestroy.call(m)}},refresh:function(){var H=this,J,G,m,F,K=0,I=0;if(H.scaleH.wrapperH);H.hScrollbar=H.hScroll&&H.options.hScrollbar;H.vScrollbar=H.vScroll&&H.options.vScrollbar&&H.scrollerH>H.wrapperH;J=H._offset(H.wrapper);H.wrapperOffsetLeft=-J.left;H.wrapperOffsetTop=-J.top;if(typeof H.options.snap=="string"){H.pagesX=[];H.pagesY=[];F=H.scroller.querySelectorAll(H.options.snap);for(G=0,m=F.length;G=H.maxScrollX){H.pagesX[I]=K;K=K-H.wrapperW;I++}if(H.maxScrollX%H.wrapperW){H.pagesX[H.pagesX.length]=H.maxScrollX-H.pagesX[H.pagesX.length-1]+H.pagesX[H.pagesX.length-1]}K=0;I=0;H.pagesY=[];while(K>=H.maxScrollY){H.pagesY[I]=K;K=K-H.wrapperH;I++}if(H.maxScrollY%H.wrapperH){H.pagesY[H.pagesY.length]=H.maxScrollY-H.pagesY[H.pagesY.length-1]+H.pagesY[H.pagesY.length-1]}}}H._scrollbar("h");H._scrollbar("v");if(!H.zoomed){H.scroller.style[k]="0";H._resetPos(400)}},scrollTo:function(m,L,K,J){var I=this,H=m,G,F;I.stop();if(!H.length){H=[{x:m,y:L,time:K,relative:J}]}for(G=0,F=H.length;G0?0:H.leftF.minScrollY?F.minScrollY:H.topH.pagesX.length-1?H.pagesX.length-1:G;F=F<0?0:F>H.pagesY.length-1?H.pagesY.length-1:F;H.currPageX=G;H.currPageY=F;m=H.pagesX[G];J=H.pagesY[F]}else{m=-H.wrapperW*G;J=-H.wrapperH*F;if(m0?0:F.xF.minScrollY?F.minScrollY:F.y" + caption + ":
" + value + postfix + "
" + } else { + var a = value.split(";"); + var result = ""; + for(var i = 0,ii = a.length; i < ii; i++) { + var b = a[i].split("="); + result += "" + b[0] + ": " + b[1] + "
" + } + return result; + } + } else { + return ""; + } +} + +function title_case(s) { + return s.replace(/\w\S*/g, function(txt) { + return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); + }); +} + +function guess_name(key) { + return title_case(key.replace(/_/g, " ")); +} + +function habitat_data(jsondata) { + var keys = { + "ascentrate": "Ascent Rate", + "battery_percent": "Battery", + "temperature_external": "Temperature, External", + "pressure_internal": "Pressure, Internal", + "voltage_solar_1": "Voltage, Solar 1", + "voltage_solar_2": "Voltage, Solar 2", + "light_red": "Light (Red)", + "light_green": "Light (Green)", + "light_blue": "Light (Blue)", + "gas_a": "Gas (A)", + "gas_b": "Gas (B)", + "gas_co2": "Gas (CO)", + "gas_combustible": "Gas (Combustible)", + "radiation": "Radiation (CPM)", + "temperature_radio": "Temperature, Radio", + "uplink_rssi": "Uplink RSSI", + "light_intensity": "Light Intensity", + "light_intensity": "Light Intensity" + } + + var hide_keys = { + "spam": true, + "battery_millivolts": true, + "temperature_internal_x10": true, + "uplink_rssi_raw": true + } + + var suffixes = { + "battery": "V", + "temperature": "°C", + "temperature_external": "°C", + "temperature_radio": "°C", + "pressure": "Pa", + "voltage_solar_1": "V", + "voltage_solar_2": "V", + "battery_percent": "%", + "uplink_rssi": "dBm", + "rssi_last_message": "dBm", + "rssi_floor": "dBm", + "iss_azimuth": "°", + "iss_elevation": "°", + "light_intensity": "lx", + "spam": "" + } + + try + { + if (jsondata === undefined || jsondata === "") + return ""; + + var data = $.parseJSON(jsondata); + var array = []; + var output = ""; + + for(var key in data) { + array.push([key, data[key]]); + } + + array.sort(function(a, b) { + return a[0].localeCompare(b[0]); + }); + + for(var i = 0, ii = array.length; i < ii; i++) { + var k = array[i][0]; // key + var v = array[i][1]; // value + if (hide_keys[k] === true) + continue; + + var name = "", suffix = ""; + if (keys[k] !== undefined) + name = keys[k]; + else + name = guess_name(k); + + if (suffixes[k] !== undefined) + suffix = " " + suffixes[k]; + + output += "
" + v + suffix + "
" + name + "
"; + } + return output; + } + catch (error) + { + //if (jsondata && jsondata != '') + // return "Data: " + jsondata + "
"; + //else + return ""; + } +} + +function updateAltitude(index) { + var pixel_altitude = 0; + var zoom = map.getZoom(); + var position = vehicles[index].curr_position; + + if(vehicles[index].marker.mode == 'landed') return; + + if(zoom > 18) zoom = 18; + if(position.gps_alt > 0) { + pixel_altitude = Math.round(position.gps_alt/(1000/3)*(zoom/18.0)); + } + if(position.vehicle.toLowerCase().indexOf("iss") != -1) { + pixel_altitude = Math.round(40000/(1000/3)*(zoom/18.0)); + } else if(position.gps_alt > 55000) { + position.gps_alt = 55000; + } + vehicles[index].marker.setAltitude(pixel_altitude); +} + +function updateZoom() { + for(var index = 0, ii = vehicles.length; index < ii; index++) { + if(vehicles[index].vehicle_type == "balloon") { + updateAltitude(index); + } + } +} + + +function stopFollow() { + if(follow_vehicle != -1) { + vehicles[follow_vehicle].follow = false; + follow_vehicle = -1; + } +} + +function followVehicle(index) { + if(follow_vehicle != -1) vehicles[follow_vehicle].follow = false; + + if(follow_vehicle == index) { + vehicles[follow_vehicle].follow = false; + follow_vehicle = -1; + } else if(follow_vehicle != index) { + follow_vehicle = index; + vehicles[follow_vehicle].follow = true; + panTo(index); + + updateGraph(index, true); + } +} + +function roundNumber(number, digits) { + var multiple = Math.pow(10, digits); + var rndedNum = Math.round(number * multiple) / multiple; + return rndedNum; +} + +function updateVehicleInfo(index, position) { + var latlng = new google.maps.LatLng(position.gps_lat, position.gps_lon); + if(vehicles[index].marker_shadow) vehicles[index].marker_shadow.setPosition(latlng); + vehicles[index].marker.setPosition(latlng); + if(vehicles[index].vehicle_type == "balloon") { + updateAltitude(index); + var horizon_km = Math.sqrt(12.756 * position.gps_alt); + vehicles[index].horizon_circle.setRadius(Math.round(horizon_km)*1000); + + if(vehicles[index].subhorizon_circle) { + // see: http://ukhas.org.uk/communication:lineofsight + var el = 5.0; // elevation above horizon + var rad = 6378.10; // radius of earth + var h = position.gps_alt / 1000; // height above ground + + var elva = el * Math.PI / 180.0; + var slant = rad*(Math.cos(Math.PI/2+elva)+Math.sqrt(Math.pow(Math.cos(Math.PI/2+elva),2)+h*(2*rad+h)/Math.pow(rad,2))); + var x = Math.acos((Math.pow(rad,2)+Math.pow(rad+h,2)-Math.pow(slant,2))/(2*rad*(rad+h)))*rad; + + var subhorizon_km = x; + vehicles[index].subhorizon_circle.setRadius(Math.round(subhorizon_km)*1000); + } + + // indicates whenever a payload has landed + var landed = ( + vehicles[index].max_alt > 1500 // if it has gone up + && vehicles[index].ascent_rate < 1.0 // and has negative ascent_rate, aka is descending + && position.gps_alt < 350 // and is under 350 meters altitude + ) || ( // or + position.gps_alt < 600 // under 600m and has no position update for more than 30 minutes + && (new Date((new Date()).toISOString())).getTime() - (new Date(position.gps_time + " UTC")).getTime() > 1800000 + ); + + if(landed) { + vehicles[index].marker.setMode("landed"); + vehicles[index].marker.shadow.setVisible(false); + vehicles[index].horizon_circle.setVisible(false); + vehicles[index].subhorizon_circle.setVisible(false); + + } else if(vehicles[index].ascent_rate > -3.0 || + vehicle_names[index] == "wb8elk2") { + vehicles[index].marker.setMode("balloon"); + } else { + vehicles[index].marker.setMode("parachute"); + } + } + + var pixels = Math.round(position.gps_alt / 500) + 1; + if (pixels < 0) { + pixels = 0; + } else if (pixels >= 98) { + pixels = 98; + } + + var image = vehicles[index].image_src; + + var elm = $('.vehicle' + index); + if (elm.length == 0) { + $('.portrait').append('
'); + $('.landscape').append('
'); + + } + + var imp = offline.get('opt_imperial'); + var ascent_text = imp ? (vehicles[index].ascent_rate * 196.850394).toFixed(1) + ' ft/min' : vehicles[index].ascent_rate.toFixed(1) + ' m/s'; + var hrate_text = imp ? (vehicles[index].horizontal_rate * 196.850394).toFixed(1) + ' ft/min' : vehicles[index].horizontal_rate.toFixed(1) + ' m/s'; + + var coords_text; + var ua = navigator.userAgent.toLowerCase(); + // determine how to link the vehicle coordinates to a native app, if on a mobile device + if(ua.indexOf('iphone') > -1) { + coords_text = '' + + roundNumber(position.gps_lat, 6) + ', ' + roundNumber(position.gps_lon, 6) +'' + + ' '; + } else if(ua.indexOf('android') > -1) { + coords_text = '' + + roundNumber(position.gps_lat, 6) + ', ' + roundNumber(position.gps_lon, 6) +'' + + ' '; + } else { + coords_text = roundNumber(position.gps_lat, 6) + ', ' + roundNumber(position.gps_lon, 6); + } + + + // start + var a = '
' + + '' + vehicle_names[index] + '' + + '' + + '
' + + '
' + + '' + + '
' + + '
'; + // end + var b = '
' + + '
' // right + + '
' // data + + ''; + var c = '
Recieved by:
' + + position.callsign.split(",").join(", ") + '
' + + if(!position.callsign) c = ''; + + // mid for portrait + var p = '
'+position.gps_time+'
datetime
' + + '
'+coords_text+'
coordinates
' + + c // receivers if any + + '' + + '
' // left + + '
' + + '
' + + ((vehicles[index].vehicle_type == "car") ? '' : '
'+ascent_text+' '+hrate_text+'
rate v|h
') + + '
'+((imp) ? parseInt(3.2808399 * position.gps_alt) + ' ft': parseInt(position.gps_alt) + ' m')+'
altitude
' + + '
'+((imp) ? parseInt(3.2808399 * vehicles[index].max_alt) + ' ft': parseInt(vehicles[index].max_alt) + ' m')+'
max alt
' + + ''; + // mid for landscape + var l = ((vehicles[index].vehicle_type == "car") ? '' : '
'+ascent_text+' '+hrate_text+'
rate v|h
') + + '
'+((imp) ? parseInt(3.2808399 * position.gps_alt) + 'ft': parseInt(position.gps_alt) + 'm')+' ('+((imp) ? parseInt(3.2808399 * vehicles[index].max_alt) + 'ft' : parseInt(vehicles[index].max_alt) + 'm')+')
altitude (max)
' + + '
'+position.gps_time+'
datetime
' + + '
'+coords_text+'
coordinates
' + + habitat_data(position.data) + + c // receivers if any + + ''; + + + $('.portrait .vehicle'+index).html(a + p + b); + $('.landscape .vehicle'+index).html(a + l + b); + + return true; +} + +function pad(number, length) { + var str = '' + number; + while (str.length < length) { + str = '0' + str; + } + return str; +} + +function addMarker(icon, latlng) { + var marker = new google.maps.Marker({ + position: latlng, + optimized: false, + zIndex: Z_SHADOW, + icon: { + url: icon, + scaledSize: new google.maps.Size(20,20), + size: new google.maps.Size(20,20), + anchor: new google.maps.Point(10, 10) + }, + map: map, + clickable: false + }); + + return marker; +} + +function removePrediction(vehicle_index) { + if(vehicles[vehicle_index].prediction_polyline) { + vehicles[vehicle_index].prediction_polyline.setMap(null); + vehicles[vehicle_index].prediction_polyline = null; + } + if(vehicles[vehicle_index].prediction_target) { + vehicles[vehicle_index].prediction_target.setMap(null); + vehicles[vehicle_index].prediction_target = null; + } + if(vehicles[vehicle_index].prediction_burst) { + vehicles[vehicle_index].prediction_burst.setMap(null); + vehicles[vehicle_index].prediction_burst = null; + } +} + +function redrawPrediction(vehicle_index) { + var vehicle = vehicles[vehicle_index]; + var data = vehicle.prediction.data; + if(data.warnings || data.errors) return; + + var line = []; + var latlng = null; + var max_alt = -99999; + var latlng_burst = null; + var burst_index = 0; + for(var i = 0, ii = data.length; i < ii; i++) { + latlng = new google.maps.LatLng(data[i].lat, data[i].lon); + line.push(latlng); + if(parseFloat(data[i].alt) > max_alt) { + max_alt = parseFloat(data[i].alt); + latlng_burst = latlng; + burst_index = i; + } + } + + if(typeof vehicle.prediction_polyline !== 'undefined') { + vehicle.prediction_polyline.setPath(line); + } else { + vehicle.prediction_polyline = new google.maps.Polyline({ + map: map, + zIndex: Z_PATH, + path: line, + strokeColor: balloon_colors[vehicle.color_index], + strokeOpacity: 0.4, + strokeWeight: 3, + clickable: false, + draggable: false, + }); + } + var image_src; + if(vehicle_names[vehicle_index] != "wb8elk2") { // WhiteStar + /* + //icon.infoWindowAnchor = new google.maps.Point(13,5); + + var time = new Date(data[data.length-1].time * 1000); + var time_string = pad(time.getUTCHours(), 2) + ':' + pad(time.getUTCMinutes(), 2) + ' UTC'; + var html = 'Predicted Landing
' + + '

' + + data[data.length-1].lat + ', ' + data[data.length-1].lon + ' at ' + time_string + + '

'; + */ + var html = ""; + if(vehicle.prediction_target) { + vehicle.prediction_target.setPosition(latlng); + } else { + image_src = host_url + markers_url + "target-" + balloon_colors_name[vehicle.color_index] + ".png"; + vehicle.prediction_target = addMarker(image_src, latlng); + } + } else { + if(vehicle.prediction_target) vehicle.prediction_target = null; + } + + if(burst_index != 0 && vehicle_names[vehicle_index] != "wb8elk2") { + /* + //icon.infoWindowAnchor = new google.maps.Point(18,5); + + var time = new Date(data[burst_index].time * 1000); + var time_string = pad(time.getUTCHours(), 2) + ':' + pad(time.getUTCMinutes(), 2) + ' UTC'; + var html = 'Predicted Burst
' + + '

' + + data[burst_index].lat + ', ' + data[burst_index].lon + ', ' + Math.round(data[burst_index].alt) + ' m at ' + time_string + + '

'; + */ + if(vehicle.prediction_burst) { + vehicle.prediction_burst.setPosition(latlng_burst); + } else { + image_src = host_url + markers_url + "balloon-pop.png"; + vehicle.prediction_burst = addMarker(image_src, latlng_burst); + } + } else { + if(vehicle.prediction_burst) vehicle.prediction_burst = null; + } +} + +function updatePolyline(vehicle_index) { + for(k in vehicles[vehicle_index].polyline) { + vehicles[vehicle_index].polyline[k].setPath(vehicles[vehicle_index].positions); + } +} + +function convert_time(gps_time) { + // example: "2009-05-28 20:29:47" + /* + year = parseInt(gps_time.substring(0, 4), 10); + month = parseInt(gps_time.substring(5, 7), 10); + day = parseInt(gps_time.substring(8, 10), 10); + hour = parseInt(gps_time.substring(11, 13), 10); + minute = parseInt(gps_time.substring(14, 16), 10); + second = parseInt(gps_time.substring(17), 10); + + date = new Date(); + date.setUTCFullYear(year); + date.setUTCMonth(month-1); + date.setUTCDate(day); + date.setUTCHours(hour); + date.setUTCMinutes(minute); + date.setUTCSeconds(second); + */ + + return (new Date(gps_time)).getTime() / 1000; // seconds since 1/1/1970 @ 12:00 AM +} + +var GChartString = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; +function GChartEncodeData(valueArray,maxValue) { + var chartData = ['s:']; + for (var i = 0; i < valueArray.length; i++) { + var currentValue = valueArray[i]; + + if (!isNaN(currentValue) && currentValue >= 0) { + chartData.push(GChartString.charAt(Math.round((GChartString.length-1) * currentValue / maxValue))); + } else { + chartData.push('_'); + } + } + return chartData.join(''); +} + +function addPosition(position) { + position.gps_time = position.gps_time.replace(/(\d+)-(\d+)-(\d+)/,"$2/$3/$1"); + + // check if the vehicle is already in the list, if not create a new item + if($.inArray(position.vehicle, vehicle_names) == -1) { + vehicle_names.push(position.vehicle); + var marker = null; + var marker_shadow = null; + var vehicle_type = ""; + var horizon_circle = null; + var subhorizon_circle = null; + var point = new google.maps.LatLng(position.gps_lat, position.gps_lon); + var image_src = ""; + var color_index = 0; + if(position.vehicle.search(/(chase)|(car)/i) != -1 // whitelist + && position.vehicle.search(/icarus/i) == -1) { // blacklist + vehicle_type = "car"; + color_index = car_index++; + var c = color_index % car_colors.length; + var image_src = host_url + markers_url + "car-" + car_colors[c] + ".png"; + + marker = new google.maps.Marker({ + icon: { + url: image_src, + size: new google.maps.Size(55,25), + scaledSize: new google.maps.Size(55,25) + }, + zIndex: Z_CAR, + position: point, + map: map, + optimized: false, + title: position.vehicle + }); + } else { + vehicle_type = "balloon"; + color_index = balloon_index++; + var c = color_index % balloon_colors.length; + + image_src = host_url + markers_url + "balloon-" + ((position.vehicle == "PIE") ? "rpi" : balloon_colors_name[c]) + ".png"; + marker_shadow = new google.maps.Marker({ + map: map, + zIndex: Z_SHADOW, + optimized: false, + position: point, + icon: { + url: host_url + markers_url + "shadow.png", + size: new google.maps.Size(24,16), + scaledSize: new google.maps.Size(24,16), + anchor: new google.maps.Point(12,8) + }, + clickable: false + }); + marker = new google.maps.Marker({ + map: map, + optimized: false, + zIndex: Z_PAYLOAD, + position: point, + icon: { + url: image_src, + size: new google.maps.Size(46,84), + scaledSize: new google.maps.Size(46,84) + }, + title: position.vehicle, + }); + marker.shadow = marker_shadow; + marker.balloonColor = (position.vehicle == "PIE") ? "rpi" : balloon_colors_name[c]; + marker.mode = 'balloon'; + marker.setMode = function(mode) { + this.mode = mode; + var img; + if(mode == "landed") { + img = { + url: host_url + markers_url + "payload-" + this.balloonColor + ".png", + size: new google.maps.Size(17,18), + scaledSize: new google.maps.Size(17,18), + anchor: new google.maps.Point(8,14) + }; + } else if(mode == "parachute") { + img = { + url: host_url + markers_url + "parachute-" + this.balloonColor + ".png", + size: new google.maps.Size(46,84), + scaledSize: new google.maps.Size(46,84) + }; + } else { + img = { + url: host_url + markers_url + "balloon-" + this.balloonColor + ".png", + size: new google.maps.Size(46,84), + scaledSize: new google.maps.Size(46,84) + }; + } + this.setIcon(img); + } + marker.setAltitude = function(alt) { + var pos = overlay.getProjection().fromLatLngToDivPixel(this.shadow.getPosition()); + pos.y -= alt; + this.setPosition(overlay.getProjection().fromDivPixelToLatLng(pos)); + } + marker.setAltitude(0); + + horizon_circle = new google.maps.Circle({ + map: map, + zIndex: Z_RANGE, + radius: 1, + fillColor: '#00F', + fillOpacity: 0, + strokeColor: '#00F', + strokeOpacity: 0.6, + strokeWeight: 3, + clickable: false, + editable: false + }); + horizon_circle.bindTo('center', marker_shadow, 'position'); + subhorizon_circle = new google.maps.Circle({ + map: map, + radius: 1, + zIndex: Z_RANGE, + fillColor: '#0F0', + fillOpacity: 0, + strokeColor: '#0F0', + strokeOpacity: 0.8, + strokeWeight: 3, + clickable: false, + editable: false + }); + subhorizon_circle.bindTo('center', marker_shadow, 'position'); + } + var vehicle_info = {vehicle_type: vehicle_type, + ascent_rate: 0, + marker: marker, + marker_shadow: marker_shadow, + image_src: image_src, + horizon_circle: horizon_circle, + subhorizon_circle: subhorizon_circle, + num_positions: 0, + positions: [], + curr_position: position, + line: [], + polyline: [new google.maps.Polyline({ + map: map, + zIndex: Z_PATH, + strokeColor: balloon_colors[c], + strokeOpacity: 0.8, + strokeWeight: 3, + clickable: false, + draggable: false, + })], + prediction: null, + ascent_rate: 0.0, + horizontal_rate: 0.0, + max_alt: parseFloat(position.gps_alt), + path_enabled: vehicle_type == "balloon" && position.vehicle.toLowerCase().indexOf("iss") == -1, + follow: false, + color_index: c, + prediction_traget: null, + prediction_burst: null, + alt_list: [0], + time_last_alt: 0, + alt_max: 100, + graph_data_updated: false, + graph_data: [], + graph_yaxes: [] + }; + + // deep copy yaxes config for graph + if(plot) $.each($.extend(false, plot_options.yaxes, {}), function(k,v) { vehicle_info.graph_yaxes.push(v) }); + + // nyan mod + if(window.location.search == "?nyan" && vehicle_info.vehicle_type == "balloon") { + // form a nyancat + vehicle_info.marker.setMap(null); + vehicle_info.marker.setMode = function(derp) {}; + vehicle_info.marker_shadow = new google.maps.Marker({ + map: map, + zIndex: Z_SHADOW, + optimized: false, + position: point, + icon: { + url: host_url + markers_url + "nyan.gif", + size: new google.maps.Size(55,39), + scaledSize: new google.maps.Size(55,39), + anchor: new google.maps.Point(26,20) + }, + clickable: false + }); + // rebind horizon circles to follow nyan + horizon_circle.bindTo('center', vehicle_info.marker_shadow, 'position'); + subhorizon_circle.bindTo('center', vehicle_info.marker_shadow, 'position'); + + vehicle_info.image_src = host_url + markers_url + "hab_nyan.gif"; + + // whats nyan only purpose? Make people happy, of course. And how? + var rainbow = ["#ff0000", "#fc9a00", "#f6ff00", "#38ff01", "#009aff","#0000ff"]; + vehicle_info.polyline = []; + + for(k in rainbow) { + vehicle_info.polyline.push(new google.maps.Polyline({ + map: map, + zIndex: (Z_PATH - (k * 1)), + strokeColor: rainbow[k], + strokeOpacity: 1, + strokeWeight: (k*4) + 2, + clickable: false, + draggable: false, + })); + } + } + + // let the nyan free + vehicles.push(vehicle_info); + } + + + var vehicle_index = $.inArray(position.vehicle, vehicle_names); + var vehicle = vehicles[vehicle_index]; + + if(vehicle.vehicle_type == "balloon") { + var new_latlng = new google.maps.LatLng(position.gps_lat, position.gps_lon); + + // if position array has at least 1 position + if(vehicle.num_positions > 0) { + if(convert_time(vehicle.curr_position.gps_time) >= convert_time(position.gps_time)) { + if (("," + vehicle.curr_position.callsign + ",").indexOf("," + position.callsign + ",") === -1) { + vehicle.curr_position.callsign += "," + position.callsign; + } + } else { + + var dt = convert_time(position.gps_time) + - convert_time(vehicle.curr_position.gps_time); + + if(dt != 0) { + // calcualte vertical rate + var rate = (position.gps_alt - vehicle.curr_position.gps_alt) / dt; + vehicle.ascent_rate = 0.7 * rate + + 0.3 * vehicle.ascent_rate; + + // calculate horizontal rate + vehicle.horizontal_rate = google.maps.geometry.spherical.computeDistanceBetween(new google.maps.LatLng(position.gps_lat, position.gps_lon), + new google.maps.LatLng(vehicle.curr_position.gps_lat, vehicle.curr_position.gps_lon)) / dt; + + // only record altitude values in 2minute interval + if(convert_time(vehicle.curr_position.gps_time) - vehicle.time_last_alt >= 120) { // 120s = 2minutes + vehicle.time_last_alt = convert_time(vehicle.curr_position.gps_time); + var alt = parseInt(vehicle.curr_position.gps_alt); + + if(alt > vehicle.alt_max) vehicle.alt_max = alt; // larged value in the set is required for encoding later + + vehicle.alt_list.push(alt); // push value to the list + } + } + + if(vehicle.curr_position.gps_lat != position.gps_lat + || vehicle.curr_position.gps_lon != position.gps_lon) { + // add the new position + vehicle.positions.push(new_latlng); + vehicle.num_positions++; + + vehicle.curr_position = position; + graphAddLastPosition(vehicle_index); + } + } + } else { + vehicle.positions.push(new_latlng); + vehicle.num_positions++; + vehicle.curr_position = position; + graphAddLastPosition(vehicle_index); + } + } else { // if car + vehicle.curr_position = position; + } + + // record the highest altitude + if(parseFloat(position.gps_alt) > vehicle.max_alt) { + vehicle.max_alt = parseFloat(position.gps_alt); + } + + return; +} + +function updateGraph(idx, reset_selection) { + if(!plot) return; + + if(polyMarker) polyMarker.setPosition(null); + + if(reset_selection) delete plot_options.xaxis; + + // replot graph, with this vehicle data, and this vehicles yaxes config + plot = $.plot(plot_holder, vehicles[idx].graph_data, $.extend(false, plot_options, {yaxes:vehicles[idx].graph_yaxes})); +} + +function graphAddLastPosition(idx) { + if(!plot) return; + + vehicles[idx].graph_data_updated = true; + var data = vehicles[idx].graph_data; + var new_data = vehicles[idx].curr_position; + var date = new Date(new_data.gps_time); + var tz_offset_milis = date.getTimezoneOffset() * 60000; + var ts = date.getTime() - tz_offset_milis; + + if(vehicles[idx].graph_data.length) { + var ts_last_idx = data[0].data.length - 1; + var ts_last = data[0].data[ts_last_idx][0]; + + //insert gap when there are 2mins, or more, without telemetry + if(ts_last + 120000 < ts) { + $.each(data, function(k,v) { v.data.push([ts_last+1, null]); v.nulls += 1; }) + } + + // update the selection upper limit to the latest timestamp, only if the upper limit is equal to the last timestamp + if(plot_options.xaxis && follow_vehicle == idx && ts_last == plot_options.xaxis.max) plot_options.xaxis.max = ts; + } + + var i = 0; + // altitude is always first in the series + if(data[i] === undefined) { + data[i] = { + label: "altitude = 0", + color: '#33B5E5', + yaxis: i+1, + lines: { show:true, fill: true, fillColor: "rgba(51, 181, 229, 0.1)" }, + nulls: 0, + data: [] + }; + } + + // push latest altitude + data[0].data.push([ts, parseInt(new_data.gps_alt)]); + if(parseInt(new_data.gps_alt) < 0) delete vehicles[idx].graph_yaxes[i].min; + i++; + + // the rest of the series is from the data field + var json = $.parseJSON(new_data.data); + if(!json) return; + + $.each(json, function(k, v) { + if(isNaN(v) || v=="") return; // only take data that is numerical + if(i >= 8) return; // up to 8 seperate data plots + + if(data[i] === undefined) { + data[i] = { + label: k + " = 0", + key: k, + yaxis: i + 1, + data: [] + }; + + if(isInt(v)) $.extend(true, data[i], { noInterpolate: true, lines: { steps: true }}); + } + + if(k != data[i].key) return; + + data[i].data.push([ts, parseFloat(v)]); + if(parseFloat(v) < 0) delete vehicles[idx].graph_yaxes[i].min; + + i++; + }); +} + +function refresh() { + //status = ' Refreshing ...'; + //$('#status_bar').html(status); + + if(typeof _gaq == 'object') _gaq.push(['_trackEvent', 'ajax', 'refresh']); + + $.ajax({ + type: "GET", + url: data_url, + data: "format=json&position_id=" + position_id + "&max_positions=" + max_positions, + dataType: "json", + success: function(response, textStatus) { + update(response); + }, + error: function() { + if(!zoomed_in && offline.get('opt_offline')) update(offline.get('positions')); + }, + complete: function(request, textStatus) { + periodical = setTimeout(refresh, timer_seconds * 1000); + } + }); +} + +function refreshReceivers() { + $.ajax({ + type: "GET", + url: receivers_url, + data: "", + dataType: "json", + success: function(response, textStatus) { + offline.set('receivers', response); + updateReceivers(response); + }, + error: function() { + if(!ls_receivers && offline.get('opt_offline')) updateReceivers(offline.get('receivers')); + }, + complete: function(request, textStatus) { + periodical_listeners = setTimeout(refreshReceivers, 60 * 1000); + } + }); +} + +function refreshPredictions() { + $.ajax({ + type: "GET", + url: predictions_url, + data: "", + dataType: "json", + success: function(response, textStatus) { + offline.set('predictions', response); + updatePredictions(response); + }, + error: function() { + if(!ls_pred && offline.get('opt_offline')) updatePredictions(offline.get('predictions')); + }, + complete: function(request, textStatus) { + periodical_predictions = setTimeout(refreshPredictions, 2 * timer_seconds * 1000); + } + }); +} + +var periodical, periodical_receivers, periodical_predictions; +var timer_seconds = 14; + +function startAjax() { + // prevent insane clicks to start numerous requests + clearTimeout(periodical); + clearTimeout(periodical_receivers); + clearTimeout(periodical_predictions); + + // the periodical starts here, the * 1000 is because milliseconds required + + //periodical = setInterval(refresh, timer_seconds * 1000); + refresh(); + + //periodical_listeners = setInterval(refreshReceivers, 60 * 1000); + refreshReceivers(); + + //periodical_predictions = setInterval(refreshPredictions, 2 * timer_seconds * 1000); + refreshPredictions(); +} + +function stopAjax() { + // stop our timed ajax + clearTimeout(periodical); +} + +var currentPosition = null; + +function updateCurrentPosition(lat, lon) { + var latlng = new google.maps.LatLng(lat, lon); + + if(!currentPosition) { + currentPosition = {marker: null, lat: lat, lon: lon}; + currentPosition.marker = new google.maps.Marker({ + icon: { + url: "img/marker-you.png", + size: new google.maps.Size(21,50), + scaledSize: new google.maps.Size(21,50), + anchor: new google.maps.Point(10,25) + }, + zIndex: Z_CAR, + position: latlng, + map: map, + optimized: false, + title: "Your current position", + animation: google.maps.Animation.DROP + }); + } else { + currentPosition.lat = lat; + currentPosition.lon = lon; + currentPosition.marker.setMap(map); + currentPosition.marker.setPosition(latlng); + } +} + +function updateReceiverMarker(receiver) { + var latlng = new google.maps.LatLng(receiver.lat, receiver.lon); + if(!receiver.marker) { + //icon.infoWindowAnchor = new google.maps.Point(13,3); + receiver.marker = new google.maps.Marker({ + icon: { + url: host_url + markers_url + "antenna-green.png", + size: new google.maps.Size(26,32), + scaledSize: new google.maps.Size(26,32), + anchor: new google.maps.Point(13,30), + }, + zIndex: Z_STATION, + position: latlng, + map: map, + optimized: false, + title: receiver.name, + animation: google.maps.Animation.DROP + }); + } else { + receiver.marker.setPosition(latlng); + } +} + +function updateReceivers(r) { + if(!r) return; + ls_receivers = true; + + for(var i = 0, ii = r.length; i < ii; i++) { + var lat = parseFloat(r[i].lat); + var lon = parseFloat(r[i].lon); + if(lat < -90 || lat > 90 || lon < -180 || lon > 180) continue; + var r_index = $.inArray(r[i].name, receiver_names); + var receiver = null; + if(r_index == -1) { + receiver_names.push(r[i].name); + r_index = receiver_names.length - 1; + receivers[r_index] = {marker: null}; + } + receiver = receivers[r_index]; + receiver.name = r[i].name; + receiver.lat = lat; + receiver.lon = lon; + receiver.alt = parseFloat(r[i].alt); + receiver.description = r[i].description; + updateReceiverMarker(receiver); + } + } + +function updatePredictions(r) { + if(!r) return; + ls_pred = true; + + for(var i = 0, ii = r.length; i < ii; i++) { + var vehicle_index = $.inArray(r[i].vehicle, vehicle_names); + if(vehicle_index != -1) { + if(vehicles[vehicle_index].prediction && vehicles[vehicle_index].prediction.time == r[i].time) { + continue; + } + vehicles[vehicle_index].prediction = r[i]; + if(parseInt(vehicles[vehicle_index].prediction.landed) == 0) { + vehicles[vehicle_index].prediction.data = $.parseJSON(r[i].data); + redrawPrediction(vehicle_index); + } else { + removePrediction(vehicle_index); + } + } + } +} + +function refreshUI() { + for (var i = 0, ii = vehicle_names.length; i < ii; i++) { + updateVehicleInfo(i, vehicles[i].curr_position); + } +} + +var status = ""; +var bs_idx = 0; + +function update(response) { + if (response == null || !response.positions) { + return; + } + + var updated_position = false; + for (var i = 0; i < response.positions.position.length; i++) { + var position = response.positions.position[i]; + if (!position.picture) { + addPosition(position); + got_positions = true; + updated_position = true; + } + } + + if (response.positions.position.length > 0) { + var position = response.positions.position[response.positions.position.length-1]; + position_id = position.position_id; + } + + if (updated_position) { + // create a dummy response object for postions + var lastPositions = { positions: { position: [] } }; + var lastPPointer = lastPositions.positions.position; + + for (var i = 0, ii = vehicle_names.length; i < ii; i++) { + if(!bootstrapped) { + setTimeout(function() { + var idx = bs_idx; + bs_idx += 1; + updatePolyline(idx); + updateVehicleInfo(idx, vehicles[idx].curr_position); + + if(listScroll) listScroll.refresh(); + + // update the altitude profile, only if its a balloon + if(vehicles[idx].vehicle_type != "car") { + var graph_src = graph_url.replace("{AA}",vehicles[idx].alt_max); // top range, buttom is always 0 + graph_src += GChartEncodeData(vehicles[idx].alt_list, vehicles[idx].alt_max); // encode datapoint to preserve bandwith + + // update img element + $('.vehicle'+idx+' .graph').attr('src', graph_src); + } + }, 400*i); + } else { + updatePolyline(i); + updateVehicleInfo(i, vehicles[i].curr_position); + + // update the altitude profile, only if its a balloon + if(vehicles[i].vehicle_type != "car") { + var graph_src = graph_url.replace("{AA}",vehicles[i].alt_max); // top range, buttom is always 0 + graph_src += GChartEncodeData(vehicles[i].alt_list, vehicles[i].alt_max); // encode datapoint to preserve bandwith + + // update img element + $('.vehicle'+i+' .graph').attr('src', graph_src); + } + + // remember last position for each vehicle + lastPPointer.push(vehicles[i].curr_position); + } + } + + bootstrapped = true; + + // update graph is current vehicles is followed + if(follow_vehicle != -1 && vehicles[follow_vehicle].graph_data_updated) updateGraph(follow_vehicle, false); + + // store in localStorage + offline.set('positions', lastPositions); + + if(follow_vehicle != -1) { + var pos = vehicles[follow_vehicle].curr_position; + map.panTo(new google.maps.LatLng(pos.gps_lat, pos.gps_lon)); + } + } + + if (got_positions && !zoomed_in) { + if(vehicles.length == 0) return; + + zoom_timer = setInterval(function() { + if(bootstrapped && bs_idx+1 == vehicle_names.length) { + zoom_on_payload(); + clearInterval(zoom_timer); + } + },100); + + zoomed_in = true; + } + + if(listScroll) listScroll.refresh(); +} + +function zoom_on_payload() { + // find a the first balloon + var i = -1, ii = vehicles.length; + while(++i < ii && !vehicles[i].marker_shadow); + + if(i == ii) { i = 0 } + else { + // find the bounds of the ballons first and last positions + var bounds = new google.maps.LatLngBounds(); + bounds.extend(vehicles[i].positions[0]); + bounds.extend(vehicles[i].marker.getPosition()); + + // fit the map to those bounds + map.fitBounds(bounds); + + // limit the zoom level to 11 + if(map.getZoom() > 11) map.setZoom(11); + } + + // pan and follow the vehicle + followVehicle(i); + + // expand list element + $('.vehicle'+i).addClass('active'); + + // scroll list to the expanded element + listScroll.refresh(); + listScroll.scrollToElement('.portrait .vehicle'+i); +} + +function isInt(n) { + return n % 1 === 0; +} diff --git a/test.html b/test.html new file mode 100644 index 0000000..66fad9f --- /dev/null +++ b/test.html @@ -0,0 +1,15 @@ + + + + + habitat api test + + + + + + + + + + From f222d95eaa25f4f13b633fa5c685493d726384fb Mon Sep 17 00:00:00 2001 From: Rossen Georgiev Date: Sun, 28 Apr 2013 11:25:33 +0300 Subject: [PATCH 7/7] save --- coffee/habitat.tracker.Vehicle.coffee | 161 +++++++++++++++++++++++ coffee/habitat.tracker.coffee | 176 ++++++++++++++++++++++---- coffee/habitat.tracker.db.coffee | 18 +-- fabfile.py | 2 +- 4 files changed, 319 insertions(+), 38 deletions(-) create mode 100644 coffee/habitat.tracker.Vehicle.coffee diff --git a/coffee/habitat.tracker.Vehicle.coffee b/coffee/habitat.tracker.Vehicle.coffee new file mode 100644 index 0000000..41c133f --- /dev/null +++ b/coffee/habitat.tracker.Vehicle.coffee @@ -0,0 +1,161 @@ +# order of map elements +Z_RANGE = 1 +Z_STATION = 2 +Z_PATH = 10 +Z_CAR = 11 +Z_SHADOW = 12 +Z_PAYLOAD = 13 + +# ballons modes +MODE_BALLOON = 1 +MODE_CHUTE = 2 +MODE_LANDED = 3 + +class habitat.tracker.Vehicle +# default options + marker: null + markers_root: "img/markers/" + map: null + name: "undefined" + type: "car" + color: "blue" + position: null + altitude: 0 + + constructor: (opts) -> + if opts? + if opts.position? then @position = opts.position + if opts.altitude? then @altitude = opts.altitude + if opts.map? then @map = opts.map + + if opts.color? then @color = opts.color + if opts.type? then @type = opts.type + if opts.name? then @name = opts.name + + @init() + + + @init: -> + @marker = new google.maps.Marker + map: @map + optimized: false + zIndex: Z_PAYLOAD + icon: + url: "#{@markers_root}#{@type}-#{@color}.png" + size: new google.maps.Size(55,25), + scaledSize: new google.maps.Size(55,25) + title: @name + null + + setPosition: (lat,lng) -> + @position = new google.maps.LatLng latlng[0], latlng[1] + @marker.setPosition @position + + setAltitude: (alt) -> + @altitude = alt + +class habitat.tracker.Balloon extends habitat.tracker.Vehicle + marker_shadow: null + type: "balloon" + mode: -1 + path: null + polyline: null + timestamp: 0 + + init: -> + @path = [] + # init markers, we need two + @marker = new google.maps.Marker + map: @map + optimized: false + zIndex: Z_PAYLOAD + title: @name + @marker_shadow = new google.maps.Marker + map: @map + icon: + url: "#{@markers_root}shadow.png" + size: new google.maps.Size 24,16 + scaledSize: new google.maps.Size 24,16 + anchor: new google.maps.Point 12,8 + optimized: false + zIndex: Z_SHADOW + + @setMode MODE_BALLOON + + # draws the path + @polyline = new google.maps.Polyline + map: @map + zIndex: Z_PATH, + strokeColor: @color + strokeOpacity: 0.8, + strokeWeight: 3, + clickable: false, + draggable: false, + + # update altitude offset, when map zoom is changed + this_ref = this + google.maps.event.addListener @map,'idle', -> + this_ref.update_position() + + setTelemetry: (tele) -> + @telemetry = tele + null + + setPosition: (lat,lng) -> + @position = new google.maps.LatLng lat,lng + + addPosition: (lat,lng) -> + @setPosition lat,lng + @path.push @position + null + + setAltitude: (alt) -> + @altitude = alt + + # change marker icon to balloon, parachute or just payload + setMode: (mode) -> + if @mode is mode then return + @mode = mode + + switch mode + when MODE_BALLOON, MODE_CHUTE + @marker_shadow.setVisible true + icon = + url: "#{@markers_root}#{if MODE_BALLOON then 'balloon' else 'parachute'}-#{@color}.png" + size: new google.maps.Size(46,84), + scaledSize: new google.maps.Size(46,84) + when MODE_LANDED + @marker_shadow.setVisible false + icon = + url: "#{@markers_root}payload-#{@color}.png" + size: new google.maps.Size(17,18), + scaledSize: new google.maps.Size(17,18) + + @marker.setIcon icon + null + + # emulate altitude on the map by move the marker slighly north + altitude_offset: -> + if not @map or not @position or @mode is "landed" then return + + pixel_altitude = 0 + zoom = @map.getZoom() + zoom = if zoom > 18 then 18 else zoom + + if 0 < @altitude < 55000 + pixel_altitude = -Math.round @altitude/(1000/3)*(zoom/18.0) + habitat.tracker.map_pixel_offset @position, [0, pixel_altitude] + else + @position + + update_position: -> + @marker.setPosition @altitude_offset() + @marker_shadow.setPosition @position + + # call this to push the latest changes to the map + redraw: -> + # redraw markers + @update_position() + + # redraw path + @polyline.setPath @path diff --git a/coffee/habitat.tracker.coffee b/coffee/habitat.tracker.coffee index a036bf6..8d381c7 100644 --- a/coffee/habitat.tracker.coffee +++ b/coffee/habitat.tracker.coffee @@ -1,33 +1,82 @@ habitat.tracker = +# configs + color_names: ["red", "blue", "green", "yellow", "purple", "orange", "cyan"] + colors: ["#f00", "blue", "green", "#ff0", "#c700e6", "#ff8a0f", "#0fffca"] + +# reserved + db: null + Vehicle: null + Balloon: null + +# properties + color_idx: 0 flights: active: [] upcoming: [] options: {} - vehicles: [] + vehicles: {} + map: null + +# methods + init: (opts) -> + if @map then return + + if opts? + @options = opts + + @map = new google.maps.Map document.getElementById('map'), + zoom: 5 + center: new google.maps.LatLng 53.467511,-2.2338940 + mapTypeId: google.maps.MapTypeId.ROADMAP + keyboardShortcuts: false + streetViewControl: false + rotateControl: false + panControl: false + scaleControl: false + zoomContro: true + zoomControlOptions: + style: google.maps.ZoomControlStyle.LARGE + scrollwheel: true + + @map._overlay = new google.maps.OverlayView() + @map._overlay.draw = -> + @map._overlay.setMap @map + + # pull flight list + @update_flight_list() + + # wait for the map to load + google.maps.event.addListenerOnce @map,'tilesloaded', -> + habitat.tracker.mapLoaded() + null + + mapLoaded: -> + tmp = window.location.search.split('=') + if tmp[0] is "?ids" + list = tmp[1].split(',') - ### reset tracker state to pre-init state ### + for id in list + @db.get_telemetry_by_id(@consumer, id) + else + @fetch_test() + + null + + # reset tracker state to pre-init state reset: -> - delete this.flights - delete this.options - delete this.vehicles + delete @flights + delete @options + delete @vehicles - this.flights = + @flights = active: [] upcoming: [] - this.options = {} - this.vehicles = [] - - init: (options) -> - options = if options then options else {} - options.filter = if options.filter then open|| null - options.poll = options.poll || true - this.options = options - - """ pull flight list """ - this.update_flight_list() + @options = {} + @vehicles = [] + # gets the latest flight from habitat update_flight_list: -> - this.db.get_flights (data) -> + @db.get_flights (data) -> current_ts = habitat.util.timestamp_now() for flight in data @@ -40,16 +89,99 @@ habitat.tracker = null - test: -> + fetch_latest_telemetry: -> + for flight in @flights.active + for payload in flight.payloads + @db.get_telemetry_by_id @consumer payload._id + null + + # chews through any data from habitat + consumer: (habitat_result) -> + if habitat_result.length == 0 then return + + for row in habitat_result + switch row.doc.type + when "payload_telemetry" then habitat.tracker.process_telemetry row + when "listener_telemetry" then habitat.tracker.process_listener row + else continue + + habitat.tracker.refresh() + null + + refresh: -> + for key of @vehicles + @vehicles[key].redraw() + null + + process_telemetry: (row) -> + doc = row['doc'] + key = row['key'] + ts = key[-1..][0] + + if not @vehicles[doc.data._parsed.payload_configuration]? + @vehicles[doc.data._parsed.payload_configuration] = new habitat.tracker.Balloon + map: @map + name: doc.data.payload + color: @color_names[@color_idx++ % @color_names.length] + + veh = @vehicles[doc.data._parsed.payload_configuration] + + # if initial packet has 0,0 lat/long, drop it + if veh.path.length is 0 and doc.data.latitude is 0 and doc.data.longitude is 0 then return + + # if packet is out of order, drop it + if ts <= veh.timestamp then return + veh.timestamp = ts + + veh.setAltitude doc.data.altitude + veh.addPosition doc.data.latitude, doc.data.longitude + + telemetry = {} + + for key,val of doc.data + if key[0] is '_' then continue + + switch key + when "altitude","payload","latitude","longitude","time" + continue + else + telemetry[key] = val + + veh.setTelemetry telemetry + null + + process_listener: (row) -> + null + +# tempolary methods + fetch_test: -> + @db.get_telemetry_by_id(@consumer, "b177187f988c44cce53eca6106381564") + + clear: -> + $('body').html '' + + list: -> out = $('body') + @clear out.append("Upcoming flights

") - this.append(this.flights.upcoming) + @append(@flights.upcoming) out.append("
Active flights

") - this.append(this.flights.active) + @append(@flights.active) append: (list) -> out = $('body') for flight in list - out.append "#{flight.start} #{flight.name} [#{flight._id}]
" + out.append "#{flight.start} #{flight.name} [#{flight._id}]
" + for payload, k in flight.payloads + out.append if k == _len1-1 then "\\- " else "|-" + out.append "#{payload.name} [#{payload._id}]
" + + null + + map_pixel_offset: (pos, offset) -> + new_pos = @map._overlay.getProjection().fromLatLngToDivPixel pos + new_pos.x += offset[0] + new_pos.y += offset[1] + @map._overlay.getProjection().fromDivPixelToLatLng new_pos diff --git a/coffee/habitat.tracker.db.coffee b/coffee/habitat.tracker.db.coffee index 4c40c41..baf3c77 100644 --- a/coffee/habitat.tracker.db.coffee +++ b/coffee/habitat.tracker.db.coffee @@ -4,7 +4,7 @@ habitat.tracker.db = get_flights: (callback, time) -> ts = if time? then time else Math.floor (new Date()).getTime() / 1000 - habitat.db.view "flight/end_start_including_payloads", { + habitat.db.view "flight/end_start_including_payloads", startkey: [ts] include_docs: true success: (data) -> @@ -27,29 +27,17 @@ habitat.tracker.db = # return results callback list null - } - - fetch_payloads: (flight_docs) -> - list = [] - - for doc in flight_docs - list.concat(doc.payloads); - - null get_telemetry_by_flight_id: (callback, id) -> - habitat.db.view "payload_telemetry/flight_payload_time", { + habitat.db.view "payload_telemetry/flight_payload_time", startkey: [id] endkey: [id,{}] include_docs: true success: (data) -> callback data.rows - } get_telemetry_by_id: (callback, id, time = 0) -> - habitat.db.view "payload_telemetry/payload_time", { + habitat.db.view "payload_telemetry/payload_time", startkey: [id,time] endkey: [id,{}] include_docs: true success: (data) -> callback data.rows - } - diff --git a/fabfile.py b/fabfile.py index a64ab52..54a2c89 100644 --- a/fabfile.py +++ b/fabfile.py @@ -7,7 +7,7 @@ def dothis(cmd): run(cmd) def compile_coffee(): - dothis("/usr/lib/node_modules/coffee-script/bin/coffee -b -c -o js/ coffee/*.coffee") + dothis("/usr/local/lib/node_modules/coffee-script/bin/coffee -b -c -o js/ coffee/*.coffee") def build(): compile_coffee()