From 2cb352b4bb4c5393dcd42399fcd8712f4de6b83f Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Fri, 20 May 2016 12:07:48 +0200 Subject: [PATCH] =?UTF-8?q?Optimisation=20(cr=C3=A9ation=20de=20m=C3=A9tho?= =?UTF-8?q?des=20cluster)=20pour=20'lightdb'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- automate.php | 116 +++++++--- manager/autoloader.php | 2 +- manager/lightdb.php | 211 ++++++++++++++++-- ...6892693dc297179ad2b142c66ee6b17aff9f6.json | 1 - 4 files changed, 275 insertions(+), 55 deletions(-) delete mode 100644 tmp/phone_bcc6892693dc297179ad2b142c66ee6b17aff9f6.json diff --git a/automate.php b/automate.php index aee2850..4d169ef 100755 --- a/automate.php +++ b/automate.php @@ -86,22 +86,46 @@ // // } - $_SERVER['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest'; - $req = new ModuleRequest('download/phone', array('subjects'=>array(1, 273, 341))); - $res = $req->download(); - if( $res->error != ManagerError::Success ) - var_dump( ManagerError::explicit($res->error) ); - var_dump($res); - + + /* [4] Test download via AJAX + =========================================================*/ + // $_SERVER['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest'; + // $req = new ModuleRequest('download/phone', array('subjects'=>array(1, 273, 341))); + // + // $res = $req->download(); + // + // if( $res->error != ManagerError::Success ) + // var_dump( ManagerError::explicit($res->error) ); + // + // var_dump($res); + + + // $start = microtime(true); + // $f = new SplFileObject('compress.zlib://'.__ROOT__.'/tmp/test1.gz', 'w'); + // $f->fwrite('SOME TEXT'); + // $f=null; + // var_dump('writing time : '.(microtime(true)-$start)); + // + // + // $start = microtime(true); + // $f2 = new SplFileObject('compress.zlib://'.__ROOT__.'/tmp/test1.gz', 'r'); + // $read = $f2->fgets(); + // $f2=null; + // var_dump('reading time : '.(microtime(true)-$start)); + // var_dump($read); + // + // exit(); + + /* [4] Analyse des performances de `lightdb` =========================================================*/ // $start = microtime(true); // $db = new lightdb('test1', __ROOT__.'/tmp/'); - - /* (0) Création des objets à insérer */ + // + // /* (0) Création des objets à insérer */ // $object_10 = array(); // for( $i = 0 ; $i < 10 ; $i++ ) // $object_10["key-$i-"] = "value-$i-"; @@ -118,36 +142,50 @@ // $o1000len = strlen( json_encode($object_1000) ); + /* (1) Insertion de 1000 données */ // {1} Insertion d'objects de taille 10 // // var_dump("Inserting 1000* object_10($o10len)"); // $start = microtime(true); // + // $data = array(); // for( $i = 0 ; $i < 1000 ; $i++ ) - // $db->insert("object-10-$i", $object_10); + // // $db->insert("object-10-$i", $object_10); + // $data["object-10-$i"] = $object_10; + // + // $db->insertAll($data); // // $stop = microtime(true); - // var_dump('1000 lines inserted in '.($stop-$start).' sec.'); + // var_dump('1000 lines inserted in '.($stop-$start).' sec.'); echo '
'; // // // {2} Insertion d'objects de taille 100 // // var_dump("Inserting 1000* object_100($o100len)"); // $start = microtime(true); // + // + // $data = array(); // for( $i = 0 ; $i < 1000 ; $i++ ) - // $db->insert("object-100-$i", $object_100); + // // $db->insert("object-100-$i", $object_100); + // $data["object-100-$i"] = $object_100; + // + // $db->insertAll($data); // // $stop = microtime(true); - // var_dump('1000 lines inserted in '.($stop-$start).' sec.'); + // var_dump('1000 lines inserted in '.($stop-$start).' sec.'); echo '
'; // // // {3} Insertion d'objects de taille 1000 // // var_dump("Inserting 1000* object_1000($o1000len)"); // $start = microtime(true); // + // $data = array(); // for( $i = 0 ; $i < 1000 ; $i++ ) - // $db->insert("object-1000-$i", $object_1000); + // // $db->insert("object-1000-$i", $object_1000); + // $data["object-1000-$i"] = $object_1000; + // + // $db->insertAll($data); // // $stop = microtime(true); - // var_dump('1000 lines inserted in '.($stop-$start).' sec.'); + // var_dump('1000 lines inserted in '.($stop-$start).' sec.'); echo '
'; /* (2) Récupération de 1000 données */ // {1} Récupération d'objects de taille 10 // @@ -158,7 +196,7 @@ // $db->fetch("object-10-$i"); // // $stop = microtime(true); - // var_dump('1000 lines fetched in '.($stop-$start).' sec.'); + // var_dump('1000 lines fetched in '.($stop-$start).' sec.'); echo '
'; // // // {2} Récupération d'objects de taille 100 // // var_dump("Fetching 1000* object_100($o100len)"); @@ -168,7 +206,7 @@ // $db->fetch("object-100-$i"); // // $stop = microtime(true); - // var_dump('1000 lines fetched in '.($stop-$start).' sec.'); + // var_dump('1000 lines fetched in '.($stop-$start).' sec.'); echo '
'; // // // {3} Récupération d'objects de taille 1000 // // var_dump("Fetching 1000* object_1000($o1000len)"); @@ -178,42 +216,48 @@ // $db->fetch("object-1000-$i"); // // $stop = microtime(true); - // var_dump('1000 lines fetched in '.($stop-$start).' sec.'); + // var_dump('1000 lines fetched in '.($stop-$start).' sec.'); echo '
'; - /* (3) Récupération de 1000 données */ - // {1} Récupération d'objects de taille 10 // - // var_dump("Deleting 1000* object_10($o10len)"); - // $start = microtime(true); + /* (3) Suppression de 1000 données */ + // {1} Suppression d'objects de taille 10 // + // var_dump("Deleting 10* object_10($o10len)"); // + // $keys = array(); // for( $i = 0 ; $i < 1000 ; $i++ ) - // $db->delete("object-10-$i"); + // array_push($keys, "object-10-$i"); // + // $start = microtime(true); + // $db->deleteAll($keys); // $stop = microtime(true); - // var_dump('1000 lines deleted in '.($stop-$start).' sec.'); - // - // // {2} Récupération d'objects de taille 100 // + // var_dump('10 lines deleted in '.($stop-$start).' sec.'); echo '
'; + + + // // {2} Suppression d'objects de taille 100 // // var_dump("Deleting 1000* object_100($o100len)"); - // $start = microtime(true); // + // $keys = array(); // for( $i = 0 ; $i < 1000 ; $i++ ) - // $db->delete("object-100-$i"); + // array_push($keys, "object-100-$i"); // + // $start = microtime(true); + // $db->deleteAll($keys); // $stop = microtime(true); - // var_dump('1000 lines deleted in '.($stop-$start).' sec.'); - // - // // {3} Récupération d'objects de taille 1000 // + // var_dump('1000 lines deleted in '.($stop-$start).' sec.'); echo '
'; + + + // // {3} Suppression d'objects de taille 1000 // // var_dump("Deleting 1000* object_1000($o1000len)"); - // $start = microtime(true); - // + + // $keys = array(); // for( $i = 0 ; $i < 1000 ; $i++ ) - // $db->delete("object-1000-$i"); + // array_push($keys, "object-1000-$i"); // + // $start = microtime(true); + // $db->deleteAll($keys); // $stop = microtime(true); // var_dump('1000 lines deleted in '.($stop-$start).' sec.'); // // $db->close(); - // var_dump('total execution time : '.(microtime(true)-$start).' sec'); - ?> diff --git a/manager/autoloader.php b/manager/autoloader.php index aa43352..dc60aa7 100755 --- a/manager/autoloader.php +++ b/manager/autoloader.php @@ -18,7 +18,7 @@ if( !is_null($json) ){ /* (2) Gestion de la config si server local ou remote */ - if( !checkdnsrr($_SERVER['SERVER_NAME'], 'NS') ) + if( !isset($_SERVER['SERVER_NAME']) || !checkdnsrr($_SERVER['SERVER_NAME'], 'NS') ) $config = $json['local']; else $config = $json['remote']; diff --git a/manager/lightdb.php b/manager/lightdb.php index 3dcfc84..08938b2 100755 --- a/manager/lightdb.php +++ b/manager/lightdb.php @@ -26,7 +26,7 @@ public function __construct($dbname, $root=null){ /* [0] On récupère les attributs =========================================================*/ - $this->root = is_null($root) ? self::$default_root.'/' : $root; + $this->root = is_null($root) ? self::$default_root.'/' : $root; $this->dbname = $dbname; $this->dir = $this->root.$dbname.'/'; @@ -131,30 +131,109 @@ } - /* RENVOIE LES DONNEES ASSOCIEES A UNE CLE DONNEE + /* INSERTION D'UNE ENTREE DANS LA BASE DE DONNEES * - * @key Clé associée à la valeur à récupérer + * @dataset Tableau de 'clés'->'valeurs' à insérer + * @data Objet qui sera enregistré dans la base * - * @return data Renvoie la valeur associée à la clé, FALSE si erreur + * @return status Retourne TRUE si tout s'est bien passé, sinon FALSE * */ - public function fetch($key){ - /* (1) On vérifie que la clé existe bien */ - if( !array_key_exists($key, $this->index) ) - return false; + public function insertAll($dataset){ + /* (1) On vérifie que la clé est unique */ + foreach($dataset as $key=>$data) + if( array_key_exists($key, $this->index) ) + unset($dataset[$key]); - /* (2) On récupère la ligne */ - $line = $this->index[$key]['line']; - /* (3) On récupère le contenu */ - $this->driver->seek($line); - $json = json_decode( $this->driver->current(), true ); + /* (2) On ajoute les données aux fichier */ + $this->driver->seek($this->line); + foreach($dataset as $key=>$data){ + $json_data = json_encode($data); + $this->line++; + $written = $this->driver->fwrite( $json_data.PHP_EOL ); - // Si erreur de parsage - if( is_null($json) ) - return false; - return $json; + /* (3) On enregistre les index */ + $this->index[$key] = array( + 'line' => $this->line - 1, + 'hash' => sha1($json_data) + ); + } + + + + /* (4) On enregistre le fichier index */ + $fIndex = new \SplFileObject($this->dir.'index', 'w'); + $fIndex->fwrite( json_encode($this->index) ); + $fIndex = null; + + return true; + } + + + /* RENVOIE LES DONNEES ASSOCIEES A UNE CLE DONNEE + * + * @key Clé associée à la valeur à récupérer + * + * @return data Renvoie la valeur associée à la clé, FALSE si erreur + * + */ + public function fetch($key){ + /* (1) On vérifie que la clé existe bien */ + if( !array_key_exists($key, $this->index) ) + return false; + + /* (2) On récupère la ligne */ + $line = $this->index[$key]['line']; + + /* (3) On récupère le contenu */ + $this->driver->seek($line); + $json = json_decode( $this->driver->current(), true ); + + // Si erreur de parsage + if( is_null($json) ) + return false; + + return $json; + } + + + + + /* RENVOIE LES DONNEES ASSOCIEES AUX CLES DONNEES + * + * @keys Clés associées aux valeurs à récupérer + * + * @return data Renvoie les valeurs associées aux clé, ou un tableau vide si erreur + * + */ + public function fetchAll($keys){ + $data = array(); + + /* (0) Pour chaque clé */ + foreach($keys as $i=>$key){ + + /* (1) On ne prend pas en compte les clés qui n'existent pas */ + if( !array_key_exists($key, $this->index) ) + continue; + + /* (2) On récupère la ligne */ + $line = $this->index[$key]['line']; + + /* (3) On récupère le contenu */ + $this->driver->seek($line); + $json = json_decode( $this->driver->current(), true ); + + /* (4) Si pas d'erreur de parsage, On enregistre */ + if( !is_null($json) ) + $data[$key] = $json; + + } + + + + return $data; } @@ -216,6 +295,104 @@ + /* SUPPRIME PLUSIEURS ENTREES DE CLES DONNEES DE LA BASE DE DONNEES + * + * @keys Clés des entrées à supprimer + * + * @return status Retourne TRUE si tout s'est bien passé, sinon FALSE + * + */ + public function deleteAll($keys){ + $keyLines = array(); + + /* [1] On récupère la ligne associée à chaque clé + =========================================================*/ + foreach($keys as $k=>$key){ + /* (1) Si la clé n'existe pas, on passe à la suivante */ + if( !array_key_exists($key, $this->index) ) + continue; + + /* (2) On récupère la ligne de la clé */ + $keyLines[$key] = $this->index[$key]['line']; + } + + /* [2] On trie les clés en fonction de leur ligne + =========================================================*/ + $sorted = array(); + + // Tant que toute les clés ne sont pas triées + while( count($keyLines) > 0 ){ + // Contiendra la clé de la plus petite valeur + $min = null; + + // On cherche la ligne la plus petite + foreach($keyLines as $key=>$line) + if( is_null($min) || $line < $keyLines[$min] ) // Si valeur inf à min + $min = $key; + + // On ajoute la plus petite clé trouvée a la liste + $sorted[$min] = $keyLines[$min]; + + // On la supprime du tableau à trier + unset($keyLines[$min]); + + } + + /* [3] On supprime les lignes à supprimer + =========================================================*/ + /* (1) On réarrange la bd pour supprimer la ligne */ + $tmpfilename = __ROOT__.'/tmp/'.uniqid().'.dat'; + $tmpfile = new \SplFileObject($tmpfilename, 'w'); + $this->driver->seek(0); + + /* (2) On recopie toutes les lignes sauf celles à supprimer dans un fichier temporaire */ + while( $this->driver->key() < $this->line ){ + + // Si la ligne en cours n'est pas dans la liste des lignes à supprimer + if( !in_array($this->driver->key(), $sorted) ) + $tmpfile->fwrite( $this->driver->current() ); // On l'écrit dans le nouveau fichier + + $this->driver->next(); + } + + $tmpfile = null; + + /* (3) On remplace le fichier original par le fichier temporaire */ + $this->driver = null; + rename($tmpfilename, $this->dir.'data'); + $this->driver = new \SplFileObject($this->dir.'data', 'r+'); + + + /* [4] On met à jour les index + =========================================================*/ + $step = 0; + foreach($sorted as $key=>$line){ + + /* (1) On décrémente le nb de lignes */ + $this->line--; + + /* (2) On supprime la ligne de l'index */ + unset( $this->index[$key] ); + + /* (3) On met à jour les index des lignes déplacées du nombre d'index qu'on a supprimé */ + foreach($this->index as $i=>$indexData) + if( $indexData['line'] > $line-$step ) + $this->index[$i]['line']--; // on décrémente les lignes au dessus de la ligne supprimée + + $step++; + } + + /* (4) On enregistre le fichier index */ + $fIndex = new \SplFileObject($this->dir.'index', 'w'); + $fIndex->fwrite( json_encode($this->index) ); + $fIndex = null; + + + return true; + } + + + diff --git a/tmp/phone_bcc6892693dc297179ad2b142c66ee6b17aff9f6.json b/tmp/phone_bcc6892693dc297179ad2b142c66ee6b17aff9f6.json deleted file mode 100644 index e3e4508..0000000 --- a/tmp/phone_bcc6892693dc297179ad2b142c66ee6b17aff9f6.json +++ /dev/null @@ -1 +0,0 @@ -{"logs":[{"id":0,"direction":1,"type":0,"date":1411426053,"duration":0},{"id":1,"direction":2,"type":0,"date":1411460855,"duration":0},{"id":1,"direction":0,"type":0,"date":1411466586,"duration":104},{"id":2,"direction":2,"type":0,"date":1411471405,"duration":0},{"id":2,"direction":2,"type":0,"date":1411471447,"duration":0},{"id":2,"direction":2,"type":0,"date":1411471496,"duration":0},{"id":2,"direction":2,"type":0,"date":1411471657,"duration":0},{"id":2,"direction":2,"type":0,"date":1411471698,"duration":0},{"id":2,"direction":2,"type":0,"date":1411471734,"duration":0},{"id":2,"direction":2,"type":0,"date":1411472387,"duration":0},{"id":2,"direction":2,"type":0,"date":1411476096,"duration":0},{"id":3,"direction":2,"type":0,"date":1411477179,"duration":0},{"id":2,"direction":2,"type":0,"date":1411479469,"duration":0},{"id":2,"direction":2,"type":0,"date":1411479917,"duration":0},{"id":2,"direction":2,"type":0,"date":1411480317,"duration":0},{"id":2,"direction":2,"type":0,"date":1411482175,"duration":0},{"id":2,"direction":2,"type":0,"date":1411482220,"duration":0},{"id":2,"direction":2,"type":0,"date":1411483191,"duration":0},{"id":2,"direction":2,"type":0,"date":1411483258,"duration":0},{"id":2,"direction":2,"type":0,"date":1411484211,"duration":0},{"id":1,"direction":2,"type":0,"date":1411486709,"duration":0},{"id":4,"direction":1,"type":0,"date":1411542683,"duration":71},{"id":5,"direction":0,"type":0,"date":1411560264,"duration":54},{"id":6,"direction":0,"type":0,"date":1411583444,"duration":258},{"id":1,"direction":0,"type":0,"date":1411588706,"duration":0},{"id":4,"direction":1,"type":0,"date":1411589167,"duration":14},{"id":4,"direction":1,"type":0,"date":1411589230,"duration":6},{"id":1,"direction":0,"type":0,"date":1411589309,"duration":0},{"id":4,"direction":1,"type":0,"date":1411605045,"duration":0},{"id":0,"direction":0,"type":0,"date":1411631558,"duration":123},{"id":1,"direction":2,"type":0,"date":1411646189,"duration":0},{"id":1,"direction":1,"type":0,"date":1411646829,"duration":4},{"id":1,"direction":0,"type":0,"date":1411647189,"duration":115},{"id":1,"direction":0,"type":0,"date":1411654480,"duration":23},{"id":1,"direction":1,"type":0,"date":1411657516,"duration":221},{"id":0,"direction":1,"type":0,"date":1411657759,"duration":30},{"id":7,"direction":0,"type":0,"date":1411667774,"duration":154},{"id":2,"direction":2,"type":0,"date":1411669650,"duration":0},{"id":1,"direction":0,"type":0,"date":1411680552,"duration":232},{"id":1,"direction":1,"type":0,"date":1411681088,"duration":35},{"id":1,"direction":1,"type":0,"date":1411711054,"duration":0},{"id":1,"direction":1,"type":0,"date":1411711060,"duration":3},{"id":1,"direction":1,"type":0,"date":1411711078,"duration":7},{"id":1,"direction":1,"type":0,"date":1411711100,"duration":2},{"id":1,"direction":1,"type":0,"date":1411711763,"duration":2},{"id":8,"direction":1,"type":0,"date":1411711795,"duration":3},{"id":9,"direction":0,"type":0,"date":1411715019,"duration":45},{"id":1,"direction":1,"type":0,"date":1411719925,"duration":2},{"id":1,"direction":1,"type":0,"date":1411725935,"duration":2},{"id":1,"direction":1,"type":0,"date":1411727847,"duration":4},{"id":1,"direction":1,"type":0,"date":1411730412,"duration":2},{"id":1,"direction":0,"type":0,"date":1411730468,"duration":144},{"id":1,"direction":2,"type":0,"date":1411740534,"duration":0},{"id":1,"direction":1,"type":0,"date":1411742715,"duration":98},{"id":1,"direction":2,"type":0,"date":1411744733,"duration":0},{"id":1,"direction":0,"type":0,"date":1411744767,"duration":10},{"id":1,"direction":0,"type":0,"date":1411813232,"duration":134},{"id":10,"direction":1,"type":0,"date":1411813399,"duration":0},{"id":10,"direction":1,"type":0,"date":1411815660,"duration":19},{"id":1,"direction":0,"type":0,"date":1411821847,"duration":116},{"id":1,"direction":0,"type":0,"date":1411828726,"duration":190},{"id":3,"direction":0,"type":0,"date":1411980289,"duration":267},{"id":1,"direction":1,"type":0,"date":1411981001,"duration":297},{"id":4,"direction":1,"type":0,"date":1411987247,"duration":23},{"id":1,"direction":0,"type":0,"date":1411995928,"duration":241},{"id":3,"direction":0,"type":0,"date":1411996982,"duration":186},{"id":7,"direction":0,"type":0,"date":1412000525,"duration":71},{"id":4,"direction":1,"type":0,"date":1412003166,"duration":110},{"id":7,"direction":0,"type":0,"date":1412005512,"duration":4},{"id":7,"direction":1,"type":0,"date":1412005625,"duration":13},{"id":9,"direction":0,"type":0,"date":1412006989,"duration":8},{"id":1,"direction":1,"type":0,"date":1412007642,"duration":258},{"id":7,"direction":0,"type":0,"date":1412008135,"duration":18},{"id":9,"direction":1,"type":0,"date":1412010599,"duration":16},{"id":11,"direction":0,"type":0,"date":1412012130,"duration":760},{"id":1,"direction":0,"type":0,"date":1412025471,"duration":399},{"id":1,"direction":1,"type":0,"date":1412059366,"duration":15},{"id":1,"direction":2,"type":0,"date":1412059755,"duration":0},{"id":1,"direction":1,"type":0,"date":1412060311,"duration":37},{"id":3,"direction":0,"type":0,"date":1412076287,"duration":122},{"id":7,"direction":0,"type":0,"date":1412077012,"duration":35},{"id":1,"direction":0,"type":0,"date":1412088658,"duration":97},{"id":9,"direction":1,"type":0,"date":1412095547,"duration":3},{"id":12,"direction":0,"type":0,"date":1412096125,"duration":96},{"id":7,"direction":2,"type":0,"date":1412155482,"duration":0},{"id":7,"direction":1,"type":0,"date":1412155525,"duration":67},{"id":9,"direction":1,"type":0,"date":1412160520,"duration":3},{"id":1,"direction":0,"type":0,"date":1412161283,"duration":198},{"id":9,"direction":0,"type":0,"date":1412161686,"duration":106},{"id":3,"direction":0,"type":0,"date":1412164577,"duration":361},{"id":13,"direction":0,"type":0,"date":1412172001,"duration":182},{"id":9,"direction":0,"type":0,"date":1412175608,"duration":71},{"id":1,"direction":1,"type":0,"date":1412192993,"duration":2},{"id":1,"direction":1,"type":0,"date":1412193099,"duration":0},{"id":1,"direction":1,"type":0,"date":1412193120,"duration":2},{"id":1,"direction":0,"type":0,"date":1412196763,"duration":320},{"id":1,"direction":2,"type":0,"date":1412232605,"duration":0},{"id":1,"direction":2,"type":0,"date":1412232636,"duration":0},{"id":1,"direction":1,"type":0,"date":1412232673,"duration":26},{"id":3,"direction":1,"type":0,"date":1412241435,"duration":8},{"id":3,"direction":1,"type":0,"date":1412241539,"duration":0},{"id":3,"direction":1,"type":0,"date":1412241762,"duration":0},{"id":14,"direction":0,"type":0,"date":1412243462,"duration":2},{"id":15,"direction":1,"type":0,"date":1412248129,"duration":172},{"id":1,"direction":0,"type":0,"date":1412249101,"duration":26},{"id":16,"direction":1,"type":0,"date":1412259055,"duration":18},{"id":16,"direction":1,"type":0,"date":1412262166,"duration":2},{"id":2,"direction":1,"type":0,"date":1412262207,"duration":1},{"id":16,"direction":1,"type":0,"date":1412262250,"duration":0},{"id":1,"direction":1,"type":0,"date":1412262258,"duration":71},{"id":15,"direction":1,"type":0,"date":1412262347,"duration":0},{"id":4,"direction":1,"type":0,"date":1412262520,"duration":36},{"id":3,"direction":0,"type":0,"date":1412265165,"duration":69},{"id":10,"direction":1,"type":0,"date":1412266117,"duration":4},{"id":17,"direction":1,"type":0,"date":1412266187,"duration":24},{"id":1,"direction":0,"type":0,"date":1412268456,"duration":25},{"id":3,"direction":0,"type":0,"date":1412320424,"duration":10},{"id":4,"direction":1,"type":0,"date":1412324425,"duration":21},{"id":16,"direction":0,"type":0,"date":1412330861,"duration":123},{"id":1,"direction":0,"type":0,"date":1412334007,"duration":16},{"id":18,"direction":0,"type":0,"date":1412335291,"duration":197},{"id":1,"direction":1,"type":0,"date":1412348594,"duration":29},{"id":1,"direction":0,"type":0,"date":1412351577,"duration":42},{"id":1,"direction":0,"type":0,"date":1412357942,"duration":51},{"id":16,"direction":0,"type":0,"date":1412374222,"duration":49},{"id":12,"direction":0,"type":0,"date":1412410201,"duration":49},{"id":12,"direction":0,"type":0,"date":1412416839,"duration":8},{"id":1,"direction":0,"type":0,"date":1412417040,"duration":198},{"id":3,"direction":1,"type":0,"date":1412422292,"duration":4},{"id":3,"direction":0,"type":0,"date":1412422390,"duration":71},{"id":3,"direction":0,"type":0,"date":1412422530,"duration":164},{"id":19,"direction":1,"type":0,"date":1412424078,"duration":24},{"id":19,"direction":0,"type":0,"date":1412426686,"duration":51},{"id":1,"direction":0,"type":0,"date":1412432526,"duration":37},{"id":16,"direction":0,"type":0,"date":1412433711,"duration":51},{"id":1,"direction":1,"type":0,"date":1412439767,"duration":385},{"id":20,"direction":0,"type":0,"date":1412445123,"duration":212},{"id":12,"direction":1,"type":0,"date":1412446464,"duration":46},{"id":1,"direction":0,"type":0,"date":1412505852,"duration":16},{"id":1,"direction":0,"type":0,"date":1412513929,"duration":8},{"id":16,"direction":1,"type":0,"date":1412514032,"duration":47},{"id":16,"direction":0,"type":0,"date":1412527614,"duration":33},{"id":21,"direction":0,"type":0,"date":1412585876,"duration":554},{"id":16,"direction":0,"type":0,"date":1412589911,"duration":76},{"id":0,"direction":0,"type":0,"date":1412597972,"duration":19},{"id":1,"direction":0,"type":0,"date":1412609358,"duration":0},{"id":1,"direction":1,"type":0,"date":1412609376,"duration":291},{"id":22,"direction":1,"type":0,"date":1412611236,"duration":62},{"id":1,"direction":0,"type":0,"date":1412615923,"duration":29},{"id":1,"direction":1,"type":0,"date":1412621860,"duration":276},{"id":1,"direction":1,"type":0,"date":1412662436,"duration":5},{"id":1,"direction":1,"type":0,"date":1412662472,"duration":0},{"id":1,"direction":0,"type":0,"date":1412662477,"duration":13},{"id":16,"direction":0,"type":0,"date":1412663886,"duration":80},{"id":16,"direction":0,"type":0,"date":1412667829,"duration":31},{"id":9,"direction":0,"type":0,"date":1412668116,"duration":375},{"id":16,"direction":0,"type":0,"date":1412668936,"duration":11},{"id":6,"direction":0,"type":0,"date":1412671775,"duration":395},{"id":16,"direction":0,"type":0,"date":1412672769,"duration":118},{"id":16,"direction":0,"type":0,"date":1412672914,"duration":7},{"id":16,"direction":0,"type":0,"date":1412675777,"duration":5},{"id":23,"direction":1,"type":0,"date":1412678571,"duration":770},{"id":1,"direction":0,"type":0,"date":1412680408,"duration":13},{"id":1,"direction":1,"type":0,"date":1412680851,"duration":274},{"id":3,"direction":0,"type":0,"date":1412684947,"duration":213},{"id":1,"direction":0,"type":0,"date":1412702475,"duration":53},{"id":16,"direction":0,"type":0,"date":1412744830,"duration":10},{"id":16,"direction":2,"type":0,"date":1412783611,"duration":0},{"id":24,"direction":1,"type":0,"date":1412784925,"duration":0},{"id":1,"direction":0,"type":0,"date":1412789202,"duration":62},{"id":1,"direction":0,"type":0,"date":1412853466,"duration":496},{"id":25,"direction":1,"type":0,"date":1412858982,"duration":66},{"id":26,"direction":0,"type":0,"date":1412861124,"duration":219},{"id":1,"direction":1,"type":0,"date":1412872008,"duration":232},{"id":4,"direction":1,"type":0,"date":1412873170,"duration":21},{"id":1,"direction":1,"type":0,"date":1412888448,"duration":201},{"id":1,"direction":0,"type":0,"date":1412949700,"duration":180},{"id":27,"direction":2,"type":0,"date":1412968406,"duration":0},{"id":27,"direction":1,"type":0,"date":1412969003,"duration":47},{"id":28,"direction":0,"type":0,"date":1413037002,"duration":84},{"id":0,"direction":1,"type":0,"date":1413037221,"duration":2},{"id":28,"direction":1,"type":0,"date":1413044931,"duration":20},{"id":28,"direction":0,"type":0,"date":1413055181,"duration":38},{"id":1,"direction":0,"type":0,"date":1413059146,"duration":13},{"id":16,"direction":0,"type":0,"date":1413069201,"duration":40},{"id":1,"direction":0,"type":0,"date":1413070099,"duration":208},{"id":1,"direction":0,"type":0,"date":1413108051,"duration":170},{"id":1,"direction":2,"type":0,"date":1413119224,"duration":0},{"id":1,"direction":0,"type":0,"date":1413123964,"duration":216},{"id":1,"direction":0,"type":0,"date":1413131688,"duration":106},{"id":12,"direction":0,"type":0,"date":1413199378,"duration":135},{"id":3,"direction":0,"type":0,"date":1413199532,"duration":44},{"id":29,"direction":1,"type":0,"date":1413201554,"duration":26},{"id":1,"direction":0,"type":0,"date":1413206581,"duration":44},{"id":29,"direction":1,"type":0,"date":1413211514,"duration":100},{"id":1,"direction":0,"type":0,"date":1413213926,"duration":25},{"id":12,"direction":0,"type":0,"date":1413222179,"duration":21},{"id":1,"direction":0,"type":0,"date":1413284444,"duration":15},{"id":30,"direction":1,"type":0,"date":1413289057,"duration":192},{"id":0,"direction":0,"type":0,"date":1413292178,"duration":64},{"id":1,"direction":2,"type":0,"date":1413298114,"duration":0},{"id":1,"direction":1,"type":0,"date":1413298864,"duration":17},{"id":1,"direction":1,"type":0,"date":1413298912,"duration":0},{"id":1,"direction":0,"type":0,"date":1413298913,"duration":105},{"id":1,"direction":0,"type":0,"date":1413300272,"duration":60},{"id":16,"direction":0,"type":0,"date":1413300545,"duration":45},{"id":31,"direction":2,"type":0,"date":1413305382,"duration":0},{"id":31,"direction":1,"type":0,"date":1413308768,"duration":0},{"id":1,"direction":1,"type":0,"date":1413310796,"duration":313},{"id":19,"direction":0,"type":0,"date":1413373269,"duration":44},{"id":1,"direction":0,"type":0,"date":1413382710,"duration":39},{"id":0,"direction":0,"type":0,"date":1413450573,"duration":31},{"id":32,"direction":0,"type":0,"date":1413452058,"duration":43},{"id":1,"direction":0,"type":0,"date":1413456345,"duration":149},{"id":1,"direction":0,"type":0,"date":1413472773,"duration":223},{"id":3,"direction":2,"type":0,"date":1413475391,"duration":0},{"id":3,"direction":1,"type":0,"date":1413475546,"duration":334},{"id":1,"direction":1,"type":0,"date":1413478541,"duration":63},{"id":16,"direction":2,"type":0,"date":1413478818,"duration":0},{"id":33,"direction":2,"type":0,"date":1413484198,"duration":0},{"id":4,"direction":1,"type":0,"date":1413484707,"duration":25},{"id":1,"direction":1,"type":0,"date":1413493588,"duration":35},{"id":32,"direction":0,"type":0,"date":1413537424,"duration":37},{"id":11,"direction":1,"type":0,"date":1413537796,"duration":0},{"id":11,"direction":1,"type":0,"date":1413537861,"duration":250},{"id":11,"direction":0,"type":0,"date":1413537903,"duration":892},{"id":1,"direction":0,"type":0,"date":1413543357,"duration":349},{"id":3,"direction":0,"type":0,"date":1413552183,"duration":241},{"id":9,"direction":2,"type":0,"date":1413555494,"duration":0},{"id":9,"direction":1,"type":0,"date":1413555565,"duration":39},{"id":4,"direction":1,"type":0,"date":1413555632,"duration":27},{"id":1,"direction":0,"type":0,"date":1413556059,"duration":11},{"id":1,"direction":1,"type":0,"date":1413556616,"duration":31},{"id":3,"direction":0,"type":0,"date":1413565432,"duration":181},{"id":34,"direction":0,"type":0,"date":1413566099,"duration":314},{"id":1,"direction":0,"type":0,"date":1413567563,"duration":245},{"id":1,"direction":1,"type":0,"date":1413578255,"duration":172},{"id":1,"direction":1,"type":0,"date":1413580571,"duration":71},{"id":1,"direction":0,"type":0,"date":1413583191,"duration":193},{"id":1,"direction":1,"type":0,"date":1413583426,"duration":28},{"id":34,"direction":1,"type":0,"date":1413623620,"duration":26},{"id":34,"direction":0,"type":0,"date":1413623957,"duration":32},{"id":34,"direction":2,"type":0,"date":1413628109,"duration":0},{"id":1,"direction":2,"type":0,"date":1413628272,"duration":0},{"id":4,"direction":1,"type":0,"date":1413628533,"duration":13},{"id":4,"direction":1,"type":0,"date":1413629787,"duration":0},{"id":1,"direction":1,"type":0,"date":1413629792,"duration":34},{"id":1,"direction":1,"type":0,"date":1413636096,"duration":0},{"id":1,"direction":1,"type":0,"date":1413636114,"duration":0},{"id":1,"direction":1,"type":0,"date":1413636125,"duration":0},{"id":1,"direction":1,"type":0,"date":1413642655,"duration":85},{"id":1,"direction":1,"type":0,"date":1413668553,"duration":64},{"id":4,"direction":1,"type":0,"date":1413673422,"duration":0},{"id":4,"direction":1,"type":0,"date":1413706985,"duration":20},{"id":22,"direction":0,"type":0,"date":1413714793,"duration":48},{"id":1,"direction":0,"type":0,"date":1413715858,"duration":207},{"id":1,"direction":0,"type":0,"date":1413723687,"duration":52},{"id":1,"direction":1,"type":0,"date":1413734326,"duration":227},{"id":1,"direction":0,"type":0,"date":1413745661,"duration":119},{"id":11,"direction":0,"type":0,"date":1413799391,"duration":488},{"id":1,"direction":0,"type":0,"date":1413804083,"duration":126},{"id":1,"direction":0,"type":0,"date":1413817078,"duration":180},{"id":3,"direction":2,"type":0,"date":1413818525,"duration":0},{"id":3,"direction":1,"type":0,"date":1413818582,"duration":11},{"id":3,"direction":1,"type":0,"date":1413818606,"duration":112},{"id":6,"direction":1,"type":0,"date":1413819000,"duration":44},{"id":6,"direction":0,"type":0,"date":1413819255,"duration":111},{"id":32,"direction":1,"type":0,"date":1413819588,"duration":111},{"id":23,"direction":1,"type":0,"date":1413822373,"duration":0},{"id":23,"direction":1,"type":0,"date":1413822385,"duration":0},{"id":23,"direction":1,"type":0,"date":1413822400,"duration":0},{"id":23,"direction":1,"type":0,"date":1413822461,"duration":0},{"id":4,"direction":1,"type":0,"date":1413825277,"duration":32},{"id":23,"direction":0,"type":0,"date":1413834310,"duration":195},{"id":1,"direction":1,"type":0,"date":1413840503,"duration":33},{"id":1,"direction":2,"type":0,"date":1413840681,"duration":0},{"id":1,"direction":2,"type":0,"date":1413840722,"duration":0},{"id":1,"direction":1,"type":0,"date":1413841047,"duration":459},{"id":1,"direction":1,"type":0,"date":1413869031,"duration":2},{"id":1,"direction":1,"type":0,"date":1413869067,"duration":2},{"id":1,"direction":1,"type":0,"date":1413869112,"duration":2},{"id":1,"direction":1,"type":0,"date":1413869152,"duration":15},{"id":32,"direction":0,"type":0,"date":1413886555,"duration":14},{"id":0,"direction":1,"type":0,"date":1413895251,"duration":47},{"id":1,"direction":0,"type":0,"date":1413896540,"duration":50},{"id":1,"direction":0,"type":0,"date":1413902957,"duration":14},{"id":3,"direction":1,"type":0,"date":1413906644,"duration":0},{"id":1,"direction":1,"type":0,"date":1413911672,"duration":37},{"id":1,"direction":0,"type":0,"date":1413978047,"duration":73},{"id":3,"direction":0,"type":0,"date":1413980681,"duration":269},{"id":1,"direction":0,"type":0,"date":1413985779,"duration":45},{"id":8,"direction":2,"type":0,"date":1414054927,"duration":0},{"id":35,"direction":1,"type":0,"date":1414058398,"duration":18},{"id":4,"direction":1,"type":0,"date":1414060593,"duration":29},{"id":1,"direction":1,"type":0,"date":1414060775,"duration":2},{"id":1,"direction":1,"type":0,"date":1414061054,"duration":2},{"id":1,"direction":1,"type":0,"date":1414061267,"duration":2},{"id":1,"direction":0,"type":0,"date":1414061404,"duration":29},{"id":6,"direction":1,"type":0,"date":1414065919,"duration":21},{"id":6,"direction":1,"type":0,"date":1414068934,"duration":109},{"id":26,"direction":2,"type":0,"date":1414069268,"duration":0},{"id":0,"direction":0,"type":0,"date":1414084141,"duration":163},{"id":4,"direction":1,"type":0,"date":1414085120,"duration":171},{"id":26,"direction":2,"type":0,"date":1414085123,"duration":0},{"id":0,"direction":1,"type":0,"date":1414085299,"duration":32},{"id":4,"direction":1,"type":0,"date":1414085358,"duration":13},{"id":0,"direction":2,"type":0,"date":1414151512,"duration":0},{"id":16,"direction":2,"type":0,"date":1414163456,"duration":0},{"id":16,"direction":2,"type":0,"date":1414163487,"duration":0},{"id":4,"direction":1,"type":0,"date":1414164239,"duration":25},{"id":16,"direction":1,"type":0,"date":1414166586,"duration":5},{"id":4,"direction":1,"type":0,"date":1414167086,"duration":20},{"id":4,"direction":1,"type":0,"date":1414167920,"duration":15},{"id":16,"direction":1,"type":0,"date":1414167941,"duration":44},{"id":16,"direction":0,"type":0,"date":1414168308,"duration":67},{"id":16,"direction":0,"type":0,"date":1414178415,"duration":16},{"id":1,"direction":0,"type":0,"date":1414241289,"duration":116},{"id":23,"direction":0,"type":0,"date":1414247087,"duration":36},{"id":16,"direction":0,"type":0,"date":1414247951,"duration":76},{"id":1,"direction":2,"type":0,"date":1414248948,"duration":0},{"id":1,"direction":1,"type":0,"date":1414250412,"duration":68},{"id":1,"direction":1,"type":0,"date":1414254050,"duration":11},{"id":1,"direction":1,"type":0,"date":1414254095,"duration":0},{"id":1,"direction":0,"type":0,"date":1414328136,"duration":136},{"id":11,"direction":0,"type":0,"date":1414345298,"duration":915},{"id":26,"direction":2,"type":0,"date":1414350078,"duration":0},{"id":36,"direction":0,"type":0,"date":1414410319,"duration":99},{"id":3,"direction":0,"type":0,"date":1414426841,"duration":7},{"id":3,"direction":0,"type":0,"date":1414426871,"duration":70},{"id":36,"direction":1,"type":0,"date":1414429203,"duration":42},{"id":1,"direction":1,"type":0,"date":1414495520,"duration":107},{"id":36,"direction":0,"type":0,"date":1414500978,"duration":13},{"id":1,"direction":0,"type":0,"date":1414508884,"duration":108},{"id":0,"direction":0,"type":0,"date":1414510123,"duration":35},{"id":37,"direction":0,"type":0,"date":1414528786,"duration":406},{"id":3,"direction":0,"type":0,"date":1414575100,"duration":143},{"id":1,"direction":0,"type":0,"date":1414583990,"duration":231},{"id":38,"direction":1,"type":0,"date":1414590100,"duration":59},{"id":0,"direction":1,"type":0,"date":1414590646,"duration":54},{"id":1,"direction":0,"type":0,"date":1414596132,"duration":36},{"id":4,"direction":1,"type":0,"date":1414598048,"duration":0},{"id":1,"direction":0,"type":0,"date":1414664446,"duration":64},{"id":1,"direction":1,"type":0,"date":1414687087,"duration":100},{"id":1,"direction":0,"type":0,"date":1414688261,"duration":55},{"id":4,"direction":1,"type":0,"date":1414745571,"duration":0},{"id":16,"direction":1,"type":0,"date":1414747705,"duration":3},{"id":0,"direction":1,"type":0,"date":1414747718,"duration":158},{"id":23,"direction":1,"type":0,"date":1414759073,"duration":693},{"id":1,"direction":1,"type":0,"date":1414771728,"duration":104},{"id":0,"direction":1,"type":0,"date":1414771905,"duration":39},{"id":1,"direction":1,"type":0,"date":1414778662,"duration":116},{"id":26,"direction":0,"type":0,"date":1414788758,"duration":56},{"id":26,"direction":2,"type":0,"date":1414790981,"duration":0},{"id":19,"direction":2,"type":0,"date":1414833500,"duration":0},{"id":4,"direction":1,"type":0,"date":1414833732,"duration":36},{"id":1,"direction":0,"type":0,"date":1414957087,"duration":365},{"id":1,"direction":1,"type":0,"date":1414993912,"duration":2},{"id":1,"direction":1,"type":0,"date":1414993984,"duration":2},{"id":1,"direction":1,"type":0,"date":1414994141,"duration":25},{"id":39,"direction":1,"type":0,"date":1415016543,"duration":0},{"id":3,"direction":0,"type":0,"date":1415016993,"duration":181},{"id":1,"direction":0,"type":0,"date":1415018002,"duration":326},{"id":15,"direction":1,"type":0,"date":1415103183,"duration":8},{"id":3,"direction":0,"type":0,"date":1415103600,"duration":38},{"id":4,"direction":1,"type":0,"date":1415104805,"duration":16},{"id":32,"direction":1,"type":0,"date":1415104851,"duration":50},{"id":15,"direction":0,"type":0,"date":1415104884,"duration":26},{"id":37,"direction":0,"type":0,"date":1415105205,"duration":48},{"id":1,"direction":0,"type":0,"date":1415108449,"duration":202},{"id":22,"direction":1,"type":0,"date":1415110842,"duration":106},{"id":22,"direction":1,"type":0,"date":1415110963,"duration":0},{"id":3,"direction":1,"type":0,"date":1415110973,"duration":4},{"id":3,"direction":0,"type":0,"date":1415111322,"duration":341},{"id":1,"direction":0,"type":0,"date":1415118683,"duration":75},{"id":26,"direction":0,"type":0,"date":1415124925,"duration":73},{"id":1,"direction":1,"type":0,"date":1415126903,"duration":217},{"id":3,"direction":0,"type":0,"date":1415186301,"duration":154},{"id":1,"direction":1,"type":0,"date":1415190426,"duration":0},{"id":15,"direction":1,"type":0,"date":1415190439,"duration":2},{"id":1,"direction":2,"type":0,"date":1415191083,"duration":0},{"id":1,"direction":1,"type":0,"date":1415191311,"duration":229},{"id":15,"direction":0,"type":0,"date":1415192249,"duration":37},{"id":3,"direction":2,"type":0,"date":1415196418,"duration":0},{"id":3,"direction":1,"type":0,"date":1415196601,"duration":120},{"id":40,"direction":2,"type":0,"date":1415198197,"duration":0},{"id":15,"direction":0,"type":0,"date":1415198336,"duration":129},{"id":1,"direction":2,"type":0,"date":1415205006,"duration":0},{"id":1,"direction":0,"type":0,"date":1415205561,"duration":16},{"id":1,"direction":1,"type":0,"date":1415208499,"duration":2},{"id":1,"direction":1,"type":0,"date":1415209341,"duration":12},{"id":1,"direction":0,"type":0,"date":1415209387,"duration":37},{"id":4,"direction":1,"type":0,"date":1415210851,"duration":37},{"id":0,"direction":0,"type":0,"date":1415211445,"duration":35},{"id":3,"direction":0,"type":0,"date":1415272093,"duration":61},{"id":3,"direction":1,"type":0,"date":1415272646,"duration":14},{"id":3,"direction":1,"type":0,"date":1415272723,"duration":115},{"id":2,"direction":0,"type":0,"date":1415280278,"duration":64},{"id":1,"direction":0,"type":0,"date":1415280634,"duration":40},{"id":1,"direction":1,"type":0,"date":1415287213,"duration":67},{"id":41,"direction":1,"type":0,"date":1415289742,"duration":0},{"id":41,"direction":1,"type":0,"date":1415289763,"duration":79},{"id":41,"direction":1,"type":0,"date":1415291255,"duration":29},{"id":1,"direction":1,"type":0,"date":1415295056,"duration":26},{"id":2,"direction":1,"type":0,"date":1415295347,"duration":0},{"id":1,"direction":1,"type":0,"date":1415295355,"duration":122},{"id":3,"direction":0,"type":0,"date":1415354323,"duration":24},{"id":1,"direction":0,"type":0,"date":1415364493,"duration":8},{"id":1,"direction":1,"type":0,"date":1415366709,"duration":2},{"id":1,"direction":0,"type":0,"date":1415369705,"duration":81},{"id":1,"direction":0,"type":0,"date":1415382822,"duration":10},{"id":1,"direction":1,"type":0,"date":1415387955,"duration":113},{"id":4,"direction":1,"type":0,"date":1415389593,"duration":26},{"id":23,"direction":1,"type":0,"date":1415389655,"duration":321},{"id":1,"direction":2,"type":0,"date":1415446107,"duration":0},{"id":1,"direction":2,"type":0,"date":1415450432,"duration":0},{"id":1,"direction":2,"type":0,"date":1415456676,"duration":0},{"id":1,"direction":1,"type":0,"date":1415457013,"duration":231},{"id":1,"direction":1,"type":0,"date":1415460835,"duration":44},{"id":42,"direction":1,"type":0,"date":1415468284,"duration":3},{"id":18,"direction":0,"type":0,"date":1415471589,"duration":32},{"id":1,"direction":0,"type":0,"date":1415481966,"duration":79},{"id":1,"direction":0,"type":0,"date":1415540328,"duration":291},{"id":1,"direction":0,"type":0,"date":1415545637,"duration":190},{"id":1,"direction":1,"type":0,"date":1415550795,"duration":37},{"id":23,"direction":0,"type":0,"date":1415563926,"duration":325},{"id":0,"direction":1,"type":0,"date":1415609677,"duration":0},{"id":11,"direction":0,"type":0,"date":1415613648,"duration":47},{"id":11,"direction":1,"type":0,"date":1415613718,"duration":337},{"id":35,"direction":1,"type":0,"date":1415614600,"duration":0},{"id":35,"direction":1,"type":0,"date":1415614641,"duration":19},{"id":16,"direction":2,"type":0,"date":1415728277,"duration":0},{"id":16,"direction":1,"type":0,"date":1415728891,"duration":81},{"id":23,"direction":0,"type":0,"date":1415794537,"duration":364},{"id":1,"direction":0,"type":0,"date":1415795551,"duration":324},{"id":16,"direction":0,"type":0,"date":1415795861,"duration":0},{"id":0,"direction":0,"type":0,"date":1415796369,"duration":42},{"id":43,"direction":1,"type":0,"date":1415798005,"duration":47},{"id":43,"direction":1,"type":0,"date":1415798067,"duration":45},{"id":43,"direction":1,"type":0,"date":1415798175,"duration":69},{"id":43,"direction":1,"type":0,"date":1415798258,"duration":391},{"id":16,"direction":0,"type":0,"date":1415802451,"duration":37},{"id":44,"direction":0,"type":0,"date":1415803000,"duration":329},{"id":1,"direction":0,"type":0,"date":1415805666,"duration":25},{"id":45,"direction":0,"type":0,"date":1415810549,"duration":112},{"id":46,"direction":0,"type":0,"date":1415867202,"duration":27},{"id":1,"direction":1,"type":0,"date":1415867969,"duration":0},{"id":1,"direction":2,"type":0,"date":1415868093,"duration":0},{"id":1,"direction":0,"type":0,"date":1415881768,"duration":294},{"id":47,"direction":2,"type":0,"date":1415894775,"duration":0},{"id":47,"direction":1,"type":0,"date":1415896115,"duration":24},{"id":1,"direction":0,"type":0,"date":1415897526,"duration":10},{"id":3,"direction":0,"type":0,"date":1415955360,"duration":26},{"id":45,"direction":1,"type":0,"date":1415961232,"duration":32},{"id":1,"direction":0,"type":0,"date":1415970249,"duration":226},{"id":48,"direction":0,"type":0,"date":1415974138,"duration":68},{"id":1,"direction":2,"type":0,"date":1415979691,"duration":0},{"id":1,"direction":1,"type":0,"date":1415980636,"duration":2},{"id":1,"direction":0,"type":0,"date":1415980680,"duration":115},{"id":1,"direction":0,"type":0,"date":1415992366,"duration":542},{"id":1,"direction":0,"type":0,"date":1416051116,"duration":284},{"id":1,"direction":2,"type":0,"date":1416060668,"duration":0},{"id":1,"direction":2,"type":0,"date":1416060788,"duration":0},{"id":4,"direction":1,"type":0,"date":1416060964,"duration":38},{"id":4,"direction":1,"type":0,"date":1416068198,"duration":34},{"id":15,"direction":0,"type":0,"date":1416150916,"duration":90},{"id":49,"direction":1,"type":0,"date":1416151061,"duration":44},{"id":1,"direction":0,"type":0,"date":1416215905,"duration":142},{"id":16,"direction":0,"type":0,"date":1416233024,"duration":47},{"id":1,"direction":2,"type":0,"date":1416237600,"duration":0},{"id":1,"direction":0,"type":0,"date":1416238040,"duration":93},{"id":1,"direction":1,"type":0,"date":1416241763,"duration":47},{"id":23,"direction":0,"type":0,"date":1416306058,"duration":52},{"id":2,"direction":1,"type":0,"date":1416306257,"duration":2},{"id":1,"direction":0,"type":0,"date":1416318110,"duration":301},{"id":0,"direction":0,"type":0,"date":1416325497,"duration":27},{"id":1,"direction":1,"type":0,"date":1416329168,"duration":9},{"id":1,"direction":1,"type":0,"date":1416331027,"duration":28},{"id":1,"direction":0,"type":0,"date":1416332418,"duration":411},{"id":1,"direction":2,"type":0,"date":1416384646,"duration":0},{"id":3,"direction":1,"type":0,"date":1416393129,"duration":4},{"id":45,"direction":1,"type":0,"date":1416393215,"duration":0},{"id":4,"direction":1,"type":0,"date":1416393242,"duration":1},{"id":45,"direction":1,"type":0,"date":1416393250,"duration":23},{"id":1,"direction":1,"type":0,"date":1416400267,"duration":2},{"id":1,"direction":0,"type":0,"date":1416400479,"duration":220},{"id":15,"direction":0,"type":0,"date":1416402034,"duration":98},{"id":15,"direction":2,"type":0,"date":1416402371,"duration":0},{"id":15,"direction":2,"type":0,"date":1416402437,"duration":0},{"id":15,"direction":0,"type":0,"date":1416402913,"duration":25},{"id":4,"direction":1,"type":0,"date":1416402947,"duration":48},{"id":0,"direction":1,"type":0,"date":1416405343,"duration":35},{"id":1,"direction":0,"type":0,"date":1416487128,"duration":51},{"id":16,"direction":0,"type":0,"date":1416495762,"duration":49},{"id":15,"direction":2,"type":0,"date":1416496361,"duration":0},{"id":15,"direction":2,"type":0,"date":1416496854,"duration":0},{"id":15,"direction":2,"type":0,"date":1416497258,"duration":0},{"id":1,"direction":0,"type":0,"date":1416498803,"duration":45},{"id":15,"direction":1,"type":0,"date":1416499263,"duration":20},{"id":1,"direction":1,"type":0,"date":1416499480,"duration":73},{"id":15,"direction":2,"type":0,"date":1416502090,"duration":0},{"id":3,"direction":0,"type":1,"date":1415016937,"duration":0},{"id":3,"direction":1,"type":1,"date":1415016967,"duration":0},{"id":3,"direction":0,"type":1,"date":1415089894,"duration":0},{"id":3,"direction":1,"type":1,"date":1415090384,"duration":0},{"id":3,"direction":1,"type":1,"date":1415090434,"duration":0},{"id":3,"direction":0,"type":1,"date":1415110791,"duration":0},{"id":3,"direction":1,"type":1,"date":1415132548,"duration":0},{"id":3,"direction":0,"type":1,"date":1415132624,"duration":0},{"id":3,"direction":0,"type":1,"date":1415132748,"duration":0},{"id":3,"direction":1,"type":1,"date":1415133139,"duration":0},{"id":3,"direction":0,"type":1,"date":1415133244,"duration":0},{"id":3,"direction":1,"type":1,"date":1415138012,"duration":0},{"id":3,"direction":0,"type":1,"date":1415138135,"duration":0},{"id":3,"direction":1,"type":1,"date":1415138161,"duration":0},{"id":3,"direction":0,"type":1,"date":1415173529,"duration":0},{"id":3,"direction":1,"type":1,"date":1415186249,"duration":0},{"id":3,"direction":0,"type":1,"date":1415186533,"duration":0},{"id":3,"direction":1,"type":1,"date":1415186586,"duration":0},{"id":3,"direction":1,"type":1,"date":1415271778,"duration":0},{"id":3,"direction":1,"type":1,"date":1415609759,"duration":0},{"id":3,"direction":0,"type":1,"date":1415609828,"duration":0},{"id":45,"direction":0,"type":1,"date":1415961172,"duration":0},{"id":3,"direction":1,"type":1,"date":1416050169,"duration":0},{"id":3,"direction":0,"type":1,"date":1416062311,"duration":0},{"id":3,"direction":1,"type":1,"date":1416063833,"duration":0},{"id":3,"direction":0,"type":1,"date":1416068116,"duration":0},{"id":3,"direction":1,"type":1,"date":1416068169,"duration":0},{"id":3,"direction":0,"type":1,"date":1416068294,"duration":0},{"id":3,"direction":1,"type":1,"date":1416068320,"duration":0},{"id":3,"direction":0,"type":1,"date":1416069591,"duration":0},{"id":3,"direction":1,"type":1,"date":1416072621,"duration":0},{"id":3,"direction":0,"type":1,"date":1416212474,"duration":0},{"id":3,"direction":1,"type":1,"date":1416212772,"duration":0},{"id":3,"direction":0,"type":1,"date":1416213002,"duration":0},{"id":3,"direction":1,"type":1,"date":1416331472,"duration":0},{"id":45,"direction":1,"type":1,"date":1416331561,"duration":0},{"id":45,"direction":0,"type":1,"date":1416331675,"duration":0},{"id":45,"direction":1,"type":1,"date":1416331698,"duration":0},{"id":3,"direction":0,"type":1,"date":1416335845,"duration":0},{"id":3,"direction":1,"type":1,"date":1416335875,"duration":0},{"id":45,"direction":1,"type":1,"date":1416412634,"duration":0},{"id":45,"direction":0,"type":1,"date":1416412684,"duration":0},{"id":3,"direction":1,"type":1,"date":1416472162,"duration":0},{"id":26,"direction":1,"type":0,"date":1416511357,"duration":0},{"id":1,"direction":1,"type":1,"date":1416524426,"duration":0},{"id":1,"direction":0,"type":1,"date":1416524491,"duration":0},{"id":1,"direction":1,"type":1,"date":1416524525,"duration":0},{"id":1,"direction":0,"type":1,"date":1416524545,"duration":0},{"id":1,"direction":1,"type":1,"date":1416524598,"duration":0},{"id":1,"direction":0,"type":1,"date":1416524674,"duration":0},{"id":1,"direction":0,"type":1,"date":1416528576,"duration":0},{"id":1,"direction":1,"type":1,"date":1416553622,"duration":0},{"id":1,"direction":1,"type":0,"date":1416553689,"duration":8},{"id":45,"direction":1,"type":1,"date":1416557566,"duration":0},{"id":45,"direction":0,"type":1,"date":1416559375,"duration":0},{"id":45,"direction":1,"type":1,"date":1416559589,"duration":0},{"id":50,"direction":1,"type":0,"date":1416560996,"duration":160},{"id":1,"direction":1,"type":0,"date":1416567729,"duration":2},{"id":1,"direction":0,"type":0,"date":1416567895,"duration":49},{"id":51,"direction":0,"type":0,"date":1416576513,"duration":8},{"id":16,"direction":0,"type":0,"date":1416577532,"duration":28},{"id":41,"direction":1,"type":0,"date":1416585090,"duration":20},{"id":1,"direction":0,"type":1,"date":1416585353,"duration":0},{"id":1,"direction":1,"type":1,"date":1416587020,"duration":0},{"id":0,"direction":0,"type":0,"date":1416590363,"duration":33},{"id":15,"direction":0,"type":0,"date":1416590496,"duration":79},{"id":0,"direction":0,"type":1,"date":1416597202,"duration":0},{"id":0,"direction":1,"type":1,"date":1416597227,"duration":0},{"id":16,"direction":0,"type":0,"date":1416600714,"duration":34},{"id":37,"direction":0,"type":0,"date":1416602768,"duration":145},{"id":1,"direction":0,"type":1,"date":1416611315,"duration":0},{"id":1,"direction":1,"type":1,"date":1416612036,"duration":0},{"id":1,"direction":0,"type":1,"date":1416612085,"duration":0},{"id":1,"direction":1,"type":1,"date":1416612941,"duration":0},{"id":1,"direction":0,"type":1,"date":1416613007,"duration":0},{"id":1,"direction":1,"type":0,"date":1416613446,"duration":518},{"id":16,"direction":0,"type":0,"date":1416615841,"duration":75},{"id":1,"direction":0,"type":1,"date":1416616206,"duration":0},{"id":3,"direction":1,"type":1,"date":1416645040,"duration":0},{"id":1,"direction":1,"type":0,"date":1416654588,"duration":2},{"id":1,"direction":0,"type":0,"date":1416654643,"duration":19},{"id":52,"direction":0,"type":1,"date":1416656610,"duration":0},{"id":52,"direction":1,"type":1,"date":1416656652,"duration":0},{"id":52,"direction":0,"type":1,"date":1416656686,"duration":0},{"id":52,"direction":1,"type":1,"date":1416656732,"duration":0},{"id":3,"direction":2,"type":0,"date":1416666989,"duration":0},{"id":3,"direction":1,"type":0,"date":1416668308,"duration":0},{"id":4,"direction":1,"type":0,"date":1416668334,"duration":71},{"id":3,"direction":1,"type":1,"date":1416668494,"duration":0},{"id":2,"direction":1,"type":0,"date":1416668738,"duration":29},{"id":2,"direction":0,"type":0,"date":1416669698,"duration":30},{"id":16,"direction":0,"type":0,"date":1416673656,"duration":78},{"id":16,"direction":0,"type":0,"date":1416674047,"duration":80},{"id":2,"direction":1,"type":0,"date":1416676744,"duration":1},{"id":16,"direction":1,"type":0,"date":1416676789,"duration":3},{"id":2,"direction":1,"type":0,"date":1416676847,"duration":1},{"id":16,"direction":0,"type":0,"date":1416676904,"duration":43},{"id":4,"direction":1,"type":0,"date":1416676900,"duration":55},{"id":19,"direction":0,"type":0,"date":1416677028,"duration":29},{"id":53,"direction":0,"type":1,"date":1416680159,"duration":0},{"id":53,"direction":1,"type":1,"date":1416680196,"duration":0},{"id":53,"direction":0,"type":1,"date":1416680230,"duration":0},{"id":1,"direction":0,"type":1,"date":1416680260,"duration":0},{"id":1,"direction":1,"type":1,"date":1416686905,"duration":0},{"id":1,"direction":0,"type":1,"date":1416686951,"duration":0},{"id":1,"direction":1,"type":1,"date":1416686983,"duration":0},{"id":11,"direction":2,"type":0,"date":1416738321,"duration":0},{"id":11,"direction":1,"type":1,"date":1416738608,"duration":0},{"id":11,"direction":0,"type":1,"date":1416738787,"duration":0},{"id":11,"direction":1,"type":1,"date":1416738812,"duration":0},{"id":1,"direction":1,"type":1,"date":1416746999,"duration":0},{"id":1,"direction":0,"type":1,"date":1416747026,"duration":0},{"id":1,"direction":1,"type":1,"date":1416747038,"duration":0},{"id":1,"direction":0,"type":1,"date":1416747088,"duration":0},{"id":1,"direction":1,"type":0,"date":1416747081,"duration":158},{"id":1,"direction":2,"type":0,"date":1416760949,"duration":0},{"id":1,"direction":1,"type":0,"date":1416760985,"duration":34},{"id":11,"direction":0,"type":0,"date":1416762959,"duration":4},{"id":11,"direction":1,"type":0,"date":1416762983,"duration":549},{"id":1,"direction":0,"type":1,"date":1416764674,"duration":0},{"id":1,"direction":1,"type":1,"date":1416764895,"duration":0},{"id":1,"direction":0,"type":1,"date":1416764961,"duration":0},{"id":1,"direction":1,"type":1,"date":1416764979,"duration":0},{"id":1,"direction":0,"type":1,"date":1416765004,"duration":0},{"id":1,"direction":2,"type":0,"date":1416765124,"duration":0},{"id":1,"direction":0,"type":0,"date":1416767055,"duration":22},{"id":1,"direction":1,"type":1,"date":1416815535,"duration":0},{"id":3,"direction":1,"type":1,"date":1416823508,"duration":0},{"id":3,"direction":0,"type":1,"date":1416824926,"duration":0},{"id":1,"direction":0,"type":1,"date":1416830359,"duration":0},{"id":1,"direction":1,"type":0,"date":1416831523,"duration":2},{"id":41,"direction":1,"type":0,"date":1416839307,"duration":35},{"id":1,"direction":1,"type":1,"date":1416845390,"duration":0},{"id":1,"direction":0,"type":1,"date":1416847320,"duration":0},{"id":1,"direction":1,"type":1,"date":1416847341,"duration":0},{"id":1,"direction":0,"type":1,"date":1416847407,"duration":0},{"id":1,"direction":1,"type":1,"date":1416847426,"duration":0},{"id":0,"direction":0,"type":0,"date":1416849095,"duration":53},{"id":1,"direction":1,"type":0,"date":1416853886,"duration":72},{"id":54,"direction":2,"type":0,"date":1416864680,"duration":0},{"id":4,"direction":1,"type":0,"date":1416901870,"duration":47},{"id":54,"direction":1,"type":1,"date":1416901982,"duration":0},{"id":3,"direction":1,"type":0,"date":1416913241,"duration":4},{"id":1,"direction":0,"type":1,"date":1416914388,"duration":0},{"id":1,"direction":1,"type":1,"date":1416914442,"duration":0},{"id":1,"direction":0,"type":0,"date":1416914467,"duration":104},{"id":3,"direction":0,"type":0,"date":1416915236,"duration":123},{"id":55,"direction":1,"type":0,"date":1416916711,"duration":23},{"id":55,"direction":1,"type":0,"date":1416917799,"duration":3},{"id":55,"direction":1,"type":0,"date":1416918868,"duration":43},{"id":3,"direction":0,"type":1,"date":1416919943,"duration":0},{"id":3,"direction":1,"type":1,"date":1416920486,"duration":0},{"id":16,"direction":0,"type":0,"date":1416924290,"duration":0},{"id":16,"direction":1,"type":1,"date":1416924343,"duration":0},{"id":55,"direction":1,"type":0,"date":1416924813,"duration":3},{"id":55,"direction":1,"type":0,"date":1416924847,"duration":2},{"id":55,"direction":1,"type":0,"date":1416924894,"duration":0},{"id":16,"direction":1,"type":0,"date":1416924901,"duration":19},{"id":55,"direction":1,"type":0,"date":1416924940,"duration":0},{"id":55,"direction":1,"type":0,"date":1416925209,"duration":0},{"id":1,"direction":1,"type":0,"date":1416929983,"duration":86},{"id":4,"direction":1,"type":0,"date":1416931930,"duration":145},{"id":3,"direction":1,"type":1,"date":1416935411,"duration":0},{"id":3,"direction":0,"type":1,"date":1416935611,"duration":0},{"id":1,"direction":0,"type":0,"date":1416936961,"duration":351},{"id":1,"direction":1,"type":1,"date":1416949208,"duration":0},{"id":1,"direction":0,"type":1,"date":1416949499,"duration":0},{"id":1,"direction":1,"type":1,"date":1416949536,"duration":0},{"id":1,"direction":0,"type":1,"date":1416949569,"duration":0},{"id":1,"direction":1,"type":1,"date":1416949620,"duration":0},{"id":1,"direction":0,"type":1,"date":1416949644,"duration":0},{"id":1,"direction":1,"type":1,"date":1416949838,"duration":0},{"id":1,"direction":1,"type":1,"date":1416949861,"duration":0},{"id":1,"direction":0,"type":1,"date":1416949921,"duration":0},{"id":1,"direction":1,"type":1,"date":1416949945,"duration":0},{"id":1,"direction":1,"type":1,"date":1416949963,"duration":0},{"id":1,"direction":0,"type":1,"date":1416949995,"duration":0},{"id":1,"direction":1,"type":1,"date":1416950109,"duration":0},{"id":1,"direction":0,"type":1,"date":1416950200,"duration":0},{"id":1,"direction":1,"type":1,"date":1416950414,"duration":0},{"id":1,"direction":1,"type":1,"date":1416952260,"duration":0},{"id":1,"direction":0,"type":0,"date":1416952328,"duration":88},{"id":1,"direction":1,"type":1,"date":1416952597,"duration":0},{"id":1,"direction":0,"type":1,"date":1416952643,"duration":0},{"id":1,"direction":1,"type":1,"date":1416952658,"duration":0},{"id":1,"direction":1,"type":1,"date":1416954993,"duration":0},{"id":1,"direction":0,"type":1,"date":1416955037,"duration":0},{"id":1,"direction":1,"type":1,"date":1416955051,"duration":0},{"id":1,"direction":0,"type":1,"date":1416960503,"duration":0},{"id":1,"direction":1,"type":1,"date":1416978195,"duration":0},{"id":1,"direction":1,"type":0,"date":1416978324,"duration":0},{"id":1,"direction":1,"type":1,"date":1416978482,"duration":0},{"id":55,"direction":1,"type":0,"date":1416991044,"duration":4},{"id":1,"direction":1,"type":1,"date":1416992245,"duration":0},{"id":3,"direction":1,"type":1,"date":1416993172,"duration":0},{"id":3,"direction":0,"type":1,"date":1416993466,"duration":0},{"id":3,"direction":1,"type":1,"date":1416993518,"duration":0},{"id":3,"direction":0,"type":1,"date":1416993580,"duration":0},{"id":16,"direction":2,"type":0,"date":1417000988,"duration":0},{"id":4,"direction":1,"type":0,"date":1417001420,"duration":30},{"id":2,"direction":1,"type":0,"date":1417001471,"duration":15},{"id":4,"direction":1,"type":0,"date":1417001770,"duration":17},{"id":1,"direction":1,"type":1,"date":1417007924,"duration":0},{"id":1,"direction":0,"type":1,"date":1417008002,"duration":0},{"id":56,"direction":0,"type":1,"date":1417012046,"duration":0},{"id":56,"direction":1,"type":1,"date":1417012326,"duration":0},{"id":56,"direction":0,"type":1,"date":1417012390,"duration":0},{"id":56,"direction":1,"type":1,"date":1417013556,"duration":0},{"id":56,"direction":0,"type":1,"date":1417013595,"duration":0},{"id":56,"direction":0,"type":1,"date":1417013639,"duration":0},{"id":56,"direction":0,"type":1,"date":1417013723,"duration":0},{"id":56,"direction":1,"type":1,"date":1417014481,"duration":0},{"id":56,"direction":0,"type":1,"date":1417014611,"duration":0},{"id":56,"direction":1,"type":1,"date":1417014780,"duration":0},{"id":56,"direction":0,"type":1,"date":1417014878,"duration":0},{"id":1,"direction":0,"type":0,"date":1417014879,"duration":0},{"id":56,"direction":1,"type":1,"date":1417014905,"duration":0},{"id":56,"direction":1,"type":1,"date":1417014912,"duration":0},{"id":56,"direction":0,"type":1,"date":1417014985,"duration":0},{"id":56,"direction":0,"type":1,"date":1417015029,"duration":0},{"id":56,"direction":1,"type":1,"date":1417015511,"duration":0},{"id":56,"direction":0,"type":1,"date":1417015874,"duration":0},{"id":56,"direction":1,"type":1,"date":1417015986,"duration":0},{"id":1,"direction":1,"type":0,"date":1417016568,"duration":66},{"id":6,"direction":1,"type":0,"date":1417023111,"duration":849},{"id":1,"direction":0,"type":0,"date":1417035510,"duration":17},{"id":1,"direction":0,"type":0,"date":1417035545,"duration":797},{"id":0,"direction":1,"type":0,"date":1417044819,"duration":0},{"id":57,"direction":1,"type":0,"date":1417079622,"duration":0},{"id":58,"direction":1,"type":0,"date":1417079737,"duration":0},{"id":58,"direction":1,"type":0,"date":1417079789,"duration":0},{"id":58,"direction":1,"type":0,"date":1417079837,"duration":0},{"id":57,"direction":1,"type":0,"date":1417079861,"duration":0},{"id":58,"direction":1,"type":0,"date":1417079968,"duration":0},{"id":58,"direction":1,"type":0,"date":1417080040,"duration":0},{"id":1,"direction":1,"type":1,"date":1417080118,"duration":0},{"id":1,"direction":0,"type":1,"date":1417080185,"duration":0},{"id":1,"direction":1,"type":1,"date":1417084948,"duration":0},{"id":3,"direction":0,"type":1,"date":1417088949,"duration":0},{"id":3,"direction":1,"type":1,"date":1417089020,"duration":0},{"id":3,"direction":0,"type":1,"date":1417089251,"duration":0},{"id":59,"direction":1,"type":0,"date":1417090250,"duration":52},{"id":60,"direction":1,"type":0,"date":1417091590,"duration":405},{"id":1,"direction":0,"type":1,"date":1417094670,"duration":0},{"id":1,"direction":1,"type":1,"date":1417094760,"duration":0},{"id":1,"direction":0,"type":1,"date":1417094809,"duration":0},{"id":1,"direction":1,"type":1,"date":1417094964,"duration":0},{"id":1,"direction":1,"type":0,"date":1417101987,"duration":21},{"id":1,"direction":2,"type":0,"date":1417102922,"duration":0},{"id":3,"direction":0,"type":0,"date":1417107632,"duration":79},{"id":58,"direction":1,"type":0,"date":1417171005,"duration":0},{"id":58,"direction":1,"type":0,"date":1417171038,"duration":0},{"id":57,"direction":1,"type":0,"date":1417171045,"duration":0},{"id":58,"direction":1,"type":0,"date":1417171152,"duration":0},{"id":58,"direction":1,"type":0,"date":1417171260,"duration":0},{"id":61,"direction":1,"type":0,"date":1417171306,"duration":88},{"id":62,"direction":1,"type":0,"date":1417171414,"duration":132},{"id":1,"direction":0,"type":0,"date":1417183836,"duration":135},{"id":1,"direction":1,"type":0,"date":1417190382,"duration":21},{"id":63,"direction":0,"type":1,"date":1417191841,"duration":0},{"id":63,"direction":1,"type":1,"date":1417195095,"duration":0},{"id":0,"direction":1,"type":1,"date":1417195872,"duration":0},{"id":45,"direction":1,"type":1,"date":1417196888,"duration":0},{"id":45,"direction":0,"type":1,"date":1417197089,"duration":0},{"id":45,"direction":1,"type":1,"date":1417197214,"duration":0},{"id":45,"direction":0,"type":1,"date":1417197261,"duration":0},{"id":45,"direction":1,"type":1,"date":1417197629,"duration":0},{"id":45,"direction":0,"type":1,"date":1417197661,"duration":0},{"id":0,"direction":1,"type":0,"date":1417197647,"duration":1},{"id":27,"direction":1,"type":1,"date":1417200280,"duration":0},{"id":27,"direction":0,"type":1,"date":1417200387,"duration":0},{"id":0,"direction":0,"type":1,"date":1417200553,"duration":0},{"id":0,"direction":0,"type":1,"date":1417200578,"duration":0},{"id":0,"direction":1,"type":1,"date":1417200633,"duration":0},{"id":0,"direction":0,"type":0,"date":1417200690,"duration":49},{"id":27,"direction":0,"type":1,"date":1417201409,"duration":0},{"id":27,"direction":1,"type":0,"date":1417201714,"duration":48},{"id":11,"direction":1,"type":1,"date":1417202149,"duration":0},{"id":1,"direction":0,"type":0,"date":1417203591,"duration":206},{"id":11,"direction":0,"type":1,"date":1417203887,"duration":0},{"id":0,"direction":1,"type":1,"date":1417206619,"duration":0},{"id":0,"direction":0,"type":1,"date":1417206676,"duration":0},{"id":0,"direction":1,"type":1,"date":1417206690,"duration":0},{"id":0,"direction":0,"type":1,"date":1417206914,"duration":0},{"id":0,"direction":0,"type":0,"date":1417206933,"duration":45},{"id":0,"direction":0,"type":0,"date":1417208042,"duration":18},{"id":27,"direction":1,"type":1,"date":1417210547,"duration":0},{"id":64,"direction":2,"type":0,"date":1417211215,"duration":0},{"id":63,"direction":0,"type":1,"date":1417251261,"duration":0},{"id":63,"direction":1,"type":1,"date":1417258076,"duration":0},{"id":1,"direction":0,"type":0,"date":1417266292,"duration":204},{"id":65,"direction":0,"type":0,"date":1417274763,"duration":18},{"id":31,"direction":1,"type":0,"date":1417276265,"duration":1},{"id":31,"direction":1,"type":0,"date":1417276689,"duration":1},{"id":31,"direction":1,"type":1,"date":1417276842,"duration":0},{"id":31,"direction":0,"type":0,"date":1417278054,"duration":97},{"id":2,"direction":1,"type":0,"date":1417278186,"duration":1},{"id":2,"direction":1,"type":0,"date":1417278239,"duration":1},{"id":1,"direction":1,"type":0,"date":1417278281,"duration":0},{"id":1,"direction":1,"type":0,"date":1417278286,"duration":0},{"id":2,"direction":1,"type":0,"date":1417278293,"duration":0},{"id":16,"direction":1,"type":0,"date":1417278355,"duration":2},{"id":16,"direction":0,"type":0,"date":1417278395,"duration":33},{"id":16,"direction":1,"type":0,"date":1417278438,"duration":51},{"id":31,"direction":1,"type":0,"date":1417281594,"duration":1},{"id":28,"direction":0,"type":0,"date":1417282336,"duration":53},{"id":1,"direction":0,"type":0,"date":1417295530,"duration":534},{"id":22,"direction":1,"type":0,"date":1417335890,"duration":0},{"id":22,"direction":1,"type":0,"date":1417340097,"duration":54},{"id":22,"direction":0,"type":0,"date":1417341619,"duration":79},{"id":1,"direction":1,"type":1,"date":1417352791,"duration":0},{"id":1,"direction":0,"type":1,"date":1417352844,"duration":0},{"id":1,"direction":1,"type":1,"date":1417361696,"duration":0},{"id":1,"direction":0,"type":0,"date":1417362047,"duration":152},{"id":1,"direction":0,"type":1,"date":1417369939,"duration":0},{"id":1,"direction":1,"type":1,"date":1417369955,"duration":0},{"id":1,"direction":0,"type":0,"date":1417370651,"duration":39},{"id":1,"direction":0,"type":1,"date":1417393900,"duration":0},{"id":3,"direction":0,"type":1,"date":1417420982,"duration":0},{"id":3,"direction":1,"type":1,"date":1417421035,"duration":0},{"id":1,"direction":0,"type":1,"date":1417429954,"duration":0},{"id":1,"direction":1,"type":1,"date":1417430003,"duration":0},{"id":28,"direction":0,"type":1,"date":1417435020,"duration":0},{"id":28,"direction":1,"type":1,"date":1417435062,"duration":0},{"id":16,"direction":0,"type":0,"date":1417440439,"duration":147},{"id":61,"direction":1,"type":0,"date":1417442368,"duration":22},{"id":60,"direction":1,"type":0,"date":1417442403,"duration":400},{"id":1,"direction":0,"type":0,"date":1417446898,"duration":150},{"id":66,"direction":1,"type":0,"date":1417452757,"duration":113},{"id":1,"direction":1,"type":1,"date":1417510732,"duration":0},{"id":1,"direction":0,"type":1,"date":1417511566,"duration":0},{"id":3,"direction":0,"type":0,"date":1417511541,"duration":31},{"id":66,"direction":1,"type":0,"date":1417511926,"duration":134},{"id":16,"direction":0,"type":0,"date":1417524557,"duration":80},{"id":1,"direction":0,"type":0,"date":1417540634,"duration":79},{"id":1,"direction":1,"type":0,"date":1417543301,"duration":633},{"id":16,"direction":1,"type":0,"date":1417547651,"duration":27},{"id":1,"direction":1,"type":1,"date":1417555112,"duration":0},{"id":1,"direction":0,"type":1,"date":1417555165,"duration":0},{"id":1,"direction":1,"type":1,"date":1417555201,"duration":0},{"id":1,"direction":0,"type":1,"date":1417555285,"duration":0},{"id":1,"direction":1,"type":1,"date":1417555323,"duration":0},{"id":1,"direction":0,"type":1,"date":1417555346,"duration":0},{"id":1,"direction":1,"type":1,"date":1417555398,"duration":0},{"id":1,"direction":0,"type":1,"date":1417555417,"duration":0},{"id":1,"direction":1,"type":1,"date":1417555465,"duration":0},{"id":1,"direction":1,"type":1,"date":1417556403,"duration":0},{"id":1,"direction":1,"type":1,"date":1417592264,"duration":0},{"id":1,"direction":0,"type":1,"date":1417592894,"duration":0},{"id":1,"direction":1,"type":1,"date":1417592950,"duration":0},{"id":2,"direction":1,"type":0,"date":1417596286,"duration":15},{"id":0,"direction":0,"type":0,"date":1417599245,"duration":60},{"id":45,"direction":0,"type":1,"date":1417599408,"duration":0},{"id":45,"direction":1,"type":1,"date":1417599458,"duration":0},{"id":45,"direction":0,"type":1,"date":1417599483,"duration":0},{"id":1,"direction":1,"type":0,"date":1417610615,"duration":210},{"id":0,"direction":0,"type":1,"date":1417616219,"duration":0},{"id":0,"direction":1,"type":1,"date":1417616282,"duration":0},{"id":45,"direction":1,"type":1,"date":1417622785,"duration":0},{"id":45,"direction":0,"type":1,"date":1417622822,"duration":0},{"id":19,"direction":0,"type":0,"date":1417624319,"duration":23},{"id":45,"direction":1,"type":1,"date":1417625024,"duration":0},{"id":45,"direction":0,"type":1,"date":1417625051,"duration":0}],"subject":"","contacts":[]} \ No newline at end of file