<!DOCTYPE html>
<html data-env='production' lang='en' xml:lang='en'>
<head>
<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"faaaef6476","applicationID":"1135420","transactionName":"cAkNR0ENXQpXF0tJDUASEBxACl4R","queueTime":0,"applicationTime":95,"agent":""}</script>
<script type="text/javascript">(window.NREUM||(NREUM={})).loader_config={xpid:"VwYHUF9ACQIDUVVQBw=="};window.NREUM||(NREUM={}),__nr_require=function(t,e,n){function r(n){if(!e[n]){var o=e[n]={exports:{}};t[n][0].call(o.exports,function(e){var o=t[n][1][e];return r(o||e)},o,o.exports)}return e[n].exports}if("function"==typeof __nr_require)return __nr_require;for(var o=0;o<n.length;o++)r(n[o]);return r}({1:[function(t,e,n){function r(t){try{c.console&&console.log(t)}catch(e){}}var o,i=t("ee"),a=t(20),c={};try{o=localStorage.getItem("__nr_flags").split(","),console&&"function"==typeof console.log&&(c.console=!0,o.indexOf("dev")!==-1&&(c.dev=!0),o.indexOf("nr_dev")!==-1&&(c.nrDev=!0))}catch(s){}c.nrDev&&i.on("internal-error",function(t){r(t.stack)}),c.dev&&i.on("fn-err",function(t,e,n){r(n.stack)}),c.dev&&(r("NR AGENT IN DEVELOPMENT MODE"),r("flags: "+a(c,function(t,e){return t}).join(", ")))},{}],2:[function(t,e,n){function r(t,e,n,r,c){try{h?h-=1:o(c||new UncaughtException(t,e,n),!0)}catch(f){try{i("ierr",[f,s.now(),!0])}catch(d){}}return"function"==typeof u&&u.apply(this,a(arguments))}function UncaughtException(t,e,n){this.message=t||"Uncaught error with no additional information",this.sourceURL=e,this.line=n}function o(t,e){var n=e?null:s.now();i("err",[t,n])}var i=t("handle"),a=t(21),c=t("ee"),s=t("loader"),f=t("gos"),u=window.onerror,d=!1,p="nr@seenError",h=0;s.features.err=!0,t(1),window.onerror=r;try{throw new Error}catch(l){"stack"in l&&(t(13),t(12),"addEventListener"in window&&t(6),s.xhrWrappable&&t(14),d=!0)}c.on("fn-start",function(t,e,n){d&&(h+=1)}),c.on("fn-err",function(t,e,n){d&&!n[p]&&(f(n,p,function(){return!0}),this.thrown=!0,o(n))}),c.on("fn-end",function(){d&&!this.thrown&&h>0&&(h-=1)}),c.on("internal-error",function(t){i("ierr",[t,s.now(),!0])})},{}],3:[function(t,e,n){t("loader").features.ins=!0},{}],4:[function(t,e,n){function r(){M++,S=y.hash,this[u]=b.now()}function o(){M--,y.hash!==S&&i(0,!0);var t=b.now();this[l]=~~this[l]+t-this[u],this[d]=t}function i(t,e){E.emit("newURL",[""+y,e])}function a(t,e){t.on(e,function(){this[e]=b.now()})}var c="-start",s="-end",f="-body",u="fn"+c,d="fn"+s,p="cb"+c,h="cb"+s,l="jsTime",m="fetch",v="addEventListener",w=window,y=w.location,b=t("loader");if(w[v]&&b.xhrWrappable){var g=t(10),x=t(11),E=t(8),P=t(6),O=t(13),R=t(7),T=t(14),L=t(9),j=t("ee"),N=j.get("tracer");t(15),b.features.spa=!0;var S,M=0;j.on(u,r),j.on(p,r),j.on(d,o),j.on(h,o),j.buffer([u,d,"xhr-done","xhr-resolved"]),P.buffer([u]),O.buffer(["setTimeout"+s,"clearTimeout"+c,u]),T.buffer([u,"new-xhr","send-xhr"+c]),R.buffer([m+c,m+"-done",m+f+c,m+f+s]),E.buffer(["newURL"]),g.buffer([u]),x.buffer(["propagate",p,h,"executor-err","resolve"+c]),N.buffer([u,"no-"+u]),L.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"]),a(T,"send-xhr"+c),a(j,"xhr-resolved"),a(j,"xhr-done"),a(R,m+c),a(R,m+"-done"),a(L,"new-jsonp"),a(L,"jsonp-end"),a(L,"cb-start"),E.on("pushState-end",i),E.on("replaceState-end",i),w[v]("hashchange",i,!0),w[v]("load",i,!0),w[v]("popstate",function(){i(0,M>1)},!0)}},{}],5:[function(t,e,n){function r(t){}if(window.performance&&window.performance.timing&&window.performance.getEntriesByType){var o=t("ee"),i=t("handle"),a=t(13),c=t(12),s="learResourceTimings",f="addEventListener",u="resourcetimingbufferfull",d="bstResource",p="resource",h="-start",l="-end",m="fn"+h,v="fn"+l,w="bstTimer",y="pushState",b=t("loader");b.features.stn=!0,t(8);var g=NREUM.o.EV;o.on(m,function(t,e){var n=t[0];n instanceof g&&(this.bstStart=b.now())}),o.on(v,function(t,e){var n=t[0];n instanceof g&&i("bst",[n,e,this.bstStart,b.now()])}),a.on(m,function(t,e,n){this.bstStart=b.now(),this.bstType=n}),a.on(v,function(t,e){i(w,[e,this.bstStart,b.now(),this.bstType])}),c.on(m,function(){this.bstStart=b.now()}),c.on(v,function(t,e){i(w,[e,this.bstStart,b.now(),"requestAnimationFrame"])}),o.on(y+h,function(t){this.time=b.now(),this.startPath=location.pathname+location.hash}),o.on(y+l,function(t){i("bstHist",[location.pathname+location.hash,this.startPath,this.time])}),f in window.performance&&(window.performance["c"+s]?window.performance[f](u,function(t){i(d,[window.performance.getEntriesByType(p)]),window.performance["c"+s]()},!1):window.performance[f]("webkit"+u,function(t){i(d,[window.performance.getEntriesByType(p)]),window.performance["webkitC"+s]()},!1)),document[f]("scroll",r,{passive:!0}),document[f]("keypress",r,!1),document[f]("click",r,!1)}},{}],6:[function(t,e,n){function r(t){for(var e=t;e&&!e.hasOwnProperty(u);)e=Object.getPrototypeOf(e);e&&o(e)}function o(t){c.inPlace(t,[u,d],"-",i)}function i(t,e){return t[1]}var a=t("ee").get("events"),c=t(23)(a,!0),s=t("gos"),f=XMLHttpRequest,u="addEventListener",d="removeEventListener";e.exports=a,"getPrototypeOf"in Object?(r(document),r(window),r(f.prototype)):f.prototype.hasOwnProperty(u)&&(o(window),o(f.prototype)),a.on(u+"-start",function(t,e){var n=t[1],r=s(n,"nr@wrapped",function(){function t(){if("function"==typeof n.handleEvent)return n.handleEvent.apply(n,arguments)}var e={object:t,"function":n}[typeof n];return e?c(e,"fn-",null,e.name||"anonymous"):n});this.wrapped=t[1]=r}),a.on(d+"-start",function(t){t[1]=this.wrapped||t[1]})},{}],7:[function(t,e,n){function r(t,e,n){var r=t[e];"function"==typeof r&&(t[e]=function(){var t=r.apply(this,arguments);return o.emit(n+"start",arguments,t),t.then(function(e){return o.emit(n+"end",[null,e],t),e},function(e){throw o.emit(n+"end",[e],t),e})})}var o=t("ee").get("fetch"),i=t(20);e.exports=o;var a=window,c="fetch-",s=c+"body-",f=["arrayBuffer","blob","json","text","formData"],u=a.Request,d=a.Response,p=a.fetch,h="prototype";u&&d&&p&&(i(f,function(t,e){r(u[h],e,s),r(d[h],e,s)}),r(a,"fetch",c),o.on(c+"end",function(t,e){var n=this;e?e.clone().arrayBuffer().then(function(t){n.rxSize=t.byteLength,o.emit(c+"done",[null,e],n)}):o.emit(c+"done",[t],n)}))},{}],8:[function(t,e,n){var r=t("ee").get("history"),o=t(23)(r);e.exports=r,o.inPlace(window.history,["pushState","replaceState"],"-")},{}],9:[function(t,e,n){function r(t){function e(){s.emit("jsonp-end",[],p),t.removeEventListener("load",e,!1),t.removeEventListener("error",n,!1)}function n(){s.emit("jsonp-error",[],p),s.emit("jsonp-end",[],p),t.removeEventListener("load",e,!1),t.removeEventListener("error",n,!1)}var r=t&&"string"==typeof t.nodeName&&"script"===t.nodeName.toLowerCase();if(r){var o="function"==typeof t.addEventListener;if(o){var a=i(t.src);if(a){var u=c(a),d="function"==typeof u.parent[u.key];if(d){var p={};f.inPlace(u.parent,[u.key],"cb-",p),t.addEventListener("load",e,!1),t.addEventListener("error",n,!1),s.emit("new-jsonp",[t.src],p)}}}}}function o(){return"addEventListener"in window}function i(t){var e=t.match(u);return e?e[1]:null}function a(t,e){var n=t.match(p),r=n[1],o=n[3];return o?a(o,e[r]):e[r]}function c(t){var e=t.match(d);return e&&e.length>=3?{key:e[2],parent:a(e[1],window)}:{key:t,parent:window}}var s=t("ee").get("jsonp"),f=t(23)(s);if(e.exports=s,o()){var u=/[?&](?:callback|cb)=([^&#]+)/,d=/(.*)\.([^.]+)/,p=/^(\w+)(\.|$)(.*)$/,h=["appendChild","insertBefore","replaceChild"];f.inPlace(HTMLElement.prototype,h,"dom-"),f.inPlace(HTMLHeadElement.prototype,h,"dom-"),f.inPlace(HTMLBodyElement.prototype,h,"dom-"),s.on("dom-start",function(t){r(t[0])})}},{}],10:[function(t,e,n){var r=t("ee").get("mutation"),o=t(23)(r),i=NREUM.o.MO;e.exports=r,i&&(window.MutationObserver=function(t){return this instanceof i?new i(o(t,"fn-")):i.apply(this,arguments)},MutationObserver.prototype=i.prototype)},{}],11:[function(t,e,n){function r(t){var e=a.context(),n=c(t,"executor-",e),r=new f(n);return a.context(r).getCtx=function(){return e},a.emit("new-promise",[r,e],e),r}function o(t,e){return e}var i=t(23),a=t("ee").get("promise"),c=i(a),s=t(20),f=NREUM.o.PR;e.exports=a,f&&(window.Promise=r,["all","race"].forEach(function(t){var e=f[t];f[t]=function(n){function r(t){return function(){a.emit("propagate",[null,!o],i),o=o||!t}}var o=!1;s(n,function(e,n){Promise.resolve(n).then(r("all"===t),r(!1))});var i=e.apply(f,arguments),c=f.resolve(i);return c}}),["resolve","reject"].forEach(function(t){var e=f[t];f[t]=function(t){var n=e.apply(f,arguments);return t!==n&&a.emit("propagate",[t,!0],n),n}}),f.prototype["catch"]=function(t){return this.then(null,t)},f.prototype=Object.create(f.prototype,{constructor:{value:r}}),s(Object.getOwnPropertyNames(f),function(t,e){try{r[e]=f[e]}catch(n){}}),a.on("executor-start",function(t){t[0]=c(t[0],"resolve-",this),t[1]=c(t[1],"resolve-",this)}),a.on("executor-err",function(t,e,n){t[1](n)}),c.inPlace(f.prototype,["then"],"then-",o),a.on("then-start",function(t,e){this.promise=e,t[0]=c(t[0],"cb-",this),t[1]=c(t[1],"cb-",this)}),a.on("then-end",function(t,e,n){this.nextPromise=n;var r=this.promise;a.emit("propagate",[r,!0],n)}),a.on("cb-end",function(t,e,n){a.emit("propagate",[n,!0],this.nextPromise)}),a.on("propagate",function(t,e,n){this.getCtx&&!e||(this.getCtx=function(){if(t instanceof Promise)var e=a.context(t);return e&&e.getCtx?e.getCtx():this})}),r.toString=function(){return""+f})},{}],12:[function(t,e,n){var r=t("ee").get("raf"),o=t(23)(r),i="equestAnimationFrame";e.exports=r,o.inPlace(window,["r"+i,"mozR"+i,"webkitR"+i,"msR"+i],"raf-"),r.on("raf-start",function(t){t[0]=o(t[0],"fn-")})},{}],13:[function(t,e,n){function r(t,e,n){t[0]=a(t[0],"fn-",null,n)}function o(t,e,n){this.method=n,this.timerDuration=isNaN(t[1])?0:+t[1],t[0]=a(t[0],"fn-",this,n)}var i=t("ee").get("timer"),a=t(23)(i),c="setTimeout",s="setInterval",f="clearTimeout",u="-start",d="-";e.exports=i,a.inPlace(window,[c,"setImmediate"],c+d),a.inPlace(window,[s],s+d),a.inPlace(window,[f,"clearImmediate"],f+d),i.on(s+u,r),i.on(c+u,o)},{}],14:[function(t,e,n){function r(t,e){d.inPlace(e,["onreadystatechange"],"fn-",c)}function o(){var t=this,e=u.context(t);t.readyState>3&&!e.resolved&&(e.resolved=!0,u.emit("xhr-resolved",[],t)),d.inPlace(t,y,"fn-",c)}function i(t){b.push(t),l&&(x?x.then(a):v?v(a):(E=-E,P.data=E))}function a(){for(var t=0;t<b.length;t++)r([],b[t]);b.length&&(b=[])}function c(t,e){return e}function s(t,e){for(var n in t)e[n]=t[n];return e}t(6);var f=t("ee"),u=f.get("xhr"),d=t(23)(u),p=NREUM.o,h=p.XHR,l=p.MO,m=p.PR,v=p.SI,w="readystatechange",y=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],b=[];e.exports=u;var g=window.XMLHttpRequest=function(t){var e=new h(t);try{u.emit("new-xhr",[e],e),e.addEventListener(w,o,!1)}catch(n){try{u.emit("internal-error",[n])}catch(r){}}return e};if(s(h,g),g.prototype=h.prototype,d.inPlace(g.prototype,["open","send"],"-xhr-",c),u.on("send-xhr-start",function(t,e){r(t,e),i(e)}),u.on("open-xhr-start",r),l){var x=m&&m.resolve();if(!v&&!m){var E=1,P=document.createTextNode(E);new l(a).observe(P,{characterData:!0})}}else f.on("fn-end",function(t){t[0]&&t[0].type===w||a()})},{}],15:[function(t,e,n){function r(t){var e=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var r=0;r<d;r++)t.removeEventListener(u[r],this.listener,!1);if(!e.aborted){if(n.duration=a.now()-this.startTime,4===t.readyState){e.status=t.status;var i=o(t,this.lastSize);if(i&&(n.rxSize=i),this.sameOrigin){var s=t.getResponseHeader("X-NewRelic-App-Data");s&&(e.cat=s.split(", ").pop())}}else e.status=0;n.cbTime=this.cbTime,f.emit("xhr-done",[t],t),c("xhr",[e,n,this.startTime])}}}function o(t,e){var n=t.responseType;if("json"===n&&null!==e)return e;var r="arraybuffer"===n||"blob"===n||"json"===n?t.response:t.responseText;return l(r)}function i(t,e){var n=s(e),r=t.params;r.host=n.hostname+":"+n.port,r.pathname=n.pathname,t.sameOrigin=n.sameOrigin}var a=t("loader");if(a.xhrWrappable){var c=t("handle"),s=t(16),f=t("ee"),u=["load","error","abort","timeout"],d=u.length,p=t("id"),h=t(19),l=t(18),m=window.XMLHttpRequest;a.features.xhr=!0,t(14),f.on("new-xhr",function(t){var e=this;e.totalCbs=0,e.called=0,e.cbTime=0,e.end=r,e.ended=!1,e.xhrGuids={},e.lastSize=null,h&&(h>34||h<10)||window.opera||t.addEventListener("progress",function(t){e.lastSize=t.loaded},!1)}),f.on("open-xhr-start",function(t){this.params={method:t[0]},i(this,t[1]),this.metrics={}}),f.on("open-xhr-end",function(t,e){"loader_config"in NREUM&&"xpid"in NREUM.loader_config&&this.sameOrigin&&e.setRequestHeader("X-NewRelic-ID",NREUM.loader_config.xpid)}),f.on("send-xhr-start",function(t,e){var n=this.metrics,r=t[0],o=this;if(n&&r){var i=l(r);i&&(n.txSize=i)}this.startTime=a.now(),this.listener=function(t){try{"abort"===t.type&&(o.params.aborted=!0),("load"!==t.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof e.onload))&&o.end(e)}catch(n){try{f.emit("internal-error",[n])}catch(r){}}};for(var c=0;c<d;c++)e.addEventListener(u[c],this.listener,!1)}),f.on("xhr-cb-time",function(t,e,n){this.cbTime+=t,e?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof n.onload||this.end(n)}),f.on("xhr-load-added",function(t,e){var n=""+p(t)+!!e;this.xhrGuids&&!this.xhrGuids[n]&&(this.xhrGuids[n]=!0,this.totalCbs+=1)}),f.on("xhr-load-removed",function(t,e){var n=""+p(t)+!!e;this.xhrGuids&&this.xhrGuids[n]&&(delete this.xhrGuids[n],this.totalCbs-=1)}),f.on("addEventListener-end",function(t,e){e instanceof m&&"load"===t[0]&&f.emit("xhr-load-added",[t[1],t[2]],e)}),f.on("removeEventListener-end",function(t,e){e instanceof m&&"load"===t[0]&&f.emit("xhr-load-removed",[t[1],t[2]],e)}),f.on("fn-start",function(t,e,n){e instanceof m&&("onload"===n&&(this.onload=!0),("load"===(t[0]&&t[0].type)||this.onload)&&(this.xhrCbStart=a.now()))}),f.on("fn-end",function(t,e){this.xhrCbStart&&f.emit("xhr-cb-time",[a.now()-this.xhrCbStart,this.onload,e],e)})}},{}],16:[function(t,e,n){e.exports=function(t){var e=document.createElement("a"),n=window.location,r={};e.href=t,r.port=e.port;var o=e.href.split("://");!r.port&&o[1]&&(r.port=o[1].split("/")[0].split("@").pop().split(":")[1]),r.port&&"0"!==r.port||(r.port="https"===o[0]?"443":"80"),r.hostname=e.hostname||n.hostname,r.pathname=e.pathname,r.protocol=o[0],"/"!==r.pathname.charAt(0)&&(r.pathname="/"+r.pathname);var i=!e.protocol||":"===e.protocol||e.protocol===n.protocol,a=e.hostname===document.domain&&e.port===n.port;return r.sameOrigin=i&&(!e.hostname||a),r}},{}],17:[function(t,e,n){function r(){}function o(t,e,n){return function(){return i(t,[f.now()].concat(c(arguments)),e?null:this,n),e?void 0:this}}var i=t("handle"),a=t(20),c=t(21),s=t("ee").get("tracer"),f=t("loader"),u=NREUM;"undefined"==typeof window.newrelic&&(newrelic=u);var d=["setPageViewName","setCustomAttribute","setErrorHandler","finished","addToTrace","inlineHit","addRelease"],p="api-",h=p+"ixn-";a(d,function(t,e){u[e]=o(p+e,!0,"api")}),u.addPageAction=o(p+"addPageAction",!0),u.setCurrentRouteName=o(p+"routeName",!0),e.exports=newrelic,u.interaction=function(){return(new r).get()};var l=r.prototype={createTracer:function(t,e){var n={},r=this,o="function"==typeof e;return i(h+"tracer",[f.now(),t,n],r),function(){if(s.emit((o?"":"no-")+"fn-start",[f.now(),r,o],n),o)try{return e.apply(this,arguments)}catch(t){throw s.emit("fn-err",[arguments,this,t],n),t}finally{s.emit("fn-end",[f.now()],n)}}}};a("setName,setAttribute,save,ignore,onEnd,getContext,end,get".split(","),function(t,e){l[e]=o(h+e)}),newrelic.noticeError=function(t){"string"==typeof t&&(t=new Error(t)),i("err",[t,f.now()])}},{}],18:[function(t,e,n){e.exports=function(t){if("string"==typeof t&&t.length)return t.length;if("object"==typeof t){if("undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer&&t.byteLength)return t.byteLength;if("undefined"!=typeof Blob&&t instanceof Blob&&t.size)return t.size;if(!("undefined"!=typeof FormData&&t instanceof FormData))try{return JSON.stringify(t).length}catch(e){return}}}},{}],19:[function(t,e,n){var r=0,o=navigator.userAgent.match(/Firefox[\/\s](\d+\.\d+)/);o&&(r=+o[1]),e.exports=r},{}],20:[function(t,e,n){function r(t,e){var n=[],r="",i=0;for(r in t)o.call(t,r)&&(n[i]=e(r,t[r]),i+=1);return n}var o=Object.prototype.hasOwnProperty;e.exports=r},{}],21:[function(t,e,n){function r(t,e,n){e||(e=0),"undefined"==typeof n&&(n=t?t.length:0);for(var r=-1,o=n-e||0,i=Array(o<0?0:o);++r<o;)i[r]=t[e+r];return i}e.exports=r},{}],22:[function(t,e,n){e.exports={exists:"undefined"!=typeof window.performance&&window.performance.timing&&"undefined"!=typeof window.performance.timing.navigationStart}},{}],23:[function(t,e,n){function r(t){return!(t&&t instanceof Function&&t.apply&&!t[a])}var o=t("ee"),i=t(21),a="nr@original",c=Object.prototype.hasOwnProperty,s=!1;e.exports=function(t,e){function n(t,e,n,o){function nrWrapper(){var r,a,c,s;try{a=this,r=i(arguments),c="function"==typeof n?n(r,a):n||{}}catch(f){p([f,"",[r,a,o],c])}u(e+"start",[r,a,o],c);try{return s=t.apply(a,r)}catch(d){throw u(e+"err",[r,a,d],c),d}finally{u(e+"end",[r,a,s],c)}}return r(t)?t:(e||(e=""),nrWrapper[a]=t,d(t,nrWrapper),nrWrapper)}function f(t,e,o,i){o||(o="");var a,c,s,f="-"===o.charAt(0);for(s=0;s<e.length;s++)c=e[s],a=t[c],r(a)||(t[c]=n(a,f?c+o:o,i,c))}function u(n,r,o){if(!s||e){var i=s;s=!0;try{t.emit(n,r,o,e)}catch(a){p([a,n,r,o])}s=i}}function d(t,e){if(Object.defineProperty&&Object.keys)try{var n=Object.keys(t);return n.forEach(function(n){Object.defineProperty(e,n,{get:function(){return t[n]},set:function(e){return t[n]=e,e}})}),e}catch(r){p([r])}for(var o in t)c.call(t,o)&&(e[o]=t[o]);return e}function p(e){try{t.emit("internal-error",e)}catch(n){}}return t||(t=o),n.inPlace=f,n.flag=a,n}},{}],ee:[function(t,e,n){function r(){}function o(t){function e(t){return t&&t instanceof r?t:t?s(t,c,i):i()}function n(n,r,o,i){if(!p.aborted||i){t&&t(n,r,o);for(var a=e(o),c=l(n),s=c.length,f=0;f<s;f++)c[f].apply(a,r);var d=u[y[n]];return d&&d.push([b,n,r,a]),a}}function h(t,e){w[t]=l(t).concat(e)}function l(t){return w[t]||[]}function m(t){return d[t]=d[t]||o(n)}function v(t,e){f(t,function(t,n){e=e||"feature",y[n]=e,e in u||(u[e]=[])})}var w={},y={},b={on:h,emit:n,get:m,listeners:l,context:e,buffer:v,abort:a,aborted:!1};return b}function i(){return new r}function a(){(u.api||u.feature)&&(p.aborted=!0,u=p.backlog={})}var c="nr@context",s=t("gos"),f=t(20),u={},d={},p=e.exports=o();p.backlog=u},{}],gos:[function(t,e,n){function r(t,e,n){if(o.call(t,e))return t[e];var r=n();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!1}),r}catch(i){}return t[e]=r,r}var o=Object.prototype.hasOwnProperty;e.exports=r},{}],handle:[function(t,e,n){function r(t,e,n,r){o.buffer([t],r),o.emit(t,e,n)}var o=t("ee").get("handle");e.exports=r,r.ee=o},{}],id:[function(t,e,n){function r(t){var e=typeof t;return!t||"object"!==e&&"function"!==e?-1:t===window?0:a(t,i,function(){return o++})}var o=1,i="nr@id",a=t("gos");e.exports=r},{}],loader:[function(t,e,n){function r(){if(!x++){var t=g.info=NREUM.info,e=p.getElementsByTagName("script")[0];if(setTimeout(u.abort,3e4),!(t&&t.licenseKey&&t.applicationID&&e))return u.abort();f(y,function(e,n){t[e]||(t[e]=n)}),s("mark",["onload",a()+g.offset],null,"api");var n=p.createElement("script");n.src="https://"+t.agent,e.parentNode.insertBefore(n,e)}}function o(){"complete"===p.readyState&&i()}function i(){s("mark",["domContent",a()+g.offset],null,"api")}function a(){return E.exists&&performance.now?Math.round(performance.now()):(c=Math.max((new Date).getTime(),c))-g.offset}var c=(new Date).getTime(),s=t("handle"),f=t(20),u=t("ee"),d=window,p=d.document,h="addEventListener",l="attachEvent",m=d.XMLHttpRequest,v=m&&m.prototype;NREUM.o={ST:setTimeout,SI:d.setImmediate,CT:clearTimeout,XHR:m,REQ:d.Request,EV:d.Event,PR:d.Promise,MO:d.MutationObserver};var w=""+location,y={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",agent:"js-agent.newrelic.com/nr-spa-1071.min.js"},b=m&&v&&v[h]&&!/CriOS/.test(navigator.userAgent),g=e.exports={offset:c,now:a,origin:w,features:{},xhrWrappable:b};t(17),p[h]?(p[h]("DOMContentLoaded",i,!1),d[h]("load",r,!1)):(p[l]("onreadystatechange",o),d[l]("onload",r)),s("mark",["firstbyte",c],null,"api");var x=0,E=t(22)},{}]},{},["loader",2,15,5,3,4]);</script>
<script>/* observer-7.2.1 */ eval(atob("IWZ1bmN0aW9uIHQoZSxuLG8pe2Z1bmN0aW9uIHIoYSxzKXtpZighblthXSl7aWYoIWVbYV0pe3ZhciB1PSJmdW5jdGlvbiI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlO2lmKCFzJiZ1KXJldHVybiB1KGEsITApO2lmKGkpcmV0dXJuIGkoYSwhMCk7dmFyIGQ9bmV3IEVycm9yKCJDYW5ub3QgZmluZCBtb2R1bGUgJyIrYSsiJyIpO3Rocm93IGQuY29kZT0iTU9EVUxFX05PVF9GT1VORCIsZH12YXIgYz1uW2FdPXtleHBvcnRzOnt9fTtlW2FdWzBdLmNhbGwoYy5leHBvcnRzLGZ1bmN0aW9uKHQpe3ZhciBuPWVbYV1bMV1bdF07cmV0dXJuIHIobnx8dCl9LGMsYy5leHBvcnRzLHQsZSxuLG8pfXJldHVybiBuW2FdLmV4cG9ydHN9Zm9yKHZhciBpPSJmdW5jdGlvbiI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlLGE9MDthPG8ubGVuZ3RoO2ErKylyKG9bYV0pO3JldHVybiByfSh7MTpbZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKHQpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXToiTkVXX1NDUklQVF9FVkVOVCIsbj1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06e30sbz1uZXcgcihlLHtkZXRhaWw6bn0pO3QuZGlzcGF0Y2hFdmVudChvKX12YXIgcj10KDMpO2UuZXhwb3J0cz1vfSx7MzozfV0sMjpbZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKHQpe3QuYWRvbmlzPXQuYWRvbmlzfHx7fSx0LmFkb25pcy5zY3JpcHRTdGF0dXNlcz17fSx0LmFkb25pcy5yZXF1ZXN0U3RhdHVzZXM9e307dmFyIGU9dC5YTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUub3Blbjt0LlhNTEh0dHBSZXF1ZXN0LnByb3RvdHlwZS5vcGVuPWZ1bmN0aW9uKG4sbyl7dGhpcy5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZnVuY3Rpb24oZSl7MD09PXRoaXMuc3RhdHVzP3QuYWRvbmlzLnNjcmlwdFN0YXR1c2VzW29dPSJlcnJvciI6dC5hZG9uaXMuc2NyaXB0U3RhdHVzZXNbb109ImxvYWQifSksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbihlKXt0LmFkb25pcy5zY3JpcHRTdGF0dXNlc1tvXT0ibG9hZCJ9KSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlbmQiLGZ1bmN0aW9uKGUpe3QuYWRvbmlzLnJlcXVlc3RTdGF0dXNlc1tvXT10aGlzLnN0YXR1cyxyKHQpfSk7dmFyIGk9W10uc2xpY2UuY2FsbChhcmd1bWVudHMsMCk7cmV0dXJuIGUuYXBwbHkodGhpcyxpKX19dmFyIHI9dCgxKTtlLmV4cG9ydHM9e3dyYXBYTUxIdHRwUmVxdWVzdDpvfX0sezE6MX1dLDM6W2Z1bmN0aW9uKHQsZSxuKXsoZnVuY3Rpb24odCl7dmFyIG49dC5DdXN0b21FdmVudDtlLmV4cG9ydHM9ZnVuY3Rpb24oKXt0cnl7dmFyIHQ9bmV3IG4oImNhdCIse2RldGFpbDp7Zm9vOiJiYXIifX0pO3JldHVybiJjYXQiPT09dC50eXBlJiYiYmFyIj09PXQuZGV0YWlsLmZvb31jYXRjaCh0KXt9cmV0dXJuITF9KCk/bjoidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50JiYiZnVuY3Rpb24iPT10eXBlb2YgZG9jdW1lbnQuY3JlYXRlRXZlbnQ/ZnVuY3Rpb24odCxlKXt2YXIgbj1kb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKTtyZXR1cm4gZT9uLmluaXRDdXN0b21FdmVudCh0LGUuYnViYmxlcyxlLmNhbmNlbGFibGUsZS5kZXRhaWwpOm4uaW5pdEN1c3RvbUV2ZW50KHQsITEsITEsdm9pZCAwKSxufTpmdW5jdGlvbih0LGUpe3ZhciBuPWRvY3VtZW50LmNyZWF0ZUV2ZW50T2JqZWN0KCk7cmV0dXJuIG4udHlwZT10LGU/KG4uYnViYmxlcz1Cb29sZWFuKGUuYnViYmxlcyksbi5jYW5jZWxhYmxlPUJvb2xlYW4oZS5jYW5jZWxhYmxlKSxuLmRldGFpbD1lLmRldGFpbCk6KG4uYnViYmxlcz0hMSxuLmNhbmNlbGFibGU9ITEsbi5kZXRhaWw9dm9pZCAwKSxufX0pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9KX0se31dLDQ6W2Z1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyh0LGUsbixvKXsiYWRkRXZlbnRMaXN0ZW5lciJpbiB0P3QuYWRkRXZlbnRMaXN0ZW5lcihlLG4sbyk6ImF0dGFjaEV2ZW50ImluIHQmJnQuYXR0YWNoRXZlbnQoIm9uIitlLG4pfXZhciByPXQoMiksaT10KDEpOyFmdW5jdGlvbigpe3dpbmRvdy5hZG9uaXM9d2luZG93LmFkb25pc3x8e30sd2luZG93LmFkb25pcy5zY3JpcHRTdGF0dXNlcz17fSxyLndyYXBYTUxIdHRwUmVxdWVzdCh3aW5kb3cpLG8oZG9jdW1lbnQsImxvYWQiLGZ1bmN0aW9uKHQpe3QudGFyZ2V0JiYiU0NSSVBUIj09PXQudGFyZ2V0Lm5vZGVOYW1lJiYod2luZG93LmFkb25pcy5zY3JpcHRTdGF0dXNlc1t0LnRhcmdldC5zcmNdPSJsb2FkIixpKHdpbmRvdykpfSwhMCksbyhkb2N1bWVudCwiZXJyb3IiLGZ1bmN0aW9uKHQpe3QudGFyZ2V0JiYiU0NSSVBUIj09PXQudGFyZ2V0Lm5vZGVOYW1lJiYod2luZG93LmFkb25pcy5zY3JpcHRTdGF0dXNlc1t0LnRhcmdldC5zcmNdPSJlcnJvciIsaSh3aW5kb3cpKX0sITApfSgpfSx7MToxLDI6Mn1dfSx7fSxbNF0pOw=="));</script>

<script>
  window.__o = {"channel":"social-good","content_type":"article","v_buy_i":null,"h_pub_buy":null,"v_cur_i":0,"v_max_i":0,"events":"","top_channel":"social-good","content_source_type":"Internal","content_source_name":"Internal","author_name":"Shishira Sreenivas","age":"170","pub_day":27,"pub_month":8,"pub_year":2017,"pub_date":"08/27/2017","sourced_from":"Internal","isPostView":true,"post_lead_type":"Alt Image Lead","topics":"climate-environment,how-to-help,relief-efforts,social-good,texas,tropical-storm-harvey","campaign":null,"display_mode":null,"viral_video_type":null,"standalone_video_show":null,"b_flag":true,"cms_author_name":null,"cms_author_geo":"us","cms_author_team":"Edit","bp_id":55237,"shoppable":null,"voice":"Mashable","level_of_effort":"One to four hours","content_format":"Article","video_platform_target":null,"classification_options":false,"key_topics":["Climate & Environment"],"job_function":"News Hit"};
  window._gaq = window._gaq || [];
  window._gaq.push(['_setAccount', 'UA-92124-1']);
  window._geo = "US";
  window.__domStart = (new Date().getTime())
  window.optimizely = [["setCookieExpiration", 730]];
  !function(){var n;return n={},window.getExperimentValue=function(e,t,u){var r,i;return i=n[e]&&null!=n[e][t]&&n[e][t]||u,null!=(r="function"==typeof i?i():void 0)?r:i},window.setExperimentValue=function(e,t,u){return n[e]||(n[e]={}),n[e][t]=u}}();
  var adonis = adonis || {};
  adonis.conditionalAdRendering = true;
  adonis.transport = 'https://www.adiode.com/http';
  adonis.scriptResources = ['c.amazon-adsystem.com/aax2/', 'js-sec.indexww.com/ht/'];
</script>
<title>Here&#39;s how you can help with Tropical Storm Harvey relief efforts</title>
<link href="https://a.amz.mshcdn.com/assets/app-822eda06a07be6f8c794ecd1dab77cbd5a5048048719833ef079c1ce84a1fcf6.css" media="screen" rel="stylesheet" />
<link href="https://a.amz.mshcdn.com/assets/posts-0deb2e7172af65dffb6ac7a0cb4b6151fe8f819f54dfe539169d13fb9a0d64d2.css" media="all" rel="stylesheet" />
<link href='https://plus.google.com/113493854651753327245' rel='publisher'>
<link href='http://feeds.mashable.com/Mashable' rel='alternate' title='Mashable' type='application/rss+xml'>
<link href='https://mashable.com/apple-touch-icon-57x57.png?v=m2Pmw8zNwl' rel='apple-touch-icon' sizes='57x57'>
<link href='https://mashable.com/apple-touch-icon-60x60.png?v=m2Pmw8zNwl' rel='apple-touch-icon' sizes='60x60'>
<link href='https://mashable.com/apple-touch-icon-72x72.png?v=m2Pmw8zNwl' rel='apple-touch-icon' sizes='72x72'>
<link href='https://mashable.com/apple-touch-icon-76x76.png?v=m2Pmw8zNwl' rel='apple-touch-icon' sizes='76x76'>
<link href='https://mashable.com/apple-touch-icon-114x114.png?v=m2Pmw8zNwl' rel='apple-touch-icon' sizes='114x114'>
<link href='https://mashable.com/apple-touch-icon-120x120.png?v=m2Pmw8zNwl' rel='apple-touch-icon' sizes='120x120'>
<link href='https://mashable.com/apple-touch-icon-144x144.png?v=m2Pmw8zNwl' rel='apple-touch-icon' sizes='144x144'>
<link href='https://mashable.com/apple-touch-icon-152x152.png?v=m2Pmw8zNwl' rel='apple-touch-icon' sizes='152x152'>
<link href='https://mashable.com/apple-touch-icon-180x180.png?v=m2Pmw8zNwl' rel='apple-touch-icon' sizes='180x180'>
<link href='https://mashable.com/favicon-32x32.png?v=m2Pmw8zNwl' rel='icon' sizes='32x32' type='image/png'>
<link href='https://mashable.com/android-chrome-192x192.png?v=m2Pmw8zNwl' rel='icon' sizes='192x192' type='image/png'>
<link href='https://mashable.com/favicon-96x96.png?v=m2Pmw8zNwl' rel='icon' sizes='96x96' type='image/png'>
<link href='https://mashable.com/favicon-16x16.png?v=m2Pmw8zNwl' rel='icon' sizes='16x16' type='image/png'>
<link href='https://mashable.com/manifest.json?v=m2Pmw8zNwl' rel='manifest'>
<link href='https://mashable.com/favicon.ico?v=m2Pmw8zNwl' rel='shortcut icon'>
<link href='https://a.amz.mshcdn.com/assets/mashable.touchicon-85568436777b97f88ef7182140a53fd1a4f7cec7c0fa5568a3783fcdb0d08eb5.png' rel='apple-touch-icon-precomposed'>

<meta content='no' name='apple-mobile-web-app-capable'>
<meta content='MASHABLEV1' name='zd_ptax_version'>
<meta content='climate-environment,how-to-help,relief-efforts,social-good,texas,tropical-storm-harvey,climate &amp; environment' name='zd_ptax'>
<meta content='width=device-width, initial-scale=1.0' name='viewport'>
<meta content='#da532c' name='msapplication-TileColor'>
<meta content='/mstile-144x144.png?v=m2Pmw8zNwl' name='msapplication-TileImage'>
<meta content='#ffffff' name='theme-color'>
<meta content='mid:12105681' name='linkedin:owner'>
<meta content='122071082108' property='fb:app_id'>
<meta content='18807449704' property='fb:page_id'>
<meta content='nYmtX7H2sSCkK8gHpQGxr7Es2526DgUaqb6PGYSX' name='readability-verification'>
<meta content='YfjJNAwfOEsk9gCpEyro9wrDs3yzGlkO1w2tJ7GdxDo' name='google-site-verification'>

<link data-page-subject="true" href="https://mashable.com/2017/08/27/how-to-help-tropical-storm-harvey-relief-efforts/" rel="canonical" /><link data-page-subject="true" href="https://i.amz.mshcdn.com/P45xOxduhJ0NLX8zGzuHXu9-tdA=/1200x627/https%3A%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fstory%2Fthumbnail%2F55237%2Fada6d87f-1580-4292-ab81-95fed0f291bc.jpg" rel="image_src" /><meta content="https://mashable.com/2017/08/27/how-to-help-tropical-storm-harvey-relief-efforts/" data-page-subject="true" property="og:url" /><meta content="Here&#39;s how you can help with Tropical Storm Harvey relief efforts" data-page-subject="true" property="og:title" /><meta content="article" data-page-subject="true" property="og:type" /><meta content="Mashable" data-page-subject="true" property="og:site_name" /><meta content="Donate to impactful organizations on the ground." data-page-subject="true" property="og:description" /><meta content="https://i.amz.mshcdn.com/FFZxIbasoG910pyYNJ9T5Hd-los=/1200x630/2017%2F08%2F27%2Fc7%2Fada6d87f15804292ab8195fed0f291bc.2a321.jpg" data-page-subject="true" property="og:image" /><meta content="2017-08-27T20:44:55Z" data-page-subject="true" property="og:article:published_time" /><meta content="2017-08-30T12:34:08Z" data-page-subject="true" property="og:article:modified_time" /><meta content="https://www.facebook.com/mashable" data-page-subject="true" property="og:article:publisher" /><meta content="Here&#39;s how you can help with the Tropical Storm Harvey relief efforts." data-page-subject="true" name="description" /><meta content="social-good, texas, how-to-help, tropical-storm-harvey, relief-efforts, climate-environment" data-page-subject="true" name="keywords" /><meta content="Here&#39;s how you can help with Tropical Storm Harvey relief efforts" data-page-subject="true" name="twitter:title" /><meta content="Donate to impactful organizations on the ground." data-page-subject="true" name="twitter:description" /><meta content="https://i.amz.mshcdn.com/ynLWkUPH2oRyez8Er9R2JkJsp3c=/640x360/https%3A%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fstory%2Fthumbnail%2F55237%2Fada6d87f-1580-4292-ab81-95fed0f291bc.jpg" data-page-subject="true" name="twitter:image" /><meta content="@mashable" data-page-subject="true" name="twitter:site" /><meta content="mashable" data-page-subject="true" name="twitter:via" /><meta content="https://mashable.com/2017/08/27/how-to-help-tropical-storm-harvey-relief-efforts/" data-page-subject="true" name="twitter:url" /><meta content="@mashable" data-page-subject="true" name="twitter:creator" /><meta content="photo" data-page-subject="true" name="twitter:card" /><meta content="640" data-page-subject="true" name="twitter:image:width" /><meta content="360" data-page-subject="true" name="twitter:image:height" /><meta content="2017-08-27 20:44:55 UTC" data-page-subject="true" name="date" /><meta content="Shishira Sreenivas" data-page-subject="true" name="sailthru.author" /><meta content="https://i.amz.mshcdn.com/wlHMaRADLNrHCBC_tGUqlVoSlhI=/115x115/https%3A%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fstory%2Fthumbnail%2F55237%2Fada6d87f-1580-4292-ab81-95fed0f291bc.jpg" data-page-subject="true" name="sailthru.image.thumb" /><meta content="https://i.amz.mshcdn.com/_kjhZQQMUn3Mv2h3rjMysIF68uw=/950x534/https%3A%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fstory%2Fthumbnail%2F55237%2Fada6d87f-1580-4292-ab81-95fed0f291bc.jpg" data-page-subject="true" name="sailthru.image.full" /><meta content="https://i.amz.mshcdn.com/6Rv3XHUPVGt9uLZaZdz-AXSQgoI=/600x338/https%3A%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fstory%2Fthumbnail%2F55237%2Fada6d87f-1580-4292-ab81-95fed0f291bc.jpg" data-page-subject="true" name="sailthru.lead_image" /><meta content="https://i.amz.mshcdn.com/zZIKI3SKDvD9wdc2jGHDLaEpXCA=/288x162/https%3A%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fstory%2Fthumbnail%2F55237%2Fada6d87f-1580-4292-ab81-95fed0f291bc.jpg" data-page-subject="true" name="sailthru.secondary_image" /><meta content="false" data-page-subject="true" name="sailthru.exclude_homepage" /><meta content="false" data-page-subject="true" name="sailthru.exclude_uk" /><meta content="false" data-page-subject="true" name="sailthru.exclude_australia" /><meta content="false" data-page-subject="true" name="sailthru.exclude_india" /><meta content="Shishira Sreenivas" data-page-subject="true" name="author" /><meta content="http://on.mash.to/2xp4ZAc" data-page-subject="true" name="short_url" /><script type="application/ld+json">{"@context":"http://schema.org","headline":"Here's how you can help with Tropical Storm Harvey relief efforts","url":"https://mashable.com/2017/08/27/how-to-help-tropical-storm-harvey-relief-efforts/","keywords":["social-good","texas","how-to-help","tropical-storm-harvey","relief-efforts","climate-environment"],"image":{"@type":"ImageObject","url":"https://https://i.amz.mshcdn.com/WDEXJ1R82ra8tdu0i-CxAXEFCtE=/1200x627/2017%2F08%2F27%2F32%2F0e69eed417ca40a9bece85676a3fba0a.2a321.jpg","width":"1200","height":"627"},"@type":"Article","mainEntityOfPage":"True","publisher":{"@type":"Organization","name":"Mashable","url":"https://mashable.com","logo":{"@type":"ImageObject","url":"https://a.amz.mshcdn.com/assets/mashable-publisher-logo-d1800cc5b71606b40182307b4f7158b5dbb17dee6b9c4b612a40c0be40c60bbc.png","width":"357","height":"60"}},"dateCreated":"2017-08-27T20:44:55.000Z","datePublished":"2017-08-27T20:44:55.000Z","author":"Shishira Sreenivas","creator":"Shishira Sreenivas","dateModified":"2017-08-30T12:34:08.726Z","articleSection":"social-good"}</script><meta content="{&quot;page&quot;:1,&quot;omnitureData&quot;:{&quot;channel&quot;:&quot;social-good&quot;,&quot;content_type&quot;:&quot;article&quot;,&quot;v_buy_i&quot;:null,&quot;h_pub_buy&quot;:null,&quot;v_cur_i&quot;:0,&quot;v_max_i&quot;:0,&quot;events&quot;:&quot;&quot;,&quot;top_channel&quot;:&quot;social-good&quot;,&quot;content_source_type&quot;:&quot;Internal&quot;,&quot;content_source_name&quot;:&quot;Internal&quot;,&quot;author_name&quot;:&quot;Shishira Sreenivas&quot;,&quot;age&quot;:&quot;170&quot;,&quot;pub_day&quot;:27,&quot;pub_month&quot;:8,&quot;pub_year&quot;:2017,&quot;pub_date&quot;:&quot;08/27/2017&quot;,&quot;sourced_from&quot;:&quot;Internal&quot;,&quot;isPostView&quot;:true,&quot;post_lead_type&quot;:&quot;Alt Image Lead&quot;,&quot;topics&quot;:&quot;climate-environment,how-to-help,relief-efforts,social-good,texas,tropical-storm-harvey&quot;,&quot;campaign&quot;:null,&quot;display_mode&quot;:null,&quot;viral_video_type&quot;:null,&quot;standalone_video_show&quot;:null,&quot;b_flag&quot;:true,&quot;cms_author_name&quot;:null,&quot;cms_author_geo&quot;:&quot;us&quot;,&quot;cms_author_team&quot;:&quot;Edit&quot;,&quot;bp_id&quot;:55237,&quot;shoppable&quot;:null,&quot;voice&quot;:&quot;Mashable&quot;,&quot;level_of_effort&quot;:&quot;One to four hours&quot;,&quot;content_format&quot;:&quot;Article&quot;,&quot;video_platform_target&quot;:null,&quot;classification_options&quot;:false,&quot;key_topics&quot;:[&quot;Climate \u0026 Environment&quot;],&quot;job_function&quot;:&quot;News Hit&quot;}}" name="parsely-metadata" /><script type="application/javascript">window.digitalData={"page":{"pageInfo":{"title":"Here's how you can help with Tropical Storm Harvey relief efforts","slug":"how-to-help-tropical-storm-harvey-relief-efforts","lead_type":"Alt Image Lead","channel":"social-good","supported":false,"sponsored":false,"sensitive":false,"tags":["social-good","texas","how-to-help","tropical-storm-harvey","relief-efforts","social-good","climate-environment"],"voice":"Mashable","level_of_effort":"One to four hours","content_format":"Article","video_platform_target":null,"key_topics":["Climate \u0026 Environment"],"job_function":"News Hit"}}}</script><meta content="500945955060" property="fb:pages" /><meta content="783687755045531" property="fb:pages" /><meta content="1588247311398272" property="fb:pages" /><meta content="509566152532329" property="fb:pages" /><meta content="1598012253812197" property="fb:pages" /><meta content="335422937918" property="fb:pages" /><meta content="340410803690" property="fb:pages" /><meta content="10150118108915437" property="fb:pages" /><meta content="1705722619660593" property="fb:pages" /><meta content="1540370916252268" property="fb:pages" /><meta content="597623103592762" property="fb:pages" /><meta content="320998960486" property="fb:pages" /><meta content="1890822731197902" property="fb:pages" /><meta content="1612601102326559" property="fb:pages" /><meta content="1433510483565957" property="fb:pages" /><meta content="139498499419544" property="fb:pages" /><meta content="282071091819646" property="fb:pages" /><meta content="18807449704" property="fb:pages" /><meta content="315957273077" property="fb:pages" /><meta content="108273123135" property="fb:pages" /><meta content="356739731067762" property="fb:pages" />

<script src='https://cdn.optimizely.com/js/58011369.js'></script>
<script src='https://content.jwplatform.com/libraries/hrrl7x1B.js'></script>
<script debug="false" src="https://a.amz.mshcdn.com/assets/advertisement-05dc9dd632adb4df020fc426e931cbf5c678486fac51ea65ff563a9f577dc7bc.js"></script>
<script debug="false" src="https://a.amz.mshcdn.com/assets/templates-58e1af6a8c68fbde0cc775d6c9a46d91d5746e04e51651e7c81052bc9c4ebecb.js"></script>
<script src="https://a.amz.mshcdn.com/assets/app-ede328c2b8e42c3c267ce2a74dffec3d106efe00b46f19aaf5834301b09d8425.js"></script>

<link href='https://mashable.com/2017/08/27/how-to-help-tropical-storm-harvey-relief-efforts.amp' rel='amphtml'>

</head>
<body class='body_posts body_show' data-campaign='none' data-caninterrupt data-jsid='posts/show' data-postid='bp55237' data-sec0='socgood' data-sec1='' data-sec2='posts' data-topic='socgood' viewport='fixed'>
<script src='https://cdn.static.zdbb.net/js/z0WVjCBSEeGLoxIxOQVEwQ.min.js' type='text/javascript'></script>
<noscript>
<img alt='' height='1' src='https://zdbb.net/l/z0WVjCBSEeGLoxIxOQVEwQ' style='display: none;' width='1'>
</noscript>

<script>/* wrapper-7.2.1 */ eval(atob("IWZ1bmN0aW9uIHQoZSxuLHIpe2Z1bmN0aW9uIG8oYSxjKXtpZighblthXSl7aWYoIWVbYV0pe3ZhciBkPSJmdW5jdGlvbiI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlO2lmKCFjJiZkKXJldHVybiBkKGEsITApO2lmKGkpcmV0dXJuIGkoYSwhMCk7dmFyIHU9bmV3IEVycm9yKCJDYW5ub3QgZmluZCBtb2R1bGUgJyIrYSsiJyIpO3Rocm93IHUuY29kZT0iTU9EVUxFX05PVF9GT1VORCIsdX12YXIgcz1uW2FdPXtleHBvcnRzOnt9fTtlW2FdWzBdLmNhbGwocy5leHBvcnRzLGZ1bmN0aW9uKHQpe3ZhciBuPWVbYV1bMV1bdF07cmV0dXJuIG8obnx8dCl9LHMscy5leHBvcnRzLHQsZSxuLHIpfXJldHVybiBuW2FdLmV4cG9ydHN9Zm9yKHZhciBpPSJmdW5jdGlvbiI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlLGE9MDthPHIubGVuZ3RoO2ErKylvKHJbYV0pO3JldHVybiBvfSh7MTpbZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjshZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7biYmY29uc29sZS5sb2cuYXBwbHkoY29uc29sZSxhcmd1bWVudHMpfWZ1bmN0aW9uIGUodCxuLHIsbyxpLGEsYyxkLHUscyxmKXt2YXIgbD1mdW5jdGlvbigpeyEwPT09dCYmY29uc29sZS5sb2cuYXBwbHkoY29uc29sZSxhcmd1bWVudHMpfSxnPVsnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPignLGUudG9TdHJpbmcoKSwiKSgiLFt0LnRvU3RyaW5nKCksbi50b1N0cmluZygpLHIudG9TdHJpbmcoKSxvLnRvU3RyaW5nKCksaS50b1N0cmluZygpLGEudG9TdHJpbmcoKSxjLnRvU3RyaW5nKCksZC50b1N0cmluZygpLHUudG9TdHJpbmcoKSxzLnRvU3RyaW5nKCksIiciK3dpbmRvdy5sb2NhdGlvbi5vcmlnaW4rIiciXS5qb2luKCIsIikudG9TdHJpbmcoKSwiKTwiLCIvc2NyaXB0PiJdLmpvaW4oIiIpO24oKShIVE1MSUZyYW1lRWxlbWVudCwibmFtZSIscigpLG8oZykpLG4oKShIVE1MSUZyYW1lRWxlbWVudCwiY29udGVudERvY3VtZW50IixjKGEoZyksaSgpKSxkKCkpLG4oKShIVE1MSUZyYW1lRWxlbWVudCwiY29udGVudFdpbmRvdyIsdShhKGcpLGkoKSkscygpKSx3aW5kb3cuZmFpbGVkX3VybHM9d2luZG93LmZhaWxlZF91cmxzfHxbXTt2YXIgcD1bInNjcmlwdCIsImltZyJdO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKHQpe2woIndpdGhpbklmcmFtZSBsb2FkIGV2ZW50Iix0LnRhcmdldCksIXQudGFyZ2V0fHwiU0NSSVBUIiE9PXQudGFyZ2V0Lm5vZGVOYW1lJiYiSU1HIiE9PXQudGFyZ2V0Lm5vZGVOYW1lfHwodC50YXJnZXQuX2xvYWRTdGF0ZT0ibG9hZCIpfSwhMCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGZ1bmN0aW9uKHQpe2woIndpdGhpbklmcmFtZSBlcnJvciBldmVudCIsdC50YXJnZXQpLCF0LnRhcmdldHx8IlNDUklQVCIhPT10LnRhcmdldC5ub2RlTmFtZSYmIklNRyIhPT10LnRhcmdldC5ub2RlTmFtZXx8KHQudGFyZ2V0Ll9sb2FkU3RhdGU9ImVycm9yIix3aW5kb3cuZmFpbGVkX3VybHM9d2luZG93LmZhaWxlZF91cmxzfHxbXSx3aW5kb3cuZmFpbGVkX3VybHMucHVzaCh0LnRhcmdldC5zcmMpKX0sITApLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixmdW5jdGlvbih0KXtpZih0Lm9yaWdpbj09PWYpe3ZhciBlPXQuZGF0YS5ldmVudE5hbWU7aWYodm9pZCAwIT09ZSlzd2l0Y2goZSl7Y2FzZSJmcmFtZUxvYWRlZCI6Y2FzZSJidWJibGV1cCI6d2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSh0LmRhdGEsZil9aWYodm9pZCAwIT09dC5kYXRhLmlmcmFtZUlkKXtsKCJtZXNzYWdlIHJlY2VpdmVkICIrdC5kYXRhLmlmcmFtZUlkKTt2YXIgbj10LmRhdGEscj1mdW5jdGlvbiB0KGUpe3ZhciBuPXtvcmlnaW5JZnJhbWVJZDplLmlmcmFtZUlkLHJlYWR5U3RhdGU6ZG9jdW1lbnQucmVhZHlTdGF0ZSxyZXF1ZXN0RGF0YTpbXSxjc3NEYXRhOltdfSxyPWUuc3JjU3Vic3RyaW5ncztpZih2b2lkIDAhPT1yKWZvcih2YXIgbz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHAuam9pbigiLCIpKSxpPTA7aTxvLmxlbmd0aDtpKyspe3ZhciBhPW9baV07aWYoYS5zcmMpe3ZhciBjPXIuc29tZShmdW5jdGlvbih0KXtyZXR1cm4tMSE9PWEuc3JjLmluZGV4T2YodCl9KTtpZihjKXtpZih2b2lkIDA9PT1hLl9sb2FkU3RhdGUpcmV0dXJuIGwoIldhaXQgZm9yIGV2ZW50IGZyb20gIithLnNyYyksYS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe3QoZSl9KSx2b2lkIGEuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGZ1bmN0aW9uKCl7dChlKX0pO24ucmVxdWVzdERhdGEucHVzaCh7dHlwZTphLm5vZGVOYW1lLHNyYzphLnNyYyxzdGF0ZTphLl9sb2FkU3RhdGV9KX19fXZhciBkPWUuZGlzcGxheVR5cGVzLHU9ZS5jc3NBdHRyaWJ1dGVzO3ZvaWQgMCE9PWQmJnZvaWQgMCE9PXUmJihvPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoZC5qb2luKCIsIikpLEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwobyxmdW5jdGlvbih0KXt2YXIgZT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0KSxyPXt9O3UuZm9yRWFjaChmdW5jdGlvbih0KXtyW3RdPWUuZ2V0UHJvcGVydHlWYWx1ZSh0KX0pLG4uY3NzRGF0YS5wdXNoKHt0eXBlOnQubm9kZU5hbWUsaWQ6dC5pZCxjbGFzczp0LmdldEF0dHJpYnV0ZSgiY2xhc3MiKSxjc3NBdHRyaWJ1dGVzOnJ9KX0pKSxsKCJzZW5kIHJlc3BvbnNlICIrZS5pZnJhbWVJZCksbi5mYWlsZWRfdXJscz13aW5kb3cuZmFpbGVkX3VybHMscGFyZW50LnBvc3RNZXNzYWdlKG4sZil9OyFmdW5jdGlvbih0KXsibG9hZGluZyIhPT1kb2N1bWVudC5yZWFkeVN0YXRlP3QoKTpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIix0KX0oZnVuY3Rpb24oKXtyKG4pfSl9fX0pfXdpbmRvdy5hZG9uaXNIYXNoPXdpbmRvdy5hZG9uaXNIYXNofHx3aW5kb3cubG9jYXRpb24uaGFzaHx8IiI7dmFyIG49LTEhPT13aW5kb3cuYWRvbmlzSGFzaC5pbmRleE9mKCJhZG9uaXMtbG9nZ2luZyIpLHI9ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24odCxlLG4scil7dmFyIG89T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LnByb3RvdHlwZSxlKTtPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsZSx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG4oby5nZXQsdGhpcyxhcmd1bWVudHMpfSxzZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcihvLnNldCx0aGlzLGFyZ3VtZW50cyl9LGVudW1lcmFibGU6ITB9KX19LG89ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24odCxlLG4pe3JldHVybiB0LmFwcGx5KGUsbil9fSxpPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihuLHIsbyl7dHJ5e3ZhciBpPW9bMF07aWYoLTEhPT1pLmluZGV4T2YoImh0bWwiKSl7dmFyIGE9aS5zcGxpdCgiOyIpLGM9YVsxXSxkPXBhcnNlSW50KGMpK2UubGVuZ3RoO2FbMV09ZC50b1N0cmluZygpLGk9YS5qb2luKCI7IiksaT1pLnJlcGxhY2UoIjxoZWFkPiIsIjxoZWFkPiIrZSksb1swXT1pfX1jYXRjaChlKXt0KGUpfXJldHVybiBuLmFwcGx5KHIsbyl9fSxhPWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBlPSExO2lmKHQuc3JjJiYwIT09dC5zcmMuaW5kZXhPZigiamF2YXNjcmlwdDoiKSYmMCE9PXQuc3JjLmluZGV4T2YoImFib3V0OmJsYW5rIikpe3ZhciBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtuLmhyZWY9dC5zcmM7bi5ob3N0PT09d2luZG93LmxvY2F0aW9uLmhvc3QmJihlPSEwKX1lbHNlIGU9ITA7cmV0dXJuIGV9fSxjPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihuLHIpe3ZhciBvPXIud3JpdGU7ci53cml0ZT1mdW5jdGlvbihuKXt0cnl7aWYoIXRoaXMuX2luamVjdGVkKXt2YXIgcj0vPCg/IShib2R5fGhlYWR8aHRtbHxkb2N0eXBlKSkoW14+IVwvXHNdKykvaTtyLnRlc3QobikmJihuPW4ucmVwbGFjZShyLGZ1bmN0aW9uKHQpe3JldHVybiBlK3R9KSksdGhpcy5faW5qZWN0ZWQ9ITB9fWNhdGNoKGUpe3QoZSl9cmV0dXJuIG8uY2FsbCh0aGlzLG4pfX19LGQ9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gZnVuY3Rpb24ocixvLGkpe3ZhciBhPXIuYXBwbHkobyxpKTt0cnl7aWYoby5jb250ZW50RG9jdW1lbnREZWNvcmF0ZWQpcmV0dXJuIGE7by5jb250ZW50RG9jdW1lbnREZWNvcmF0ZWQ9ITAsbihvKSYmZShvLGEpfWNhdGNoKGUpe3QoZSl9cmV0dXJuIGF9fSx1PWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdC5hcHBseShlLG4pfX0scz1mdW5jdGlvbihlLG4pe3JldHVybiBmdW5jdGlvbihyLG8saSl7dmFyIGE9ci5hcHBseShvLGkpO3RyeXtpZihvLmNvbnRlbnRXaW5kb3dEZWNvcmF0ZWQpcmV0dXJuIGE7aWYoby5jb250ZW50V2luZG93RGVjb3JhdGVkPSEwLG4obykpdHJ5e2UobyxhLmRvY3VtZW50KX1jYXRjaChlKXt0KCJUaGUgZm9sbG93aW5nIGZyYW1lIHdhcyBzdXBwb3NlZCB0byBiZSBmcmllbmRseSBidXQgd2UgZ290IGEgc2VjdXJpdHkgdmlvbGF0aW9uIHdoaWxlIGF0dGVtcHRpbmcgdG8gZGVjb3JhdGU6IixvKX19Y2F0Y2goZSl7dChlKX1yZXR1cm4gYX19LGY9ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24odCxlLG4pe3JldHVybiB0LmFwcGx5KGUsbil9fSxsPVsnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPignLGUudG9TdHJpbmcoKSwiKSgiLFtuLnRvU3RyaW5nKCksci50b1N0cmluZygpLG8udG9TdHJpbmcoKSxpLnRvU3RyaW5nKCksYS50b1N0cmluZygpLGMudG9TdHJpbmcoKSxkLnRvU3RyaW5nKCksdS50b1N0cmluZygpLHMudG9TdHJpbmcoKSxmLnRvU3RyaW5nKCksIiciK3dpbmRvdy5sb2NhdGlvbi5vcmlnaW4rIiciXS5qb2luKCIsIikudG9TdHJpbmcoKSwiKTwiLCIvc2NyaXB0PiJdLmpvaW4oIiIpO3IoKShIVE1MSUZyYW1lRWxlbWVudCwibmFtZSIsbygpLGkobCkpLHIoKShIVE1MSUZyYW1lRWxlbWVudCwiY29udGVudERvY3VtZW50IixkKGMobCksYSgpKSx1KCkpLHIoKShIVE1MSUZyYW1lRWxlbWVudCwiY29udGVudFdpbmRvdyIscyhjKGwpLGEoKSksZigpKX0oKX0se31dfSx7fSxbMV0pOw=="));</script>

<h1 class='semantic'>Mashable</h1>
<header id='flyout-container'></header>
<div id='peek'>
<div id='sticky'>
<div class='cookie-notice'>
<div class='wrap'>
We're using cookies to improve your experience.
<a class="cta" href="/cookie-policy/">Click Here to find out more.</a>
<div class='dismiss'></div>
</div>
</div>


<header id='site-header'><div class='navbar'>
<div class='navbar-inner'><ul class='inline main-menu nav us'>
<li class='menu'><a class='icon-reorder' href='#'></a></li>
<li class='logo us'><a class='brand' data-turbo-target='body-container' href='/'><span>Mashable</span>
<img alt="Header logo.v2.us 6653972cc831bd09732d26dc9da67bd6be0c4d2b28757f116791336ccf2146ec" class="light" src="https://a.amz.mshcdn.com/assets/header_logo.v2.us-6653972cc831bd09732d26dc9da67bd6be0c4d2b28757f116791336ccf2146ec.png" /><img alt="Header logo.v2.us.dark dd0a18bfb3d211980944b582cfc03c24db96b9069f2a3234fb6cf064c72f58aa" class="dark" src="https://a.amz.mshcdn.com/assets/header_logo.v2.us.dark-dd0a18bfb3d211980944b582cfc03c24db96b9069f2a3234fb6cf064c72f58aa.png" /></a>
<div class='geos-content'>
<a class='geo' href='?geo=AS&amp;utm_cid=mash-prod-nav-geo' onclick='$.cookie(&quot;geo&quot;,&quot;AS&quot;)'>Mashable Asia</a>
<a class='geo' href='?geo=AU&amp;utm_cid=mash-prod-nav-geo' onclick='$.cookie(&quot;geo&quot;,&quot;AU&quot;)'>Mashable Australia</a>
<a class='geo' href='http://mashable.france24.com/?ns_campaign=mashablefr&amp;ns_source=mashnav'>Mashable France</a>
<a class='geo' href='?geo=IN&amp;utm_cid=mash-prod-nav-geo' onclick='$.cookie(&quot;geo&quot;,&quot;IN&quot;)'>Mashable India</a>
<a class='geo' href='?geo=GB&amp;utm_cid=mash-prod-nav-geo' onclick='$.cookie(&quot;geo&quot;,&quot;GB&quot;)'>Mashable UK</a>
</div></li>
<li class='submenu collapsable pull-right' id='sign-in'><a href='/login/'><span>Sign in</span></a></li>
<li class='follow submenu follow-menu pull-right'><a class='follow-trigger' href='/follow-mashable/'><span class='fb'></span>
<span class='tw'></span>
<span class='gp'></span></a>
<div class='dropdown-menu pull-right social-badges'>
<ul>
<li class='facebook-container'>
<a class='social-stub social-share facebook like' data-default='1' data-href='https://facebook.com/mashable' data-shares='2.4m'>Like</a>
</li>
<li>
<a class='twitter-follow-button' data-dnt='true' data-show-count='true' data-show-screen-name='false' href='https://twitter.com/mashable'>
Follow
</a>
</li>
<li class='linked-in'>
<script data-counter='right' data-id='200000' type='IN/FollowCompany'></script>
</li>
<li>
<iframe allowtransparency='true' border='0' frameborder='0' height='20' id='tmblrFollowBtn' scrolling='no' width='100'></iframe>
</li>
<li>
<div class='pinterest'>
<a data-pin-do='buttonFollow' href='https://www.pinterest.com/Mashable/'>
Mashable
</a>
</div>
</li>
<li>
<a alt='RSS Feed' class='rss' href='http://feeds.mashable.com/Mashable' title='RSS Feed'></a>
<a alt='Email Subscriptions' class='email' href='/subscriptions/' title='Email Subscriptions'></a>
<div class='more'>
<a href="/follow-mashable">see more&nbsp;&nbsp;&gt;</a>
</div>
</li>
</ul>
</div></li>
<li class='nav-search submenu pull-right'><a class='search-trigger' href='/search/'>Search</a>
<div class='dropdown-content'>
<div class='page-container'>
<div class='header-search-form'>
<form accept-charset="UTF-8" action="/search/" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /></div><div class='ie-search-wrapper'><input autocomplete="off" class="header-search" id="q" name="q" type="text" value="" /></div>
<input class="btn btn-primary header-search-submit" name="commit" type="submit" value="Search" />
</form><div class='header-search-results'></div>
</div>
</div>
</div></li>
<li class='channel' data-channel='Video' data-tags='mashable-video,scamalot,plugged-in,tl-dw,wtf-history'><a href="/videos/?utm_cid=mash-prod-nav-ch">Video</a></li>
<li class='channel' data-channel='Entertainment' data-tags='film,gaming,music,sports,television,mashreads,esports'><a href="/entertainment/?utm_cid=mash-prod-nav-ch">Entertainment</a></li>
<li class='channel' data-channel='Culture' data-tags='social-media,lifestyle,family-parenting,fashion,home,travel,travel-leisure,work-and-play,food,pics,memes,comics,conversations,videos-watercooler,how-to,facebook,twitter,youtube,google-plus'><a href="/culture/?utm_cid=mash-prod-nav-ch">Culture</a></li>
<li class='channel' data-channel='Tech' data-tags='apps-software,dev-design,gadgets,mobile,cars'><a href="/tech/?utm_cid=mash-prod-nav-ch">Tech</a></li>
<li class='channel' data-channel='Science' data-tags='space,health-fitness,climate'><a href="/science/?utm_cid=mash-prod-nav-ch">Science</a></li>
<li class='channel' data-channel='Business' data-tags='advertising,marketing,media,small-business,startups,jobs'><a href="/business/?utm_cid=mash-prod-nav-ch">Business</a></li>
<li class='channel' data-channel='Social Good' data-tags=''><a href="/social-good/?utm_cid=mash-prod-nav-ch">Social Good</a></li>
<li class='submenu more'><a href='#'><!-- %span=t "header.nav.more" -->
<span>More</span></a>
<div class='submenu-content'>
<div class='page-container'>
<ul class='columns'><li><ul class='column-list'><li class='header'>Channels</li>
<li><a href="/videos/">Video</a></li><li><a href="/entertainment/">Entertainment</a></li><li><a href="/culture/">Culture</a></li><li><a href="/tech/">Tech</a></li><li><a href="/science/">Science</a></li><li><a href="/business/">Business</a></li><li><a href="/social-good/">Social Good</a></li></ul></li><li><ul class='column-list'>
<li class='header'>Company</li><li><a href="/about/">About Us</a></li><li><a href="http://www.wrightsmedia.com/sites/mashable/">Licensing &amp; Reprints</a></li><li><a href="/2015/">Archive</a></li><li><a href="/careers/">Mashable Careers</a></li></ul></li><li><ul class='column-list'>
<li class='header'>Contact</li><li><a href="/contact-us/">Contact Us</a></li><li><a href="/submit/">Submit News</a></li></ul></li><li><ul class='column-list'>
<li class='header'>Advertise</li><li><a href="/advertise/">Advertise</a></li></ul></li><li><ul class='column-list'>
<li class='header'>Legal</li><li><a href="/privacy/">Privacy Policy</a></li><li><a href="/terms/">Terms of Use</a></li><li><a href="/cookie-policy/">Cookie Policy</a></li></ul></li><li><ul class='column-list'>
<li class='header'>Apps</li><li><a href="https://itunes.apple.com/us/app/mashable/id910775754?mt=8">iPhone / iPad</a></li><li><a href="https://play.google.com/store/apps/details?id=com.mashable.android.phoenix">Android</a></li></ul></li><li><ul class='column-list'>
<li class='header'>Resources</li><li><a href="/follow-mashable/">Subscriptions</a></li></ul></li><li><ul class='column-list'>
<li class='header'>Sites</li><li><a href="http://jobs.mashable.com">Job Board</a></li><li><a href="/sgs/">Social Good Summit</a></li></ul></li></ul>
</div>
</div></li>
</ul></div>
</div>
<div id='sticky-slot'></div></header>
</div>
<div id='scrollable'><div class='loader'></div>
<div id='srvSlot' style='position: absolute'><div class="ad_container ad-slot" data-overrides="{&quot;targeting&quot;:{&quot;tile&quot;:5,&quot;adnum&quot;:5,&quot;sec0&quot;:&quot;socgood&quot;,&quot;sec1&quot;:&quot;&quot;,&quot;sec2&quot;:&quot;posts&quot;,&quot;topic&quot;:&quot;socgood&quot;,&quot;postid&quot;:&quot;bp55237&quot;,&quot;posts&quot;:&quot;none&quot;}}" data-type="survey"></div></div>
<header class='box970' id='lead-banner'>
<div class='page-container'><center class='visible-desktop'>
<div class="ad_container ad-slot" data-overrides="{&quot;targeting&quot;:{&quot;tile&quot;:6,&quot;adnum&quot;:1,&quot;sec0&quot;:&quot;socgood&quot;,&quot;sec1&quot;:&quot;&quot;,&quot;sec2&quot;:&quot;posts&quot;,&quot;topic&quot;:&quot;socgood&quot;,&quot;postid&quot;:&quot;bp55237&quot;,&quot;posts&quot;:&quot;none&quot;}}" data-type="desktop_banner"></div>
</center></div>
</header><div class='posts show' id='body-container'><div id='main'>
<div class='page-container'>

<div class='body'><hgroup class='channel page-header post-head' data-channel='social-good' data-section='sec0=socgood&amp;sec1=index&amp;sec2='>
<h2>Social Good</h2>
<div class='follow-channel'>
<div class='follow-buttons'>
<a class='social-stub social-share facebook like' data-default='1' data-href='https://facebook.com/mashable' data-shares='1.7m'>Like</a>
<a class='social-stub social-share twitter follow' data-shares='3.7m' href='https://twitter.com/intent/follow?region=follow_link&amp;screen_name=mashable&amp;tw_p=followbutton&amp;variant=2.0' target='_blank'>Follow</a>
<a class='social-stub social-share google_plus follow' data-shares='7.1m' href='https://plus.google.com/+Mashable/auto' target='_blank'>Follow</a>
</div>
</div>
</hgroup>

<div class='flex-box article-container'>
<div class='box-cell'>
<div class='above_960 adsense outside_post'>
<script>
  if(typeof(google_num_ads) != "undefined") google_skip = google_num_ads;
  google_ad_client = "pub-9942038924324175";
  if($('.adsense').last().filter('.above_960').length > 0 && $(document).width() < 960){
    var hideAd = true;
  }else{
    var hideAd = false;
  }
</script>
<script>
  if(!hideAd) google_ad_slot = "3991492827";
</script>
<script>
  if(!hideAd) google_ad_width = 728;
</script>
<script>
  if(!hideAd) google_ad_height = 15;
</script>
<script src='https://pagead2.googlesyndication.com/pagead/show_ads.js'></script>
</div>

<div class='post-content'>
<script>
  window.variationsData = [{"id":87291,"user_id":454,"title":"How to provide aid to Harvey relief efforts","active":true,"published":false},{"id":87292,"user_id":454,"title":"Here's how you can help Harvey victims","active":true,"published":false}]
</script>
<div class='post-slider'><article class='blueprint full post story' data-bp-id='55237' data-campaign='none' data-channel='social-good' data-id='59a32f4df11b2c7b0a002076' data-subchannels='' data-topic='socgood' data-velocity='1000,990,990'>
<header class='article-header'>
<h1 class='title' href='https://mashable.com/2017/08/27/how-to-help-tropical-storm-harvey-relief-efforts/'>Here&#39;s how you can help with Tropical Storm Harvey relief efforts</h1>
<script>
  window.variationsTitleElem = 'article header h1.title';
</script>
<aside class='shares social'>
<div class='share-buttons'>
<div class='share-button-boxy'><a class="social-stub social-share facebook" data-image="https://i.amz.mshcdn.com/LLId4wXJgzmnigFsklGehG_4ljI=/1200x630/https%3A%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fstory%2Fthumbnail%2F55237%2Fada6d87f-1580-4292-ab81-95fed0f291bc.jpg" data-shares="2073" data-title="Here&#39;s how you can help with Tropical Storm Harvey relief efforts" data-uid="emV" href="#">Share</a></div>
<div class='share-button-boxy'><a class="social-stub social-share twitter" data-shares="452" data-tweet-text="Here&#39;s how you can help with Tropical Storm Harvey relief efforts" data-uid="emV" href="https://twitter.com/intent/tweet?original_referer=https://mashable.com/&amp;source=tweetbutton&amp;text=Here%27s+how+you+can+help+with+Tropical+Storm+Harvey+relief+efforts&amp;url=https%3A%2F%2Fmashable.com%2F2017%2F08%2F27%2Fhow-to-help-tropical-storm-harvey-relief-efforts%2F&amp;via=mashable">Tweet</a></div>
<div class='share-button-boxy'><a class="social-stub social-share google_plus" data-image="https://i.amz.mshcdn.com/LLId4wXJgzmnigFsklGehG_4ljI=/1200x630/https%3A%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fstory%2Fthumbnail%2F55237%2Fada6d87f-1580-4292-ab81-95fed0f291bc.jpg" data-shares="0" data-title="Here&#39;s how you can help with Tropical Storm Harvey relief efforts" data-uid="emV" href="#">Share</a></div>
<div class='share-button-boxy'><a class="social-stub social-share linked_in" data-image="https://i.amz.mshcdn.com/LLId4wXJgzmnigFsklGehG_4ljI=/1200x630/https%3A%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fstory%2Fthumbnail%2F55237%2Fada6d87f-1580-4292-ab81-95fed0f291bc.jpg" data-shares="67" data-title="Here&#39;s how you can help with Tropical Storm Harvey relief efforts" data-uid="emV" href="#"></a></div>
<div class='share-button-boxy'><a class="social-stub social-share stumble_upon" data-image="https://i.amz.mshcdn.com/LLId4wXJgzmnigFsklGehG_4ljI=/1200x630/https%3A%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fstory%2Fthumbnail%2F55237%2Fada6d87f-1580-4292-ab81-95fed0f291bc.jpg" data-shares="0" data-title="Here&#39;s how you can help with Tropical Storm Harvey relief efforts" data-uid="emV" href="#"></a></div>
<div class='share-button-boxy'><a class="social-stub social-share pinterest" data-image="https://i.amz.mshcdn.com/LLId4wXJgzmnigFsklGehG_4ljI=/1200x630/https%3A%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fstory%2Fthumbnail%2F55237%2Fada6d87f-1580-4292-ab81-95fed0f291bc.jpg" data-shares="0" data-title="Here&#39;s how you can help with Tropical Storm Harvey relief efforts" data-uid="emV" href="#"></a></div>
</div>
<div class='velocity-graph tooltip-trigger' title='The Mashable Velocity graph shows how quickly people are sharing this article on the social Web.'>
<canvas class='velocity'></canvas>
<div class='caption'>What&#39;s This?</div>
</div>
</aside>

<div class='above_960 adsense'>
<script>
  if(typeof(google_num_ads) != "undefined") google_skip = google_num_ads;
  google_ad_client = "pub-9942038924324175";
  if($('.adsense').last().filter('.above_960').length > 0 && $(document).width() < 960){
    var hideAd = true;
  }else{
    var hideAd = false;
  }
</script>
<script>
  if(!hideAd) google_ad_channel = "9077376301";
</script>
<script>
  if(!hideAd) google_ad_output = "js";
</script>
<script>
  if(!hideAd) google_max_num_ads = "3";
</script>
<script>
  if(!hideAd) google_ad_type = "text";
</script>
<script>
  if(!hideAd) google_feedback = "on";
</script>
<script src='https://pagead2.googlesyndication.com/pagead/show_ads.js'></script>
</div>

<figure class='article-image'><img alt="HOUSTON, TX - AUGUST 26: Rain from Hurricane Harvey batters the downtown area on August 26, 2017 in Houston, Texas. (Photo by Scott Olson/Getty Images)" class="microcontent" data-fragment="lead-image" data-image="https://i.amz.mshcdn.com/LoQ97iCiEjhwQK8HGYQi4VQQejc=/950x534/filters:quality(90)/https%3A%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fcard%2Fimage%2F574841%2F0e69eed4-17ca-40a9-bece-85676a3fba0a.jpg" data-micro="1" data-url="null" src="https://i.amz.mshcdn.com/LoQ97iCiEjhwQK8HGYQi4VQQejc=/950x534/filters:quality(90)/https%3A%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fcard%2Fimage%2F574841%2F0e69eed4-17ca-40a9-bece-85676a3fba0a.jpg" /><figcaption class="image-caption">HOUSTON, TX - AUGUST 26: Rain from Hurricane Harvey batters the downtown area on August 26, 2017 in Houston, Texas. (Photo by Scott Olson/Getty Images)</figcaption><div class="image-credit">Image:  Getty Images</div></figure>
<div class="article-info"><span class="byline "><a href="/author/shishira-sreenivas/"><img alt="2016%2f12%2f28%2fc2%2f201610245aphoto.850f6.2dd77" class="author_image" src="https://i.amz.mshcdn.com/GGguFNKYZGnYV5M_H_o8dzRH-Ac=/90x90/2016%2F12%2F28%2Fc2%2F201610245aphoto.850f6.2dd77.jpg" /></a><span class="author_name">By <a href="/author/shishira-sreenivas/">Shishira Sreenivas</a></span><time datetime="Sun, 27 Aug 2017 20:44:55 +0000">2017-08-27 20:44:55 UTC</time></span></div>

</header>
<section class='article-content blueprint'>

<p>Tropical Storm Harvey is turning out to be one of the most powerful storms to hit the U.S. since 2005, and you don't have to sit on the sidelines as it continues to inundate parts of Texas</p>
<div class="see-also"><p class="see-also-link">SEE ALSO: <a href="https://mashable.com/2017/08/25/airbnb-free-shelter-hurricane-harvey-evacuees/">Airbnb offers Hurricane Harvey evacuees free shelter</a></p></div>
<p>The Federal Emergency Management Agency (FEMA) and other relief agencies are already taking stock of the situation to help with evacuations and rescue efforts in Texas. But if you're looking to pitch in sooner, here are some of the most reliable nonprofit organizations you can contribute to:</p>
<h2><a href="https://www.redcross.org/donate/hurricane-harvey" target="_blank"><strong>American Red Cross</strong></a></h2>
<div class="twitter-wrapper sort-rerender"><div><blockquote class="twitter-tweet">
<p lang="en" dir="ltr">To help people affected by <a href="https://twitter.com/hashtag/HurricaneHarvey?src=hash" target="_blank">#HurricaneHarvey</a>, please visit <a href="https://t.co/lG3cxjpyAd" target="_blank">https://t.co/lG3cxjpyAd</a> or text the word HARVEY to 90999 to make a $10 donation.</p>
<p>— American Red Cross (@RedCross) <a href="https://twitter.com/RedCross/status/901202660883390465" target="_blank">August 25, 2017</a></p>
</blockquote></div></div>
<p>Donations can be made directly on the website redcross.com or you can also call 1-800-REDCROSS or text HARVEY to 90999 to make a minimum donation of $10.</p>
<p>It's also seeking blood donations.</p>
<h2><a href="http://mashable.com/2017/08/27/apple-donations-hurricane-harvey-relief/"><strong>Apple iTunes</strong></a></h2>
<div class="twitter-wrapper sort-rerender"><div><blockquote class="twitter-tweet">
<p lang="en" dir="ltr">Prayers for Texas and all those affected by <a href="https://twitter.com/hashtag/HurricaneHarvey?src=hash" target="_blank">#HurricaneHarvey</a>. Join us in the relief effort by donating: <a href="https://t.co/QLBMFOjaDG" target="_blank">https://t.co/QLBMFOjaDG</a></p>
<p>— Tim Cook (@tim_cook) <a href="https://twitter.com/tim_cook/status/901791855108530176" target="_blank">August 27, 2017</a></p>
</blockquote></div></div>
<p>The <a href="https://mashable.com/2017/08/27/apple-donations-hurricane-harvey-relief/">tech giant has teamed with American Red Cross </a>to accept donations via a link available on the iTunes online store. You can donate in increments of $5, $10, $25, $50, $100 or $200. Unfortunately, store credit can't be used.</p>
<h2><a href="https://www.globalgiving.org/projects/hurricane-harvey-relief-fund/" target="_blank">GlobalGiving</a></h2>
<div class="twitter-wrapper sort-rerender"><div><blockquote class="twitter-tweet">
<p lang="en" dir="ltr">Families affected by <a href="https://twitter.com/hashtag/HurricaneHarvey?src=hash" target="_blank">#HurricaneHarvey</a> need your help. Give today + support vetted nonprofits ready to deliver aid.  <a href="https://t.co/JoUu7dMRwW" target="_blank">https://t.co/JoUu7dMRwW</a></p>
<p>— GlobalGiving (@GlobalGiving) <a href="https://twitter.com/GlobalGiving/status/901285218740568064" target="_blank">August 26, 2017</a></p>
</blockquote></div></div>
<p>This crowdfunding site started The Hurricane Harvey Relief Fund and is looking to raise $2,000,000 to exclusively donate the funds to provide long-term relief to the storm's victims.</p>
<h2><a href="https://texasdiaperbank.networkforgood.com/projects/33717-change-a-life" target="_blank">Texas Diaper Bank</a></h2>
<figure class="image"><p><img class="" data-credit-name="texas diaper bank" data-credit-provider="custom type" src="https://i.amz.mshcdn.com/1Ii6Z1tXgdnCoAWHzS6-Rl9rOx4=/fit-in/1200x9600/https%3A%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fcard%2Fimage%2F574863%2F8137b8e7-fbc4-441a-bd01-9aae983d3bb3.png" data-fragment="m!e763" data-image="https://i.amz.mshcdn.com/XNpMQDI2V1BXGNpaX2YBMyG20f4=/https%3A%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fcard%2Fimage%2F574863%2F8137b8e7-fbc4-441a-bd01-9aae983d3bb3.png" data-micro="1"></p>
<div class="image-credit"><p>Image:  texas diaper bank</p></div></figure><p>This nonprofit is accepting donations to help with basic supplies and food for the youngest victims of Tropical Storm Harvey.</p>
<h2><a href="https://www.americares.org/" target="_blank">Americares</a></h2>
<div class="twitter-wrapper sort-rerender"><div><blockquote class="twitter-tweet">
<p lang="en" dir="ltr">Pls RT 2 help <a href="https://twitter.com/hashtag/Americares?src=hash" target="_blank">#Americares</a> @ <a href="https://twitter.com/hashtag/HurricaneHarvey?src=hash" target="_blank">#HurricaneHarvey</a> TY:<a href="https://twitter.com/united" target="_blank">@United</a> $100Kmatch➡️<a href="https://t.co/xXZ3k7OIa3" target="_blank">https://t.co/xXZ3k7OIa3</a><a href="https://twitter.com/CNNImpact" target="_blank">@CNNImpact</a> <a href="https://twitter.com/publicgood" target="_blank">@publicgood</a>➡️<a href="https://t.co/d2nfZdprwA" target="_blank">https://t.co/d2nfZdprwA</a> <a href="https://t.co/aPoRg1VYEb" target="_blank">pic.twitter.com/aPoRg1VYEb</a></p>
<p>— Americares 🌀 Harvey (@Americares) <a href="https://twitter.com/Americares/status/901796640754892800" target="_blank">August 27, 2017</a></p>
</blockquote></div></div>
<p>Americares is raising funds to provide medical care to those affected by the storm. As of now, they have deployed emergency teams to assist with the relief efforts in Texas.</p>
<h2><a href="https://give.salvationarmyusa.org/site/Donation2?df_id=27651&amp;mfc_pref=T&amp;27651.donation=form1" target="_blank">Salvation Army</a></h2>
<div><p><iframe src="https://www.facebook.com/plugins/post.php?href=https%3A%2F%2Fwww.facebook.com%2FSalvationArmySATX%2Fposts%2F1423864777668793&amp;width=500" width="500" height="161" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowtransparency="true"></iframe></p></div>
<p>The Salvation Army is collecting funds to "provide physical, emotional, and spiritual care to survivors and relief workers." Donated dollars are spent to support the organizations disaster teams, which help with both relief efforts and clean-up.</p>
<h2><a href="https://www.austinpetsalive.org/" target="_blank">Austin Pets Alive!</a></h2>
<div class="twitter-wrapper sort-rerender"><div><blockquote class="twitter-tweet">
<p lang="en" dir="ltr">Austin Pets Alive! is helping shelters in the direct line of <a href="https://twitter.com/hashtag/HurricaneHarvey?src=hash" target="_blank">#HurricaneHarvey</a>. Please find out how you can help: <a href="https://t.co/h3iQOCwcOm" target="_blank">https://t.co/h3iQOCwcOm</a> <a href="https://t.co/hlk72N7XbS" target="_blank">pic.twitter.com/hlk72N7XbS</a></p>
<p>— Austin Pets Alive! (@austinpetsalive) <a href="https://twitter.com/austinpetsalive/status/900858427190034432" target="_blank">August 24, 2017</a></p>
</blockquote></div></div>
<p>Austin Pets Alive! is currently transporting pets out of shelters in affected areas. As of Saturday, Aug. 26, APA had transported over 235 animals into their shelters.</p>
<h2><a href="https://ghcf.org/hurricane-relief/" target="_blank"><strong>Hurricane Harvey Relief Fund</strong></a></h2>
<div class="twitter-wrapper sort-rerender"><div><blockquote class="twitter-tweet">
<p lang="en" dir="ltr">Thank you <a href="https://twitter.com/lyft" target="_blank">@lyft</a> for your $100,000 gift to the Hurricane Harvey Relief Fund <a href="https://t.co/ZKFLW9bzLM" target="_blank">https://t.co/ZKFLW9bzLM</a></p>
<p>— Sylvester Turner (@SylvesterTurner) <a href="https://twitter.com/SylvesterTurner/status/902623039011127296" target="_blank">August 29, 2017</a></p>
</blockquote></div></div>
<p>Houston Mayor Sylvester Turner established the Hurricane Harvey Relief Fund after his office received a lot of inquiries, from both individuals and companies, about how they could help. The fund, which accepts donations for victims with a minimum of $10, is through the Greater Houston Community Foundation.</p>
<p>Ride-hailing company Lyft announced Tuesday that it would be <a href="https://blog.lyft.com/posts/hurricane-harvey" target="_blank">donating $100,000</a> to the fund.</p>
<h2><a href="http://www.savethechildren.org/site/c.8rKLIXMGIpI4E/b.9534789/k.9D36/Hurricane_Harvey.htm" target="_blank"><strong>Save the Children</strong></a></h2>
<div class="twitter-wrapper sort-rerender"><div><blockquote class="twitter-tweet">
<p lang="en" dir="ltr">More than a million children have been impacted by <a href="https://twitter.com/hashtag/HurricaneHarvey?src=hash" target="_blank">#HurricaneHarvey</a>. Please donate to help provide essential relief: <a href="https://t.co/WlwgZrpCmx" target="_blank">https://t.co/WlwgZrpCmx</a> <a href="https://t.co/6E9GgjFfCZ" target="_blank">pic.twitter.com/6E9GgjFfCZ</a></p>
<p>— Save the Children US (@SavetheChildren) <a href="https://twitter.com/SavetheChildren/status/902224415714410498" target="_blank">August 28, 2017</a></p>
</blockquote></div></div>
<p>Save the Children is helping children and families forced from their homes and into shelters by opening "child-friendly spaces." These spaces let children play and socialize while their parents can focus on the family's long-term needs. The first child-friendly space opened in San Antonio's Kazen Middle School on Tuesday, where hundreds are displaced. The organization plans to open more of these spaces later this week.</p>
<p>Jeanne-Aimee De Marrais, Save the Children’s senior director of U.S. emergencies leading the organization's response in Texas, said they're working as quickly as possible to help these children and families.</p>
<p>"We know from decades of experience that children are the most affected in the wake of emergencies and disasters, and often their needs fall through the cracks," De Marrais said in a statement.</p>
<h2><a href="https://www.facebook.com/funds4disaster/" target="_blank"><strong>Facebook / Center for Disaster Philanthropy</strong></a></h2>
<div class="fb-post" data-href="https://www.facebook.com/zuck/posts/10103998949614711"></div>
<p>Facebook is matching up to $1 million raised through the social platform for the Center for Disaster Philanthropy's Hurricane Harvey Recovery Fund. The money will support local recovery and rebuilding efforts. You can donate either through the message that pops up on your news feed, or donate directly on the Center for Disaster Philanthropy's Facebook Page.</p>
<h2><a href="https://www.google.org/harvey-relief/" target="_blank"><strong>Google</strong></a></h2>
<div class="twitter-wrapper sort-rerender"><div><blockquote class="twitter-tweet">
<p lang="en" dir="ltr">To continue supporting those affected by <a href="https://twitter.com/hashtag/Harvey?src=hash" target="_blank">#Harvey</a>, <a href="https://twitter.com/Googleorg" target="_blank">@Googleorg</a> will now match your donations up to $1M. <a href="https://t.co/E4WDxBQScz" target="_blank">https://t.co/E4WDxBQScz</a></p>
<p>— Google (@Google) <a href="https://twitter.com/Google/status/902613567194546178" target="_blank">August 29, 2017</a></p>
</blockquote></div></div>
<p>Google <a href="https://www.blog.google/topics/google-org/together-we-can-do-more-support-those-affected-hurricane-harvey/" target="_blank">announced a campaign</a> to match donations up to $1 million to the American Red Cross. Donations go through <a href="https://www.google.org/harvey-relief/#n4g" target="_blank">Network for Good</a> and then are distributed to the American Red Cross to help open shelters, offer aid, and distribute supplies to victims throughout affected areas. Google is covering the processing fees to make sure that 100 percent of your donation is used to help.</p>
<div class="twitter-wrapper sort-rerender"><div><blockquote class="twitter-tweet" data-conversation="none">
<p lang="en" dir="ltr">Hi <a href="https://twitter.com/jiatolentino" target="_blank">@jiatolentino</a> — we've got a list of some more highly-rated organizations working to aid those affected <a href="https://t.co/xQ3sGEgsny" target="_blank">https://t.co/xQ3sGEgsny</a></p>
<p>— Charity Navigator (@CharityNav) <a href="https://twitter.com/CharityNav/status/901864556003303424" target="_blank">August 27, 2017</a></p>
</blockquote></div></div>
<p>Most of the organizations listed pledge to send along 100 percent of the donations for Harvey relief efforts. </p>
<p>However, if you're looking to donate elsewhere, <a href="https://www.charitynavigator.org/index.cfm?bay=content.view&amp;cpid=5239&amp;utm_content=buffere15a7&amp;utm_medium=social&amp;utm_source=twitter.com&amp;utm_campaign=buffer" target="_blank">Charity Navigator</a> provides an A-to-Z guide to charities based on a 4-star rating system. It could be a useful tool for researching other nonprofits that best align with your intentions.</p>
<p>Due to the enormous damage Harvey has already caused, it looks like the recovery effort will be long one. In a statement to <em>CNN</em>, FEMA head Brock Long announced that the recovery work in the aftermath of the storm's epic disaster could take years.</p>
<p>"The disaster is going to be a landmark event," Long said.</p>
<div class="twitter-wrapper sort-rerender"><div><blockquote class="twitter-tweet">
<p lang="en" dir="ltr">Give cash, not things, to support the <a href="https://twitter.com/hashtag/HurricaneHarvey?src=hash" target="_blank">#HurricaneHarvey</a> response. More info:  <a href="https://t.co/zQZ9OT0p44" target="_blank">https://t.co/zQZ9OT0p44</a> <a href="https://twitter.com/hashtag/CashIsBest?src=hash" target="_blank">#CashIsBest</a> <a href="https://t.co/CIDYLseK0q" target="_blank">pic.twitter.com/CIDYLseK0q</a></p>
<p>— CIDI (@CIDIoutreach) <a href="https://twitter.com/CIDIoutreach/status/901807790322307072" target="_blank">August 27, 2017</a></p>
</blockquote></div></div>
<p>Remember, unless you can physically volunteer, it's best to donate cash, not things or assets, to relief agencies during a disaster of this scale. They know how to use the money better than you do.</p>
<p><strong>UPDATE: Aug. 29, 2017, 4 p.m. EDT </strong>This post has been updated to include additional relief efforts and donation options.</p>
<div class="bonus-video-card">
<h2 class="title"><a href="https://mashable.com/2017/08/07/summer-2017-is-brutal/" target="_blank">WATCH: Summer 2017 feels like it's on steroids – and it's only going to get worse</a></h2>
<div class="content-mash-video" data-source="blueprint" data-template="bonus" data-video="yanmEzWnK9">
<p><img alt="Https%3a%2f%2fblueprint api production.s3.amazonaws.com%2fuploads%2fvideo uploaders%2fdistribution thumb%2fimage%2f81128%2f0e9c7b3c 26d8 4b30 b5bf a39263540ede" src="https://i.amz.mshcdn.com/xGPv1eBh7cdh8Yx90eQv_YCmnQs=/https%3A%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fvideo_uploaders%2Fdistribution_thumb%2Fimage%2F81128%2F0e9c7b3c-26d8-4b30-b5bf-a39263540ede.jpg" data-fragment="m!516a" data-image="https://i.amz.mshcdn.com/xGPv1eBh7cdh8Yx90eQv_YCmnQs=/https%3A%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fvideo_uploaders%2Fdistribution_thumb%2Fimage%2F81128%2F0e9c7b3c-26d8-4b30-b5bf-a39263540ede.jpg" data-micro="1"></p>
<script class="playerMetadata" type="application/json">{"player":{"description":"It's getting hot in here.","image":"https://i.amz.mshcdn.com/xGPv1eBh7cdh8Yx90eQv_YCmnQs=/https%3A%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fvideo_uploaders%2Fdistribution_thumb%2Fimage%2F81128%2F0e9c7b3c-26d8-4b30-b5bf-a39263540ede.jpg","mediaid":"yanmEzWnK9","preload":false,"title":"Summer 2017 feels like it's on steroids – and it's only going to get worse","sources":[{"file":"https://vdist.aws.mashable.com/cms/2017/8/d066f626-3af0-e432/hls.m3u8"},{"file":"https://vdist.aws.mashable.com/cms/2017/8/d066f626-3af0-e432/dash.mpd"},{"file":"https://vdist.aws.mashable.com/cms/2017/8/d066f626-3af0-e432/mp4/1080.mp4"},{"file":"https://vdist.aws.mashable.com/cms/2017/8/d066f626-3af0-e432/mp4/720.mp4"},{"file":"https://vdist.aws.mashable.com/cms/2017/8/d066f626-3af0-e432/mp4/480.mp4"}]},"options":{"disableAds":false,"disableSharing":false,"nextupAction":"autoplay","embedUrl":"https://mashable.com/videos/blueprint:yanmEzWnK9/embed/?player=offsite","standaloneUrl":null,"post":{"url":"https://mashable.com/2017/08/07/summer-2017-is-brutal/","date":"2017-08-07T21:54:56.996Z","bp_id":53544,"wp_id":null}},"advertising":{"params":{"keywords":"climate,science,mashable-video,weather,france,europe,california,new orleans,death valley national park,italy,extreme weather,spain,california drought,fire,hurricane,climate change,death valley,extreme,flood,flooding,heat wave,siberia,weather report,heat waves,climate science,thunderstorms,record,climate research,wildfire,record heat,wildfires,thunderstorm,floods,flash floods,real-time,british columbia,weather forecast,real-time video,flash flooding,flash flood,real time,extreme precipitation,floodwaters,real-time-video,real time video,flood warning,flooded,extreme heat,cananda,lucifer","sec0":null,"sec1":"","prc":""}},"analytics":{"labels":"climate,science,mashable-video,weather,france,europe,california,new orleans,death valley national park,italy,extreme weather,spain,california drought,fire,hurricane,climate change,death valley,extreme,flood,flooding,heat wave,siberia,weather report,heat waves,climate science,thunderstorms,record,climate research,wildfire,record heat,wildfires,thunderstorm,floods,flash floods,real-time,british columbia,weather forecast,real-time video,flash flooding,flash flood,real time,extreme precipitation,floodwaters,real-time-video,real time video,flood warning,flooded,extreme heat,cananda,lucifer","videoSeriesName":null}}</script>
</div>
</div>
<script>      window._msla=window.loadScriptAsync||function(src,id){if(document.getElementById(id))return;var js=document.createElement('script');js.id=id;js.src=src;document.getElementsByTagName('script')[0].parentNode.insertBefore(js,fjs);};
_msla("https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5&appId=122071082108&status=1&cookie=1","facebook_jssdk");_msla("https://platform.twitter.com/widgets.js","twitter_jssdk");</script>





</section>

<div class='fb-quote'></div><footer class='article-topics'>
Topics:
<a href="/category/climate-environment/">climate-environment</a>, <a href="/category/how-to-help/">How to Help</a>, <a href="/category/relief-efforts/">relief-efforts</a>, <a href="/category/social-good/">Social Good</a>, <a href="/category/texas/">texas</a>, <a href="/category/tropical-storm-harvey/">tropical-storm-harvey</a>
</footer>
<div class='2017-boost-slot'><div class="ad_container ad-slot" data-overrides="{&quot;targeting&quot;:{&quot;tile&quot;:1,&quot;adnum&quot;:1,&quot;sec0&quot;:&quot;socgood&quot;,&quot;sec1&quot;:&quot;&quot;,&quot;sec2&quot;:&quot;posts&quot;,&quot;topic&quot;:&quot;socgood&quot;,&quot;postid&quot;:&quot;bp55237&quot;,&quot;posts&quot;:&quot;none&quot;}}" data-type="btf_article_mobile_rec"></div></div>
<div id="taboola-below-article-thumbnails"></div>
<div data-display-daily-newsletter="show" id="newsletter-signup"></div>
<script>
  if (window.pageChanged)
    window.omni({"channel":"social-good","content_type":"article","v_buy_i":null,"h_pub_buy":null,"v_cur_i":0,"v_max_i":0,"events":"","top_channel":"social-good","content_source_type":"Internal","content_source_name":"Internal","author_name":"Shishira Sreenivas","age":"170","pub_day":27,"pub_month":8,"pub_year":2017,"pub_date":"08/27/2017","sourced_from":"Internal","isPostView":true,"post_lead_type":"Alt Image Lead","topics":"climate-environment,how-to-help,relief-efforts,social-good,texas,tropical-storm-harvey","campaign":null,"display_mode":null,"viral_video_type":null,"standalone_video_show":null,"b_flag":true,"cms_author_name":null,"cms_author_geo":"us","cms_author_team":"Edit","bp_id":55237,"shoppable":null,"voice":"Mashable","level_of_effort":"One to four hours","content_format":"Article","video_platform_target":null,"classification_options":false,"key_topics":["Climate & Environment"],"job_function":"News Hit"});
    metaData = {"link":[["canonical","https://mashable.com/2017/08/27/how-to-help-tropical-storm-harvey-relief-efforts/"],["image_src","https://i.amz.mshcdn.com/P45xOxduhJ0NLX8zGzuHXu9-tdA=/1200x627/https%3A%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fstory%2Fthumbnail%2F55237%2Fada6d87f-1580-4292-ab81-95fed0f291bc.jpg"]],"meta_property":[["og:url","https://mashable.com/2017/08/27/how-to-help-tropical-storm-harvey-relief-efforts/"],["og:title","Here's how you can help with Tropical Storm Harvey relief efforts"],["og:type","article"],["og:site_name","Mashable"],["og:description","Donate to impactful organizations on the ground."],["og:image","https://i.amz.mshcdn.com/FFZxIbasoG910pyYNJ9T5Hd-los=/1200x630/2017%2F08%2F27%2Fc7%2Fada6d87f15804292ab8195fed0f291bc.2a321.jpg"],["og:article:published_time","2017-08-27T20:44:55Z"],["og:article:modified_time","2017-08-30T12:34:08Z"],["og:article:publisher","https://www.facebook.com/mashable"]],"meta_name":[["description","Here&#39;s how you can help with the Tropical Storm Harvey relief efforts."],["keywords","social-good, texas, how-to-help, tropical-storm-harvey, relief-efforts, climate-environment"],["twitter:title","Here's how you can help with Tropical Storm Harvey relief efforts"],["twitter:description","Donate to impactful organizations on the ground."],["twitter:image","https://i.amz.mshcdn.com/ynLWkUPH2oRyez8Er9R2JkJsp3c=/640x360/https%3A%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fstory%2Fthumbnail%2F55237%2Fada6d87f-1580-4292-ab81-95fed0f291bc.jpg"],["twitter:site","@mashable"],["twitter:via","mashable"],["twitter:url","https://mashable.com/2017/08/27/how-to-help-tropical-storm-harvey-relief-efforts/"],["twitter:creator","@mashable"],["twitter:card","photo"],["twitter:image:width","640"],["twitter:image:height","360"],["date","2017-08-27 20:44:55 UTC"],["sailthru.author","Shishira Sreenivas"],["sailthru.image.thumb","https://i.amz.mshcdn.com/wlHMaRADLNrHCBC_tGUqlVoSlhI=/115x115/https%3A%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fstory%2Fthumbnail%2F55237%2Fada6d87f-1580-4292-ab81-95fed0f291bc.jpg"],["sailthru.image.full","https://i.amz.mshcdn.com/_kjhZQQMUn3Mv2h3rjMysIF68uw=/950x534/https%3A%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fstory%2Fthumbnail%2F55237%2Fada6d87f-1580-4292-ab81-95fed0f291bc.jpg"],["sailthru.lead_image","https://i.amz.mshcdn.com/6Rv3XHUPVGt9uLZaZdz-AXSQgoI=/600x338/https%3A%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fstory%2Fthumbnail%2F55237%2Fada6d87f-1580-4292-ab81-95fed0f291bc.jpg"],["sailthru.secondary_image","https://i.amz.mshcdn.com/zZIKI3SKDvD9wdc2jGHDLaEpXCA=/288x162/https%3A%2F%2Fblueprint-api-production.s3.amazonaws.com%2Fuploads%2Fstory%2Fthumbnail%2F55237%2Fada6d87f-1580-4292-ab81-95fed0f291bc.jpg"],["sailthru.exclude_homepage",false],["sailthru.exclude_uk",false],["sailthru.exclude_australia",false],["sailthru.exclude_india",false],["author","Shishira Sreenivas"]],"short_url":[["short_url","http://on.mash.to/2xp4ZAc"]]};
</script>
<div class='right_rail_replace'>
<div class="ad_container ad-slot" data-overrides="{&quot;targeting&quot;:{&quot;tile&quot;:2,&quot;adnum&quot;:2,&quot;sec0&quot;:&quot;socgood&quot;,&quot;sec1&quot;:&quot;&quot;,&quot;sec2&quot;:&quot;posts&quot;,&quot;topic&quot;:&quot;socgood&quot;,&quot;postid&quot;:&quot;bp55237&quot;,&quot;posts&quot;:&quot;none&quot;}}" data-type="no_right_rail_desktop"></div>
</div>
</article>
</div>
</div>
</div>
<aside class='box-cell sidebar'>
<div class='ad sidebar-inset sidebar-drop'>
<div class="ad_container ad-slot" data-overrides="{&quot;targeting&quot;:{&quot;tile&quot;:3,&quot;adnum&quot;:1,&quot;sec0&quot;:&quot;socgood&quot;,&quot;sec1&quot;:&quot;&quot;,&quot;sec2&quot;:&quot;posts&quot;,&quot;topic&quot;:&quot;socgood&quot;,&quot;postid&quot;:&quot;bp55237&quot;,&quot;posts&quot;:&quot;none&quot;}}" data-type="right_rail"></div>

</div>
<div class='sidebar-inset' id='big-stories'></div>
</aside>
</div>

<!-- Analytics -->

<!-- Twitter Ad Tracker -->
<noscript>
<img alt='' height='1' src='https://analytics.twitter.com/i/adsct?txn_id=l4o6d&amp;p_id=Twitter' style='display:none;' width='1'>
<img alt='' height='1' src='https://t.co/i/adsct?txn_id=l4o6d&amp;p_id=Twitter' style='display:none;' width='1'>
</noscript>
<img class='bluekai-test-img' height='0' src='https://mashable.com/favicon-16x16.png?bk_uuid=$_BK_UUID&amp;BK_SWAP_DEST=19275' width='0'>
</div>
</div>
<!-- scroll load stub - do not remove -->
<div class='after-page-container'></div>
<script id='banner-template' type='text/template'>
<div class='banner-ad-wrapper'>
<div class="ad_container ad-slot" data-overrides="{&quot;targeting&quot;:{&quot;tile&quot;:4,&quot;adnum&quot;:1,&quot;sec0&quot;:&quot;socgood&quot;,&quot;sec1&quot;:&quot;&quot;,&quot;sec2&quot;:&quot;posts&quot;,&quot;topic&quot;:&quot;socgood&quot;,&quot;postid&quot;:&quot;bp55237&quot;,&quot;posts&quot;:&quot;none&quot;}}" data-type="banner"></div>
</div>
</script>

</div><div id='fb-root'></div><script>
  if(window.initPage) { window.initPage() }
  else { $(function() { window.initPage && window.initPage(); })}
</script>
</div><footer id='site-footer-wrapper'>
<div class='page-container' id='site-footer'><ul class='nav'><li><a href="/about/">About Us</a></li><li><a href="http://jobs.mashable.com">Jobs</a></li><li><a href="/advertise/">Advertise</a></li><li><a href="/2011/05/09/connect-with-mashable/">Subscribe</a></li><li><a href="/privacy/">Privacy</a></li><li><a href="/terms/">Terms</a></li></ul><ul class='social'><li><a class='facebook' href='https://www.facebook.com/mashable/' target='_social'></a></li>
<li><a class='twitter' href='https://twitter.com/mashable' target='_social'></a></li>
<li><a class='gplus' href='https://plus.google.com/+Mashable' target='_social'></a></li>
<li><a class='rss' href='http://feeds.mashable.com/Mashable' target='_social'></a></li>
<li><a class='pinterest' href='https://pinterest.com/mashable/' target='_social'></a></li>
<li><a class='youtube' href='https://www.youtube.com/user/mashable' target='_social'></a></li>
<li><a class='stumbleupon' href='https://www.stumbleupon.com/channel/Mashable' target='_social'></a></li>
<li><a class='linkedin' href='https://www.linkedin.com/company/mashable' target='_social'></a></li></ul>
<div class='about'>
<a class='brand' href='/'>
Mashable
</a>
<span class='blurb'>is a global, multi-platform media and entertainment company. Powered by its own proprietary technology, Mashable is the go-to source for tech, digital culture and entertainment content for its dedicated and influential audience around the globe.</span>
</div>
<ul class='copyright-and-legal'>
<li>
&copy;2005-2018
Mashable, Inc.
</li>
<li>
Reproduction without explicit permission is prohibited. All Rights Reserved.
</li>
<li>
Designed in collaboration with <a rel="nofollow" href="http://www.codeandtheory.com">Code &amp; Theory</a>
</li>
</ul>
</div>

</footer>

<noscript>
<img src='https://sb.scorecardresearch.com/p?c1=2&amp;c2=8750086&amp;cv=2.0&amp;cj=1'>
</noscript>
</div>
</div>
<script>
  !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
  n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
  t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
  document,'script','https://connect.facebook.net/en_US/fbevents.js');
  fbq('init', '1453039084979896');
  fbq('track', "PageView");
</script>
<noscript>
<img height='1' src='https://www.facebook.com/tr?id=1453039084979896&amp;ev=PageView&amp;noscript=1' style='display: none' width='1'>
</noscript>

<script>
  window.detectStaffEditableLink && window.detectStaffEditableLink();
</script>
<script type="text/javascript">
  /*<![CDATA[*/ window.lightboxjs || function (c) { function g(b, d) { d && (d += (/\?/.test(d) ? "&" : "?") + "lv=1"); c[b] || function () { var i = window, h = document, j = b, g = h.location.protocol, l = "load", k = 0; (function () { function b() { a.P(l); a.w = 1; c[j]("_load") } c[j] = function () { function m() { m.id = e; return c[j].apply(m, arguments) } var b, e = ++k; b = this && this != i ? this.id || 0 : 0; (a.s = a.s || []).push([e, b, arguments]); m.then = function (b, c, h) { var d = a.fh[e] = a.fh[e] || [], j = a.eh[e] = a.eh[e] || [], f = a.ph[e] = a.ph[e] || []; b && d.push(b); c && j.push(c); h && f.push(h); return m }; return m }; var a = c[j]._ = {}; a.fh = {}; a.eh = {}; a.ph = {}; a.l = d ? d.replace(/^\/\//, (g == "https:" ? g : "https:") + "//") : d; a.p = { 0: +new Date }; a.P = function (b) { a.p[b] = new Date - a.p[0] }; a.w && b(); i.addEventListener ? i.addEventListener(l, b, !1) : i.attachEvent("on" + l, b); var q = function () { function b() { return ["<head></head><", c, ' onload="var d=', n, ";d.getElementsByTagName('head')[0].", d, "(d.", g, "('script')).", i, "='", a.l, "'\"></", c, ">"].join("") } var c = "body", e = h[c]; if (!e) return setTimeout(q, 100); a.P(1); var d = "appendChild", g = "createElement",
  i = "src", k = h[g]("div"), l = k[d](h[g]("div")), f = h[g]("iframe"), n = "document", p; k.style.display = "none"; e.insertBefore(k, e.firstChild).id = o + "-" + j; f.frameBorder = "0"; f.id = o + "-frame-" + j; /MSIE[ ]+6/.test(navigator.userAgent) && (f[i] = "javascript:false"); f.allowTransparency = "true"; l[d](f); try { f.contentWindow[n].open() } catch (s) { a.domain = h.domain, p = "javascript:var d=" + n + ".open();d.domain='" + h.domain + "';", f[i] = p + "void(0);" } try { var r = f.contentWindow[n]; r.write(b()); r.close() } catch (t) { f[i] = p + 'd.write("' + b().replace(/"/g, String.fromCharCode(92) + '"') + '");d.close();' } a.P(2) }; a.l && q() })() }(); c[b].lv = "1"; return c[b] } var o = "lightboxjs", k = window[o] = g(o); k.require = g; k.modules = c }({}); /*]]>*/</script><script type="text/javascript">window.lightboxlib = lightboxjs.require("lightboxlib", "https://www.lightboxcdn.com/vendor/3c2be054-bb5f-4178-a524-c7877bda309d/lightbox.js?mb=" + (new Date().getTime()));
</script>

<script>/* loader-7.2.1 */ eval(atob("IWZ1bmN0aW9uIGUodCxuLHIpe2Z1bmN0aW9uIG8oYSxjKXtpZighblthXSl7aWYoIXRbYV0pe3ZhciB1PSJmdW5jdGlvbiI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlO2lmKCFjJiZ1KXJldHVybiB1KGEsITApO2lmKGkpcmV0dXJuIGkoYSwhMCk7dmFyIHM9bmV3IEVycm9yKCJDYW5ub3QgZmluZCBtb2R1bGUgJyIrYSsiJyIpO3Rocm93IHMuY29kZT0iTU9EVUxFX05PVF9GT1VORCIsc312YXIgbD1uW2FdPXtleHBvcnRzOnt9fTt0W2FdWzBdLmNhbGwobC5leHBvcnRzLGZ1bmN0aW9uKGUpe3ZhciBuPXRbYV1bMV1bZV07cmV0dXJuIG8obnx8ZSl9LGwsbC5leHBvcnRzLGUsdCxuLHIpfXJldHVybiBuW2FdLmV4cG9ydHN9Zm9yKHZhciBpPSJmdW5jdGlvbiI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlLGE9MDthPHIubGVuZ3RoO2ErKylvKHJbYV0pO3JldHVybiBvfSh7MTpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtlKDIzKTt2YXIgcj1lKDEyKSxvPWUoNyk7d2luZG93LmFkb25pc0Nvbm5UeXBlPSJodHRwIixyLmxvZ2dlci5pbmZvKCJbaHR0cExvYWRlcl06IFN0YXJ0aW5nIGJvb3RzdHJhcCIpLCgwLG8ucnVuKSgpfSx7MTI6MTIsMjM6MjMsNzo3fV0sMjpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKCl7cmV0dXJuIGkod2luZG93KSYmYyh3aW5kb3cpJiZ1KHdpbmRvdykmJmEod2luZG93KSYmcyh3aW5kb3cpfWZ1bmN0aW9uIG8oKXtyZXR1cm4gaSh3aW5kb3cpJiZ1KHdpbmRvdykmJmEod2luZG93KSYmcyh3aW5kb3cpfWZ1bmN0aW9uIGkoZSl7dHJ5e3JldHVybiBlLmxvY2FsU3RvcmFnZS5zZXRJdGVtKCJfX3h5el9fIiwiX194eXpfXyIpLGUubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oIl9feHl6X18iKSwhMH1jYXRjaChlKXtyZXR1cm4hMX19ZnVuY3Rpb24gYShlKXt0cnl7cmV0dXJuISFuZXcgZS5CbG9ifWNhdGNoKGUpe3JldHVybiExfX1mdW5jdGlvbiBjKGUpe3ZhciB0PWZ1bmN0aW9uKHQpe3JldHVybiB0LnNvbWUoZnVuY3Rpb24odCl7cmV0dXJuIHQgaW4gZX0pfSxuPVsiUlRDUGVlckNvbm5lY3Rpb24iLCJtb3pSVENQZWVyQ29ubmVjdGlvbiIsIndlYmtpdFJUQ1BlZXJDb25uZWN0aW9uIl0scj1bIlJUQ1Nlc3Npb25EZXNjcmlwdGlvbiIsIm1velJUQ1Nlc3Npb25EZXNjcmlwdGlvbiIsIndlYmtpdFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiJdLG89WyJSVENJY2VDYW5kaWRhdGUiLCJtb3pSVENJY2VDYW5kaWRhdGUiLCJ3ZWJraXRSVENJY2VDYW5kaWRhdGUiXTtyZXR1cm4gdChuKSYmdChyKSYmdChvKX1mdW5jdGlvbiB1KGUpe3JldHVybiJQcm9taXNlImluIGUmJiJyZXNvbHZlImluIGUuUHJvbWlzZSYmInJlamVjdCJpbiBlLlByb21pc2UmJiJhbGwiaW4gZS5Qcm9taXNlJiYicmFjZSJpbiBlLlByb21pc2V9ZnVuY3Rpb24gcyhlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZS5PYmplY3QuYXNzaWdufXQuZXhwb3J0cz17aXNTdXBwb3J0ZWRCcm93c2VyUnRjOnIsaXNTdXBwb3J0ZWRCcm93c2VyOm8saXNMb2NhbFN0b3JhZ2VTdXBwb3J0ZWQ6aSxpc1J0Y1N1cHBvcnRlZDpjLGlzQmxvYlN1cHBvcnRlZDphLGlzT2JqZWN0QXNzaWduU3VwcG9ydGVkOnMsaXNQcm9taXNlU3VwcG9ydGVkOnV9fSx7fV0sMzpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUsdCl7dmFyIG49dFsiYWRvbmlzLWNsaWVudC12ZXJzaW9uIl0scj10WyJjYWNoZS1jb250cm9sIl0sYT1yJiZyLnN0YXJ0c1dpdGgoIm1heC1hZ2UiKSxjPXQuZXhwaXJ5TWlsbGlzfHwwO2lmKGEpe2kubG9nZ2VyLmRlYnVnKHIpO3ZhciB1PXBhcnNlSW50KHIuc3BsaXQoIj0iKVsxXSwxMCk7aXNOYU4odSl8fChjPShuZXcgRGF0ZSkuZ2V0VGltZSgpKzFlMyp1KX1uJiYoaS5sb2dnZXIuaW5mbygiW2NhY2hlL3N0b3JlQWRvbmlzQ2xpZW50UmVzcG9uc2VdOiBuZXcgZXhwaXJ5ICIrYysiID0gIituZXcgRGF0ZShjKSksbyhlLG4sYykpfWZ1bmN0aW9uIG8oZSx0LG4pe3dpbmRvdy5sb2NhbFN0b3JhZ2UuYWRvbmlzQ2FjaGVTcmM9ZSx3aW5kb3cubG9jYWxTdG9yYWdlLmFkb25pc0NhY2hlRXhwaXJ5TWlsbGlzPW4sd2luZG93LmxvY2FsU3RvcmFnZS5hZG9uaXNDbGllbnRWZXJzaW9uPXR9T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG4uc3RvcmVBZG9uaXNDbGllbnRSZXNwb25zZT1yLG4uY2FjaGVBZG9uaXNDbGllbnQ9bzt2YXIgaT1lKDEyKX0sezEyOjEyfV0sNDpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1lKDUpO3dpbmRvdy5hZG9uaXNIYXNoPXdpbmRvdy5hZG9uaXNIYXNofHx3aW5kb3cubG9jYXRpb24uaGFzaHx8IiI7dmFyIG89d2luZG93LmFkb25pc0hhc2guaW5kZXhPZigiYWRvbmlzLWxvZ2dpbmciKT49MDtyLkxPR19MRVZFTD1vPyJkZWJ1ZyI6ci5MT0dfTEVWRUw7dmFyIGk9d2luZG93LmFkb25pc3x8e307aS53c0hvc3QmJnIuV1MmJihyLldTLmhvc3Q9aS53c0hvc3QpLGkudHJhbnNwb3J0JiYoci5TVUVaX0hUVFBfRU5EUE9JTlQ9aS50cmFuc3BvcnQpLHQuZXhwb3J0cz1yfSx7NTo1fV0sNTpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9e1JFQUxfU1RVTl9IT1NUOiJzdHVuLnhwYW5hbWEubmV0OjM0NzgiLFRVUk5TSUdOQUxfSE9TVDoidHMucC54cGFuYW1hLm5ldDo3MDAwIixTVFVOR1VOX0hPU1Q6InNnLnAueHBhbmFtYS5uZXQ6MzQ4MCIsU0VSVkVSX0NBTkRJREFURToiY2FuZGlkYXRlOjgyNzY0ODAyNiAxIHVkcCAyMTIyMTk0Njg3IFNFUlZFUl9JUCBTRVJWRVJfUE9SVCB0eXAgaG9zdCBnZW5lcmF0aW9uIDAiLFJFUE9SVElOR19VUkw6Imh0dHBzOi8vbGIuc3RhdHNldmVudC5jb20vc3RhdHMiLFJFUE9SVElOR19SQVRFOi4wMSxMT0dfTEVWRUw6ImVycm9yIixSRVBPUlRfRVJST1JTOiEwLE1BTklGRVNUX1VSTDoiaHR0cHM6Ly9zcmkuanNpbnRlZ3JpdHkuY29tL21hbmlmZXN0Lmpzb24iLE1BTklGRVNUX0VYUElSQVRJT05fVElNRTo4NjQwMCxBRF9NQVJLRVI6ImFkb25pcy1tYXJrZXIiLEFET05JU19DTElFTlRfRkVUQ0hfVVJMOiJodHRwczovL2Fkc2VydmVyLnhwYW5hbWEubmV0L2NsaWVudC03LWxhdGVzdC5qcyIsV1M6e2hvc3Q6InN1ZXotc2VydmVyLnhwYW5hbWEubmV0IixwYXRoOiIvd3MiLHBvcnQ6NDQzLHNlY3VyZTohMCxwcm9taXNlVGltZW91dDozZTN9LFNFUlZJQ0VfU1RBVFVTX1VSTDpmdW5jdGlvbihlKXtyZXR1cm4iaHR0cHM6Ly9jbGllbnQucmVhY3RyanMuY29tLyIrZSsiLXN0YXR1cy5qc29uIn0sU1VFWl9IVFRQX1JFVFJZOjMsU1VFWl9IVFRQX0RFTEFZOjEwMH19LHt9XSw2OltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fWZ1bmN0aW9uIG8oKXt2YXIgZT0iY29udHJvbC1zZXJ2ZXIvY2hlY2siO2YubG9nZ2VyLmluZm8oIlsiK2UrIl06IENoZWNraW5nIHNlcnZpY2Ugc3RhdHVzIik7dmFyIHQ9aSh3aW5kb3cpO3JldHVybigwLHUucmVxdWVzdCkodCkudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gZi5sb2dnZXIuZGVidWcoIlsiK2UrIl06IFN0YXR1cyBjaGVjayBmZXRjaGVkIHdpdGggc3RhdHVzLWNvZGUgPCIrdC5zdGF0dXMrIj4iKSxKU09OLnBhcnNlKHQucmVzcG9uc2VUZXh0KX0pLmNhdGNoKGZ1bmN0aW9uKHQpe2YubG9nZ2VyLmluZm8oIlsiK2UrIl06IEZhaWxlZCB0byBjaGVjayBjb250cm9sIHNlcnZlciBzdGF0dXMgPCIrdCsiPiIpO3ZhciBuPXZvaWQgMCE9PXQucmVxP3QucmVxLnN0YXR1czpudWxsO3Rocm93IDA9PT1uP25ldyBzLlhockJsb2NrRXJyb3I6bmV3IEVycm9yKCJVbmV4cGVjdGVkIHN0YXR1cyBjb2RlIHdoaWxlIHBlcmZvcm1pbmcgY29udHJvbCBzZXJ2ZXIgY2hlY2ssIHN0YXR1cy1jb2RlID0gPCIrbisiPiIpfSl9ZnVuY3Rpb24gaShlKXtyZXR1cm4gZC5kZWZhdWx0LlNFUlZJQ0VfU1RBVFVTX1VSTChjLmRlZmF1bHQuZ2V0KGUubG9jYXRpb24uaG9zdCkpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxuLmNoZWNrPW8sbi5nZXRTZXJ2aWNlU3RhdHVzVXJsPWk7dmFyIGE9ZSgyNSksYz1yKGEpLHU9ZSgxOSkscz1lKDkpLGw9ZSg0KSxkPXIobCksZj1lKDEyKX0sezEyOjEyLDE5OjE5LDI1OjI1LDQ6NCw5Ojl9XSw3OltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7aWYoZSYmZS5fX2VzTW9kdWxlKXJldHVybiBlO3ZhciB0PXt9O2lmKG51bGwhPWUpZm9yKHZhciBuIGluIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbikmJih0W25dPWVbbl0pO3JldHVybiB0LmRlZmF1bHQ9ZSx0fWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fWZ1bmN0aW9uIGkoKXt2YXIgZT0iaHR0cC1hZG9uaXMtY2xpZW50LWxvYWRlci9ydW4iO3JldHVybiBwLmRlZmF1bHQucmVwb3J0RXZlbnQoImJvb3RzdHJhcC5odHRwLnBhZ2V2aWV3IiksZy5kZWZhdWx0LmlzU3VwcG9ydGVkQnJvd3NlcigpPyh5LmxvZ2dlci5pbmZvKCJbIitlKyJdOiBCcm93c2VyIGlzIGNvbXBhdGlibGUiKSxwLmRlZmF1bHQucmVwb3J0RXZlbnQoImJvb3RzdHJhcC5odHRwLnN1cHBvcnRlZCIpLGEoKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB5LmxvZ2dlci5pbmZvKCJbIitlKyJdOiBSdW5uaW5nIGFuZCBjYWNoaW5nIGFkb25pc0NsaWVudCBzb3VyY2UiKSxwLmRlZmF1bHQucmVwb3J0RXZlbnQoImJvb3RzdHJhcC5odHRwLnJ1bmNsaWVudHNjcmlwdCIpLHAuZGVmYXVsdC5zYXZlVGltaW5nKCksZC5kZWZhdWx0LmRlZmluZVJlYWRPbmx5UHJvcGVydHkoImFkb25pc0NvbmZpZyIscy5kZWZhdWx0KSwoMCxtLnN0b3JlQWRvbmlzQ2xpZW50UmVzcG9uc2UpKHQuc291cmNlLHQubWV0YSksdy5kZWZhdWx0Lmluc2VydElubGluZVNjcmlwdCh0LnNvdXJjZSksbnVsbH0pLmNhdGNoKGZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgSS5YaHJCbG9ja0Vycm9yPyh5LmxvZ2dlci5pbmZvKCJbIitlKyJdOiBGYWlsZWQgdG8gZmV0Y2ggYWRvbmlzLWNsaWVudCB1c2luZyBTdWV6IikseS5sb2dnZXIuaW5mbygiWyIrZSsiXTogQWxsIGxvYWRlcnMgZmFpbGVkIHRvIGZldGNoIGFkb25pcy1jbGllbnQsIGNoZWNraW5nIGNvbnRyb2wgc2VydmVyIiksXy5jaGVjaygpKTooeS5sb2dnZXIud2FybigiWyIrZSsiXTogVW5leHBlY3RlZCBlcnJvciB3aGVuIHRyeWluZyB0byBmZXRjaCBhZG9uaXMtY2xpZW50IG92ZXIgU3VlejogPCIrdCsiPiIpLHAuZGVmYXVsdC5yZXBvcnRFcnJvcih0KSxudWxsKX0pLmNhdGNoKGZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgSS5YaHJCbG9ja0Vycm9yPyhwLmRlZmF1bHQucmVwb3J0RXZlbnQoImJvb3RzdHJhcC5odHRwLnN0YXR1c19ibG9ja2VkIikseS5sb2dnZXIuaW5mbygiWyIrZSsiXTogQ29udHJvbCBzZXJ2ZXIgY2hlY2sgZmFpbGVkLCBwcm9iYWJseSBhbiBhZGJsb2NrZXIiKSx7c3RhdHVzOiEwfSk6KHkubG9nZ2VyLndhcm4oIlsiK2UrIl06IFVuZXhwZWN0ZWQgZXJyb3IgZnJvbSBjb250cm9sIHNlcnZlciBjaGVjazogPCIrdCsiPiIpLHAuZGVmYXVsdC5yZXBvcnRFcnJvcih0KSxudWxsKX0pLnRoZW4oZnVuY3Rpb24odCl7KDAsUy5kZWZhdWx0KSh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCkmJnQmJiJzdGF0dXMiaW4gdCYmdC5zdGF0dXM/KHAuZGVmYXVsdC5yZXBvcnRFdmVudCgiYm9vdHN0cmFwLmh0dHAudHJpZ2dlZCIpLHkubG9nZ2VyLmluZm8oIlsiK2UrIl06IENvbnRyb2wgc2VydmVyIHJlcG9ydGVkIHN0YXR1cyBpcyBoZWFsdGh5IG9yIHdhcyBibG9ja2VkLCB0cmlnZ2VyaW5nIG9wcGVuaGVpbWVyIiksKDAsYy5yZXBsYWNlQ29udGVudCkod2luZG93LmRvY3VtZW50KSwoMCxULmRlZmF1bHQpKHdpbmRvdywiYWRvbmlzLWRldGVycmVudCIpKTp0JiYic3RhdHVzImluIHQmJiExPT09dC5zdGF0dXMmJihwLmRlZmF1bHQucmVwb3J0RXZlbnQoImJvb3RzdHJhcC5odHRwLm5vdF90cmlnZ2VkIikseS5sb2dnZXIud2FybigiWyIrZSsiXTogQ29udHJvbCBzZXJ2ZXIgcmVwb3J0ZWQgc3RhdHVzIGlzIHVuaGVhbHRoeSwgbm90IHRyaWdnZXJpbmcgb3BwZW5oZWltZXIiKSl9KSk6dm9pZCB5LmxvZ2dlci5pbmZvKCJbIitlKyJdOiBJbmNvbXBhdGlibGUgYnJvd3Nlciwgbm90IGNvbnRpbnVpbmciKX1mdW5jdGlvbiBhKCl7dmFyIGU9Imh0dHAtYWRvbmlzLWNsaWVudC1sb2FkZXIvbG9hZEFkb25pc0NsaWVudCI7cmV0dXJuIHkubG9nZ2VyLmRlYnVnKCJbIitlKyJdOiBUcnlpbmcgdG8gbG9hZCBhZG9uaXMtY2xpZW50IHdpdGggWEhSIGxvYWRlciAoZnJvbSBDRE4pIiksQy5sb2FkKCkuY2F0Y2goZnVuY3Rpb24odCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBJLlhockJsb2NrRXJyb3I/eS5sb2dnZXIuaW5mbygiWyIrZSsiXTogRmFpbGVkIHRvIGZldGNoIGFkb25pcy1jbGllbnQgb3ZlciBYSFIsIHRyeWluZyB0byBsb2FkIGZyb20gY2FjaGUiKTooeS5sb2dnZXIud2FybigiWyIrZSsiXTogVW5leHBlY3RlZCBlcnJvciB3aGVuIHRyeWluZyBmZXRjaCBhZG9uaXMtY2xpZW50IG92ZXIgWEhSLCB0cnlpbmcgdG8gbG9hZCBmcm9tIGNhY2hlOiA8Iit0KyI+IikscC5kZWZhdWx0LnJlcG9ydEVycm9yKHQpKSx4LmxvYWQoKX0pLmNhdGNoKGZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgSS5DYWNoZUxvYWRFcnJvcj95LmxvZ2dlci5pbmZvKCJbIitlKyJdOiBGYWlsZWQgdG8gZmV0Y2ggYWRvbmlzLWNsaWVudCBmcm9tIGNhY2hlLCB0cnlpbmcgdG8gbG9hZCBmcm9tIFN1ZXoiKTooeS5sb2dnZXIud2FybigiWyIrZSsiXTogVW5leHBlY3RlZCBlcnJvciB3aGVuIHRyeWluZyBmZXRjaCBhZG9uaXMtY2xpZW50IGZyb20gY2FjaGUsIHRyeWluZyB0byBsb2FkIGZyb20gU3VlejogPCIrdCsiPiIpLHAuZGVmYXVsdC5yZXBvcnRFcnJvcih0KSksTC5sb2FkKCl9KX1PYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksbi5ydW49aSxuLmxvYWRBZG9uaXNDbGllbnQ9YTt2YXIgYz1lKDIyKSx1PWUoNCkscz1vKHUpLGw9ZSgxOCksZD1vKGwpLGY9ZSgxNikscD1vKGYpLGg9ZSgyKSxnPW8oaCksdj1lKDE1KSx3PW8odiksYj1lKDYpLF89cihiKSxtPWUoMykseT1lKDEyKSxFPWUoMTcpLFM9byhFKSxPPWUoMTMpLFQ9byhPKSxSPWUoMTEpLEM9cihSKSxBPWUoMTApLEw9cihBKSxQPWUoOCkseD1yKFApLEk9ZSg5KX0sezEwOjEwLDExOjExLDEyOjEyLDEzOjEzLDE1OjE1LDE2OjE2LDE3OjE3LDE4OjE4LDI6MiwyMjoyMiwzOjMsNDo0LDY6Niw4OjgsOTo5fV0sODpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKCl7dmFyIGU9ImxvYWRlcnMvY2FjaGUvbG9hZCI7YS5sb2dnZXIuZGVidWcoIlsiK2UrIl06IFN0YXJ0aW5nIGNhY2hlIGxvYWRlciIpLHdpbmRvdy5sb2NhbFN0b3JhZ2UuYWRvbmlzQ2FjaGVFeHBpcnkmJndpbmRvdy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgiYWRvbmlzQ2FjaGVFeHBpcnkiKTt2YXIgdD1wYXJzZUludCh3aW5kb3cubG9jYWxTdG9yYWdlLmFkb25pc0NhY2hlRXhwaXJ5TWlsbGlzLDEwKTtpc05hTih0KSYmKHQ9MCk7dmFyIG49d2luZG93LmxvY2FsU3RvcmFnZS5hZG9uaXNDbGllbnRWZXJzaW9uLHI9d2luZG93LmxvY2FsU3RvcmFnZS5hZG9uaXNDYWNoZVNyYyxvPShuZXcgRGF0ZSkuZ2V0VGltZSgpPj10LGM9eyJhZG9uaXMtY2xpZW50LXZlcnNpb24iOm4sZXhwaXJ5TWlsbGlzOnQsY2FjaGVkU291cmNlOnJ9O3JldHVybiByP28/KGEubG9nZ2VyLmRlYnVnKCJbIitlKyJdOiBDYWNoZWQgdmVyc2lvbiBvZiBhZG9uaXMtY2xpZW50IGlzIGV4cGlyZWQiKSxQcm9taXNlLnJlamVjdChuZXcgaS5DYWNoZUxvYWRFcnJvcihudWxsLGMpKSk6KGEubG9nZ2VyLmRlYnVnKCJbIitlKyJdOiBGb3VuZCBhIHZhbGlkIGNhY2hlZCB2ZXJzaW9uIG9mIGFkb25pcy1jbGllbnQiKSxQcm9taXNlLnJlc29sdmUoe3NvdXJjZTpyLG1ldGE6Y30pKTooYS5sb2dnZXIuZGVidWcoIlsiK2UrIl06IE5vIGNhY2hlZCB2ZXJzaW9uIG9mIGFkb25pcy1jbGllbnQgZm91bmQgaW4gdGhlIGxvY2FsU3RvcmFnZSIpLFByb21pc2UucmVqZWN0KG5ldyBpLkNhY2hlTG9hZEVycm9yKG51bGwsYykpKX1mdW5jdGlvbiBvKCl7cmV0dXJuIHIoKS5jYXRjaChmdW5jdGlvbihlKXtpZihlIGluc3RhbmNlb2YgaS5DYWNoZUxvYWRFcnJvcilyZXR1cm57c291cmNlOmUuc291cmNlLG1ldGE6ZS5tZXRhfX0pfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxuLmxvYWQ9cixuLmxvYWRJZ25vcmluZ0Vycm9ycz1vO3ZhciBpPWUoOSksYT1lKDEyKX0sezEyOjEyLDk6OX1dLDk6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfWZ1bmN0aW9uIG8oZSx0KXtpZighZSl0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZCIpO3JldHVybiF0fHwib2JqZWN0IiE9dHlwZW9mIHQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0P2U6dH1mdW5jdGlvbiBpKGUsdCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQmJm51bGwhPT10KXRocm93IG5ldyBUeXBlRXJyb3IoIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgIit0eXBlb2YgdCk7ZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOmUsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSksdCYmKE9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YoZSx0KTplLl9fcHJvdG9fXz10KX1PYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksbi5DYWNoZUxvYWRFcnJvcj1uLldzQmxvY2tFcnJvcj1uLlhockJsb2NrRXJyb3I9dm9pZCAwO3ZhciBhPWUoMjEpLGM9ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fShhKTtuLlhockJsb2NrRXJyb3I9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCgpe3JldHVybiByKHRoaXMsdCksbyh0aGlzLCh0Ll9fcHJvdG9fX3x8T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpKS5hcHBseSh0aGlzLGFyZ3VtZW50cykpfXJldHVybiBpKHQsZSksdH0oYy5kZWZhdWx0KSxuLldzQmxvY2tFcnJvcj1mdW5jdGlvbihlKXtmdW5jdGlvbiB0KCl7cmV0dXJuIHIodGhpcyx0KSxvKHRoaXMsKHQuX19wcm90b19ffHxPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9cmV0dXJuIGkodCxlKSx0fShjLmRlZmF1bHQpLG4uQ2FjaGVMb2FkRXJyb3I9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChlLG4pe3IodGhpcyx0KTt2YXIgaT1vKHRoaXMsKHQuX19wcm90b19ffHxPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpLmNhbGwodGhpcykpO3JldHVybiBpLnNvdXJjZT1lLGkubWV0YT1uLGl9cmV0dXJuIGkodCxlKSx0fShjLmRlZmF1bHQpfSx7MjE6MjF9XSwxMDpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUpe3JldHVybiBlJiZlLl9fZXNNb2R1bGU/ZTp7ZGVmYXVsdDplfX1mdW5jdGlvbiBvKCl7dmFyIGU9ImxvYWRlcnMvc3Vlei1odHRwIjtkLmxvZ2dlci5kZWJ1ZygiWyIrZSsiXTogU3RhcnRpbmcgU3VleiBIVFRQIGxvYWRlciIpO3ZhciB0PUpTT04uc3RyaW5naWZ5KHtob3N0OiJhc3NldHMiLHBhdGg6ImNsaWVudCIscGFyYW1zOnt9LGhlYWRlcnM6e2Fkb25pc19jbGllbnRfYXBpOiI3LjAuMCJ9fSksbj17IkFkb25pcy1WZXJzaW9uIjoiNy4wLjAiLCJDYWNoZS1BZG9uaXMiOiJ0cnVlIn07cmV0dXJuIHZvaWQgMD09PWMuZGVmYXVsdC5TVUVaX0hUVFBfRU5EUE9JTlQ/UHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJObyBhZG9uaXMgdHJhbnNwb3J0IGZvdW5kIikpOigwLGwucmVxdWVzdCkoYy5kZWZhdWx0LlNVRVpfSFRUUF9FTkRQT0lOVCwiUE9TVCIsdCxuKS50aGVuKGZ1bmN0aW9uKHQpe2QubG9nZ2VyLmRlYnVnKCJbIitlKyJdOiBTdWNjZXNzZnVsbHkgZmV0Y2hlZCBhZG9uaXMtY2xpZW50IG92ZXIgWEhSIik7dmFyIG49e307dHJ5e25bImFkb25pcy1jbGllbnQtdmVyc2lvbiJdPXQuZ2V0UmVzcG9uc2VIZWFkZXIoImFkb25pcy1jbGllbnQtdmVyc2lvbiIpfWNhdGNoKGUpe310cnl7blsiY2FjaGUtY29udHJvbCJdPXQuZ2V0UmVzcG9uc2VIZWFkZXIoImNhY2hlLWNvbnRyb2wiKX1jYXRjaChlKXt9cmV0dXJue3NvdXJjZTp0LnJlc3BvbnNlVGV4dCxtZXRhOm59fSkuY2F0Y2goZnVuY3Rpb24odCl7dGhyb3cgZC5sb2dnZXIuZGVidWcoIlsiK2UrIl06IEZhaWxlZCB0byBmZXRjaCBhZG9uaXMtY2xpZW50IGZyb20gU3VleiBvdmVyIFhIUiA8Iit0KyI+IiksMD09PXQucmVxLnN0YXR1cz9uZXcgZi5YaHJCbG9ja0Vycm9yOm5ldyBFcnJvcigiVW5leHBlY3RlZCBlcnJvciBmZXRjaGluIGFkb25pcy1jbGllbnQsIHN0YXR1cy1jb2RlID0gPCIrdC5yZXEuc3RhdHVzKyI+Iil9KX1mdW5jdGlvbiBpKCl7dmFyIGU9Yy5kZWZhdWx0LlNVRVpfSFRUUF9SRVRSWXx8MSx0PWMuZGVmYXVsdC5TVUVaX0hUVFBfREVMQVl8fDAsbj1BcnJheS5hcHBseSgwLEFycmF5KGUpKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIG99KTtyZXR1cm4gcy5kZWZhdWx0LnJlcG9ydEV2ZW50KCJib290c3RyYXAuaHR0cC5zdWV6X29wZW5pbmciKSwoMCxwLmNoYWluKShuLHQpLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIHMuZGVmYXVsdC5yZXBvcnRFdmVudCgiYm9vdHN0cmFwLmh0dHAuc3Vlel9vcGVuZWQiKSxlfSkuY2F0Y2goZnVuY3Rpb24oZSl7dGhyb3cgZSBpbnN0YW5jZW9mIGYuWGhyQmxvY2tFcnJvciYmcy5kZWZhdWx0LnJlcG9ydEV2ZW50KCJib290c3RyYXAuaHR0cC5zdWV6X2Jsb2NrZWQiKSxlfSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG4ubG9hZE9uY2U9byxuLmxvYWQ9aTt2YXIgYT1lKDQpLGM9cihhKSx1PWUoMTYpLHM9cih1KSxsPWUoMTkpLGQ9ZSgxMiksZj1lKDkpLHA9ZSgxNCl9LHsxMjoxMiwxNDoxNCwxNjoxNiwxOToxOSw0OjQsOTo5fV0sMTE6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19ZnVuY3Rpb24gbygpe3ZhciBlPSJsb2FkZXJzL2NhY2hlL3hociI7cmV0dXJuIGQubG9nZ2VyLmRlYnVnKCJbIitlKyJdOiBTdGFydGluZyBYSFIgbG9hZGVyIiksKDAsbC5yZXF1ZXN0KShjLmRlZmF1bHQuQURPTklTX0NMSUVOVF9GRVRDSF9VUkwpLnRoZW4oZnVuY3Rpb24odCl7ZC5sb2dnZXIuZGVidWcoIlsiK2UrIl06IFN1Y2Nlc3NmdWxseSBmZXRjaGVkIGFkb25pcy1jbGllbnQgb3ZlciBYSFIiKTt2YXIgbj17ImFkb25pcy1jbGllbnQtdmVyc2lvbiI6bnVsbH07dHJ5e25bImNhY2hlLWNvbnRyb2wiXT10LmdldFJlc3BvbnNlSGVhZGVyKCJjYWNoZS1jb250cm9sIil9Y2F0Y2goZSl7fXJldHVybntzb3VyY2U6dC5yZXNwb25zZVRleHQsbWV0YTpufX0pLmNhdGNoKGZ1bmN0aW9uKHQpe3Rocm93IGQubG9nZ2VyLmRlYnVnKCJbIitlKyJdOiBGYWlsZWQgdG8gZmV0Y2ggYWRvbmlzLWNsaWVudCBvdmVyIFhIUiA8Iit0KyI+IiksMD09PXQucmVxLnN0YXR1cz9uZXcgZi5YaHJCbG9ja0Vycm9yOm5ldyBFcnJvcigiVW5leHBlY3RlZCBlcnJvciBwZXJmb3JtaW5nIHN0YXR1cyBjaGVjayByZXF1ZXN0LCBzdGF0dXMtY29kZSA9IDwiK3QucmVxLnN0YXR1cysiPiIpfSl9ZnVuY3Rpb24gaSgpe3JldHVybiBvKCkuY2F0Y2goZnVuY3Rpb24oZSl7cmV0dXJuIGQubG9nZ2VyLmRlYnVnKCJmYWlsZWQgdG8gbG9hZCBhZG9uaXMtY2xpZW50IG92ZXIgaHR0cCIsZSkscy5kZWZhdWx0LnJlcG9ydEV2ZW50KCJib290c3RyYXAuY2xpZW50X2h0dHBfZmV0Y2hfZXJyb3IiKSx7c291cmNlOm51bGwsbWV0YTp7fX19KX1PYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksbi5sb2FkPW8sbi5sb2FkSWdub3JpbmdFcnJvcnM9aTt2YXIgYT1lKDQpLGM9cihhKSx1PWUoMTYpLHM9cih1KSxsPWUoMTkpLGQ9ZSgxMiksZj1lKDkpfSx7MTI6MTIsMTY6MTYsMTk6MTksNDo0LDk6OX1dLDEyOltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPWUoNCksbz1mdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19KHIpLGk9ZSgyNyksYT0oMCxpLmNyZWF0ZSkoe2xldmVsOm8uZGVmYXVsdC5MT0dfTEVWRUx9KTt0LmV4cG9ydHM9e2xvZ2dlcjphLHN1ZXpMb2dnZXI6YX19LHsyNzoyNyw0OjR9XSwxMzpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXToiTkVXX1NDUklQVF9FVkVOVCIsbj1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06e30scj1uZXcgbyh0LHtkZXRhaWw6bn0pO2UuZGlzcGF0Y2hFdmVudChyKX12YXIgbz1lKDIwKTt0LmV4cG9ydHM9cn0sezIwOjIwfV0sMTQ6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlLHQsbil7aWYoQXJyYXkuaXNBcnJheShlKSYmMD09PWUubGVuZ3RoKXJldHVybiBQcm9taXNlLnJlamVjdChuKTt0PXR8fDA7dmFyIGk9ZVswXTtyZXR1cm4gZT1lLnNsaWNlKDEpLGkoKS5jYXRjaChmdW5jdGlvbihuKXtyZXR1cm4gbyh0KS50aGVuKGZ1bmN0aW9uKG8pe3JldHVybiByKGUsdCxuKX0pfSl9ZnVuY3Rpb24gbyhlKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24odCxuKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKGUpe3JldHVybiB0KCl9LGUpfSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG4uY2hhaW49cn0se31dLDE1OltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0KXthLmRlYnVnKCJpbnNlcmluZyBibG9iIik7dmFyIG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7bi5zcmM9ZSx0JiYobi5pbnRlZ3JpdHk9dCksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChuKX1mdW5jdGlvbiBvKGUsdCl7dmFyIG49bmV3IHdpbmRvdy5YTUxIdHRwUmVxdWVzdDt0cnl7bi5vcGVuKCJHRVQiLGUsITApLG4uYWRkRXZlbnRMaXN0ZW5lcigicmVhZHlzdGF0ZWNoYW5nZSIsZnVuY3Rpb24oZSl7ND09PW4ucmVhZHlTdGF0ZSYmMD09PW4uc3RhdHVzJiZpKHQpfSksbi5zZW5kKCl9Y2F0Y2goZSl7YS53YXJuKCJGYWxsaW5nIGJhY2sgdG8gaW5zZXJ0aW5nIGlubGluZSBzY3JpcHQiKSxpKHQpfX1mdW5jdGlvbiBpKGUpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3QuaW5uZXJIVE1MPWUsZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCh0KX12YXIgYT1lKDEyKS5sb2dnZXI7dC5leHBvcnRzPXtpbnNlcnRCbG9iU2NyaXB0OnIsdGVzdEJsb2JBbmRJbnNlcnRGYWxsYmFjazpvLGluc2VydElubGluZVNjcmlwdDppfX0sezEyOjEyfV0sMTY6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXt2YXIgdD1uZXcgWE1MSHR0cFJlcXVlc3Qsbj1bcy5SRVBPUlRJTkdfVVJMLGVdLmpvaW4oIiIpO3Qub3BlbigiR0VUIixuLCEwKSx0LnNlbmQoKX1mdW5jdGlvbiBvKGUpe3MuUkVQT1JUX0VSUk9SUyYmcigiL2Fkb25pc19lcnJvcj9lPSIrZS50b1N0cmluZygpKyImd2Vic2l0ZT0iK3dpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSl9ZnVuY3Rpb24gaSgpe3JldHVybiBudWxsIT13aW5kb3cuQURPTklTX0JPT1RTVFJBUF9TVEFUUz8hMD09PXdpbmRvdy5BRE9OSVNfQk9PVFNUUkFQX1NUQVRTOk1hdGgucmFuZG9tKCk8cy5SRVBPUlRJTkdfUkFURX1mdW5jdGlvbiBhKGUsdCl7aWYoYyhlKSxpKCkpe3ZhciBuPXt3ZWJzaXRlOndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSxrZXk6ZX07bnVsbCE9dCYmKG4ucXVhbnRpdHk9dCkscihbIi9hZG9uaXNfZXZlbnQvP2V2ZW50PSIsSlNPTi5zdHJpbmdpZnkobildLmpvaW4oIiIpKX19ZnVuY3Rpb24gYyhlKXt2YXIgdD17a2V5OmUsdGltZV9tczpNYXRoLnJvdW5kKHdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKSksd2Vic2l0ZTp3aW5kb3cubG9jYXRpb24uaG9zdG5hbWV9O2QucHVzaCh0KX1mdW5jdGlvbiB1KCl7bC5kZWZpbmVSZWFkT25seVByb3BlcnR5KCJhZG9uaXNCb290c3RyYXBUaW1pbmciLGQpfXZhciBzPWUoNCksbD1lKDE4KSxkPVtdO3QuZXhwb3J0cz17cmVwb3J0RXJyb3I6byxyZXBvcnRFdmVudDphLHNhdmVUaW1pbmc6dSxzaG91bGRSZXBvcnQ6aX19LHsxODoxOCw0OjR9XSwxNzpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUpe3ZhciB0PS9hbmRyb2lkfGlwaG9uZS9naSxuPS9DaHJvbWVcLyhcUykrIFNhZmFyaVwvKFxTKSskL2dpLHI9L1wpIEdlY2tvXC8oXFMpKyBGaXJlZm94XC8oXFMpKyQvZ2ksbz0vbGlrZSBHZWNrby4/XCkgVmVyc2lvblwvKFxTKSsgU2FmYXJpXC8oXFMpKyQvZ2k7cmV0dXJuLTE9PT1lLnNlYXJjaCh0KSYmKGUuc2VhcmNoKG4pPi0xfHxlLnNlYXJjaChyKT4tMXx8ZS5zZWFyY2gobyk+LTEpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxuLmRlZmF1bHQ9cn0se31dLDE4OltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0KXt0cnl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdyxlLHt2YWx1ZTp0LHdyaXRhYmxlOiExfSl9Y2F0Y2goZSl7by53YXJuKCJDYW5ub3QgZGVmaW5lIHJlYWQtb25seSBwcm9wZXJ0eSBvZiB3aW5kb3cgb2JqZWN0OiAiK2UpfX12YXIgbz1lKDEyKS5sb2dnZXIsaT1mdW5jdGlvbihlKXsibG9hZGluZyIhPT1kb2N1bWVudC5yZWFkeVN0YXRlP2UoKTpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixlKX07dC5leHBvcnRzPXtkZWZpbmVSZWFkT25seVByb3BlcnR5OnIscmVhZHk6aX19LHsxMjoxMn1dLDE5OltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0KXtpZighKGUgaW5zdGFuY2VvZiB0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX1mdW5jdGlvbiBvKGUsdCl7aWYoIWUpdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWQiKTtyZXR1cm4hdHx8Im9iamVjdCIhPXR5cGVvZiB0JiYiZnVuY3Rpb24iIT10eXBlb2YgdD9lOnR9ZnVuY3Rpb24gaShlLHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0JiZudWxsIT09dCl0aHJvdyBuZXcgVHlwZUVycm9yKCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90ICIrdHlwZW9mIHQpO2UucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTplLGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfX0pLHQmJihPYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mKGUsdCk6ZS5fX3Byb3RvX189dCl9ZnVuY3Rpb24gYShlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06IkdFVCIsbj1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06bnVsbCxyPWFyZ3VtZW50cy5sZW5ndGg+MyYmdm9pZCAwIT09YXJndW1lbnRzWzNdP2FyZ3VtZW50c1szXTp7fTtyZXR1cm4gbmV3IHdpbmRvdy5Qcm9taXNlKGZ1bmN0aW9uKG8saSl7dmFyIGE9bmV3IHdpbmRvdy5YTUxIdHRwUmVxdWVzdDthLm9wZW4odCxlLCEwKTtmb3IodmFyIGMgaW4gcil7dmFyIHU9cltjXTthLnNldFJlcXVlc3RIZWFkZXIoYyx1KX1hLm9ubG9hZD1mdW5jdGlvbigpe2Euc3RhdHVzPj00MDA/aShuZXcgcyhhLCJVbmV4cGVjdGVkIHN0YXR1cyBjb2RlIikpOm8oYSl9LGEub25lcnJvcj1mdW5jdGlvbigpe2kobmV3IHMoYSwiRXJyb3IgZXN0YWJsaXNoaW5nIGNvbm5lY3Rpb24iKSl9LGEuc2VuZChuKX0pfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxuLlhoclJlcXVlc3RFcnJvcj12b2lkIDAsbi5yZXF1ZXN0PWE7dmFyIGM9ZSgyMSksdT1mdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19KGMpLHM9bi5YaHJSZXF1ZXN0RXJyb3I9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChlLG4pe3IodGhpcyx0KTt2YXIgaT1vKHRoaXMsKHQuX19wcm90b19ffHxPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpLmNhbGwodGhpcyxuKSk7cmV0dXJuIGkucmVxPWUsaX1yZXR1cm4gaSh0LGUpLHR9KHUuZGVmYXVsdCl9LHsyMToyMX1dLDIwOltmdW5jdGlvbihlLHQsbil7KGZ1bmN0aW9uKGUpe3ZhciBuPWUuQ3VzdG9tRXZlbnQ7dC5leHBvcnRzPWZ1bmN0aW9uKCl7dHJ5e3ZhciBlPW5ldyBuKCJjYXQiLHtkZXRhaWw6e2ZvbzoiYmFyIn19KTtyZXR1cm4iY2F0Ij09PWUudHlwZSYmImJhciI9PT1lLmRldGFpbC5mb299Y2F0Y2goZSl7fXJldHVybiExfSgpP246InVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudCYmImZ1bmN0aW9uIj09dHlwZW9mIGRvY3VtZW50LmNyZWF0ZUV2ZW50P2Z1bmN0aW9uKGUsdCl7dmFyIG49ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkN1c3RvbUV2ZW50Iik7cmV0dXJuIHQ/bi5pbml0Q3VzdG9tRXZlbnQoZSx0LmJ1YmJsZXMsdC5jYW5jZWxhYmxlLHQuZGV0YWlsKTpuLmluaXRDdXN0b21FdmVudChlLCExLCExLHZvaWQgMCksbn06ZnVuY3Rpb24oZSx0KXt2YXIgbj1kb2N1bWVudC5jcmVhdGVFdmVudE9iamVjdCgpO3JldHVybiBuLnR5cGU9ZSx0PyhuLmJ1YmJsZXM9Qm9vbGVhbih0LmJ1YmJsZXMpLG4uY2FuY2VsYWJsZT1Cb29sZWFuKHQuY2FuY2VsYWJsZSksbi5kZXRhaWw9dC5kZXRhaWwpOihuLmJ1YmJsZXM9ITEsbi5jYW5jZWxhYmxlPSExLG4uZGV0YWlsPXZvaWQgMCksbn19KS5jYWxsKHRoaXMsInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp7fSl9LHt9XSwyMTpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9ZnVuY3Rpb24gbyhlLHQpe2lmKCFlKXRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkIik7cmV0dXJuIXR8fCJvYmplY3QiIT10eXBlb2YgdCYmImZ1bmN0aW9uIiE9dHlwZW9mIHQ/ZTp0fWZ1bmN0aW9uIGkoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCYmbnVsbCE9PXQpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCAiK3R5cGVvZiB0KTtlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6ZSxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KSx0JiYoT2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZihlLHQpOmUuX19wcm90b19fPXQpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgYT1mdW5jdGlvbihlKXtmdW5jdGlvbiB0KCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOiIiO3IodGhpcyx0KTt2YXIgbj1vKHRoaXMsKHQuX19wcm90b19ffHxPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpLmNhbGwodGhpcyxlKSk7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJtZXNzYWdlIix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITEsdmFsdWU6ZSx3cml0YWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJuYW1lIix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITEsdmFsdWU6bi5jb25zdHJ1Y3Rvci5uYW1lLHdyaXRhYmxlOiEwfSksRXJyb3IuaGFzT3duUHJvcGVydHkoImNhcHR1cmVTdGFja1RyYWNlIik/KEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKG4sbi5jb25zdHJ1Y3RvciksbyhuKSk6KE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJzdGFjayIse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiExLHZhbHVlOm5ldyBFcnJvcihlKS5zdGFjayx3cml0YWJsZTohMH0pLG4pfXJldHVybiBpKHQsZSksdH0oZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCgpe2UuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiB0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6ZSxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KSxPYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mKHQsZSk6dC5fX3Byb3RvX189ZSx0fShFcnJvcikpO24uZGVmYXVsdD1hLHQuZXhwb3J0cz1uLmRlZmF1bHR9LHt9XSwyMjpbZnVuY3Rpb24oZSx0LG4peyFmdW5jdGlvbihlLHIpeyJvYmplY3QiPT10eXBlb2YgbiYmdm9pZCAwIT09dD9yKG4pOiJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsiZXhwb3J0cyJdLHIpOnIoZS5vcHBlbmhlaW1lcj1lLm9wcGVuaGVpbWVyfHx7fSl9KHRoaXMsZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQoZSl7cmV0dXJuIHIucmVwbGFjZSgie3tUSVRMRX19IixlLnRpdGxlKX1mdW5jdGlvbiBuKGUpe2UuZG9jdW1lbnRFbGVtZW50LmlubmVySFRNTD10KGUpfXZhciByPSc8aGVhZD48bWV0YSBjaGFyc2V0PXV0Zi04PjxtZXRhIG5hbWU9dmlld3BvcnQgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLGluaXRpYWwtc2NhbGU9MSxtYXhpbXVtLXNjYWxlPTEsdXNlci1zY2FsYWJsZT1ubyI+PHRpdGxlPnt7VElUTEV9fTwvdGl0bGU+PHN0eWxlPmJvZHksaHRtbHtiYWNrZ3JvdW5kOiNlZmVmZWY7Zm9udC1mYW1pbHk6IkhlbHZldGljYSBOZXVlIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtoZWlnaHQ6MTAwJX0jbWFpbi1jb250ZW50e2hlaWdodDoxMDAlfSNtYWluLWNvbnRlbnQ+ZGl2e21heC13aWR0aDo4MDBweDttaW4td2lkdGg6MjAwcHg7bWFyZ2luOjAgYXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfTwvc3R5bGU+PC9oZWFkPjxib2R5PjxkaXYgaWQ9bWFpbi1jb250ZW50PjxkaXY+PGgxPlNvbWV0aGluZyBpbnRlcmZlcmVkIHdpdGggdGhpcyB3ZWJzaXRlIGxvYWRpbmc8L2gxPjxwPlRoaXMgY291bGQgYmUgYSB0ZW1wb3JhcnkgcHJvYmxlbSB3aXRoIHlvdXIgbmV0d29yaywgb3IgZHVlIHRvIHlvdXIgYWRibG9ja2VyPC9wPjxwPlRyeTo8L3A+PHVsPjxsaT5DaGVjayB5b3VyIGludGVybmV0IGNvbm5lY3Rpb24gYW5kIHJlbG9hZCB0aGUgcGFnZTwvbGk+PGxpPklmIHlvdSBhcmUgdXNpbmcgYW4gYWRibG9ja2VyIGRpc2FibGUgaXQgYnkgY2xpY2tpbmcgb24gdGhlIGFkYmxvY2sgaWNvbiBpbiB5b3VyIGJyb3dzZXIgdG9vbGJhcjwvbGk+PGxpPklmIHRoZSBwcm9ibGVtIHBlcnNpc3RzLCBjb25zaWRlciBsZWF2aW5nIGEgbWVzc2FnZSBvbiB0aGUgPGEgaHJlZj1odHRwczovL2ZvcnVtcy5sYW5pay51cy8gdGFyZ2V0PV9CTEFOSz5hZGJsb2NrIHVzZXIgZm9ydW1zPC9hPjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L2JvZHk+JztlLmRpc3BsYXlNZXNzYWdlPXQsZS5yZXBsYWNlQ29udGVudD1uLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0pfSx7fV0sMjM6W2Z1bmN0aW9uKGUsdCxuKXshZnVuY3Rpb24oZSl7InBlcmZvcm1hbmNlImluIGV8fChlLnBlcmZvcm1hbmNlPXt9KTt2YXIgdD1lLnBlcmZvcm1hbmNlO2UucGVyZm9ybWFuY2Uubm93PXQubm93fHx0Lm1vek5vd3x8dC5tc05vd3x8dC5vTm93fHx0LndlYmtpdE5vd3x8RGF0ZS5ub3d8fGZ1bmN0aW9uKCl7cmV0dXJuKG5ldyBEYXRlKS5nZXRUaW1lKCl9fShzZWxmKX0se31dLDI0OltmdW5jdGlvbihlLHQsbil7dC5leHBvcnRzPVsiY29tIiwibmV0IiwiZnIiLCJjby51ayIsImRlIiwidHYiLCJ0b2RheSIsIm9yZyIsImluZm8iLCJpZSIsImJhIiwiZ2ciXX0se31dLDI1OltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPWUoMjYpLG89e307by5ydWxlcz1lKDI0KS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJue3J1bGU6ZSxzdWZmaXg6ZS5yZXBsYWNlKC9eKFwqXC58XCEpLywiIiksd2lsZGNhcmQ6IioiPT09ZS5jaGFyQXQoMCksZXhjZXB0aW9uOiIhIj09PWUuY2hhckF0KDApfX0pLG8uZW5kc1dpdGg9ZnVuY3Rpb24oZSx0KXtyZXR1cm4tMSE9PWUuaW5kZXhPZih0LGUubGVuZ3RoLXQubGVuZ3RoKX0sby5maW5kUnVsZT1mdW5jdGlvbihlKXt2YXIgdD1yLnRvQVNDSUkoZSk7cmV0dXJuIG8ucnVsZXMucmVkdWNlKGZ1bmN0aW9uKGUsbil7dmFyIGk9ci50b0FTQ0lJKG4uc3VmZml4KTtyZXR1cm4gby5lbmRzV2l0aCh0LCIuIitpKXx8dD09PWk/bjplfSxudWxsKX0sbi5lcnJvckNvZGVzPXtET01BSU5fVE9PX1NIT1JUOiJEb21haW4gbmFtZSB0b28gc2hvcnQuIixET01BSU5fVE9PX0xPTkc6IkRvbWFpbiBuYW1lIHRvbyBsb25nLiBJdCBzaG91bGQgYmUgbm8gbW9yZSB0aGFuIDI1NSBjaGFycy4iLExBQkVMX1NUQVJUU19XSVRIX0RBU0g6IkRvbWFpbiBuYW1lIGxhYmVsIGNhbiBub3Qgc3RhcnQgd2l0aCBhIGRhc2guIixMQUJFTF9FTkRTX1dJVEhfREFTSDoiRG9tYWluIG5hbWUgbGFiZWwgY2FuIG5vdCBlbmQgd2l0aCBhIGRhc2guIixMQUJFTF9UT09fTE9ORzoiRG9tYWluIG5hbWUgbGFiZWwgc2hvdWxkIGJlIGF0IG1vc3QgNjMgY2hhcnMgbG9uZy4iLExBQkVMX1RPT19TSE9SVDoiRG9tYWluIG5hbWUgbGFiZWwgc2hvdWxkIGJlIGF0IGxlYXN0IDEgY2hhcmFjdGVyIGxvbmcuIixMQUJFTF9JTlZBTElEX0NIQVJTOiJEb21haW4gbmFtZSBsYWJlbCBjYW4gb25seSBjb250YWluIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIG9yIGRhc2hlcy4ifSxvLnZhbGlkYXRlPWZ1bmN0aW9uKGUpe3ZhciB0PXIudG9BU0NJSShlKTtpZih0Lmxlbmd0aDwxKXJldHVybiJET01BSU5fVE9PX1NIT1JUIjtpZih0Lmxlbmd0aD4yNTUpcmV0dXJuIkRPTUFJTl9UT09fTE9ORyI7Zm9yKHZhciBuLG89dC5zcGxpdCgiLiIpLGk9MDtpPG8ubGVuZ3RoOysraSl7aWYobj1vW2ldLCFuLmxlbmd0aClyZXR1cm4iTEFCRUxfVE9PX1NIT1JUIjtpZihuLmxlbmd0aD42MylyZXR1cm4iTEFCRUxfVE9PX0xPTkciO2lmKCItIj09PW4uY2hhckF0KDApKXJldHVybiJMQUJFTF9TVEFSVFNfV0lUSF9EQVNIIjtpZigiLSI9PT1uLmNoYXJBdChuLmxlbmd0aC0xKSlyZXR1cm4iTEFCRUxfRU5EU19XSVRIX0RBU0giO2lmKCEvXlthLXowLTlcLV0rJC8udGVzdChuKSlyZXR1cm4iTEFCRUxfSU5WQUxJRF9DSEFSUyJ9fSxuLnBhcnNlPWZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJEb21haW4gbmFtZSBtdXN0IGJlIGEgc3RyaW5nLiIpO3ZhciB0PWUuc2xpY2UoMCkudG9Mb3dlckNhc2UoKTsiLiI9PT10LmNoYXJBdCh0Lmxlbmd0aC0xKSYmKHQ9dC5zbGljZSgwLHQubGVuZ3RoLTEpKTt2YXIgaT1vLnZhbGlkYXRlKHQpO2lmKGkpcmV0dXJue2lucHV0OmUsZXJyb3I6e21lc3NhZ2U6bi5lcnJvckNvZGVzW2ldLGNvZGU6aX19O3ZhciBhPXtpbnB1dDplLHRsZDpudWxsLHNsZDpudWxsLGRvbWFpbjpudWxsLHN1YmRvbWFpbjpudWxsLGxpc3RlZDohMX0sYz10LnNwbGl0KCIuIik7aWYoImxvY2FsIj09PWNbYy5sZW5ndGgtMV0pcmV0dXJuIGE7dmFyIHU9ZnVuY3Rpb24oKXtyZXR1cm4veG4tLS8udGVzdCh0KT8oYS5kb21haW4mJihhLmRvbWFpbj1yLnRvQVNDSUkoYS5kb21haW4pKSxhLnN1YmRvbWFpbiYmKGEuc3ViZG9tYWluPXIudG9BU0NJSShhLnN1YmRvbWFpbikpLGEpOmF9LHM9by5maW5kUnVsZSh0KTtpZighcylyZXR1cm4gYy5sZW5ndGg8Mj9hOihhLnRsZD1jLnBvcCgpLGEuc2xkPWMucG9wKCksYS5kb21haW49W2Euc2xkLGEudGxkXS5qb2luKCIuIiksYy5sZW5ndGgmJihhLnN1YmRvbWFpbj1jLnBvcCgpKSx1KCkpO2EubGlzdGVkPSEwO3ZhciBsPXMuc3VmZml4LnNwbGl0KCIuIiksZD1jLnNsaWNlKDAsYy5sZW5ndGgtbC5sZW5ndGgpO3JldHVybiBzLmV4Y2VwdGlvbiYmZC5wdXNoKGwuc2hpZnQoKSksZC5sZW5ndGg/KHMud2lsZGNhcmQmJmwudW5zaGlmdChkLnBvcCgpKSxkLmxlbmd0aD8oYS50bGQ9bC5qb2luKCIuIiksYS5zbGQ9ZC5wb3AoKSxhLmRvbWFpbj1bYS5zbGQsYS50bGRdLmpvaW4oIi4iKSxkLmxlbmd0aCYmKGEuc3ViZG9tYWluPWQuam9pbigiLiIpKSx1KCkpOnUoKSk6dSgpfSxuLmdldD1mdW5jdGlvbihlKXtyZXR1cm4gZT9uLnBhcnNlKGUpLmRvbWFpbnx8bnVsbDpudWxsfSxuLmlzVmFsaWQ9ZnVuY3Rpb24oZSl7dmFyIHQ9bi5wYXJzZShlKTtyZXR1cm4gQm9vbGVhbih0LmRvbWFpbiYmdC5saXN0ZWQpfX0sezI0OjI0LDI2OjI2fV0sMjY6W2Z1bmN0aW9uKGUsdCxuKXsoZnVuY3Rpb24oZSl7IWZ1bmN0aW9uKHIpe2Z1bmN0aW9uIG8oZSl7dGhyb3cgbmV3IFJhbmdlRXJyb3IoaltlXSl9ZnVuY3Rpb24gaShlLHQpe2Zvcih2YXIgbj1lLmxlbmd0aCxyPVtdO24tLTspcltuXT10KGVbbl0pO3JldHVybiByfWZ1bmN0aW9uIGEoZSx0KXt2YXIgbj1lLnNwbGl0KCJAIikscj0iIjtyZXR1cm4gbi5sZW5ndGg+MSYmKHI9blswXSsiQCIsZT1uWzFdKSxlPWUucmVwbGFjZShJLCIuIikscitpKGUuc3BsaXQoIi4iKSx0KS5qb2luKCIuIil9ZnVuY3Rpb24gYyhlKXtmb3IodmFyIHQsbixyPVtdLG89MCxpPWUubGVuZ3RoO288aTspdD1lLmNoYXJDb2RlQXQobysrKSx0Pj01NTI5NiYmdDw9NTYzMTkmJm88aT8obj1lLmNoYXJDb2RlQXQobysrKSw1NjMyMD09KDY0NTEyJm4pP3IucHVzaCgoKDEwMjMmdCk8PDEwKSsoMTAyMyZuKSs2NTUzNik6KHIucHVzaCh0KSxvLS0pKTpyLnB1c2godCk7cmV0dXJuIHJ9ZnVuY3Rpb24gdShlKXtyZXR1cm4gaShlLGZ1bmN0aW9uKGUpe3ZhciB0PSIiO3JldHVybiBlPjY1NTM1JiYoZS09NjU1MzYsdCs9SChlPj4+MTAmMTAyM3w1NTI5NiksZT01NjMyMHwxMDIzJmUpLHQrPUgoZSl9KS5qb2luKCIiKX1mdW5jdGlvbiBzKGUpe3JldHVybiBlLTQ4PDEwP2UtMjI6ZS02NTwyNj9lLTY1OmUtOTc8MjY/ZS05NzpFfWZ1bmN0aW9uIGwoZSx0KXtyZXR1cm4gZSsyMis3NSooZTwyNiktKCgwIT10KTw8NSl9ZnVuY3Rpb24gZChlLHQsbil7dmFyIHI9MDtmb3IoZT1uP2soZS9SKTplPj4xLGUrPWsoZS90KTtlPk4qTz4+MTtyKz1FKWU9ayhlL04pO3JldHVybiBrKHIrKE4rMSkqZS8oZStUKSl9ZnVuY3Rpb24gZihlKXt2YXIgdCxuLHIsaSxhLGMsbCxmLHAsaCxnPVtdLHY9ZS5sZW5ndGgsdz0wLGI9QSxfPUM7Zm9yKG49ZS5sYXN0SW5kZXhPZihMKSxuPDAmJihuPTApLHI9MDtyPG47KytyKWUuY2hhckNvZGVBdChyKT49MTI4JiZvKCJub3QtYmFzaWMiKSxnLnB1c2goZS5jaGFyQ29kZUF0KHIpKTtmb3IoaT1uPjA/bisxOjA7aTx2Oyl7Zm9yKGE9dyxjPTEsbD1FO2k+PXYmJm8oImludmFsaWQtaW5wdXQiKSxmPXMoZS5jaGFyQ29kZUF0KGkrKykpLChmPj1FfHxmPmsoKHktdykvYykpJiZvKCJvdmVyZmxvdyIpLHcrPWYqYyxwPWw8PV8/UzpsPj1fK08/TzpsLV8sIShmPHApO2wrPUUpaD1FLXAsYz5rKHkvaCkmJm8oIm92ZXJmbG93IiksYyo9aDt0PWcubGVuZ3RoKzEsXz1kKHctYSx0LDA9PWEpLGsody90KT55LWImJm8oIm92ZXJmbG93IiksYis9ayh3L3QpLHclPXQsZy5zcGxpY2UodysrLDAsYil9cmV0dXJuIHUoZyl9ZnVuY3Rpb24gcChlKXt2YXIgdCxuLHIsaSxhLHUscyxmLHAsaCxnLHYsdyxiLF8sbT1bXTtmb3IoZT1jKGUpLHY9ZS5sZW5ndGgsdD1BLG49MCxhPUMsdT0wO3U8djsrK3UpKGc9ZVt1XSk8MTI4JiZtLnB1c2goSChnKSk7Zm9yKHI9aT1tLmxlbmd0aCxpJiZtLnB1c2goTCk7cjx2Oyl7Zm9yKHM9eSx1PTA7dTx2OysrdSkoZz1lW3VdKT49dCYmZzxzJiYocz1nKTtmb3Iodz1yKzEscy10PmsoKHktbikvdykmJm8oIm92ZXJmbG93Iiksbis9KHMtdCkqdyx0PXMsdT0wO3U8djsrK3UpaWYoZz1lW3VdLGc8dCYmKytuPnkmJm8oIm92ZXJmbG93IiksZz09dCl7Zm9yKGY9bixwPUU7aD1wPD1hP1M6cD49YStPP086cC1hLCEoZjxoKTtwKz1FKV89Zi1oLGI9RS1oLG0ucHVzaChIKGwoaCtfJWIsMCkpKSxmPWsoXy9iKTttLnB1c2goSChsKGYsMCkpKSxhPWQobix3LHI9PWkpLG49MCwrK3J9KytuLCsrdH1yZXR1cm4gbS5qb2luKCIiKX1mdW5jdGlvbiBoKGUpe3JldHVybiBhKGUsZnVuY3Rpb24oZSl7cmV0dXJuIFAudGVzdChlKT9mKGUuc2xpY2UoNCkudG9Mb3dlckNhc2UoKSk6ZX0pfWZ1bmN0aW9uIGcoZSl7cmV0dXJuIGEoZSxmdW5jdGlvbihlKXtyZXR1cm4geC50ZXN0KGUpPyJ4bi0tIitwKGUpOmV9KX12YXIgdj0ib2JqZWN0Ij09dHlwZW9mIG4mJm4mJiFuLm5vZGVUeXBlJiZuLHc9Im9iamVjdCI9PXR5cGVvZiB0JiZ0JiYhdC5ub2RlVHlwZSYmdCxiPSJvYmplY3QiPT10eXBlb2YgZSYmZTtiLmdsb2JhbCE9PWImJmIud2luZG93IT09YiYmYi5zZWxmIT09Ynx8KHI9Yik7dmFyIF8sbSx5PTIxNDc0ODM2NDcsRT0zNixTPTEsTz0yNixUPTM4LFI9NzAwLEM9NzIsQT0xMjgsTD0iLSIsUD0vXnhuLS0vLHg9L1teXHgyMC1ceDdFXS8sST0vW1x4MkVcdTMwMDJcdUZGMEVcdUZGNjFdL2csaj17b3ZlcmZsb3c6Ik92ZXJmbG93OiBpbnB1dCBuZWVkcyB3aWRlciBpbnRlZ2VycyB0byBwcm9jZXNzIiwibm90LWJhc2ljIjoiSWxsZWdhbCBpbnB1dCA+PSAweDgwIChub3QgYSBiYXNpYyBjb2RlIHBvaW50KSIsImludmFsaWQtaW5wdXQiOiJJbnZhbGlkIGlucHV0In0sTj1FLVMsaz1NYXRoLmZsb29yLEg9U3RyaW5nLmZyb21DaGFyQ29kZTtpZihfPXt2ZXJzaW9uOiIxLjQuMSIsdWNzMjp7ZGVjb2RlOmMsZW5jb2RlOnV9LGRlY29kZTpmLGVuY29kZTpwLHRvQVNDSUk6Zyx0b1VuaWNvZGU6aH0sdiYmdylpZih0LmV4cG9ydHM9PXYpdy5leHBvcnRzPV87ZWxzZSBmb3IobSBpbiBfKV8uaGFzT3duUHJvcGVydHkobSkmJih2W21dPV9bbV0pO2Vsc2Ugci5wdW55Y29kZT1ffSh0aGlzKX0pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9KX0se31dLDI3OltmdW5jdGlvbihlLHQsbil7IWZ1bmN0aW9uKGUscil7Im9iamVjdCI9PXR5cGVvZiBuJiZ2b2lkIDAhPT10P3Iobik6ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJleHBvcnRzIl0scik6cihlLnVsb2c9ZS51bG9nfHx7fSl9KHRoaXMsZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQoZSl7dmFyIHQ9T2JqZWN0LmNyZWF0ZShjb25zb2xlKTtbImFzc2VydCIsInRyYWNlIiwiZGVidWciLCJsb2ciLCJpbmZvIiwid2FybiIsImVycm9yIl0uZm9yRWFjaChmdW5jdGlvbihuKXtlW25dPXRbbl19KX1mdW5jdGlvbiBuKGUsbil7dmFyIHI9aVtuXTt2b2lkIDAhPT1yJiYodChlKSxyPjAmJihlLmFzc2VydD1mdW5jdGlvbigpe30pLHI+NSYmKGUudHJhY2U9ZnVuY3Rpb24oKXt9KSxyPjEwJiYoZS5kZWJ1Zz1mdW5jdGlvbigpe30pLHI+MjAmJihlLmxvZz1mdW5jdGlvbigpe30pLHI+MzAmJihlLmluZm89ZnVuY3Rpb24oKXt9KSxyPjQwJiYoZS53YXJuPWZ1bmN0aW9uKCl7fSkscj41MCYmKGUuZXJyb3I9ZnVuY3Rpb24oKXt9KSl9ZnVuY3Rpb24gcihlLHQpe3Q9dHx8e30sbihlLHQubGV2ZWx8fCJkZWJ1ZyIpfWZ1bmN0aW9uIG8oZSl7dmFyIHQ9T2JqZWN0LmNyZWF0ZShjb25zb2xlKTtyZXR1cm4gcih0LGUpLHR9dmFyIGk9e2FsbDowLHRyYWNlOjUsZGVidWc6MTAsbG9nOjIwLGluZm86MzAsd2Fybjo0MCxlcnJvcjo1MCxub25lOjFlM30sYT1vKCk7ZS5MRVZFTFM9aSxlLnNldExldmVsPW4sZS5jb25maWd1cmU9cixlLmNyZWF0ZT1vLGUubG9nZ2VyPWEsT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSl9LHt9XX0se30sWzFdKTs="));</script>

<script>
  if(!window.cnxCommonUtils) {
    window.cnxCommonUtils = {
      getHref: function() {
        return document.location.href;
      }
    }
  }
</script>
<script async='async' src='https://cdn.connatix.com/min/connatix.handler.dfp.min.js'></script>
</body>
</html>
