From deccf7b6022b9c070ad13fd53a516f1e74b9e612 Mon Sep 17 00:00:00 2001 From: pablo Date: Mon, 1 Jul 2013 14:10:20 -0300 Subject: [PATCH] initial commit! --- stoneSoup/config/DataTalks.php | 14 ++ stoneSoup/config/generalConfig.json | 4 + stoneSoup/config/load.php | 15 ++ stoneSoup/config/sections.json | 94 ++++++++++ stoneSoup/config/talks.json | 144 +++++++++++++++ stoneSoup/dao/DAOs.php | 174 ++++++++++++++++++ stoneSoup/dao/Models.php | 98 ++++++++++ .../files/templates/initialText.mustache | 7 + stoneSoup/files/templates/mapTpl.mustache | 30 +++ stoneSoup/files/templates/query.mustache | 18 ++ stoneSoup/files/templates/section.mustache | 5 + stoneSoup/files/templates/talkHref.mustache | 7 + stoneSoup/files/templates/talkPages.mustache | 19 ++ stoneSoup/img/banner.jpg | Bin 0 -> 14050 bytes stoneSoup/img/logo_flisol.png | Bin 0 -> 95601 bytes stoneSoup/index.php | 35 ++++ stoneSoup/js/eventCatchers/default.js | 128 +++++++++++++ stoneSoup/js/injector.js | 5 + stoneSoup/js/models.js | 29 +++ stoneSoup/js/views.js | 78 ++++++++ stoneSoup/model.php | 6 + stoneSoup/phpinfo.php | 1 + stoneSoup/querys/talks.php | 20 ++ 23 files changed, 931 insertions(+) create mode 100755 stoneSoup/config/DataTalks.php create mode 100644 stoneSoup/config/generalConfig.json create mode 100755 stoneSoup/config/load.php create mode 100644 stoneSoup/config/sections.json create mode 100644 stoneSoup/config/talks.json create mode 100755 stoneSoup/dao/DAOs.php create mode 100755 stoneSoup/dao/Models.php create mode 100755 stoneSoup/files/templates/initialText.mustache create mode 100644 stoneSoup/files/templates/mapTpl.mustache create mode 100755 stoneSoup/files/templates/query.mustache create mode 100755 stoneSoup/files/templates/section.mustache create mode 100755 stoneSoup/files/templates/talkHref.mustache create mode 100755 stoneSoup/files/templates/talkPages.mustache create mode 100644 stoneSoup/img/banner.jpg create mode 100755 stoneSoup/img/logo_flisol.png create mode 100755 stoneSoup/index.php create mode 100755 stoneSoup/js/eventCatchers/default.js create mode 100755 stoneSoup/js/injector.js create mode 100755 stoneSoup/js/models.js create mode 100755 stoneSoup/js/views.js create mode 100755 stoneSoup/model.php create mode 100644 stoneSoup/phpinfo.php create mode 100755 stoneSoup/querys/talks.php diff --git a/stoneSoup/config/DataTalks.php b/stoneSoup/config/DataTalks.php new file mode 100755 index 0000000..009dc4f --- /dev/null +++ b/stoneSoup/config/DataTalks.php @@ -0,0 +1,14 @@ +talks; + + $response = array(); + foreach($mocks as $key => $elem){ + $response[] = Place::fromJsonObject($elem); + } + + return $response; + } + + $places = generateMocks(); +?> diff --git a/stoneSoup/config/generalConfig.json b/stoneSoup/config/generalConfig.json new file mode 100644 index 0000000..c4cf239 --- /dev/null +++ b/stoneSoup/config/generalConfig.json @@ -0,0 +1,4 @@ +{ + "applicationPath" : "/usr/share/nginx/www/stoneSoup/", + "fileDataTalks" : "talks.json" +} diff --git a/stoneSoup/config/load.php b/stoneSoup/config/load.php new file mode 100755 index 0000000..96cfbbe --- /dev/null +++ b/stoneSoup/config/load.php @@ -0,0 +1,15 @@ +talks = json_decode(file_get_contents($configObject->fileDataTalks,true)); + + return $configObject; + } +} + +?> \ No newline at end of file diff --git a/stoneSoup/config/sections.json b/stoneSoup/config/sections.json new file mode 100644 index 0000000..3170c9c --- /dev/null +++ b/stoneSoup/config/sections.json @@ -0,0 +1,94 @@ +[ + { + "id":1, + "name":"Splash image", + "image":"banner.jpg", + "type":"image", + "controller":null, + "innerName":"splashScreen" + }, + { + "id":2, + "name":"Agile Open Buenos Aires Seguridad 2013", + "views":[ + "initialText.mustache" + ], + "type":"htmlTemplate", + "controller":null, + "innerName":"generalDescription" + }, + { + "id":3, + "name":"Charlas actuales", + "views":[ + "talkHref.mustache", + "talkPages.mustache" + ], + "comments":[false], + "type":"list", + "controller":"querys/talks.php?q=now", + "innerName":"actualTalks" + }, + { + "id":4, + "name":"Pr\u00f3ximas charlas", + "views":[ + "talkHref.mustache", + "talkPages.mustache" + ], + "type":"list", + "comments":[true], + "controller":"querys/talks.php?q=after", + "innerName":"nextTalks" + }, + { + "id":5, + "name":"queryer", + "views":["query.mustache"], + "type":"htmlTemplate", + "innerName":"queryer" + }, + { + "id":6, + "name":"mapaLugar", + "views":["mapTpl.mustache"], + "type":"map", + "innerName":"Mapa del lugar", + "mapData" : { + "position":{"longitude":-34.58445,"latitude":-58.39801}, + "zoom":17, + "polygons":[ + { + "points": [ + {"longitude":-34.5845053, "latitude":-58.3984702}, + {"longitude":-34.584785, "latitude":-58.3981282}, + {"longitude":-34.5845133, "latitude":-58.3977805}, + {"longitude": -34.5843965, "latitude":-58.3976309}, + {"longitude": -34.584109, "latitude":-58.3979417}, + {"longitude": -34.5845053, "latitude":-58.3984702} + ], + "color": "green", + "fillColor": "#0f3", + "fillOpacity": 0.5 + } + ], + "circles":[ + { + "center":{"longitude":-34.5845133, "latitude":-58.3977805}, + "radius": 3, + "color": "red", + "fillColor": "#f03", + "fillOpacity": 0.5 + } + ] + } + }, + { + "id":7, + "name":"Acerca de...", + "type":"html", + "html":"", + "controller":null, + "innerName":"acercaDe" + } +] diff --git a/stoneSoup/config/talks.json b/stoneSoup/config/talks.json new file mode 100644 index 0000000..fdc1343 --- /dev/null +++ b/stoneSoup/config/talks.json @@ -0,0 +1,144 @@ +[ + { + "id":0, + "name":"Sala 1", + "talks":[ + { + "name":"Mesa redonda: ¿Que medialunas te gustan?", + "timeDateInit":{ + "date":"2013/07/01 04:00:00", + "timezone_type":3, + "timezone":"America\/Argentina\/Buenos_Aires" + }, + "timeDateFinish":{ + "date":"2013/07/01 04:59:00", + "timezone_type":3, + "timezone":"America\/Argentina\/Buenos_Aires" + }, + "description":"Lorem ipsum dolor sit amet2", + "id":1, + "dataUrls":"" + }, + { + "name":"Despertando con seguridad", + "timeDateInit":{ + "date":"2013/07/01 05:00:00", + "timezone_type":3, + "timezone":"America\/Argentina\/Buenos_Aires" + }, + "timeDateFinish":{ + "date":"2013/07/01 06:00:00", + "timezone_type":3, + "timezone":"America\/Argentina\/Buenos_Aires" + }, + "description":"Lorem ipsum dolor sit amet", + "id":2, + "dataUrls":"" + }, + { + "name":"Minuto 1", + "timeDateInit":{ + "date":"2013/07/01 07:01:00", + "timezone_type":3, + "timezone":"America\/Argentina\/Buenos_Aires" + }, + "timeDateFinish":{ + "date":"2013/07/01 09:00:00", + "timezone_type":3, + "timezone":"America\/Argentina\/Buenos_Aires" + }, + "description":"Lorem ipsum dolor sit amet2.1111", + "id":3, + "dataUrls":"" + }, + { + "name":"Hora 9", + "timeDateInit":{ + "date":"2013/07/01 10:01:00", + "timezone_type":3, + "timezone":"America\/Argentina\/Buenos_Aires" + }, + "timeDateFinish":{ + "date":"2013/07/01 23:54:00", + "timezone_type":3, + "timezone":"America\/Argentina\/Buenos_Aires" + }, + "description":"Lorem ipsum dolor sit amet2.1111", + "id":4, + "dataUrls":"" + }, + { + "name":"Hora 12", + "timeDateInit":{ + "date":"2013/07/01 23:55:00", + "timezone_type":3, + "timezone":"America\/Argentina\/Buenos_Aires" + }, + "timeDateFinish":{ + "date":"2013/07/01 23:59:59", + "timezone_type":3, + "timezone":"America\/Argentina\/Buenos_Aires" + }, + "description":"Lorem ipsum dolor sit amet2.1111", + "id":5, + "dataUrls":"" + } + ], + "urlPhoto":"" + }, + { + "id":1, + "name":"Sala 2", + "talks":[ + { + "name":"YaSePaso", + "timeDateInit":{ + "date":"2013/07/01 05:35:50", + "timezone_type":3, + "timezone":"America\/Argentina\/Buenos_Aires" + }, + "timeDateFinish":{ + "date":"2013/07/01 12:35:50", + "timezone_type":3, + "timezone":"America\/Argentina\/Buenos_Aires" + }, + "description":"Lorem ipsum dolor sit amet3", + "id":6, + "dataUrls":"" + }, + { + "name":"Almuerzo", + "timeDateInit":{ + "date":"2013/07/01 14:00:00", + "timezone_type":3, + "timezone":"America\/Argentina\/Buenos_Aires" + }, + "timeDateFinish":{ + "date":"2013/07/01 20:00:00", + "timezone_type":3, + "timezone":"America\/Argentina\/Buenos_Aires" + }, + "description":"Lorem ipsum dolor sit amet4", + "id":7, + "dataUrls":"" + }, + { + "name":"Cena", + "timeDateInit":{ + "date":"2013/07/01 21:00:00", + "timezone_type":3, + "timezone":"America\/Argentina\/Buenos_Aires" + }, + "timeDateFinish":{ + "date":"2013/07/01 23:00:00", + "timezone_type":3, + "timezone":"America\/Argentina\/Buenos_Aires" + }, + "description":"Lorem ipsum dolor sit amet4", + "id":8, + "dataUrls":"" + } + ], + "urlPhoto":"" + } +] diff --git a/stoneSoup/dao/DAOs.php b/stoneSoup/dao/DAOs.php new file mode 100755 index 0000000..d7be3c0 --- /dev/null +++ b/stoneSoup/dao/DAOs.php @@ -0,0 +1,174 @@ +data = $data; + } + + public function all(){ //All talks! + $resp = array(); + foreach ($this->data as $key => $elem) { + $resp = array_merge($resp, $elem->talks); + } + return $resp; + } + + public function now(){ + $now = new DateTime(); + $resp = array(); + + // Filter if init is before "NOW". + $theQuery = array(); + $theQuery["type"] = "simple"; + $theQuery["operator"] = "antes"; + $theQuery["object"] = "charla"; + $theQuery["prop1"] = "timeDateInit"; + $theQuery["value"] = $now->format(DateUtils::getDateFormat()); + + $queryResponse = $this->query($theQuery); + + // Filter if end is after "NOW" (the talk doesn't finished yet) + $theQuery["type"] = "simple"; + $theQuery["operator"] = "despues"; + $theQuery["object"] = "charla"; + $theQuery["prop1"] = "timeDateFinish"; + $theQuery["value"] = $now->format(DateUtils::getDateFormat()); + + $resp = $this->query($theQuery,$queryResponse); + + return $resp; + } + + public function after(){ + $now = new DateTime(); + $resp = array(); + + // Filter if init is after "NOW" + $theQuery = array(); + $theQuery["type"] = "simple"; + $theQuery["operator"] = "despues"; + $theQuery["object"] = "charla"; + $theQuery["prop1"] = "timeDateInit"; + $theQuery["value"] = $now->format(DateUtils::getDateFormat()); + + $queryResponse = $this->query($theQuery); + + // TODO: Only use the Query language. + // Obtained all AFTER elements. + // Now, obtain minimals per Places: + + $resp = array(); + foreach ($queryResponse as $key => $elem) { + $actualMinimal = null; + if(array_key_exists($elem->place->id,$resp)) + $actualMinimal = $resp[$elem->place->id]; + + $resp[$elem->place->id] = $elem->closerETA($actualMinimal); + + } + + return $resp; + } + + public function before(){ + return array(); + } + + public function talksIn($idPlace){ + return array(); + } + /* + { + - "type": "simple", + - "operator": "(igual|mayor|menor|cantidad)", + - "object" : "(salon|charla)" + "prop1": name|timeDateInit|timeDateFinish|description|id|dataUrls|anyTalk", + "prop2": si es anyTalk, la propiedad de la charla. + "value": valor (constante) con el cual comparará. + "return": "\d+|all" + } + */ + public function query($theQuery, $optionalArray = null){ + + // Operadores binarios + $igualComparator = function ($elem,$i,$theQuery,$prop = "prop1",$value= "value"){ + return $elem->$theQuery[$prop] == $theQuery[$value]; + }; + $mayorComparator = function ($elem,$i,$theQuery,$prop = "prop1",$value= "value"){ + return $elem->$theQuery[$prop] > $theQuery[$value]; + }; + $menorComparator = function ($elem,$i,$theQuery,$prop = "prop1",$value= "value"){ + return $elem->$theQuery[$prop] < $theQuery[$value]; + }; + $cantidadComparator = function ($elem,$i,$theQuery,$prop= "prop1",$value= "value"){ + return count($elem->$theQuery[$prop]) == $theQuery[$value]; + }; + + $antesComparator = function ($elem,$i,$theQuery,$prop = "prop1",$value= "value"){ + return $elem->$theQuery[$prop] <= DateUtils::getDate($theQuery[$value]); + }; + $despuesComparator = function ($elem,$i,$theQuery,$prop = "prop1",$value= "value"){ + return $elem->$theQuery[$prop] >= DateUtils::getDate($theQuery[$value]); + }; + + // Operadores ternarios + $entreComparator = function ($elem,$i,$theQuery) use (&$despuesComparator,&$antesComparator){ + $prop1 = "prop1"; + $prop2 = "prop2"; + if($theQuery["prop2"] == "") + $prop2 = $prop1; + + return $despuesComparator($elem,$i,$theQuery,$prop1,"value1") && + $antesComparator($elem,$i,$theQuery,$prop2,"value2"); + }; + + // Operadores lógicos + // TODO: Revisar!!! + $OComparator = function($func1,$func2,$elem,$i,$theQuery){ + return call_user_func($func1,$elem,$i,$theQuery) || + call_user_func($func2,$elem,$i,$theQuery); + }; + $YComparator = function($func1,$func2,$elem,$i,$theQuery){ + return call_user_func($func1,$elem,$i,$theQuery) && + call_user_func($func2,$elem,$i,$theQuery); + }; + + if ($theQuery["type"] == "simple"){ + // Divido por mayusculas + $arr = preg_split('/(?=[A-Z])/',$theQuery["operator"]); + $sizeArr = count($arr); + /* + Si sizeArr == 1, entonces estoy en una query comun. + Si sizeArr > 2, entonces estoy en una query "compuesta". + */ + if($sizeArr == 1) + $functionToDo = ${$arr[0] . "Comparator"}; + elseif($sizeArr>2){ //TODO: Aplicar a mas de dos argumentos + + } + + // Despues me fijo en el objeto. + $arrayObjects = null; + if($optionalArray){ + $arrayObjects = $optionalArray; + } else if($theQuery["object"] == "charla"){ + $arrayObjects = $this->all(); + } else if($theQuery["object"] == "salon"){ + $arrayObjects = $this->data; + } + + // Ahora voy a comparar! + $queryResponse = array(); + foreach ($arrayObjects as $key => $elem){ + $r = call_user_func($functionToDo,$elem,$key,$theQuery); + if($r){ + $queryResponse[] = $elem; + } + } + + return $queryResponse; + } + return "ERROR"; // see how to throw exceptions in php. + } +} +?> diff --git a/stoneSoup/dao/Models.php b/stoneSoup/dao/Models.php new file mode 100755 index 0000000..4a78c9a --- /dev/null +++ b/stoneSoup/dao/Models.php @@ -0,0 +1,98 @@ +", $timeDateInit = null, $timeDateFinish= null, $description = "", $dataUrls = "", + $place = "") { + $this->name = $name; + $this->timeDateInit = $timeDateInit; + $this->timeDateFinish = $timeDateFinish; + $this->description = $description; + $this->id = $id; + $this->dataUrls = $dataUrls; + $this->place = $place; + } + + public static function fromJsonObject($object){ + $instance = new self(); + $instance->name = $object->name; + + $instance->timeDateInit = DateUtils::getDate($object->timeDateInit->date); + $instance->timeDateFinish = DateUtils::getDate($object->timeDateFinish->date); + $instance->description = $object->description; + $instance->id = $object->id; + $instance->dataUrls = $object->dataUrls; + + + return $instance; + } + + public function ETA(){ + return $this->timeDateInit->diff(new DateTime()); + } + + public function closerETA($talk){ + if($talk) + return $this->ETA() < $talk->ETA()? $this : $talk; + else + return $this; + } +} + +class Place { + public $name; + public $talks; + public $urlPhoto; + public $id; + + function __construct($id = 0, $name = "", $talks = array(),$urlPhoto = ""){ + $this->name = $name; + $this->talks = $talks; + $this->urlPhoto = $urlPhoto; + $instance->id = $id; + + } + + public static function fromJsonObject($object){ + $instance = new self(); + $instance->name = $object->name; + $instance->urlPhoto = $object->urlPhoto; + $instance->talks = array(); + $instance->id = $object->id; + + $instanceForTalks = clone $instance; + $tmpTalks = array(); + + foreach($object->talks as $key => $elem){ + $newTalk = Talk::fromJsonObject($elem); + $newTalk->place = $instanceForTalks; + $tmpTalks[] = $newTalk; + } + + $instance->talks = $tmpTalks; + + return $instance; + } +} + + + + + +?> diff --git a/stoneSoup/files/templates/initialText.mustache b/stoneSoup/files/templates/initialText.mustache new file mode 100755 index 0000000..4c59ec0 --- /dev/null +++ b/stoneSoup/files/templates/initialText.mustache @@ -0,0 +1,7 @@ +
+

Agiles Open Buenos Aires Seguridad 2013!

+ +

Desde 2008 con las Jornadas Latinoamericanas Ágiles, y desde el 2009 con los Agile Open en Buenos Aires, Córdoba, Tandil, La Plata, Mar del Plata, Bahía Blanca, Tucumán y Paraná, este año organizamos el evento Agile Open Buenos Aires Seguridad 2013, enfocado en el tema Seguridad y Agile.

+ +

Este evento servirá para la capacitación y el intercambio de experiencias relacionadas con la seguridad informática. Esperamos juntar distintas comunidades en un encuentro enriquecedor con un formato que nunca falla (Open Space).

+
\ No newline at end of file diff --git a/stoneSoup/files/templates/mapTpl.mustache b/stoneSoup/files/templates/mapTpl.mustache new file mode 100644 index 0000000..dc0188b --- /dev/null +++ b/stoneSoup/files/templates/mapTpl.mustache @@ -0,0 +1,30 @@ +

Mapa del evento.

+ +
+ +
diff --git a/stoneSoup/files/templates/query.mustache b/stoneSoup/files/templates/query.mustache new file mode 100755 index 0000000..b224928 --- /dev/null +++ b/stoneSoup/files/templates/query.mustache @@ -0,0 +1,18 @@ + + +

+ diff --git a/stoneSoup/files/templates/section.mustache b/stoneSoup/files/templates/section.mustache new file mode 100755 index 0000000..21ac2ad --- /dev/null +++ b/stoneSoup/files/templates/section.mustache @@ -0,0 +1,5 @@ +
+

{{name}}

+
+
\ No newline at end of file diff --git a/stoneSoup/files/templates/talkHref.mustache b/stoneSoup/files/templates/talkHref.mustache new file mode 100755 index 0000000..bbfad11 --- /dev/null +++ b/stoneSoup/files/templates/talkHref.mustache @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/stoneSoup/files/templates/talkPages.mustache b/stoneSoup/files/templates/talkPages.mustache new file mode 100755 index 0000000..c8c11d2 --- /dev/null +++ b/stoneSoup/files/templates/talkPages.mustache @@ -0,0 +1,19 @@ + +
+
+ Inicio

{{name}}

+
+
+
+

{{name}}

+

{{timeDateInit}} a {{timeDateFinish}}

+

{{place.name}}

+

{{description}}

+
+
+

Archivos adjuntos

+
+
+
+
+ diff --git a/stoneSoup/img/banner.jpg b/stoneSoup/img/banner.jpg new file mode 100644 index 0000000000000000000000000000000000000000..867f566955b511a3fbf78824e53aa0fc9d75b575 GIT binary patch literal 14050 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 JSGH&Ae*hQfVF3UD literal 0 HcmV?d00001 diff --git a/stoneSoup/img/logo_flisol.png b/stoneSoup/img/logo_flisol.png new file mode 100755 index 0000000000000000000000000000000000000000..cf1f0e3852c9e745db0de2871c8a45782c9d788e GIT binary patch literal 95601 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

EO&CO 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≶b;hOL_x;_eXnK4hkG+U%FiYJBiz&CP+c{aV44@`5#`6pc^%%c^V94XO6F3+P zYp@Urqa*hsZgHuEo!@7A{bzOZu1m^^e}9Lx!r}V(qh(9ZcM4auV10J%R_~L%Q()V3 z`j^P2<36zruuP~{6lE5)xtOpw*?~*}-TC>i#^LI(j(e4s8A=3GJFzNRL~Ia7|s&cK9LQ!U%PKysh67c8tv~4i0j9$(I~8juP`Pgzb`xa5 z)P)+Uc=Uc?J6IP8o5X+u1SZhEfx2}6DJ}97HCOrmOacT4T-R<^##y6c@9Iek%jQ_q zQMC8@XHaOtBmAvA;q$QrW_Dnsx$}&qr3_aC%@qw>K2%%o9B#FMO7f-HlnUL~P1}*` zo@6@0)e}1hlb^9arFm2hDRmufwYRkuH8nPlBRPk{bE__zXMa}iorHn=th!rU>8Yn}vEljU|JVAK2ca0jxE7a!W9HDd=S7@wBMC zsttqYe)waiyOJT5W+?$hygx?$?0dhog2vi?;Yo?Rn5ff%x}BTvXnS=)&}hc{yfQ={CNIZYSY~hdKyM7h zC7B}@XmWCLmp}y{nSeREi2)XyXa`NAF6BDOD&yp6QqR{`!3_rqu?|b^y7{^gvs~4P zqs8Wbfg>8gWq)LhTVVpGTn^f2j5CJ$h0Uda~DF@S0Af8Z9?$e+@f3SsQ%h2k}bP5>qoX7mrBWRmjShs6D#1 z4`pFwA!R>H(0GcHZf=jjZ*$3TY3aN-!|Cfp`q&rEFE6&qA;xgj<9jwK&fg`zFhTym zp(!lEVB;bCfGQHfFlY&pN|)P+bASs5J@|tx)#eU=2^9#nru;z=$W%NEJQ*NO1&Rp> z7_}M0R5?g+-90=y4}F%cAS*Ewsim%4yScf!)WOzUvd`Dr(9s05Ojp)Hc{&3!T1u*` zSLC28)YQ}u8Kg}*W&^}AEGfy!QPIL*$iCqf1bl@ajnAX7CMLA z0YAJoEW*>iGKeko3O;*t3{(V}pdG5jZP<3+;r$EL?JqV@Xz*{|9XzA3teC$^LDZZ@d2~AhZ1jbdy{V>z-?DFPJtSso~g$T8aG3 zjK7U$1d$%W?2(8k+)VhRSW)5XDo0?{_TP`;tX)+2flQ0O%hTfCVjH7e+y3 zQc_U3!bLzsB0a)gG)qg*zKJ6mNHT$9z<`CwWKrn0YZ5>-gyF*%f^!Ca5LNtEY6=R9 z?k)|s0f;JFvT)+a@%`n>BxnrWfkn4BHKk_M{4T4iA9iA|mvn_ysU}&sc{-)@3?lxp zogZs-C_I6SUuVUPTr7zsKBW1H4TZ#^sZ3m|cnuV49obz;jHCqXJ0ee?N)jl8vV#UfYto$K|izEg7jd<7Rt z^y@!tfm-%UZEjo2x*jxKGQBr4=OQJpy4u|It3F0vys24PFYWNPWo-yNV#QA*(n5s= zZ5=?0^HK(=d>#{MVMBu+-sre>@_jKy#20tpFXjquf z-`niS+vccicBvn#d*u$XiTE;~Xc3k%NN?V-RswDuP|60%Ag_;l2w0mby61K@eLobj zlE`bMb}@YEoq^;|9sFq6Y8_3GPs7u_i<0(HHNrd}Z|w!-qf^)Q=IJ!uj7iVkH-~ggP9!?>tiC90fv6yDYduB506fidxqI3(?vu+ zlOXscL3X_8yC_qmYordLn@$eMK;C)@;YPXS}5|Be% zZ>QQ9At+a19&JkCJq=jlNFBqDSvUCOvs|;~<5QS4hLDzpJq;GZ>YLNsdy}t@uVzVr zp|BEKz$Mt5_buF%C3I9FDxv`vMW2_F0;@A6V;eov3^zpuqYT-_CWS)S$kWv=SCQ)4 z+9|))_fPKt7VQZLMF0L6+1s#Cm=U{>i@Iw3d`Q;|!|T91Ym%_ipd9*#eO3GG6oD-- zLgZ{nRQr5$-tLkA9vSBc7GnbD0) zz|;Q%o~9RSPdBP`&2cd|aq5bDFNS*6JIpRN6Y_u}_;virpuCbvni^wnZqF|AgF-@9Jd^{qYY~QFM2yX3-A@b4t)# zr1O-qjZ;udoco}tS#5%8^bP<@I_>T3T)*`{%#6N~LrAGoe{ARQ)6!?EdgFs?MJLQ? zi&7zIuD>N!r{j5m@*g~Dmgo)ZDPZdC*a%AWBVIu;BBAu&U_T<>^{0>D1`}T=qV)@H zeEXNF>``qLwl%X%>L%f}#1dSQerrAaj3)`0yBH(h*|5lv<*t`-91W59C^vO_)`jnH z%ZD9AD-v<|{nCH)CvH8}FpJCg*xsDhqgluJBq~ZD9qLk1(pZINW;Gjbs-Z7wVpZ8_ zMgP6)Xb%v7zLb}bH9Csrfb$cSC5r_9CfXGvH6O*aN=rdV%*3rsvQ_49yu(oJZ8gNvC13bG?nq?%xqSH7 zW2}O6GBS|Ygy?#>*#kiyuRH!FB$a{QydG(r9=lGC37wkbwN|s5m$r)J>&1l{saS2P z3{NInJ(0)Z;fNJLuPX;<6lL^4*ZkrlWzg;uj`j_`gGomh#YyuzMJ9C4h$QBS4?I2o z7>Nm!sHl^l{QH@`9iM5)Pp+oBL{%_e&ry%qZPa5SqJ1`e_ZzTjq@=b}lHq%xZpTH9U^f6h{{ zFSCa~vqOrse*SeP5}sD7l1k3Q2XuI&M6e0jv1nyTq;(c z&AjjX@LDKUWjsf{*#0}(+gY?8X^Ern8SQB1^BvYCqbY)!(Jvvt0Kz|^h9jE6x$m^3yquDZf?`3-*m!b2Pl_HqA!Um6q{1*hL3`s&wkCoRgEw*MVhl!# z1J4|le5%V;7@rPufbFN?F8I41N_wf?9o3O^;WsZ7X@pv&5EDLZnSDh~=S}7--aVfC zFv#aOPuR-d%jdy@aB{B%O>X2V`(m6f2-HSgGQWa??kNc9@Dz=4`^NJLC{J)DK!9IZ zd_4Z6zt^%cojnnLi)Ms~0DdUjqgN5{#xp6sT6uPdB|B4}0MQ+hQedY&^t{pT&$Mw#1dY>9#*bL*sc(N=N;^ zWVVgG=Wl%teG52Wz(Sw_vU{<@q?P@{!-xAE@z^mZ!>W*0PRqVaX$PBxkQZ6MFgA%S^Fw!$J+(LUDM>DDhC6Yier#fNpjK z4qKrwurw}jwqB}~y-b1AP?~L$L*x-1m_1Dvd?I+9+mn0cot;_B{8y6in74H)WRUSX z#b*xIin!?ar}SuG@*BlKv{`ETF0*f>6?|BIApA-JaVHYIV2~iI?^(!?X_X?NHsbH0 zz-pczG2rk!MIjre$NRp-kLUe|fSpo=IFQBe17)xLztqKh$X^V)8`oBYYj?Y@tfQ9g zmt7~HYyX96O0hOxzUf|?)zRStO*3W&|{l!S+_QNKkV&Wx^1P1SOYdX%1&@)s$@skRw# zjVHhgKrV;toS~PYkGHq*6+kMKF`fIM^#C$o61b&D8mg<0h=? z)uRT?KETR~G}u6V3esG~`vI=Jyu;~w6&-vbJi!aBlwen+Th|Yz@}zIAX{+( zuxf-s9}kazs;0CKK@-65Utu1CA|MD;#Gprg6Nkb$b1`@1by4Yp-aFj+hDH$ zP7EdK=V6T4tLd!d-09BD)QXEXlr@ip!-{01TJvJU*2Pyw*@*)2xry$X{VC?7vm9y# z!odtu!D(tzDgez{Pk~5Yu zVNS8zS!47((Fmj5G?=S2fK#?{FzUIzzX8n%y<_pC(w&_h8~XSw?c%|_y$ni+;?9xy zaqQ%{zyD32z2)4@n?RWTM5H26@y7*(gp%eebj|V9aC#zUeRbqTz-W4R+3(2XUo+S~ z`&_;z{&V|7%=rnSotGD$1&x_DE0wA$nz{|s9AWcN0R3p@JaUEO~=gZT_ zj{2)nSJ9Ex@1{wc~yYu32?`V8uB#F|_=AoGh& zyr#jW`GjE|Qd!MunF%Pwgfbjpj&D6bXLEV9qC%7P_|*t$X^3`&R^H_+W$(f>dWokd zSW=$Aaqs|xcUv+{wF%yUXrVS>FrYE+4!mE<5_b7ItrsMo_3}t@;}afUSP6wT@=Oof zTvKH$XbJrIt21mCIuZYv$5^OIVQtk(8k%hTTV4!|u>zK%`IS~& zsf3ZxkhFR8&APp|Lol&A8874PjOLhLJgi^o$ts8Zi5eh~|K&j*`OZC-TzBdRQ|YiA(==z#* zU!<;c)kd~}Qh2goJF8=Fzo*7(ndix&1a)h)E-o$I(UboVm)p@H3HJ}AVPN}$ut7xY~0=&F4vvX-u+C+F=d21+KC)B)#f!%zD z^gqT>2(LU8$`uOhxu@?LS*89vkb&+;B}Qm|Rq6arEyyufrD5^$=r%wmf-3k4q;-B? z_i3t}5n2oO7IKR}P&WT*oc-qS(=zV4wXsL3>Ywb`C2j8TjNX6;W@Fe$)$Isa__w3l zT?y8ktX5jTom>84=fTFdqaty;aJR&r{d0J6wsp7nIiZ#K8X2wDjLdR{eKbuv*UfvQ zAcbko|5On#&p+(ADx^BSzIqRb5Imm4s;lQ!LBcYz219x@q^Mz*5CSU#B$5$3@9pnz zF@vIiRoaIp)8)nMsTK!C->%CNEHTpfYxU?DyDi1wO{uM1Ci3(1k4d=DP*D*{nm^10 z5bUCOXuqRYdn9toM0Jjd7=&2p>*;m8OkbrKn{rVvO_~E$Z=<6=Xy|D}6!E5>SsCrM zz58gXYf2ZY+it4>;e!;x0f0$lO?W~BaNnC78h%{htfWkZMbrd61_l8}t~n@10!I(Q z8r^p9Uoazy86j^J^9|7MO*4{GXZi6T5FoXK4u+6zB?yGB2mVWYd4(fg`*Y9c zf>iH<)P#~rL^Z=yxhwL@A0bGpLlTrqmRwFv;0sIHq;9`jlFI=Zb_iM4*abh(>}>^Y zup6@inpP<&b4vd?I;*NIz+iIe?CcCTM?A+U=o}$hUv4N|o&fISp4FJKQ5vas{To^>%&Vc5g5rPtP`& ziO_5$9p^iXFeO_@WFoB^4!O3y$$Pd-(acIwei11P$%l<1Dx+lQ#h?jN-N>sGWz~q` zgQf?ia5(r`#$X1Z8}!cB){Bhz1;A1xExKeSx?cz&or3|o#%JKY)09_QY%=s^V0UkQ zb6%I83jE{lz(+uVy6BDKi~8gnDNU8DO>{~6po z%By9)85bDE>MWCRyAU_gpmqLup_%j>R!92X?|RiJJZo)-;=!lb8jQ55}%gVoXrVwH}>mHn+S zrHI1%ok&Ma4tu7+Mu#n%QX)Yq^GZHohLQxbS+BPB)nDN{S^asu!IaH%jp>pzuos}t z2&U^oiX*p^)`j`2_DG@!)-+SU{>7O>gOCbF&5ihNLCy)(o@hG$WVPa2Mz`fad4Gty zZI9JO#_Ip^Bz}$qdWhT$UPd@B2nCu4`pt?r(8Kk!?#o1i8zXEway;VD3zuclw@{Ev zoebLn`_kjr+ zC&;dm8UTkGj)O9?F1LeTXFjE2*Q^#P6q$?^3QA z=NzZ;JL@06=#moPKML=9)RQw4pNHAm?e(qzZ1ghB62|xB#RcqC`%O4s~83rHKJ^M zl>R~=Vf)WATpz*)WDze&Yg<|(G}yvGqjJYxG)KOW#I^MoN3gBN2cg%hO7=dbR@mHr z=NsU1SlZe;5A=w?!S^eYb_KA^1^KIARB z-E-rA#bx|mtA|K2 zcvuCooy)y_TSwmW#Ogs|^6cUJ<$e6aL!eiy(|gIsUw=2n#^bG@ZNuV7di$v2^qQ}PwE!T?d zS&WnPk-6r4r_ zO$UXnssk@bw$-etn;iYVpLM*%81}#V{>5oS&&IJu>qvMEu?`zm1T|C?IbZBOw{I}& z!_yD9Ra6TS7WWvK5$`HJ(j#IBrZBsXR4y+sxy5pU&@a+)^J?qauUtATv=N_%7H01= zGX9(dShkCy7ZAz#z8qB;#4zLs6J>3|<{U|3VegZeySpvPNd@9dCrgSkrL^0-&ZB_I zWSH{5#LX3EI?pWOmGj?%jv`s|$)K*IiVe}VXZlWUlzMvV`6t#eInC*&v#7LH#ONe| z<}*}7LtYl(%^^15^gafxyu7)&VOh;xTu5$j_@R$KLl)*lEzEO14bE0nX4LFZj=u7R~S1iDn%D2nN*wlw`wRZQ;!>`#Yk z49eKUP2~Hd(~(>awW0ZHkeV<&dc$Bp8flX9c-O2Vxi9mS44XA zmQ~Z-oB3pLOUIZgCBAJ4Q*`_4Ef<_z#)_lD^9*8>Yi!eOWXEj}h^+enWX7}FX zc^xe)mjSh*cmo8dL>}zTe>v=Om?I(@W=Tidch`u!X4@2@KJ=q3g(Pqh5ZF73KqMhu z&FSMTib3}v71hmR1GD~>d{IM)Xhg@hPj>yUf<~{1L)7CrEF-VRbuUWEJesD!lr$0C zRn*|(P&{s;=z%|AubpwF(77QkFc$p(&l-T5N2FXNpc2DgZn?XvOXAVwX!tfz4nq>X6B;(eMu{MK$TnHzfbo z-y9-U{d;W&qQOa9hfKTj?Hes6B_;Nd3sz+#=zKzYT&SX;^v+bpdZzt#!yblaR&Q9J zK@8?zKzOj$&BUm1`aBHzus(=SGSKx~rj#DtYA_g^lA&F9sUZB}8+y&q$YG>amO?gg zk|Zb>X8|J`uq>2N(sp+$P?is5DMHogN9`-O3X_NQ`!b0G$}nN0oMG>IjHfFdx2ee_tul(pQY=Jl&*;81cE!`+uX?7D8^PqtNYARY z%Xq7|#V8LwpIa0uUd1X7t2^f9u|({{C7Lx1kHNsv~2J{lhbH4cUOzMl(Bre z_JR9Ruug>Uyrf}0MrUuYbQ!lc$3;s4tW+UzYN_3269FGPO;O z*4A(BKWnhb0zba2XciMB;&nbMq}3n>DC^=Tw^(x~)$Q%sqXy`af|FpB;knO;)S4Xk zYy`@NhK5>&ey$7)8p!8$q#p`E$Pfk)9wjIMR&;Yb4lL8r^ZfmAoKr;=&8TR^eKfuJ z8MoDbph_TEgkH3~F%YfivT-*5-;lQoDnFJ3B9zVOxbD$DSU7TObjW*grih3$p*}a? zj8|nz0`rtk+uWRBs8dg+-~P|qHK47TRABASP%f@CYrQ*rJa)~wsJ)~~gjYC;azW|2 zLg^Z5tp@u2OVN*&5@@-NkyiG)PALwJD|IZQi|A0NExl)sOKu5nJs&$X9~W68;%KksaDGBaEAs0L|CEj!)`ov#=n z;(AVUEb$o8;o%EGS=O86lV=#*o#)^6Cvca zs3!h46+iIhfoUN_isd+!5&AYfB3YM%dTx`*Q2UJh?;BSI_AgNX457v1P(J z{@O$J)TLUJVp~I4Ip$t`qx5)W8&FN(kP#{?6mW%&)+7-i4CwOAI0bi7h!t>aP6_+d zHRZL>bI05dK#=<@V2!LtZt)Jh;nZJ-i8&7W;H7l@hQobi{f+F#@)Atw!Ia|PhH8GceUpG_nRum zc5Ty)c^aHg&xHAL`OkbH^<78B85tR4p!cpeX2{$iB#j@-DbYF>a(0GgY7>VVkxhCz z&Nt1%Pt)w^=kMZDd)(fA+wLR}Wul#;-1~C_-ePAOFvIz`d9u=nn3BEARlU-FygJ=H ztfq-NSl)H$NHJL=-7BkunyB_KJcIjsDudtTWDO zLg?j7u@<5e%JWz+94>v_gM>wY2tFic7D%(=xl+fL_2KCI&-4C+ghLvTgTtJ6)y_yi zz8w3wU`I|d1nH21$~DZI|8^E;Ed&bUx78&09kBbbCgw*kbCf#cSv=El9&(xN;^j3g zk63~$RQxP3_>Ttuqr;5Sgn}+eNmq?Ry`g$)jlOSj<@AkoaV>9{cq!ys@I;x0k#7AFMv~{PgM6A9~CHvkbI} ze$p}9ev|17-9eI{=;b@3yo;|^1FBMBuoJYh%?L)sV5ZAtjK_i)bsF{PkD6V zQ}3;~itL;mFCoWPH@mAV1s8e@c+m{HbKm)&*2bmsm)aa-r_Mg`Mu-!)r$O7!Td&c| z*PMs+lZbk~y{{R>xS{tL=z86-YSPL)w_Kd;T>Q zqaL@xed=U-@LMcgRkEy%q@hts}u$= z5HF%NW}I`_t#q~d=#4Fzv>0}8E)C8_j)@OfcF)3EV@_8(j^D?bhS!1XR~&3mb)1f> zI=MUp1SJ;g8*=>DBeq8Z#;B)3f31U>elFK;enp&L+b|L|hY?M=wtj1B;W2bjY!Cyk z50Cty?dpgf^1DHt~a_QuOI6P^h+8 z>ejEXuP38C#px(CVZyk%%6QBNSBp>Jk{98)I1bT5`T3{qa8|ys?nRdJ5liY=Wz2eL zGAtoNm?GSoe1W-FFTsjVM^`@oQNXt1_5IslbH#vB7U1YEMRvVO8@GHF)V~N zfUXdH#S=;pem;yRKO2*XM-l#Kj+lZ|*fhv2mpv%3OCg8K$m2qdw$jRty%idW>B;l-Z zR=MmIvUh%;zTclez~k<7pU>z0{=DC>*YoYTxTH8BZ#U(G0&b6&*N?AhSaNe?b;G+f z;>v}Rx8HTlI8j3C-1QN5_J-li+SxbdqygV!m@`41%`{+Yo`3=jd`4N!Bg}c2tTGNw^TI zVqg}TJ-T;Ri|Jq6Cq{qVdvp1VnhN!Y6ppuM3 zXNI=FBIj84q+A={eN@9EMXygbR!Bic;>J2lNw_&KH_bd5XHZ*CTkE?Jk6PS9R_^BD zHnT+D_7;Iho*bwSQkO(R3KOz{(%G$B66WK1xN!C5;||!IcJb$5yA9K{?>0o^Vq%U! z#JNDemgB)fxas!HFiQvV3L6DkOfotGCx9JSaB$g>I>dv_j0{4rv2wSR$Pvq38H447 z+=T7aqnB$f#NW1zdPkg`oODiyDSx-CIH_j)_Ki+}p_^ra?Edx042Qp#GMhYOPfyQp zmSsw;@ypwIJZlJ;WtR&QT+ZGqPmq>sAwV@ElyKW74fP5OYP2y3#v-ki?!3k{1b=Q4 zOITSsW7VUob6fVei1Km)m$OEnn2@z{L7q^GpSQdkOowdBOaVI9XjKh>iIag;XzJnL zt0qNLk>0edwl?4~j~wfz2s`FWQ1N+q#@v!Y^5kuTA2l`g2cRAg)iHWOGEG5$J$|($ zzaC5$Mx%0*WH^kC&8^NZLZ((veBPZra%EbpBYerrQA2w$3?+bx-u|asT^>R&fxkI& zpjN3#DtpJup3*$A;%d9BNFD0t;AA!aG>vXniZ{*0*;y!PMaK#${hFJ5$brLn)!`>- zWwrG8_iKZanRtf2Am*z;cD#|WHUf&mIbjHUlF3HT^2Td7PqK04?iu1t4Q1vj9{iq` zf^(CiHTwNk%xoptiR;!sH2(qRO3CW#-qPaYGa%Nrv;~n`B^#=Z*OXpIwm*O5stE9&kup%@-8+!Y zVj1b~E1BP&19PcWuC`s`J$4+}d9{3kd(!Wdc3HF+4~~E%VoS zQK_bgzLS16J2T3s;|FIuVq#(qKww{+?);ntQ`XjIl(;kt9&yDuoRSRSsBm;aW9NWC zRHp-$>+lfth`&nekwOM`#3L=_W7UV87`24}ZW>YgQipd8w@Hlu>fP5V;$l0&a>-2S zjuib~AkkNExP+32gLoiPU0p2>IS0c4I4+X2{k%;m1aVpXplnL+=>}fp)_|9&klrv1 z|NHx|ag;pc{;zu$pdgS7y2B!rq%rQ-#mg`Pg#oc>+ggmSsW$fUioW!hDbCSm9cEypL z*MNUkr%=ch=+Fu%0lGUoKiqHo8iIJ>@~mNg@s3*y6kubfb#AsGfH?{h(%s$NOZs}1 zcWh5sNJPk!lPU}>gs7+}z#5l}raXFAv?X6T?Hb~1`T+E=jDf}5k(ynGsOY&k-^(Ku zB*GZ`Iakt_rT>bDW&M`EmC${F@!SbKKRdVxZK{U^M0|xjsU&|GF`mSe&5SC8c^SE8 zCdS=gRjfuxqS<@Xdl=eor_)1+YmG5uP8udi(s@<$sRj zA~xEVxggD!2~b-~olkTFX>sWTn0$u8W2U^3El^{AP-JY1cqhX>WPZ2s<3pBq?I??z zoyncw$jCn$0?*Dec;jq-y2yopO!OzNjKwOjzcJEuPQ4|8|FXk(_oU9Pb-*0-zB?CU zlds}QEyBGEO#wo<1nO&=D)$+Go#%52@P$s*dCV&xDnbxY^r0Bdvp_N;)M6RpK~?MRC5Y9{Z+tGDk^b)5Em4$nnrSFwn*Np6nxLuv zi>FvDt0D{*uO5F~^=&*b;fYFc{r7H&C=Y_Zt;B8WNQO#yQXau|;rH;KPu7&~F*PrVo)tAj)AoP72os z)`_iFrAaU8oR%mk>8u+B{2PH!tm=7R{!vO@<}k><7fv$yLM4;7rv_+RYcjA?0)m2e zz*hhA%Z3=Q;X7M9ijo^pEyx83s6MYzFs*ZDlc#)qYW_KmFQCtghu4Mt$+b2Ru?I|q zlPA*BiDK6WTe@$a>m;@WMdp@TkJH%1rcT{=?91qoqCUDVv>;dNjRN45J7dmd^t5!` zZB+$L*KOa`g>}RT=m2FGK5r-GwX~s+G3@0C zp?r`qhP;VP+0)2gYrXisNxOZBTG{=qpArmTYvv9;RDyHyXIBDocu(o}jgd>cL-SmJ z(4GA+ModU)Z-q)Zl=QZure*N>a_Eo_a%~vg!+R&dA-18NWu=l$LP~Dt!wc;CV*4dO zf_XS%WBlB&=Ok^ihC4UtJMUpZ+X6s@i~$rk?9}@MPb0Ie2K~v%DJ$p^tAHrTSogT~JU!`4 z>XK;{e)8?NilBjYx!}W}Wsjv>J^*6mA28PL3(c2ohc3dg27`A1q+RMx6$dmqXQ&WI z@pAg&&v#O*+g#EwHVovQr%WNzP{5>gmv zdj&S{oKz<2Zp((S=nX6I%Qws4ylAxbD^ag zg0?naNfOcPcpQFkm^sWEqp{|#`FhKVwZa$uoaEW)R9{WnJ@2LG_;j+Lxx>!5o|8HV z0J$1MK6V^_%_2H0;I6d^LmVNeiJK?oplCY67pLHz7gf4@fTP1`^)s5SWWS(YjXeOupn*ErN z`Jr>PClGz^i`v%hmXf+ss{sKH|>qP(v31U&^=tC2n7?CN$O z-^L}*Xm$wI8}%%&vK8rtn(zr)1zHJ6wWeX&1qB7ytu3DS`q?|@JS>TYRbOahQk#d! zcH3`j)1O|qNZR8&QzzWiBOO;o0C|bTPSk>@zvn=v;$`YMmsnPin^_9;uOId$-RbPw!) zQ;A@y+2WnR2cGufZ2`_=PTn4$@*lzZl|?(LODXq}C$W+=_qB7}=0|!rvv5ybyZ|8x zfPy2`FJ8GugWg@-x(TTft6hOejz;PiB16mAI5;ehGp~?1mC5+9acPk)3-Gdxy66{> zJhwjAWY4FDLPQ?=e4ErhI77iEr~KKs4CGoJ zu!bQ>uBuYu^=6jDJ?Kf$V;>Y|*iz;V#3vT_c3)D4T!n)J2P6*@W}=H_{8~^bn4-sa zB@b6uki2vrt?DaOl^uyk3pmG_%QNdEt|_!fci>Ms;9#sH@BO8LteblW2gUXG%Osc6 z!R_}k4-xrc-pYMFTwcS}+vE1Uu{O2#kpr(ys9M4oBc7JI-#af3R7=x0;Ew&0!2sG@ zdrxGC#RBJQw@K$sDCyCeH?E!UTWc01|H-iDla#i^n_YQf)Cj{Wv;aWsRlwM?tBw3; z_x!Bhs@g~J{5Ol6^1%f?jR;;5Q**Lf4Rzmv^h>RqFldW#s9!8L?ii=+HTxN}U3!_9 zN>dWtH=C5aXNxkeD-P8Yfd(GL@$k~kfP{wzA`48c+{09z$>oF$+1-&2Y#1g6F(L_v zGkjnH{41hV<=md#ZRm&EsPeElu!QWzpHnzKlv!S|PQW?>mck0{NX)e4-yhTJ{3KwC z5FNOu^QPrR&e!M@`!9^F(74C`632t%W`|`DFv|{*fm=J3_iji6HTyJ_{Qnz{`EPmx zlG2-Rdzofq))|6)6}Mm6O!8%#cf(!9XyMvwK6=p{M?aUlSvElF#O<$v@Gp=vo~l`z zVA=bvsXsues;1KPmr)_}q&P_`0a*Z$ja3CTbWqU2?Y?OAqN;dQ?p%;Yq3~rA%pVFdd%8^EMa8v2ewsPR$fw1L}Qw>Ro340T%L<@(d$1>^QagS@An{&>C z>8P}YG%}bL0{cX^`8zWg$Sa7CgO495xdp5!f8!q$u9}U+rwXuYBiE|$vYmH|T+caT zLIrEMo~6^x<~pZ!gZ@qPaL@7uTWYY!{LC@C;52NJFveX|{6O&V&yrVGOv_+X4z9Nz z63?YE_xbo~NBEsV^L8Aje{||{TttUmr|m5w0M4q8u3t?uF6Q-LxO{=@nlKEiCf3(k z;bsojzBv{lhM;=tQjKLrBwd7wg?`-x^2vvqQRrpBmTC9fZ+)ixOYg-am332ljT#sq z4J$#7Z7v}|AYXmTKw?J-r9}EOiSV3FCD_{fC+9<@n-vHUc7N9~2tii>+As%?U-^=< zks#*#>klsJOW~5~Hg|=MnW0cjX3@@FUoQU*k88UbYGd>B_8sHnsg~90q{WP>%{_UY z*|-qoy_5^wkHp`ugY*^Tb;aO*v6|52d}y2;BMDtd_0L3W_o`ZeKswucMpX8Y3OZK~ z%Ol#kE(pR>*JVDew;h%$e!;u5De3z1w3~V1-|V?*x5=v4_DP569Mk#75z?NBLR( zv)yZ!V+Wu9I$C?(0NBN%TASGW=4H-T{I+;q#K<5Z6Dj{mFavaiuFRzq4=TV4?l@1=n+zFEJ&-qsnl zC3dCy<6+TwFuQSIHE%tFG8oPxA8f?Fk%0W z=v@Wl57p%*im-j*lI*#XqGmIwyyoBY6D;yo-IWYR3eTFs@VTIk?+x4FJ#+@DtY?pS zhc|cOo1EEzxxtmPp&9abbU>R- z=8moRcHnlmpu@q?`SBC9PAiRdExivSk=5qjRepTQXvRA<@x_;fN~lv%8rA@|qX}vm z;T508DmOoEo%8Mo?pi_T6|&MBYXTdz|EM?ubzrW zAF^z&_Tsw+`|4WH1>Q8r#aWZkRbsrtl)>51q?6|#ufad++E<~>8a1dOWF~sK=u5JRLI}s_e5UxU~li=tpS|ioo+7c;!@JS;uf+2POi^` zAIm3b(qZDABgBYad|oX2HGKx@>1e3~4r0aJ%nncqhzsYXGYIMz9=vim&Inej@kRgP zc&l?Xb79lKxh1fbCZ{q3z3~mnWv&h6gXu6R)vaoQY|)U113QsmeFAglCjw_%%j2%I zDD%}GP*U@KaFA_pM?)A1{0_I9h2%I}50ZGjqHC4(5Cvg$Kte4xQbL?+4?1adeZme6 z{+ov6aP!)t04G+uXTcLp^Og}VZ+1D|jq**|UfDBZyG5rjzo%O@ zR|N03V=PNdn&KrsBdNhxAeJ7w7g1X0SJoal4G^xxHkO%d<{9b#bID+nOS!v%Wwf1U(+Ka{^fIQ?BIB=1GV%EGy&{LM=|8tY#ynob@H}v_vA=J_DuXjtV_DE{z zhM=fF;Y8vnShgw=OTWbuvcfpbmi>7q^~l zFGSFkDQF>Kd)nw-)<(-uwDnPX zVWpl1Pm2R{>6o|F^fH!jgcRf^l><%G1Z~TVAh*<-_o2bO*hYI zAq^R4H5|JzHKE4I#`XqcyX6;{ywt@0sU`)ThMh<{ZUbMcjar#3}D z6sB~)N@wX%5OQce3zu}gIh)EV`BKtKR~rx{d!Q2Q-Io0F1z?HV(v z4Z#KXi`_8lYL};PpeSB;Iss^?qjZXP!gNDmvxhOYR~lBZhA;;a&>hwVs$q^0Uqye4 ze|NI4)ZfG!oDDF{Jf0~=qXXzk4YenJrFd~h-4~QuxIf%7=}V8Wf60?7Wp;!EbP9#B zq2RpSpqqkX0X-FVEZJgfH=lU~JhAcdA-Fj?0b$c0sn60U*)~=}n zV?Q%!!)Z7zp6Gc#^%HCeqZtS@=|CEnLzKvyJ1-FcW#9XonE z>_hgDWQbPjo+MmQaiAA~E0$W+GXLEOKNZ#U|Nc`T0GIS?u=r>p-eoc7R^uk0kfGcv z0GFxy=Z)2}4Z)BU3rQqI{!=^9vsbfiu^=D2|AQ(O9?q0j!>2dr(;L2}d6E+CHsvmX zHLf(%1>NwqK&1g7X&3?--$$l-WbxpuJo|~UvAZkJkg~CSfkYP0)j-XD+(#3?JkH$j z>miSH_#emHR44Jo*Sw4>LsFBI@y~?au1X$1UNOq`P1h2Iq>ds7Mo7b$lZ>3lys0HS}tjT$;~37Ut1F4FZ>7OT7Z>~5b1&{?{z)-JD?(>R(WTb ziiMH7i&82{Zo~rP{n$rw05Bv!R#ql}#>e2u$ZjLaM3ra{s@gb}{T6;UEWRkpW`SA# zo_o^wKF4uYAX{Ejj?dGT9wSj6yVMOC$BvlX_x=NC8YnvOKF5M^p z#NHA7F1HpjxtJ<=V?762A}CYc5~((}kO#%Y75Ymo+$<$nvxlE2Q3UB4D(ExxCuR~gx=R#V zq=?#QtgPHN^p_G<1x&iXalbMQ;$$V)q~IqZMcgyZe&4Y!#I%yO!<$i^mOvKoun1mJ z325e8f>5b9p{gX?;bH&b;m0c~t#3>F|IH}qezMuwDE_7hu}RA>s=a)Pr(F$=HWH@d zF00jMWV!jwqzZ27Zex?|sS{JuObOS4QPVM8C5NesP{83LdU&L3-X|(+ib_<-C-8w^ zKOCd5LlLOR1t6p}s^lapq;wD+Qj<86S8enm{P90sRH0h6W2VZlNhBoM6RIxP+MC#$ z71D{H;7=GHB-yZJrq>=Cl^0+cPOuF+F0E!Ub2y+=Zwr zKH*<|uoHtmi?Npye9-UlTnJ3>U!JaMJ?CM=T2ff8phEYe83Q|gUDYeR%Hmy!Wz{upN^&PWxzc>>8J=KwrW-&*Ww9{ z%$KMywGATKk*?~LJg!spA@(Rk%PI%U*Q8G-)P?dw>2QQezHBP^+hijq-VZnOIE3=% tPH;I%o|vyu8acoyFs22skS4PId9l)B5uIw((gXp2T6gpjWop*1{s%5MD^36a literal 0 HcmV?d00001 diff --git a/stoneSoup/index.php b/stoneSoup/index.php new file mode 100755 index 0000000..5f80d20 --- /dev/null +++ b/stoneSoup/index.php @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + +

+
+ Agile Open Buenos Aires 2013 +
+ +
+
+
+
+
+ Creado y mantendio por GNUtn +
+
+ + diff --git a/stoneSoup/js/eventCatchers/default.js b/stoneSoup/js/eventCatchers/default.js new file mode 100755 index 0000000..6686755 --- /dev/null +++ b/stoneSoup/js/eventCatchers/default.js @@ -0,0 +1,128 @@ +Utils = { + _createPage: function(html, page) { + //append the new page onto the end of the body + if(page == null) + return; + $('#theBody').append(html); + $("#"+page).one( 'pagecreate', $.mobile._bindPageRemove ); + } +} + +ListComponent = { // TODO: Inherit from CollapsableComponent + func: function(section){ + return function(evt){ + var theContent = $("[id='" + this.id + "Content']"); + theContent.empty(); + var name = this.id + var tpl = View.tpl[name][0]; + var tplPage = View.tpl[name][1]; + // Obtengo las proximas charlas. + Model[name](function(talks){ + // Creo las paginas + ListComponent.createListOfTalks(talks,tplPage,tpl,name+"Ul",name+"Content") + }); + }; + }, + component:function(section){ + var div = $(Mustache.render(View.tpl.section,section)); + div.collapsible({refresh:true}); + div.bind('expand', View.components[section.type].func(section)); + return div; + }, + createListOfTalks:function(talks,tplPage,tpl,idUl,idContent){ + var viewTalks = []; + for(var i in talks){ + id = null; + + id = "talkPage" + talks[i].id; + + //clonning attribute by atribute in javascript is too slow :( + var viewTalk = JSON.parse(JSON.stringify(talks[i])); + viewTalk.timeDateInit = talks[i].timeDateInit.date.substring(11,16); + viewTalk.timeDateFinish = talks[i].timeDateFinish.date.substring(11,16); + viewTalks.push(viewTalk); + + Utils._createPage(Mustache.render(tplPage, viewTalk),id); + + } + + var obj = { 'data' : viewTalks, 'id' : idUl }; + + $("#" + idContent).html( Mustache.render(tpl, obj) ); + $("#" + idUl ).listview(); + } +} + +CollapsableHtmlComponent = { + expand : function(section){ + return function(evt){ + var name = this.id + var tpl = View.tpl[name][0]; + $("#" + name + "Content").html(Mustache.render(tpl,section)); + } + }, + component: function(section){ + var div = $(Mustache.render(View.tpl.section,section)); + div.collapsible({refresh:true}); + div.bind('expand', this.expand(section)); + return div; + } +} + +ImageComponent = { + component:function(section){ + return ""; + } +} + +PicasaComponent = { //TODO : all ;) + component:function(section){ + return ""; + } +} + +PlainComponent = { + component:function(section){ + return div = $(Mustache.render(View.tpl.section,section)); + } +} + + +OpenStreetMapComponent = { + component: function(section){ + var div = $("
"); + div.attr("style","width:95%;height:280px;margin:0px auto;margin-bottom:30px"); //TODO: pass to class + $(document).ready(function(){ + var name = section.innerName + var tpl = View.tpl[name][0]; + div.prepend($(Mustache.render(tpl,section))); + }); + return div; + } +}; + +TextComponent = Object.create(CollapsableHtmlComponent,{ + expand: { + value: function(section){ + return function(evt){ + var name = section.innerName + $("#" + name + "Content").html(section.html); + } + } + } +}); + +DefaultComponents = { + "list": ListComponent, + "htmlTemplate": CollapsableHtmlComponent, + "plain" : PlainComponent, + "image" : ImageComponent, + "map" : OpenStreetMapComponent, + "html" : TextComponent, + addComponent : function(name,component){ + if(DefaultComponents[name]) + throw "Component " + name + " already exists"; + else + DefaultComponents[name] = component; + } +}; \ No newline at end of file diff --git a/stoneSoup/js/injector.js b/stoneSoup/js/injector.js new file mode 100755 index 0000000..2cd9a25 --- /dev/null +++ b/stoneSoup/js/injector.js @@ -0,0 +1,5 @@ +$.getJSON("config/sections.json",function(data){ + Model.loadAll(data); + View.loadEvents(DefaultComponents); + View.loadAll(data); +}); diff --git a/stoneSoup/js/models.js b/stoneSoup/js/models.js new file mode 100755 index 0000000..9f21d3b --- /dev/null +++ b/stoneSoup/js/models.js @@ -0,0 +1,29 @@ +Model = { + loadAll: function(sections){ + for(var i in sections){ + elem = sections[i]; + + if(elem.controller) + Model[elem.innerName] = Model.genericGetter(elem.innerName, elem); + }; + }, + genericGetter : function(name, elem){ + return function(callback){ + $.getJSON(elem.controller, function(data){ + Cache[name] = { + response: data, + date: new Date() + }; + callback(data); + }); + } + }, + NullTalk : function(){ + this.name = "No hay charlas"; + this.id = null; + } +} + +Cache = { + +} diff --git a/stoneSoup/js/views.js b/stoneSoup/js/views.js new file mode 100755 index 0000000..339db9d --- /dev/null +++ b/stoneSoup/js/views.js @@ -0,0 +1,78 @@ +View = { + tpl : { + "section" : "files/templates/section.mustache" + }, + components : {}, + loadEvents:function(component){ + View.components = component; + }, + loadAll:function(sections){ + View._countSections = sections.length; + + $.get(View.tpl["section"],function(data){ + View.tpl["section"] = data; + View.loadTemplates(sections); + }); + }, + loadTemplates : function(sections){ + $.each(sections, function(i,section){ + View.tpl[section.innerName] = []; + if(section.views){ + $.each(section.views, function(i,elem){ + $.get("files/templates/"+elem,View._loadTemplate(section)); + }); + } else { + View.eventLoadedAllTemplatesOf(section); + } + }); + }, + _loadTemplate: function(section){ + return function(data){ + View.tpl[section.innerName].push(data); + /** + * _loadTemplate loads a template :P. + * If all templates of this section are loaded, then + * throw the LoadedAllTemplatesOf event. + */ + + if(section.views.length == View.tpl[section.innerName].length){ + View.eventLoadedAllTemplatesOf(section); + + } + } + }, + eventLoadedAllTemplatesOf: function(section){ + /** + * + * save the Loaded template. + * + */ + View._loadedTemplates.push (section); + /** + * + * If all the section's templates are loaded, throw + * the LoadedAllComponents event. + * + */ + if(View._loadedTemplates.length == View._countSections){ + View._loadedTemplates.sort(function(a,b){ + return a.id-b.id; + }); + console.log(View._loadedTemplates); + View.eventLoadedAllComponents(); + } + }, + eventLoadedAllComponents: function(){ + $.each(View._loadedTemplates,function(i,data){ + if(data){ + View.loadComponent(data); + } + }); + }, + loadComponent : function(section){ + var div = View.components[section.type].component(section); + $("#mainContent").append(div); + }, + _loadedTemplates : [], + _countSections : 0 + }; \ No newline at end of file diff --git a/stoneSoup/model.php b/stoneSoup/model.php new file mode 100755 index 0000000..4b838e8 --- /dev/null +++ b/stoneSoup/model.php @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/stoneSoup/phpinfo.php b/stoneSoup/phpinfo.php new file mode 100644 index 0000000..34f1171 --- /dev/null +++ b/stoneSoup/phpinfo.php @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/stoneSoup/querys/talks.php b/stoneSoup/querys/talks.php new file mode 100755 index 0000000..3ea380d --- /dev/null +++ b/stoneSoup/querys/talks.php @@ -0,0 +1,20 @@ +data);;break; + case "now": $resp = json_encode($dao->now());; break; + case "after": $resp = json_encode($dao->after());; break; + case "before": $resp = json_encode($dao->before());; break; + case "query": $resp = json_encode($dao->query($_POST["query"])); + break; + default: $resp = '["STATUS":"BAD REQUEST"]'; +} +header('Content-type: application/json'); +exit($resp); +?>