<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[6933] sites/trunk/wp15.wordpress.net: WP15: Add map of events.</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta" style="font-size: 105%">
<dt style="float: left; width: 6em; font-weight: bold">Revision</dt> <dd><a style="font-weight: bold" href="http://meta.trac.wordpress.org/changeset/6933">6933</a><script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","description":"Review this Commit","action":{"@type":"ViewAction","url":"http://meta.trac.wordpress.org/changeset/6933","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>iandunn</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2018-03-26 20:09:38 +0000 (Mon, 26 Mar 2018)</dd>
</dl>

<pre style='padding-left: 1em; margin: 2em 0; border-left: 2px solid #ccc; line-height: 1.25; font-size: 105%; font-family: sans-serif'>WP15: Add map of events.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#sitestrunkwp15wordpressnetconfigpublicphp">sites/trunk/wp15.wordpress.net/config-public.php</a></li>
<li><a href="#sitestrunkwp15wordpressnetpublic_htmlcontentpluginswp15meetupeventsviewseventslistphp">sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/views/events-list.php</a></li>
<li><a href="#sitestrunkwp15wordpressnetpublic_htmlcontentpluginswp15meetupeventswp15meetupeventsphp">sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/wp15-meetup-events.php</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li>sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/images/</li>
<li><a href="#sitestrunkwp15wordpressnetpublic_htmlcontentpluginswp15meetupeventsimagesclusteredmarkerspng">sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/images/clustered-markers.png</a></li>
<li><a href="#sitestrunkwp15wordpressnetpublic_htmlcontentpluginswp15meetupeventsimagesmapmarkersvg">sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/images/map-marker.svg</a></li>
<li><a href="#sitestrunkwp15wordpressnetpublic_htmlcontentpluginswp15meetupeventsimagesspinner2xgif">sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/images/spinner-2x.gif</a></li>
<li><a href="#sitestrunkwp15wordpressnetpublic_htmlcontentpluginswp15meetupeventsviewseventsmapphp">sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/views/events-map.php</a></li>
<li><a href="#sitestrunkwp15wordpressnetpublic_htmlcontentpluginswp15meetupeventswp15meetupeventscss">sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/wp15-meetup-events.css</a></li>
<li><a href="#sitestrunkwp15wordpressnetpublic_htmlcontentpluginswp15meetupeventswp15meetupeventsjs">sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/wp15-meetup-events.js</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="sitestrunkwp15wordpressnetconfigpublicphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wp15.wordpress.net/config-public.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wp15.wordpress.net/config-public.php  2018-03-26 20:09:31 UTC (rev 6932)
+++ sites/trunk/wp15.wordpress.net/config-public.php    2018-03-26 20:09:38 UTC (rev 6933)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -25,12 +25,16 @@
</span><span class="cx" style="display: block; padding: 0 10px">        define( 'WP_DEBUG_LOG',     true  );
</span><span class="cx" style="display: block; padding: 0 10px">        define( 'SCRIPT_DEBUG',     false );
</span><span class="cx" style="display: block; padding: 0 10px">        define( 'FORCE_SSL_ADMIN',  true  );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+       define( 'GOOGLE_MAPS_PUBLIC_KEY', 'AIzaSyDjIfyktiJI23M5_IxssOEcrmnOFLHAbEs' ); // Restricted to wp15.wordpress.net.
</ins><span class="cx" style="display: block; padding: 0 10px"> } else {
</span><span class="cx" style="display: block; padding: 0 10px">        define( 'SAVEQUERIES',  true );
</span><span class="cx" style="display: block; padding: 0 10px">        define( 'WP_DEBUG',     true );
</span><span class="cx" style="display: block; padding: 0 10px">        define( 'WP_DEBUG_LOG', true );
</span><span class="cx" style="display: block; padding: 0 10px">        define( 'WP_DEBUG_DISPLAY', true );
</span><span class="cx" style="display: block; padding: 0 10px">        define( 'SCRIPT_DEBUG', true );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+       define( 'GOOGLE_MAPS_PUBLIC_KEY', 'AIzaSyBM47qaIt4qOD36XDA9v5lsLKTERCZa2gA' ); // No referrer restrictions.
</ins><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> if ( ! defined( 'ABSPATH' ) ) {
</span></span></pre></div>
<a id="sitestrunkwp15wordpressnetpublic_htmlcontentpluginswp15meetupeventsimagesclusteredmarkerspng"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/images/clustered-markers.png</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/images/clustered-markers.png                                (rev 0)
+++ sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/images/clustered-markers.png  2018-03-26 20:09:38 UTC (rev 6933)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,28 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+\x89PNG
+
+ +IHDR54*\xBAp\xD5sRGB\xAE\xCE\xE9bKGD\xFF\xFF\xFF\xA0\xBD\xA7\x93    pHYs  \x9A\x9CtIME\xD9*\x92\x83\x95 ;IDATh޽\x9A[\x8C]gu\xC7\xFF}f\xC6c\x8F\xC7\xF6\xC4qb\x9C@\x9A\xA4\xA90XܡJ \xA9\xDApၶRQ\xF0@\xE0\xCE<p \xC19\x89PU\xA8y\x88\x90*5*\x89\x90\x82J\xA5&\xA1@(1!\xC5nH\xD28\xC4\xE3\xD8\xE3\x8F\xE7~\xCE\xFE\xF3\xB0\xD7\xDE\xE7\x9B\xE3ۙ[\x9D9\x97\xFD\xEDo}k}\xFF\xF5_\xFF\xF5\x89;\xDA\xC8 +\xA0\x81 +\xD2v\x81\xD4\x8C]\xBE\x96yֻ\xBF\xA9 +Ma\xFDw\xB7
+ꉔ\xEFG\x81Q\xA4\xA10$C\xCA€x\x9A\xC1R\x81\xDDE\xEAb\xAF -\xD0\xD4\xCAF\xD7U\xEB\xF2DS\xA5Q \xA41`g\xB6\x91\xCAqm\xD7ψ\x8Fj\xE1¿\x83\xE0,\xB0T/Z\xFFn\xAAQ=\x832\xA4\x9D\xD8;\xC2\x951\xE9\x98Մ;aT\x9F\xA9\xCD\xD2@'^t\xF2\xFD2\xD2Mͯ5,\xB5\xE6pkۑvY\x84R^\x95G\x8C=\xCC#u.:\x91\xB6\xC1ކ\xB4{{oF\x89q\xE5X\xD2i\x9A\xEA j\x98\xD6\xE4\xD8l\x8A\xFA\xFE\xD2;\xEC\xA4y\xEC!\xA4\xC0n\xEC        \xA4\x9D\xC0HL\x94\xB9\xEC\xB3\xC0`i\xF6N`[M\xB5@\xD5b\xCD`ϑg\x97\xF5\x9A4hi"&\xEC\xFA\xDEr\xA7ij\x91\xB6\xD7c\xD8#11\xAF\x88\xD5\xFFW\x93\xED`/!Mc%\xCFfi{\xD8 \x93\xEE\xCB%\xEC)\xF2\xCC\xF3T\xAB\xF6\x{141001}E`\xB8
+\xB8-\x8C\xE9\xD6p!ī!¬\xAF7\xF1!`x<\xBC\xBEi\xB8L\x96\x81ӗ2l\xE8\xB2\xFBHږA\xE98\x89\xB4 \xFB\xF5aptj\xA8\xB6:3\xC0\xD2l\xED5{i{,\xBC\xD1\x8A0z\xFBJ\xA4\xB7b?\x8F\xF4d\xA0\xEA\xC9 +#5\x80\xCE\x{2312829}s \xDAuɳIھ\xFB\xD6\xF8U7BQ\xE1\xA5Y\xE0)\xEC\xE3       \x88\xECvGH\x8D\x9Cd\xEC!\xE0\xE5\xC0 +<\x8A\x90\xF0R쫀G\xC2{\xFB\xE2yS4\xD5\xD9h\xF8\x9Bs\xF6"p+p]Xa\xC41`\xFB\xA4[\x81\x97\xFB\xEB\xB0,\xAFF\xE4\xA2\xE3\xC0\xB3HG\x80'\xB1\x87\x81\x9B\x90\xAE\x8E\xB1\x9D$\xE8#H'\xB1!\xCF/\x97\xB7\xB4F8\xBF镵\xEB\xED 8\x87\xF4\xF6>\xA4
+\xAF\x8C$\xFB\xA7\x97d\xD3=\x95·\xB4\x88\xFD8\xD2=\x92\xAF +\xE3Q\xB0<L\x9E\x9Dֵ\x8E\xC4\xFB\xE7. = +þ\xE9\xB1\x99Sfr+\xD8\xCB\xF1\xBC\xEDI.*\x84\xCEb߃\xF4$p\x98\x88P\xFD%M\x9D\xD8F\xD1 ś\xB1g\x81\xE0n\xA4\xEB"WU`2\x824\xFCx \xFBE`>V \xB88;uN\x922\xEC\xFF!ϾC\xAB8\x9C Ϧ\xD6B\x95\xD6\xCE\xFDRf\xADXa'@q\xF87\xE0\xD87#ݎ}c \xDA   \xA4\xA7\x80\x87\xB0\xFFxx7\xF0\xC6\xE0\x90m\x9E\xA7\xA9\xCF\xFD\xF1Xz\x8Am\xDF   \xBC3\xF6\xC8ҽ\xC0s\xC0\xDD\xD8w7\xADB\xD2\xD59
+\xA4\x87\x81\xEF\xC4"܁\xFD\xF6:Jߢ\xA9\xFF]+\x99\xDDX\xE9\xD1\xF3\xDC]\xC0\x9B\x90>\xBC\xFBߑ\xB6%\xF4\xE6\xFC{zܮ\x8D\xE7\x91^\x8F\xBD\xE9\x83\xD8m\xF2\xEC\xD8z ڸQ=\xF0\x98@\xBA\xF8bB\x83\x8E]!\xDC9\xA4\xF7a\xFF\x88<[\xDEH\xB1\x98E\xA5Z\xD5G\xEB\xBD>\x80\xFD\xC5$i\xCD [\xDF\xFB\x91^\xB59Eb\xC9\xEF\x8Cԥ)\x9F\xE7\x89K\x87߻\x80\xFBV}\xEB\xBDJ\xF4\xEC`\xDFD\x9E=\xB3\xA6hYE\x93ʺfw\xA0X\x97V\xB1Tg\x84\xA6/Z\xBE\x97\xFEe\xD3\xF6g\xB9(\xC3H\x9F\xDE?Т\xBA\x8E\xB4\x91\xE0\xA9+\xA2\xED,xU#~4\xF8 `.\xD0\xECw\xA1%\xB8\xF6d\xB9\x9F@jo\xBAxS\xF1Œg\xAE6\xACvJb{-M=E\xDB\xFB\x82f\x81\xB4(\xDAnD\xF9\xA0H~/\xE5yM0\xF2!\xA4\xFB\x81\xF7D\xE1\xF74\xF0$\xD2q\xEC'\x90n\xB2AU\xDFKS^\xFE4\xFFL\x94:\xBB\xA2\xBE{ 
+\xCB\x91&\x8AJ\xCAʒM\xBE\x8CtU\xF2\xFE,M\xAD`\xDF\xBC\xE9\xBDH\x89\xBD8\xB8\xE9^\xEA\xD5b}\xF8*\xD2G\x81\xBF\xC6^\x8A򿋴\x82}v\xA7\x96 ˀ\xE1\xA4놫G\x92\xC7T\xE1xM\xBFO\xCBV]U\xFEj\xB7 5\xA2~*\x90nA:W\xF3\xCBҐ\xB1`\xFDu\xC9Ɋ\xA4\x90 4+\x99B\xDBc\xD8 +\xEC\x8A\x9DE\xFA3$\xB6԰r\xAFOE5\xA0x\xFExE\xAD\xD1\xE9\\xB2\x8B \xE8\xC4\xD8.\xB0\xA9\x88X_NaO\xF4-[\x8A\x93}\xC8:tA\xF4K\xE6\x92]\x85ʁ\xCF%\xE3QG\xB1ŗ\x83ջ\xF6/\xE6\xD90j\xB5r\xAA q\xDBȳ\xC9$T3`[(;[l\x92 \xE0\xA0\xA8믦N\xAFR}\xAB\xFD\xB7\xCAS卫=W¦\xC2S;\xE2\xBB31\x88\x81\x83\xD8\xF7ƂxK<TN\xF2Ҷ\xF0N\x864Mۣ\xC9\xE2+ĝ}Ft\x91\x93\xADb\x98I\xDC9\xAFGc#\xDD\x8B"Q[\xE0!!\xFD6T\xAA\xD1X\xE8\xF0X̧Z\xFC \xE9Tl\x89
+H\xC8µ\x9D\x98\x9C#\x91\x9DI$\xE5Z\xC5\xF6\xD1Z
+\x86\x81}\xD8\xDF\xDEB\xE4\xFB\xF6\xA1\xC8I\x95\xF7g\xC0\xDE$\x97{i\xB8\xD6\xF1\xA5\xE5,ఛ \xB9{>\xC4J\xC5w7Oԟ\x95\xF3\xFB\x81\xEFK\xB5\xA4\xBCy\x9E:BS?F\xFA\x9B\xA4\xAA>A\x9E=\\x9D>E\x9E\xE1\xA9\xEA\xDE匦\x8Cݭ-/c\xB8\x83\x82̖{\xEE\xD2\xE9\x80r\xA2\x9Ft0\x8D\xFD@\xA2\xDAn\xC6^\xEA"5io\xAE\x8Cq3\xE0G\xB4\x8A]\xC0\xDE$\xD1\xA7U \xD79\xB44t\xB1\x82\xF4\xA5.\x8D\xBD +{\xB2\x86\xF42D\xAF\xEECM\x90\xE6\x80\xBB\x80\x9Flxo\xF5X\xCDױ\x83tWh\xEC \xCDa?\x9A\xC8s\x8A\xD7I\xA4\xF1\x886\xD3\xE8TF\xCD'\xC0``p,\x94\x9Dʃ/#\xCF\xC3\xFEu\xA2\xC9]z\xC4_\xC5\xE7\xE9׆t\xE5>\xF92ҧ\x80\xD7}*\xBB\xFC,&\xBD\xBB\x889\xCD\xF3ɞ#\xF4\xC1\xA2\xAC|\xCB:i1\xC9QCulC# \xDEI\xAB\xB8\xF8g\xA4ٺ\x85#\xBD\xF8G\xE0v\xEC\xFFH\x98\x80\xF0N\xDA\xFA,\xF05\xEC\x8F\xD5<\xB3\xE4}\xBF\xA3\xA9{\xB1o\xABӏ\xD4\xC0~
+\xAF\xD9O9\xD6"yF\x96\xD4*\xD3Ip\xF0 \xD2\xD9x_ \xBD<\xD4\xEF'te8\xC5\xFB\xB0\xEF  \xD1E\x93s\xAFW\xF0+\xE0\xF6w\x91>̿\xEA\xFB\xCEߤUD\xDAU\xC38L\x92g'\xA2W\xE6:%\xE5\xD9\\x8FA\xB4k\xFE4
+j\xB59OG\xAD\xF5\x8A$L\x8C\xFD \xF0V\xE0\xBDI*\xC8@\xEEA\xFA\xF6\xBB\x81!\xED\xC7޳\xAA\xAF'\xB1\x8F\x85nx\xFB\xE0=HK    0,`+\x9Ar\xAFM\xDE҃\xD8;k\xAD\xB0\\xA3\xB3\x95,\xAD\xBE\xF2|{o\xF2\xF0\xAAms\xFB\x9A\xBA\xC3Q\x86\xEA"\xC6\xFEPS\xA9\xB3N\xCF\xFFIs\xCF*QƞB\xBAxp}0\xEF"Y\x9CY\xEC\xAF\xC6\xFBõ\xD7\xCB\xD7ǑN{\x93HX\x89\xE2\xF2,1\xAA'P^\x81=Z3 X\xA4\xA9)ھ\xBD\x8F\6\xB0\xFF+zM\x8FV\xC9} \xC0\x97h\xEA\xD4Ě\xD1\xB5}
+\x94\xB1\x9F\xBE\xE1(XE\xB5/\x90g\x8F\xD2\xF6K\xFA\xF8\xE9\xF2l\xF1|\x96ެ\x89\xEDT\xE0\xA8h\xC7(m\xEF\xC2~(m\xB5W
+\xE0\xCD\xD8ۑ>\x8D}p\x8D\x8D{2\x8E\x9C\xE5\xD9"\xF6\xEF\x82\xBC\xFB$\xF6\xF7\x80\xAF7"\x8A\xC4\xEFx\xE6$y\xF6(\xAD\xE2\xCA\\x84\xBD\x94t~\xE9Q)F\xF6\x99\xBEͼ38؏\x91j\x83\xCBP\xB9\xFBM\xC0\xC3Hy\xC8\xC8s\xC0\xFF\xD3\xD4\xF2%\xA8\xD0o\xC3\xDB/-\xF2\xEC3!\xF2܉tm_\xF7d\xE9紽/N\xCEa\xDE\xA6\xFAuK]B\xCFC\xDA\xCD\xEA\x8Ad\xCED\xE3\xED0\xD2\xD5\xD1L\xAB\xDC\xC6q,:\xA3\xFD+\xD87\xFExT\xAD\xA7\xA2kx=\xD2D\xD2\xF6\xAC\xC8\xF3\xB34u\x84V\xB17J\x9E\xB4\x80=E\x9E\xAD\xF4+N\x97\xEBΏc\xEFJv{)ʐ?^YKg\x95v^i\xEA\x81ZBo\xC1\x8B\xA3?\xA4\xE2I\xF4H4\xCB\xF7\xD5}\xE4^\xB3\xEFy\xB6t!=2\xBB\x8C\xF29\xFB$M\xA6\xA3H\xFB\x80\xE7\xB0D\x9A
+o*I\xBCӫR\xC5\xF9{\x8A\xBAFK\xCFX\x94\xCF\xE9ϑg?\x880ޟ4ƫ\xFD\\xD4#\xEB8R\x82\xC1T\xA7\xBE\xCAPt \xDCLhp/\x8D\xE6\xDB(\xF6Oɳ\xE3\x8C=\xDC{c        8
+\xBC9iO\xBDz +9G#{\xE9R\x91l *\x93g ا\x82w\xA5 \xB1\xFB@\xFC\xFFM\xDD<\x82t\xFC\xA2^JCО\xC6\xFE?\xEC\x9F\xD0\xD4\x81g"\x9D\2]zީ$\xB0\x971hp\xFD\xBBײi\xBB\x90\xB6\xAF:,Ճ\xD8%`{q\xE0\xBER\xABh\x84d0Z\xD7E\xFD\x87\xB7\xCAV\xEC9\xF2̃\xE8\xEB\x83=\xB9:
+\x97g\xDD\xD8S\xC1U\xF3.\xC7*Xe*\xBD\xB9{{8Y(\xD5]y{ivP\x836\xD6\xF3-'5\xA4r\xB8\x8E\xF9\xBE\xEC>\x80a\xD5\xE1\xAC\xF4\xDA\xD2|\xDDuYcGq\xED\xBDDz\x89]yp.\xF6ڋ\xD1\xFE\xE9$ {\xD0k9<\xB4\xDA\xC8\xC9\x83\xF2\xC8:Z\xA4\xFFiGaN\x93IEND\xAEB`\x82
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span></span></pre></div>
<a id="sitestrunkwp15wordpressnetpublic_htmlcontentpluginswp15meetupeventsimagesmapmarkersvg"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/images/map-marker.svg</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/images/map-marker.svg                               (rev 0)
+++ sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/images/map-marker.svg 2018-03-26 20:09:38 UTC (rev 6933)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,30 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<svg width="565" height="565" xmlns="http://www.w3.org/2000/svg">
+       <defs>
+               <clipPath id="clipPath18" clipPathUnits="userSpaceOnUse">
+                       <path id="path16" d="m0,2000l2000,0l0,-2000l-2000,0l0,2000z" />
+               </clipPath>
+       </defs>
+       <g>
+               <rect x="-1" y="-1" width="567" height="567" id="canvas_background" fill="none" />
+       </g>
+       <g>
+               <ellipse stroke="#000" ry="275.999998" rx="277.499978" id="svg_1" cy="280.5" cx="281.500002" stroke-width="1.5" fill="#fff" />
+               <g id="svg_2">
+                       <g id="g20" transform="matrix(1.3333333,0,0,-1.3333333,0,2666.6667)">
+                               <path id="path22" d="m32.30899,1789.85734c0,-70.736 41.104,-131.874 100.723,-160.836l-85.248,233.567c-9.916,-22.225 -15.475,-46.82 -15.475,-72.731" fill-rule="nonzero" fill="#00759b" />
+                       </g>
+                       <g id="g24" transform="matrix(1.3333333,0,0,-1.3333333,0,2666.6667)">
+                               <path id="path26" d="m331.66207,1798.87052c0,22.094 -7.937,37.385 -14.734,49.287c-9.057,14.728 -17.555,27.188 -17.555,41.916c0,16.424 12.456,31.717 30.011,31.717c0.793,0 1.545,-0.096 2.315,-0.144c-31.794,29.132 -74.156,46.921 -120.68,46.921c-62.437,0 -117.362,-32.037 -149.318,-80.55c4.197,-0.134 8.149,-0.216 11.502,-0.216c18.688,0 47.63,2.272 47.63,2.272c9.629,0.564 10.767,-13.589 1.143,-14.728c0,0 -9.685,-1.133 -20.452,-1.699l65.076,-193.581l39.114,117.293l-27.842,76.288c-9.628,0.566 -18.744,1.699 -18.744,1.699c-9.633,0.569 -8.503,15.292 1.134,14.728c0,0 29.507,-2.272 47.067,-2.272c18.686,0 47.632,2.272 47.632,2.272c9.634,0.564 10.77,-13.589 1.14,-14.728c0,0 -9.695,-1.133 -20.452,-1.699l64.585,-192.106l17.83,59.557c7.715,24.73 13.598,42.479 13.598,57.773" fill-rule="nonzero" fill="#00759b" />
+                       </g>
+                       <g id="g28" transform="matrix(1.3333333,0,0,-1.3333333,0,2666.6667)">
+                               <path id="path30" d="m214.15615,1774.22453l-53.625,-155.809c16.014,-4.71 32.946,-7.281 50.488,-7.281c20.811,0 40.771,3.592 59.346,10.131c-0.475,0.765 -0.918,1.579 -1.28,2.462l-54.929,150.497z" fill-rule="nonzero" fill="#00759b" />
+                       </g>
+                       <g id="g32" transform="matrix(1.3333333,0,0,-1.3333333,0,2666.6667)">
+                               <path id="path34" d="m367.83877,1875.59269c0.769,-5.692 1.202,-11.798 1.202,-18.377c0,-18.127 -3.396,-38.514 -13.59,-64.009l-54.584,-157.82c53.13,30.978 88.861,88.539 88.861,154.471c0,31.071 -7.939,60.281 -21.889,85.735" fill-rule="nonzero" fill="#00759b" />
+                       </g>
+                       <g id="g36" transform="matrix(1.3333333,0,0,-1.3333333,0,2666.6667)">
+                               <path id="path38" d="m211.01895,1591.07762c-109.602,0 -198.771,89.175 -198.771,198.78c0,109.6 89.169,198.766 198.771,198.766c109.6,0 198.773,-89.166 198.773,-198.766c0,-109.605 -89.173,-198.78 -198.773,-198.78m0,407.099c-114.873,0 -208.324,-93.45 -208.324,-208.319c0,-114.878 93.451,-208.332 208.324,-208.332c114.871,0 208.329,93.454 208.329,208.332c0,114.869 -93.458,208.319 -208.329,208.319" fill-rule="nonzero" fill="#00759b" />
+                       </g>
+               </g>
+       </g>
+</svg>
</ins></span></pre></div>
<a id="sitestrunkwp15wordpressnetpublic_htmlcontentpluginswp15meetupeventsimagesspinner2xgif"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/images/spinner-2x.gif</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/images/spinner-2x.gif                               (rev 0)
+++ sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/images/spinner-2x.gif 2018-03-26 20:09:38 UTC (rev 6933)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,147 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+GIF89a((\xF2\x99\x99\x99\xD3\xD3ӊ\x8A\x8A\xF1\xF1\xF1\xFC\xFC\x{31C71000}\x80\xFF\xFF\xFF!\xFF NETSCAPE2.0!\xFF XMP DataXMPE?xpacket586180" xmpMM:InstanceID="xmp.iid:9ACA89C2E0Cpacket end="r"?>!\xF9       ,((@\xD4x\xBA\xDC\xFE0`\xAA\xB5\xC1\x85\xCBy'\x8E$Y0[\xA9\xAE4P\xEC
+ \xD1\xC0\xB1d\xB5\x92\xAAƋ\xC5[䎣\xC6\x99 \xF6\x84k\xF7y>\x81@P
+\x9A\xF51Q\xA3\xB8\x8E8\xF2#U\x84Uq1`2\xD7\xAE\xFD(`\xA4\xF72 +\x80f!\x84"'O\x87voc\x91\x92\x93\x94\x92hS\x90\x91\x8C\x80\x8Fce"3B\x83\xA25\x8D#\x9Aq%\x8AK*s>2\xAA\xA4"\x99\x97S +m\x88$s\xB6\xBE \xC2, z\xC6#} \xA8\xCA\xAEu\xCF"x\xBDϲ\xB3\xD4\xDA \xB0\xC2N5\xA0{\xA6\x91RG;\x95 +XZz^`\xD6\xEB\xF3     !\xF9 ,((@\xD4x\xBA\xDC\xFE0`\xAA\xBDf\xB8\x82+ ׍diL`\xAE\xAC@՚\x809\x81<ﭨ-c 0\xF5\xB3\xE4\xA81Q\xEE@>!\xC7\xE2A\xA3\xBEA\xA0(\x80B\xC0\x86u\xC4h\xE3\xED\xA8\xE6\xD2\xEE\xCEq1p~\xBD,\xF2oo     :}U +\x81\x82$"\x86B>\x8ANWe\x94\x95\x96\x97\x95S\x85k\x93\x94\x8F\x82\x92eg%)kz!+\x888$\x8DL\x9B\x9E|\xA6\x84I\xA2\x9A\xAB +q\x8B$s\xB1\xC1\xB8 \xC5, \xB7\xC8 \x90\xCC\xAFu\xD1\xA9\xC0\xD1s \xD8\xC5\xDA Mȹ7\xA4\x82l\x95TI<\x98 +Z\^`b\xA9\xEB\xF3     !\xF9 ,((@\xD6x\xBA\xDC\xFE0`\xAA\xBDU\x8C\xB0\xC4Sxdi^ӝl@ղ\xC09\x81<ﭬ3A\x8810\xF5\xBB$\xA91Q\xEE@\xBE!\xD7\x86Q\xDF P
 2\x80B\xC0\x96u\xC4fa\x9D\xA5\xE6\xB2\x8E\x8C\x91\xAE(:\xC3\xDC\xEF\x89|\xD0;\x93 jU +\x83\x84%r\x88)Q\x8CNXe\x96\x97\x98\x99\x97S\x87V\x95\x96\x91\x88\x94eg4d~l7\x92&\x8F\x86\x8EM3\xB0q$P\xB1I\xA4u\x9D\xAB\x8D3p\xBE\xC1\x8AH\xC5- \xAA\xC9\x81 \xAE\xCD(D\xD2%|n\xD5t?\xDA\xDCR\xC4w\xA0\xA6\x88\xAC\x96TIV\x9A +[]zx\xD7\xED\xF5     !\xF9 ,((@\xD1x\xBA\xDC\xFE0`\xAA\xBDW0 O\x81\x8DdY\x9C\xA9\xAE\xD7\xF6 \xBBC\xF4\xB1l\xAE}t\xBAJ\xAD1 \xF5\xC1$\xA61Q\xCA>\xBE\xC7⁢\xD1A\xA0 @!0\xC4:`\xCE \xCD\x94  ʋ"樐+ W\x82\xA8\xFF\xA6u 93 +\x83\x84${\x88(Qzxf\x94\x95\x96\x97\x98S\x87\x89W\x96\x91i\x93Xh:c[p!A\x8F)\x8E\x9B*\x9ER#P\x86w\x8Cj +mJa\xB9F\x82\x8D\x85 \xC2, ~\xC5$\x81 \xBF\xC9\xACv\xCE\xA9\xBC\xD3t
+\xD6\xC5\xD8R\xB0i\xB56\xA4k\x95TA<\x98D[]`\xBEd\xE9\xF0X  !\xF9 ,((@\xD7x\xBA\xDC\xFE0`\xAA\xBD\xB8\x8A\x8A\xB8\xF1Yi@A\x99\x9Cp|а\xCA00DOp\xE3O\xF1\xC2\xCDF\xE1\xC2\xC8,5&Mch\xB8 \xF8dA\x95:\xE8>A*\xB0\xDB>lQ\x8CnXd
+\xB4\x8B\xC1Ǣ\x8C\xA7+\xE5E\xFB\x92?\xCC\xEF8 ?\x809 +\x84\x85$\x89-T\x8Dipf\x97\x98\x99\x9A\x98V\x88\x8A\x96\x97\x92\x80\x95fh\x8Ek<\x93F\xA5
+P\x90\xAFL\xB1 \xABS\x87\x94\x84\x8B.\x80yau\x9E\x8E  \xC72 \xCA\x82 \xAB\xCE\xB5\xD3%}{\xD7uz\xD7\xDD \xB3\xA8\xA1g\xC6R\xD9TWLA\x9B +]*sbd\xEE\xF6[        !\xF9 ,((@\xD6x\xBA\xDC\xFE0`\xAA\xBD8c@^\xD1`& \xF1a\x84l{\xD0@\xB9-@FN0\xD3\xE3\x8A\xEF\xF0\xBC\xC3$\xA61Q\xD28\xC0\x92\xCE\xE5\xEBD\xA3\x83@ \x80B\xE0vuȜD2D\xA8\xFCg\xCB{1@\xF7\xEC\x8A\xDAk\xA7 ;},E\x80\x82\x83'\x86)Q&vVe\x92\x93\x94\x95\x94S5\x91\x93\x8Eh\x90eq\x826@\x89Ja\xA6\x8CMNs|=\x9C
+\x81C\xAB*D +yJj\xB0\xB2s\xB6mb\xC0\x84
+\x8A. \xC7\xCB \xA9ϋ u\xD4\xBE\xBCԯA\xD8\xC1\xC3vP@\xA2h\xA4\x93\x99<>\x96 +Y[|`b\xBE\xED\xF5     !\xF9 ,((@\xD4x\xBA\xDC\xFE0`\xAA\xBD8c@^\xD1`&t\xCDgL\xAE\xEC@ղ\xC0=\x81<\xC0{+\xAA]\x95r5\x84HLc\x92\x9Cq~ B\xAE\xD5#A\x83@ \x80B\xC0v}0\x9B\x96\xDA/\x88\xF9\x836w!+\xBCrހ0(\xE0- :y! +\x83\x84&\x89D?\x8CIVe\x96\x97\x98\x99\x97R\x88U\x9A\x91m\x94e1\x89j7\x92\x89\x8FK\x9DB\xB0~i\x95
+\xAD3#\x8C\x86E\xA2to\xB6;\xABl\xBB
+\x8D\x80 \xCA\x81 \xA9ώp\xD4v@׿\xBE\xD4\xC0\xAC\xCAOX\xC2N\xD9WSB=\x9A +Y[x`b\xE6\xEB\xF3     !\xF9 ,((@\xD5x\xBA\xDC\xFE0`\xAA\xBD8c@^ѠxV\xC1a\xAA^\xE33P\xAB
+ \xD1\xC0\xB1\xB4\xF5\x81\xE6\xA1BW\xE1)\x80)A!\xF0\xC94&\xC8\xA7\xB7 \xDCV\xBB\x95:``Iۺ\x88Q]9\xF2K\x87F\xC5\xC0m\xAC\xE5\x97;\x98.hsu ht! +\x84\x85M\x8A&T\x8DQf\x97\x98\x99\x9A\x98V\x89\x96\x97\x92t\x95f/\x8Ej=\x93\xA8\x90P\xA8\xA1\x9ERk{: +mn\xAD\x83F\xB41\xBD 8\x87 \xAC\xA7 \xB8\xB0 \xAB\xCE% \x81\xD3w>\xD7,6\xDBq \xAF\xA8S=\xCAt\xE4\x97W@;\x9B +]C{bd\xED\xF4[ !\xF9 ,((@\xD3x\xBA\xDC\xFE0`\xAA\xBD8c@^\xD1 8_U0A\xA8\xAE\xD7\xF8 \xBBC\xF4\xB1l\xAE}\xA4\xBA`\xA5\xA7\x82N\x8Cɥ\xA14\xB28\xBE\xF7 t\xA2\xD1A\xA0T\x80B\xA0\x86}\xE5\x9C;r\x88\x83\xF6E \xDEb\xD4\xAF\\xF0\xB2\xF0g{\x81; +\x84r%\x88H>\x8BFWe\x95\x96\x97\x98\x97S\x87V\x99\x90m\x93e0\x8Ci>\x91\xA5\x8EL\x9C\x88P\x86\xA5  +lmx\xB4D\xAC2\x94 z\xB2 \xA5\xBD
+\xB4 z\x88\xA2\xA4~ \xA8\xB0\x8D q\xD0x?\xD4o\xC5\xD8C\xBAB\xAE6\xCCm4\x97TA<\x99 +Z\z`b\xD6\xEA\xF2     !\xF9 ,((@\xCFx\xBA\xDC\xFE0`\xAA\xBD8c@^\xD1`PV\xC1a\xEB^4\xA0o \xD1s\xD6֘/,\x9E\xB0c A\x9Dᢤm\xC9\xDF\xC1\xE4\x8D\xA2\xD2\xDC P*@!\x80\xCB>f\xCF\xCB\xEDL\x87\x8A\x8C\x81\x9BWV|\xE78\xD0"`T\x9Fq4 +xj\x87*R\x8AOXf\x94\x95\x96\x97\x94T/W\x98\x8Fn\x92fh\x87k9\x90\x8B\x8D\xA7\x93\x86\xA7\x84+\xAC z\xB0B\xA4
+\xA2\xB2
+\x8B\xAEK wsz
+m} \xA6n$\x9A)q\xB4u\xC7\xD20:\xD6y\xB7G\x81?\xBBi\xB9f;\xB8Ƙ[]wacԘ\xEE?  !\xF9 ,((@\xD2x\xBA\xDC\xFE0`\xAA\xBD8c@^\xD1`(L \x9E0\x94W +z\xAA\xD1IJ\xB8\xB5b\xE6\xC0
+o\xAD\xBFJcR\x94qz \xC2 +\xB5\xEB@\xA1\x83@ \xA8\x85\xC0\xF1\xEA\x805/\xB4Z\xF2 .\xEC\xDC\xF8ЍW
+V\xB3E\xC0\xC0\x9DV,) +~luv$P\x8AMxd\x93\x94\x95\x96\x97R\x85U\x98\x90E\x92Wzvi\x9E\x8B\x8DL\xA7\x81 \x9A\xAC:H\xB1m}\xAC_\x9A \xA7\xA9
+\xABJ \x87p^ \xA6Mn
+\x90\xBD\xC5vaZsk\xB4\xCA>\xD7B\xB0gO=\xA2\xDF\xD4PS@;\x97 +Y[u_a\xE4\xE9\xF1     !\xF9 ,((@\xD4x\xBA\xDC\xFE0`\xAA\xBD8c@^\xD1`(L \x9E\xE9PU +,*C\xF4\xB1 \xB8\xB6b\xCA\xC0 o :
+\xA61)9\xBD\x87\xDA!\xA3\xBDA\xA0T\x80B\xA0\x86}(\x9DZ\xEF\x87 +\x83v\x90\xAC\xF0\xCAeF\xCE)P5bwj>v\x84\x83~6\x8AhGe\x93\x94\x95\x96\x97S{V\x98\x90N\x92Xg\x83\x85\x9E\x8B)M\xA7W \x9A\xAB\x88%\xB0 o\xAF\xB3\x81D\xA7}[ \x87m\xADqy \xA6No\xC7\x8D\xC4rtI\xD1lw\\xBF\xCA>\xB3\xDBR\xB6hPY\xE1:\xD4QTA;\x97 +Z\xD9_ac\xEC\xF3X      !\xF9 ,((@\xD3x\xBA\xDC\xFE0`\xAA\xBD8c@^\xD1`(L \x9E\xC0cZ4Pg \x91
+\xC7\xD0\xD6ʊ\xFF\xACp\x88iL\x88\x97€0(,ނ\xB8\x85t\xA9t(O\xA0\xA0i/\xE4e\xC6\xF3\xA9A;\xC6\xE0\xFD3+\x9E\xF4\x98\x80aE\x92J +}@Y 9\x88yIZ\x8BD\x86g\x94\x95\x96\x97\x95T\x83X\x98\x8Fo\x92gi\x8Cl5\x90\x8C\x9B\xA4\x93
+\xAC\xA8)\x80\xA8!q\xB0\xB4\xB2
+\xB4' xtdLN{ \xA7C\x85\x90\xAAs\xA0*v=\xC0 +n\xB6 nt\xBF\xD7 G\xB9\xAEh\xB82\xD2ZUC:\x98 +\^abd\xE5\xEA\xF2     !\xF9 ,((@\xD3x\xBA\xDC\xFE0`\xAA\xBD8c@^\xD1`(L \x9EC3a4Pg \xA4\x91\xC0q\xB4\xB5b\xE6\xC0 o,bT\xB8\xE2PAX8\xBD\xE1& t\xA2\xD1A\xA0p
+\x80B\x80\x86u\xBC\x8C2\xE4\x87-\x83vP\xED\x94\xE7\x8Cd[\\xA8oz@$6ma}\x83=\x88hWe\x94\x95\x96\x97\x96S\x81;\x93\x95\x8Fr\x92egv:j\xA5\x8DH\xA9P\x80\xAD \x86%\xB1!K\x9B\xB5\xB3
+\xB9! ~\xBDx \x90h3R\xC5\xABq\x89\xC0\xA7lE\xBB \x8Bo>md\xA4\xD6\xB8ƞ.\xDF9ǕTA;\x98 +Z\u`b\xA7\xEA\xF2     !\xF9 ,((@\xD7x\xBA\xDC\xFE0`\xAA\xBD8c@^\xD1`(L \x8A°\x82@ub\xED\xA6FN \xCF\xF0\xE2
+ox\xF9-\x88HLc\x92$9>pA\xD0\xCD|\x9D\xE9t(-\xA0\xB8i\xB1\xA4 +(T\x8B\x8C\x8B\x81\x9Bh>\xD4\xE63c\x87|CN\x80PDYL\x838\x87M\x8Ag\x94\x95\x96\x97\x95U\x81X\x98\x90s\x89gi}u\xA4\x8E \x8C\xA9R\x84\xAE%\xB2 p\x9B\xB6\xA5 \xBA  w\xBDz \x91jc\xB9\x8Erj) +\xCB\xA7mDp\xC4\xD4AI\x93\xCF\xD7T\xC8!c]|\xB08\xA3s\xA6\x96VD>\x98\xCE\xE45bd\xA7\xEF\xF6    !\xF9 ,((@\xD3x\xBA\xDC\xFE0`\xAA\xBD8c@^\xD1`(L \x9E \x884P\xA7U\xC1wC\xF4p\-\x9D\xC2\xE4+^\x82 \xA3Ә(;\xCD G\xB8 \xF0b@(U8\xA8\xA9V\xC0,\xB7}8\x977r\x84\x88f9m\xA3\xFA\xB0\x8A\xFB\x8C\x9E]h\xE8}$ +6\x831H \x86\x81B\x8AFZe\x93\x94\x95\x96\x94VY\x97\x8Eq\x91e/{?s\xA3\x8CM\x9A\xA7S~\xA7 }%\xAF!\x88\xAB\xB3\xB1
+\xB7! u\xBBx\x89\xBF\xA8 ph\xA0\x9E \xA5lE\xA5\xC6\x88 \xCD1\xCF\xD1\xD3 g>\x88\xBE\xAD:\xA2v8\x95WF@\x97 +])uac\xEB\xF2[ !\xF9 ,((@\xD9x\xBA\xDC\xFE0`\xAA\xBD8c@^\xD1`(L \x9E\xA8@u\xC3[9\x81\x9B\xC0z+\xA6\x9D\xB0\xE2[ \x8F\x96\xC6$% 9t\xCEoAȡz\x9D\xE9t(h\xA0\xB0i-d\xD4      \xAAA\x82\xE2b\xF0ޱ\xC1\xF5\x93\x80̓ +}'Yi(N\x81\x8C7\x8AH\x84g\x95\x96\x97\x98\x99U\x82X\x9A\x92G\x94Z\x87y0?\xA0~\x8F K\xA9\x85 \x9C\xAE\x80%\xAE!r\xB2\xB6\xB4
+\xB6" x\xBD{ \xA8\xC1\xAA tGM]\xC0ln(\xB0\x86\xB7\xD1"r\xC4\xCD*\xB9\xCF\xC9Q\xD4\xA4"c\x82R\x96VB=\x99 +\^`bd\xCF\xF0\xF8     !\xF9 ,((@\xD5x\xBA\xDC\xFE0`\xAA\xBD8c@^\xD1`(L \x9E\xA8@r\xA5 \xD1\xB8\xA9\xAC\xB5b\xE6\xC0
+o,Z\x94\xA0\xD3\xF8\x80`=\xE1\x86\xDA1\xA3\xBDA\xA0T\x80B\x80\x86}\xB4\x8C\x97Y\xEF\x87 +\x83v\x8E\xAC\xF0ʕ \xDC\xFD\xD5П
+4Sv|'6 $QNFWe\x91\x92\x93\x94\x92S~2\x90\x91\x8Cm\x8Feg{j5\x8D{\x8AI\xA6\x9B\x98\xAB: +l\xB0o\xAF\xB4\x87D\xB4  \x83\xBB \xA5\xBF\xA8qE\xBE"t>9\xC6\xC7˵\x88\x866\xD2B\xB7\xCD
+\xC3P5\xA1Oc[2\xDCQT@;\x95 +Z\v`b\xE7\xEC\xF4     !\xF9 ,((@\xD3x\xBA\xDC\xFE0`\xAA\xBD8c@^\xD1`(L \x9E\xA8@\xA5qL C\xF4nj\xAB\xAD\x98\xBA`\xA5\xB7-\x8Dɉ\xB8\x86`>\x87\xE2u\xA2\xD1A\xA0T\x80B\xA0\x86}Ȏ\x9Aω1\x83\xB6\x8E\xAC\xF0\xCAQF\xEE\xFEl\xEC\x9FS3!W #X\x87G\x89e\x93\x94\x95\x96\x94\x83U\x81\x97\x8Em\x91egwj6\x8F|$J\xA6\x92
+\x84\xAB; +l\xB0L\xAF\xB4 \xB4! v\xBBy \xA5\xBF\xA8p\xC4t?Uʡ!o\xCB"\xAD\x8B"\xD0 \xAAгP6\xCE\xC0\x81\x99/\xCAXTA<\x97 +Z\v`b\xE5\xEA\xF2     !\xF9 ,((@\xD5x\xBA\xDC\xFE0`\xAA\xBD8c@^\xD1`(L \x9E\xA8@\x95\xAD\xCB$C\xF4nj\xB0}\x98\xBA`\xA5\xA7- +\x88\x94\xA08\xBE\xEE\xE8D\xA3\x83@\xE04\x85@\xED\xFAh/4\xF0"*l\xDDXэ\x9F\x8C\x9C=h\xE85<:} n
+L>\x83lVd\x93\x94\x95\x96\x95S'\x81\x97\x8Fg\x91df{i6\x84{\x8DI\x8B\xA7P~\xA7 \x86 k\xAF/y\xB4\xB0 \xB7! u\xBAx \xA6\xBE\xA9p)\xBDr +\xB3s
+\xC2"\x89?m\xAB\xD3
+J\xA9o\x9B\x92\xA2\xDCb\x9A\xB0\xCFW\xE5)<\x97 +Y[]_a\xE7\xEC\xF4     !\xF9 ,((@\xD6x\xBA\xDC\xFE0`\xAA\xBD8c@^\xD1`(L \x9E\xA8@\x85 +K\x8Bp\xE4nj\xAB\xAD\x98\xBA`\xA5\xB7-\x8D\x89\xE0\xD1q| n\xE8@\xA1\x83@ \xA8\x85@\xED\xEA\x90-4\xF0"\xC6غ\xF1\xA1 G       \xB9z\x88\x89ߏ        A|\x81\x83 \x85#W\x80lVd\x90\x91\x92\x93\x92Ry <\x8F\x91\x8Cg\x8Edfui6\x89z$J\xA5\x9A
+\x97\xAA\x87k\xAFn\xAE\xB4; \xB8  t\xBBw \xA4\xBB\xA7
+'a[Gr\xB2!\xCD\xBE(n \xB3\xC5%:\xD4 \xA9\xCDҘ\xAC\xA0h\xCB3\xCDPS\x82ۓY[t_a\xE9\x94\xF5      !\xF9 ,((@\xD2x\xBA\xDC\xFE0`\xAA\xBD8c@^\xD1`(L  \x9Ca +\xD4U\xC1\xC7V\xC0=A|\xD7Na\xFA+\xC2\xC5qiiL2\xE7\x913\z\xAC`\xB4:\xD4T+`\xA6\xE3>`\xCCKnXL\xB7\xF7\xAF\xACX\xC9Y\x86\xEF4\xF6$ +6F~\x82%F\x8A;\x84K[f\x94\x95\x96\x97\x95W\x80Z\x98\x8Fn\x92fh|k;\x90|(\x9B\xA8T\xA8 \x86 m\xAFI\xAB\xB4@ \xB9! v\xBC\x88 \xA7\xC0\x8Dq \xA1\x9FLtD\xCC
+\xC6F\xB6\xB2\xCF\xD17\xD3 O\xB6\xB3'\xAD;\xA3n\xA5\x94X\x85ڗ^)abd\x98\xF1\x94    !\xF9 ,((@\xD4x\xBA\xDC\xFE0`\xAA\xBD8c@^\xD1`(L\xA0     \xC12\xA2\x98>\xD5\xCE\xC0=\x81<W\xC0{\xA6\x9D\xF0\xE2S \x8F\x98\xC6\xE4Br|\x8E\x9C߂\x90\xA3:R\xE9 P\xB0@!`\xCB\xC2tH^9L\xBB\xF7p}`\xC9w\xFA4\xF6~Ni\x81\x82Q
+OCM?\x89rXf\x92\x93\x94\x95\x94T{=\x91\x93\x8En\x90f1|j?\x8A\xA3\x8CJ\x99\xA7\x87z\xA7 \x84
+m\xAFE\xAB\xB4\xB1\xB8! v\xBBy \xA6]|\xA9q\xB5 ++nt@\xA9 \xB3BE\xD1\xCD\xBE\xD3hc\xD9;\xAD\xA2w5\x94UC=\x96\xCA\^ac\xCD\xEB\xF3       !\xF9 ,((@\xDAx\xBA\xDC\xFE0`\xAA\xBD8c@^\xD1`(L\xB0u\xCC \xAE4Pk \xD1\xC0q\xB4\xB5b\xE6\xC0 o,b\x93\x8A@\x80Z\xFC\x8C\x9Cނp\x93\x9A\xD2\xDA P, +@!@\xCB>^\xC6M9\xF2L\x87\x86 \x95\xB8>\xE6@w\x8C?x +8p \x80P\x89]s$R\x8CEXf\x98\x99\x9A\x9B\x98T| ;\x97f\x93\x90\xA2.\x9Fn3=\x94\x81\x91I\xADQ\x84\xB2\xA0 +m\xB6p\xA8\xBA: \xBE! w\xC1z\x88\x96q\xBD@\xAFr\xCE \xCC1um\xD2
+\xD4"\x87>\xAA>_F\xDDS\xDBE\xB4Z\xE6+\xE0\x98UA;\x9C +[]\xC4ac\xD6\xF1\xF9  !\xF9 ,((@\xD2x\xBA\xDC\xFE0`\xAA\xBD8c@^\xD1`(Lp%\x8A\xE83\xA8\xEB
+ \xD1\xC0\xB1\xB4\xF5a\xE6\xC0S#H\xC44&Aa@|\x8ANoA\xB8\xC5v\x9D\xE9t(\x83Pд$4z\x8E\xFC\xD6!\xDEb\xB6\xE1zL\xC0\xC0\xE4Op +0$GyP\x84z\x87=\x82EYh\x96\x97\x98\x99\x98U~X\x9A\x91p\x94h/\x8D:w\x8C\xA6\x8FG\x9D\xA6R\x85\xAA\x9E +o\xB2r\xAE\xB6\x8B
+\xB6! \x89fM\xB9A| \x92\xAC
+\xC0\x93 t\xC1\xA9k\xA8\xB5\x80\x92E\x80
+\xB5\xB2\xD8T\xC4E\xB05\xA5u3\x98VA;\x9A +\^yce\xA8\xE9\xF1     !\xF9 ,((@\xD7x\xBA\xDC\xFE0`\xAA\xBD8c@^\xD1`(L`\x9E\xA84P\xAB
+ \xD1\xC0\xB1\xB4\xB5b\xE6\xC0
+o\xB1\xA1)\x9F\xA0\xA61Q\xC68\xBD\xE1\xB6\xDAu\xA2\xD1A\xA0T\x80B\xC0\x88u\xBC\x9C\x97Y\xEF\x87  \x86\x8BA;G>x\xE7+\x87r$\xDB} 8dgs\x81 +x$QHmWe\x93\x94\x95\x96\x95S8!V\x97\x8Fh\x91e\x86xj5\x8A\x8B\x8DM\xA7\x92\x82\xAC\x88l\xB0p\x9A\xB5' bw\x8B \xC0u\xC3Nz \xA9%x\xCDr\xC5\xC8JŴ:\xA6hp ج\xDD \xAB\xA7P=\xA2h\xE5\x93T@;\x97 +Z\w`b\xC5\xEE\xF6     !\xF9 ,((@\xD3x\xBA\xDC\xFE0`\xAA\xBD8c@^\xD1`(Lp\xCC@\x89\xAC\x81>j\xDBC\xF4\xABl\xAF}\x98\xBA`\xA5\xA789BPc\x92\x94q| n\xE8@\xA1\x83@ \xA8\x85@\xED
+\xCB5w\xE3\xF0"*l]\xFAе\xD0\x84O\xDC\xCBȹul +f^{vz\x88$PylVd\x94\x95\x96\x97\x96R\x86<\x93\x95\x90g\x92d1\x88w6\x8B\x8C\x8EG\x9B\x8CO\x85\xA9\x9C +k\xB1D\x9B\\xA9\x84 \xAF \xA8l \x82s \x82g \x8B\xAB \xB4\xA1)aZ\xC7l\xC5ε?\xB5\xD9x\xADg\xBF\xA4\x83\xC5PSA<\x98 +Y[u_a\xE5\xEA\xF2     !\xF9 ,((@\xCFx\xBA\xDC\xFE0`\xAA\xBD8c@^\xB9@@\xA5\x9Dg\xC1h\xEB^4\x98o \xD1S\xD6V\x98/,\x9E\xB0c\: +\xC2\xF0\x94\xA4-m\xC8߁\xE4<\x85\xA2\xD2\xDC P*@!\x80\xCB>fOP9L\xA3\x8A\x8C\x81\x9B\xB7>|\x89\x8E\xB6[\xC0\xA0q\xE2UO +\x81s\x86*R\x89OXf\x93\x94\x95\x96\x93T/W\x97\x8En\x91fh\x8A7?\x8F\x8A\x8C\xA6\x84\xAB\x83+\xAF'p~u\xA1s\xB1
+G\xA9\xA6 w\xB5
+zi| \xA5"\x99\x8A\xA8r\xB3uų\xC3\xC4\xD1x\xAA\xAB\xADZ\x85B\xA3\x94;\xE1ז[]wacӗ\xEE9      !\xF9 ,((@\xD3x\xBA\xDC\xFE0`\xAA\xBD8c@^\xB1\x85h$.c\xA9\xAEV +\xBBC\xF4\xB1l\xAE\xAD\xA4\xBA\xA0\xA1\xB7\xB8p\xA1\xA61Qʎ>\xC7\xE2u\xA2\xD1A\xA0T\x80B\xA0\x86}\xC0\x9CFr\x88&\x8Cx\xEBm[ԇ\xBA\xBFУ 9]vF +\x82\x86I\x8A X\x8EJWe\x97\x98\x99\x9A\x99S\x89V\x9B\x92m\x95eg\x8A4>\x93\x8F'M\x8F\x96 \x9E\xAF; +lo~ho9oR\xBAJ\x8CE-q\x8A ~\xA8\xA2\x8A\x80 \xAA\xB4\x90p\xD1|lԾ?\xD4\xD9 \xAE\x8FP6\xA6mʗTA<\x9B +Z\u`b|\xEA\xF2        !\xF9 ,((@\xD4x\xBA\xDC\xFE0`\xAA\xBD8c@^\xB1\xC5h\xA4.c\xA9\xAEV +\xBBC$Ʋ\xB8\xB6\x92Z\x80\xC2'W\xE2-L\x81\x82\x80\xA8jL\x989NoA\xE0J\xBB\xCEt:H\x96A0P\xDB>`\xD0M9\xF2K\x8B\xC0\xA8\x80݆\xF5\xE1\x9Ew\xF2\xD3 Wx* +\x83\x84\x86\x89'=CiZf\x96\x97\x98\x99\x98U\x88\x8A\x95\x97\x91x\x94fh\x8D4=\x92\x8D\x8FN\x9D\xA7\xA0
+8k\xA6x\x8B(@\x8C\x84t8\xB8 \xAAi\xBFjT\xC1n \xAB\x81 \xC6\xCA  q\xCFzm\xD3t\xB9\xD8\xD9\xAF±g\xDF2\xA8\x97VL;\x9A +]_bd\xEA\xF3[       !\xF9 ,((@\xD6x\xBA\xDC\xFE0`\xAA\xBD8c@^\xB9\x85CZ\x99\x85K`\xAE\xEC@ղ\xC0=\x81<\xC0{+*\x8Bo\xF1\xD9e\x86
+\xA3Ә,g\x9C߂\x90k\xF5:R\xE9 PH@!`\xCB>b\xCFK\xEDL\x9B\x90\x8A\x81\xEB\xA1{\x96\xA4\x8B\xA00\xA0\xDD u\x80& +\x84\x85\x8A(?\x8DJXf\x97\x98\x99\x9A\x99T\x89W\x9B\x92n\x95fh\x8Ak7\x93\x8A\x90ud\xAAFQ\x88\xAC
+#n\x87 mp
+\xB2;H\x84p\xC1;\xBBIy\x8E \xCB\xCC\x82D\xD0%\xACr\xD4w@\xD8s\xBDпS\x9Ei\xB47\xA6\xBA\xDAYU\xB3\xE1\x99[]`ac\xE9\x9B\xF57        !\xF9 ,((@\xD1x\xBA\xDC\xFE0`\xAA\xBD8c@^\xC9E\xA7 \x82f\x82Lp\xAE\xEC@ղ\xC0=\x81<\xC0{+\xAA\x8A\xA0\xF0\xD0\xED*\xBE\xC5q\x89iL\x983\xCEoAȵz\xA2\xE9o(J\xA0\xB0i1\xE8\xA5\xF6 V\xD8\xC04\xB9`\xE8 \xE3Ҭ\x90\xABg z' +\x83\x84\x89DS\x8CP!g\x95\x96\x97\x98\x99U\x88Y\x96\x91\x94Zi\x8Dp\x92b^\xA2OB\x9F~GR\x87.j\x86)\xB1vt\x88C]\xA6 \x8D3 \xB4\xC8\x81 \xA9̎ \xC0\xD1|@\xD5w8\xD9H\x9CP\xB67\xA5\xA7gV\xB5x\x99\^r\xABe\x99\xF0\x95 !\xF9 ,((@\xD9x\xBA\xDC\xFE0`\xAA%j\xBB\xEF\xF1\x9FleZL\xA0\xBEp@\xBF\xC0=\x81}\xB3\x9D\xC2\xD5a9\x887Kp\x91l\x96g2$\z1\xA0\xA8Zh\xC1\xE5\xD0q5\xA9''D^\xCCV\xB1s\xB9|\xF4\x83]m\x80\xE4|7 >\x818 +\x85\x86$\x8AFB\x8Ej[g\x98\x99\x9A\x9B\x9AW\x89\x8B\x97\x99\x93\x81\x96gi\x8Fl;\x94T
+\xA4N\x91P>\xB2 \x80?\xA2
+\x85\x8C\xACS +nxu\xB8s\x84\x8F0\xBD
+\xC91 \xC6\xCD\x83\xB6\xD1)\xB2{\xD5~\xC2\xD5yC\xD9\xDFV\x9F|\xAE;\xA8\x81\xAA\x98XM@\x9C +^rd\xDB\xF0\xF8     !\xF9 ,((@\xD1x\xBA\xDC\xFE0`\xAA\x81˻\xC4Sxdir\x85v\xAE\xAC\x91=՞\xC0=\x81<\xEF}l[c0\xB3\xF4\xC5d\xA71Q\xB6@\xBE!\xC7Ⅲ\xD1A\xA0.\x80B@\x88u4\x9D2h\xA8\xC4\xE2n*\        #\xA7\xFA\x8B\x9E       :}+ +\x81\x82$\x84"\x87)Qx}ve\x92\x93\x94\x95\x96S\x86\x88W\x94\x8Fh\x91X1b[E5>y\x8D*3\xABL\x99\x9CRIP\x85$\xAE
+\xA9; +l$a\x82G\x99\x8B\x89H\xC3+ |ǽ \xB9\xCB( q\xCFo\xBC\xD3s
+\xD6\xC7\xD8R\xC2h\xB47\xA2\x82\xA7\x93T\xA6ܔZ\|\xBEbo\x96\xF07       !\xF9 ,((@\xD7x\xBA\xDC\xFE0`\xAA +m\xCB; OэdYL`\xAE,\x87=ղ\xC0=\x81<\xC0{*\x92\xC0\xC6 lv>\xC5nIjL\x98\xBB\xCFoAȵz\xA0\xE9t(\x8E@!@\xD4:b#\xB1nU\xFB;(\xC7{%H*,\xC1\xB8pd\x96}P; k\x82W +\x86\x87%"\x8B$q?\x8F\x82Yf\x99\x9A\x9B\x9C\x9BU\x8Ai\x98\x9A\x94\x8B\x97fhC \xA9l!i\xB0-\x92N\xA0\x8D\x954\xA3
+\xA0m
+\xA5K\xB7 sy\x82I\xBD\x90 \xCA; \x81\xCDB \xB9\xD1#\xB4x\xD5%\xAF\xC5\xD9v
+\xDC\xD1\xDFT\xC9PR?\xAD\x87\xE7\x99V\xC2\xE3\x9B\^`bd\x9D\xF6\x99     !\xF9,((@\xD3x\xBA\xDC\xFE0`\xAA5ō\xCB+ OэdyeK`\xAE\xAC@՚\xC0=\x81<ﭨ%\x81\x8D!j\xF5\xB3\xE4\xA81Q\xEE@>!\xC7\xE2A\xA3\xBEA\xA0T\x80B`\x88\xD5\xE8Ncj\xA9\xE6\x8E\x8E\x8C3   \xAEش\xC0N\xF9\xE0\xCD'q~I +r\x82#\x84!\x87#(>EyWe\x94\x95\x96\x97\x95S\x86V\x98\x8F\x82\x92e1o Mk{\x8A\xA4\x9B'\xA6\x8C}4\x93
+\xAC \x90U +n\x8B%p\xB7\xC1 \xC5, \xB3\xC8\x80 \xBḒ v\xD1\xA8\xC0\xD5t?\xD5\xDA \xAF\xC1Q\xA3\x87l\x95j;ޖZ\}`b\xA8\x98\xF27        ;
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/images/spinner-2x.gif
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:executable</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+*
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwp15wordpressnetpublic_htmlcontentpluginswp15meetupeventsviewseventslistphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/views/events-list.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/views/events-list.php       2018-03-26 20:09:31 UTC (rev 6932)
+++ sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/views/events-list.php 2018-03-26 20:09:38 UTC (rev 6933)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6,7 +6,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> ?>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-<ul class="wp-event-list">
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<ul class="wp15-events-list">
</ins><span class="cx" style="display: block; padding: 0 10px">         <?php foreach ( $events as $event ) : ?>
</span><span class="cx" style="display: block; padding: 0 10px">                <li>
</span><span class="cx" style="display: block; padding: 0 10px">                        <h3 class="wp15-event-group">
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -20,7 +20,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        </p>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        <p class="wp15-event-date-time">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                <?php echo esc_html( get_local_formatted_date( $event['time'], $event['timezone'] ) ); ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         <?php echo esc_html( $event['time'] ); ?>
</ins><span class="cx" style="display: block; padding: 0 10px">                         </p>
</span><span class="cx" style="display: block; padding: 0 10px">                </li>
</span><span class="cx" style="display: block; padding: 0 10px">        <?php endforeach; ?>
</span></span></pre></div>
<a id="sitestrunkwp15wordpressnetpublic_htmlcontentpluginswp15meetupeventsviewseventsmapphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/views/events-map.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/views/events-map.php                                (rev 0)
+++ sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/views/events-map.php  2018-03-26 20:09:38 UTC (rev 6933)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,33 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+
+namespace WP15\Meetup_Events;
+
+/** @var array $map_options */
+
+?>
+
+<script>
+       var wp15MeetupEventsOptions = <?php echo wp_json_encode( $map_options ); ?>;
+</script>
+
+<div id="wp15-events-map">
+       <div class="wp15-spinner spinner spinner-visible"></div>
+</div>
+
+<script id="tmpl-wp15-map-marker" type="text/html">
+       <div id="wp15-map-marker-{{event.id}}" class="wp15-map-marker">
+               <h3 class="wp15-event-group">
+                       {{event.group}}
+               </h3>
+
+               <p class="wp15-event-title">
+                       <a href="{{event.url}}">
+                               {{event.name}}
+                       </a>
+               </p>
+
+               <p class="wp15-event-date-time">
+                       {{event.time}}
+               </p>
+       </div>
+</script>
</ins></span></pre></div>
<a id="sitestrunkwp15wordpressnetpublic_htmlcontentpluginswp15meetupeventswp15meetupeventscss"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/wp15-meetup-events.css</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/wp15-meetup-events.css                              (rev 0)
+++ sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/wp15-meetup-events.css        2018-03-26 20:09:38 UTC (rev 6933)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,20 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+#wp15-events-map {
+       position: relative;
+       height: 400px;
+       background-color: #AADAFF;
+}
+
+.wp15-spinner {
+       display: block;
+       position: absolute;
+       top: 50%;
+       left: 50%;
+       width: 20px;
+       height: 20px;
+       margin: -10px 0 0 0;    /* take half the height of the spinner off the top, so that it's perfectly centered */
+       background-image: url( 'images/spinner-2x.gif' );
+       background-repeat: no-repeat;
+       background-size: 20px 20px;
+       opacity: 0.7;
+       filter: alpha( opacity=70 );
+}
</ins></span></pre></div>
<a id="sitestrunkwp15wordpressnetpublic_htmlcontentpluginswp15meetupeventswp15meetupeventsjs"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/wp15-meetup-events.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/wp15-meetup-events.js                               (rev 0)
+++ sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/wp15-meetup-events.js 2018-03-26 20:09:38 UTC (rev 6933)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,214 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+/**
+ * @name MarkerClusterer for Google Maps v3
+ * @version version 1.0
+ * @author Luke Mahe
+ *
+ * The library creates and manages per-zoom-level clusters for large amounts of
+ * markers.
+ */
+(function(){var d=null;function e(a){return function(b){this[a]=b}}function h(a){return function(){return this[a]}}var j;
+       function k(a,b,c){this.extend(k,google.maps.OverlayView);this.c=a;this.a=[];this.f=[];this.ca=[53,56,66,78,90];this.j=[];this.A=!1;c=c||{};this.g=c.gridSize||60;this.l=c.minimumClusterSize||2;this.J=c.maxZoom||d;this.j=c.styles||[];this.X=c.imagePath||this.Q;this.W=c.imageExtension||this.P;this.O=!0;if(c.zoomOnClick!=void 0)this.O=c.zoomOnClick;this.r=!1;if(c.averageCenter!=void 0)this.r=c.averageCenter;l(this);this.setMap(a);this.K=this.c.getZoom();var f=this;google.maps.event.addListener(this.c,
+               "zoom_changed",function(){var a=f.c.getZoom();if(f.K!=a)f.K=a,f.m()});google.maps.event.addListener(this.c,"idle",function(){f.i()});b&&b.length&&this.C(b,!1)}j=k.prototype;j.Q="http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclusterer/images/m";j.P="png";j.extend=function(a,b){return function(a){for(var b in a.prototype)this.prototype[b]=a.prototype[b];return this}.apply(a,[b])};j.onAdd=function(){if(!this.A)this.A=!0,n(this)};j.draw=function(){};
+       function l(a){if(!a.j.length)for(var b=0,c;c=a.ca[b];b++)a.j.push({url:a.X+(b+1)+"."+a.W,height:c,width:c})}j.S=function(){for(var a=this.o(),b=new google.maps.LatLngBounds,c=0,f;f=a[c];c++)b.extend(f.getPosition());this.c.fitBounds(b)};j.z=h("j");j.o=h("a");j.V=function(){return this.a.length};j.ba=e("J");j.I=h("J");j.G=function(a,b){for(var c=0,f=a.length,g=f;g!==0;)g=parseInt(g/10,10),c++;c=Math.min(c,b);return{text:f,index:c}};j.$=e("G");j.H=h("G");
+       j.C=function(a,b){for(var c=0,f;f=a[c];c++)q(this,f);b||this.i()};function q(a,b){b.s=!1;b.draggable&&google.maps.event.addListener(b,"dragend",function(){b.s=!1;a.L()});a.a.push(b)}j.q=function(a,b){q(this,a);b||this.i()};function r(a,b){var c=-1;if(a.a.indexOf)c=a.a.indexOf(b);else for(var f=0,g;g=a.a[f];f++)if(g==b){c=f;break}if(c==-1)return!1;b.setMap(d);a.a.splice(c,1);return!0}j.Y=function(a,b){var c=r(this,a);return!b&&c?(this.m(),this.i(),!0):!1};
+       j.Z=function(a,b){for(var c=!1,f=0,g;g=a[f];f++)g=r(this,g),c=c||g;if(!b&&c)return this.m(),this.i(),!0};j.U=function(){return this.f.length};j.getMap=h("c");j.setMap=e("c");j.w=h("g");j.aa=e("g");
+       j.v=function(a){var b=this.getProjection(),c=new google.maps.LatLng(a.getNorthEast().lat(),a.getNorthEast().lng()),f=new google.maps.LatLng(a.getSouthWest().lat(),a.getSouthWest().lng()),c=b.fromLatLngToDivPixel(c);c.x+=this.g;c.y-=this.g;f=b.fromLatLngToDivPixel(f);f.x-=this.g;f.y+=this.g;c=b.fromDivPixelToLatLng(c);b=b.fromDivPixelToLatLng(f);a.extend(c);a.extend(b);return a};j.R=function(){this.m(!0);this.a=[]};
+       j.m=function(a){for(var b=0,c;c=this.f[b];b++)c.remove();for(b=0;c=this.a[b];b++)c.s=!1,a&&c.setMap(d);this.f=[]};j.L=function(){var a=this.f.slice();this.f.length=0;this.m();this.i();window.setTimeout(function(){for(var b=0,c;c=a[b];b++)c.remove()},0)};j.i=function(){n(this)};
+       function n(a){if(a.A)for(var b=a.v(new google.maps.LatLngBounds(a.c.getBounds().getSouthWest(),a.c.getBounds().getNorthEast())),c=0,f;f=a.a[c];c++)if(!f.s&&b.contains(f.getPosition())){for(var g=a,u=4E4,o=d,v=0,m=void 0;m=g.f[v];v++){var i=m.getCenter();if(i){var p=f.getPosition();if(!i||!p)i=0;else var w=(p.lat()-i.lat())*Math.PI/180,x=(p.lng()-i.lng())*Math.PI/180,i=Math.sin(w/2)*Math.sin(w/2)+Math.cos(i.lat()*Math.PI/180)*Math.cos(p.lat()*Math.PI/180)*Math.sin(x/2)*Math.sin(x/2),i=6371*2*Math.atan2(Math.sqrt(i),
+                       Math.sqrt(1-i));i<u&&(u=i,o=m)}}o&&o.F.contains(f.getPosition())?o.q(f):(m=new s(g),m.q(f),g.f.push(m))}}function s(a){this.k=a;this.c=a.getMap();this.g=a.w();this.l=a.l;this.r=a.r;this.d=d;this.a=[];this.F=d;this.n=new t(this,a.z(),a.w())}j=s.prototype;
+       j.q=function(a){var b;a:if(this.a.indexOf)b=this.a.indexOf(a)!=-1;else{b=0;for(var c;c=this.a[b];b++)if(c==a){b=!0;break a}b=!1}if(b)return!1;if(this.d){if(this.r)c=this.a.length+1,b=(this.d.lat()*(c-1)+a.getPosition().lat())/c,c=(this.d.lng()*(c-1)+a.getPosition().lng())/c,this.d=new google.maps.LatLng(b,c),y(this)}else this.d=a.getPosition(),y(this);a.s=!0;this.a.push(a);b=this.a.length;b<this.l&&a.getMap()!=this.c&&a.setMap(this.c);if(b==this.l)for(c=0;c<b;c++)this.a[c].setMap(d);b>=this.l&&a.setMap(d);
+               a=this.c.getZoom();if((b=this.k.I())&&a>b)for(a=0;b=this.a[a];a++)b.setMap(this.c);else if(this.a.length<this.l)z(this.n);else{b=this.k.H()(this.a,this.k.z().length);this.n.setCenter(this.d);a=this.n;a.B=b;a.ga=b.text;a.ea=b.index;if(a.b)a.b.innerHTML=b.text;b=Math.max(0,a.B.index-1);b=Math.min(a.j.length-1,b);b=a.j[b];a.da=b.url;a.h=b.height;a.p=b.width;a.M=b.textColor;a.e=b.anchor;a.N=b.textSize;a.D=b.backgroundPosition;this.n.show()}return!0};
+       j.getBounds=function(){for(var a=new google.maps.LatLngBounds(this.d,this.d),b=this.o(),c=0,f;f=b[c];c++)a.extend(f.getPosition());return a};j.remove=function(){this.n.remove();this.a.length=0;delete this.a};j.T=function(){return this.a.length};j.o=h("a");j.getCenter=h("d");function y(a){a.F=a.k.v(new google.maps.LatLngBounds(a.d,a.d))}j.getMap=h("c");
+       function t(a,b,c){a.k.extend(t,google.maps.OverlayView);this.j=b;this.fa=c||0;this.u=a;this.d=d;this.c=a.getMap();this.B=this.b=d;this.t=!1;this.setMap(this.c)}j=t.prototype;
+       j.onAdd=function(){this.b=document.createElement("DIV");if(this.t)this.b.style.cssText=A(this,B(this,this.d)),this.b.innerHTML=this.B.text;this.getPanes().overlayMouseTarget.appendChild(this.b);var a=this;google.maps.event.addDomListener(this.b,"click",function(){var b=a.u.k;google.maps.event.trigger(b,"clusterclick",a.u);b.O&&a.c.fitBounds(a.u.getBounds())})};function B(a,b){var c=a.getProjection().fromLatLngToDivPixel(b);c.x-=parseInt(a.p/2,10);c.y-=parseInt(a.h/2,10);return c}
+       j.draw=function(){if(this.t){var a=B(this,this.d);this.b.style.top=a.y+"px";this.b.style.left=a.x+"px"}};function z(a){if(a.b)a.b.style.display="none";a.t=!1}j.show=function(){if(this.b)this.b.style.cssText=A(this,B(this,this.d)),this.b.style.display="";this.t=!0};j.remove=function(){this.setMap(d)};j.onRemove=function(){if(this.b&&this.b.parentNode)z(this),this.b.parentNode.removeChild(this.b),this.b=d};j.setCenter=e("d");
+       function A(a,b){var c=[];c.push("background-image:url("+a.da+");");c.push("background-position:"+(a.D?a.D:"0 0")+";");typeof a.e==="object"?(typeof a.e[0]==="number"&&a.e[0]>0&&a.e[0]<a.h?c.push("height:"+(a.h-a.e[0])+"px; padding-top:"+a.e[0]+"px;"):c.push("height:"+a.h+"px; line-height:"+a.h+"px;"),typeof a.e[1]==="number"&&a.e[1]>0&&a.e[1]<a.p?c.push("width:"+(a.p-a.e[1])+"px; padding-left:"+a.e[1]+"px;"):c.push("width:"+a.p+"px; text-align:center;")):c.push("height:"+a.h+"px; line-height:"+a.h+
+       "px; width:"+a.p+"px; text-align:center;");c.push("cursor:pointer; top:"+b.y+"px; left:"+b.x+"px; color:"+(a.M?a.M:"black")+"; position:absolute; font-size:"+(a.N?a.N:11)+"px; font-family:Arial,sans-serif; font-weight:bold");return c.join("")}window.MarkerClusterer=k;k.prototype.addMarker=k.prototype.q;k.prototype.addMarkers=k.prototype.C;k.prototype.clearMarkers=k.prototype.R;k.prototype.fitMapToMarkers=k.prototype.S;k.prototype.getCalculator=k.prototype.H;k.prototype.getGridSize=k.prototype.w;
+       k.prototype.getExtendedBounds=k.prototype.v;k.prototype.getMap=k.prototype.getMap;k.prototype.getMarkers=k.prototype.o;k.prototype.getMaxZoom=k.prototype.I;k.prototype.getStyles=k.prototype.z;k.prototype.getTotalClusters=k.prototype.U;k.prototype.getTotalMarkers=k.prototype.V;k.prototype.redraw=k.prototype.i;k.prototype.removeMarker=k.prototype.Y;k.prototype.removeMarkers=k.prototype.Z;k.prototype.resetViewport=k.prototype.m;k.prototype.repaint=k.prototype.L;k.prototype.setCalculator=k.prototype.$;
+       k.prototype.setGridSize=k.prototype.aa;k.prototype.setMaxZoom=k.prototype.ba;k.prototype.onAdd=k.prototype.onAdd;k.prototype.draw=k.prototype.draw;s.prototype.getCenter=s.prototype.getCenter;s.prototype.getSize=s.prototype.T;s.prototype.getMarkers=s.prototype.o;t.prototype.onAdd=t.prototype.onAdd;t.prototype.draw=t.prototype.draw;t.prototype.onRemove=t.prototype.onRemove;
+})();
+
+
+/**
+ * WP15MeetupEvents
+ *
+ * Displays a Google Map with the provided markers.
+ *
+ * This is mostly copied from the `wordcamp-central-2012` theme.
+ */
+var WP15MeetupEvents = ( function( $ ) {
+       // templateOptions is copied from Core in order to avoid an extra HTTP request just to get wp.template
+       var options,
+               templateOptions = {
+                       evaluate:    /<#([\s\S]+?)#>/g,
+                       interpolate: /\{\{\{([\s\S]+?)\}\}\}/g,
+                       escape:      /\{\{([^\}]+?)\}\}(?!\})/g
+               };
+
+       /**
+        * Initialization that runs when the document has fully loaded.
+        */
+       function init( initOptions ) {
+               options     = initOptions;
+               initOptions = null;
+
+               try {
+                       if ( options.hasOwnProperty( 'mapContainer' ) && options.hasOwnProperty( 'mapMarkers' ) ) {
+                               loadMap( options.mapContainer, options.mapMarkers );
+                       }
+               } catch ( exception ) {
+                       log( exception );
+               }
+       }
+
+       /**
+        * Build a Google Map in the given container with the given marker data.
+        *
+        * @param {string} container
+        * @param {object} markers
+        */
+       function loadMap( container, markers ) {
+               if ( ! $( '#' + container ).length ) {
+                       throw "Map container element isn't present in the DOM.";
+               }
+
+               if ( 'undefined' === typeof( google ) || ! google.hasOwnProperty( 'maps' ) ) {
+                       throw 'Google Maps library is not loaded.';
+               }
+
+               var map, markerCluster,
+                       mapOptions = {
+                               center            : new google.maps.LatLng( 15.000, 7.000 ),
+                               zoom              : 2,
+                               zoomControl       : true,
+                               mapTypeControl    : false,
+                               streetViewControl : false
+               };
+
+               map           = new google.maps.Map( document.getElementById( container ), mapOptions );
+               markers       = createMarkers(  map, markers );
+               markerCluster = clusterMarkers( map, markers );
+       }
+
+       /**
+        * Create markers on a map with the given marker data.
+        *
+        * Normally the markers would be assigned to the map at this point, but we'll run them through MarkerClusterer
+        * later on, so adding them to the map now is unnecessary and negatively affects performance.
+        *
+        * @param {google.maps.Map} map
+        * @param {object}          markers
+        *
+        * @return {object}
+        */
+       function createMarkers( map, markers ) {
+               var markerID,
+                       infoWindowTemplate = _.template( $( '#tmpl-wp15-map-marker' ).html(), null, templateOptions ),
+                       infoWindow         = new google.maps.InfoWindow( {
+                               pixelOffset: new google.maps.Size( -options.markerIconAnchorXOffset, 0 )
+                       } );
+
+               for ( markerID in markers ) {
+                       if ( ! markers.hasOwnProperty( markerID ) ) {
+                               continue;
+                       }
+
+                       markers[ markerID ] = new google.maps.Marker( {
+                               id        : markerID,
+                               group     : markers[ markerID ].group,
+                               name      : markers[ markerID ].name,
+                               time      : markers[ markerID ].time,
+                               url       : markers[ markerID ].event_url,
+
+                               icon : {
+                                       url        : options.markerIconBaseURL + options.markerIcon,
+                                       size       : new google.maps.Size(  options.markerIconHeight,        options.markerIconWidth ),
+                                       anchor     : new google.maps.Point( options.markerIconAnchorXOffset, options.markerIconWidth / 2 ),
+                                       scaledSize : new google.maps.Size(  options.markerIconHeight / 2,    options.markerIconWidth / 2 )
+                               },
+
+                               position : new google.maps.LatLng(
+                                       markers[ markerID ].latitude,
+                                       markers[ markerID ].longitude
+                               )
+                       } );
+
+                       google.maps.event.addListener( markers[ markerID ], 'click', function() {
+                               try {
+                                       infoWindow.setContent( infoWindowTemplate( { 'event': markers[ this.id ] } ) );
+                                       infoWindow.open( map, markers[ this.id ] );
+                               } catch ( exception ) {
+                                       log( exception );
+                               }
+                       } );
+               }
+
+               return markers;
+       }
+
+       /**
+        * Cluster the markers into groups for improved performance and UX.
+        *
+        * options.clusterIcon is just 1x size, because MarkerClusterer doesn't support retina images.
+        * MarkerClusterer Plus does, but it doesn't seem as official, so I'm not as confident that it's secure,
+        * stable, etc.
+        *
+        * @param {google.maps.Map} map
+        * @param {object}          markers
+        *
+        * @return MarkerClusterer
+        */
+       function clusterMarkers( map, markers ) {
+               var clusterOptions,
+                       markersArray = [];
+
+               /*
+                * We're storing markers in an object so that they can be accessed directly by ID, rather than having to
+                * loop through them to find one. MarkerClusterer requires them to be passed in as an object, though, so
+                * we need to convert them here.
+                */
+               for ( var m in markers ) {
+                       markersArray.push( markers[ m ] );
+               }
+
+               clusterOptions = {
+                       maxZoom:  11,
+                       gridSize: 30,
+                       styles: [
+                               {
+                                       url:       options.markerIconBaseURL + options.clusterIcon,
+                                       height:    options.clusterIconHeight,
+                                       width:     options.clusterIconWidth,
+                                       anchor:    [ 0, -0 ],
+                                       textColor: '#ffffff',
+                                       textSize:  18
+                               }
+                       ]
+               };
+
+               return new MarkerClusterer( map, markersArray, clusterOptions );
+       }
+
+       /**
+        * Log a message to the console.
+        *
+        * @param {*} message
+        */
+       function log( message ) {
+               if ( ! window.console ) {
+                       return;
+               }
+
+               if ( 'string' === typeof( message ) ) {
+                       console.log( 'WP15MeetupEvents: ' + message );
+               } else {
+                       console.log( 'WP15MeetupEvents: ', message );
+               }
+       }
+
+       return {
+               init: init
+       };
+} )( jQuery );
+
+jQuery( document ).ready( WP15MeetupEvents.init( wp15MeetupEventsOptions ) );
</ins></span></pre></div>
<a id="sitestrunkwp15wordpressnetpublic_htmlcontentpluginswp15meetupeventswp15meetupeventsphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/wp15-meetup-events.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/wp15-meetup-events.php      2018-03-26 20:09:31 UTC (rev 6932)
+++ sites/trunk/wp15.wordpress.net/public_html/content/plugins/wp15-meetup-events/wp15-meetup-events.php        2018-03-26 20:09:38 UTC (rev 6933)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -17,6 +17,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> defined( 'WPINC' ) || die();
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> add_action(    'wp15_prime_events_cache', __NAMESPACE__ . '\prime_events_cache' );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+add_action(    'wp_enqueue_scripts',      __NAMESPACE__ . '\enqueue_scripts'         );
</ins><span class="cx" style="display: block; padding: 0 10px"> add_shortcode( 'wp15_meetup_events',      __NAMESPACE__ . '\render_events_shortcode' );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> if ( ! wp_next_scheduled( 'wp15_prime_events_cache' ) ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -97,9 +98,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">  * @return array
</span><span class="cx" style="display: block; padding: 0 10px">  */
</span><span class="cx" style="display: block; padding: 0 10px"> function get_wp15_events( $potential_events ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        $relevant_keys = array_flip( array( 'id', 'event_url', 'name', 'time', 'timezone', 'group' ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $relevant_keys = array_flip( array( 'id', 'event_url', 'name', 'time', 'timezone', 'group', 'latitude', 'longitude' ) );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        foreach ( $potential_events as $event ) {
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                $event['latitude']    = ! empty( $event['venue']['lat'] ) ? $event['venue']['lat'] : $event['group']['group_lat'];
+               $event['longitude']   = ! empty( $event['venue']['lon'] ) ? $event['venue']['lon'] : $event['group']['group_lon'];
</ins><span class="cx" style="display: block; padding: 0 10px">                 $event['group']       = $event['group']['name'];
</span><span class="cx" style="display: block; padding: 0 10px">                $event['description'] = isset( $event['description'] ) ? $event['description'] : '';
</span><span class="cx" style="display: block; padding: 0 10px">                $event['time']        = $event['time'] / 1000;  // Convert to seconds.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -158,13 +161,67 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * Enqueue the plugin's scripts and styles.
+ */
+function enqueue_scripts() {
+       global $post;
+
+       if ( ! is_a( $post, 'WP_Post' ) || 'about' !== $post->post_name ) {
+               return;
+       }
+
+       wp_register_script(
+               'google-maps',
+               'https://maps.googleapis.com/maps/api/js?key=' . GOOGLE_MAPS_PUBLIC_KEY,
+               array(),
+               false,
+               true
+       );
+
+       wp_enqueue_script(
+               'wp15-meetup-events',
+               plugins_url( 'wp15-meetup-events.js', __FILE__ ),
+               array( 'jquery', 'underscore', 'google-maps' ),
+               filemtime( __DIR__ . '/wp15-meetup-events.js' ),
+               true
+       );
+
+       wp_enqueue_style(
+               'wp15-meetup-events',
+               plugins_url( 'wp15-meetup-events.css', __FILE__ ),
+               array(),
+               filemtime( __DIR__ . '/wp15-meetup-events.css' )
+       );
+}
+
+/**
</ins><span class="cx" style="display: block; padding: 0 10px">  * Render the WP15 events shortcode.
</span><span class="cx" style="display: block; padding: 0 10px">  */
</span><span class="cx" style="display: block; padding: 0 10px"> function render_events_shortcode() {
</span><span class="cx" style="display: block; padding: 0 10px">        $events = get_option( 'wp15_events' );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        // This needs to be done on the fly, in order to use the date format for the visitor's locale.
+       foreach ( $events as & $event ) {
+               $event['time'] = get_local_formatted_date( $event['time'], $event['timezone'] );
+       }
+
</ins><span class="cx" style="display: block; padding: 0 10px">         usort( $events, __NAMESPACE__ . '\sort_events' );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        $map_options = array(
+               'mapContainer'            => 'wp15-events-map',
+               'mapMarkers'              => $events,
+               'markerIconBaseURL'       => plugins_url( '/images/', __FILE__ ),
+               'markerIcon'              => 'map-marker.svg',
+               'markerIconAnchorXOffset' => 32,
+               'markerIconHeight'        => 64,
+               'markerIconWidth'         => 64,
+               'clusterIcon'             => 'clustered-markers.png',
+               'clusterIconWidth'        => 53,
+               'clusterIconHeight'       => 52,
+
+       );
+
+       require_once( __DIR__ . '/views/events-map.php'  );
</ins><span class="cx" style="display: block; padding: 0 10px">         require_once( __DIR__ . '/views/events-list.php' );
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span></span></pre>
</div>
</div>

</body>
</html>