@datagrok/eda 1.1.7 → 1.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/943.js ADDED
@@ -0,0 +1,3 @@
1
+ /*! For license information please see 943.js.LICENSE.txt */
2
+ var eda;(()=>{"use strict";var t,e,n={4943:(t,e,n)=>{class r extends Float32Array{}var s=n(7659),i=n(1040),o=n(1811),a=n(3979),h=n(9657),l=n(708);function c(t,e){const n=t.trueCount()+e.trueCount();if(0==n)return 1;const r=t.andWithCountBits(e,!0);return r/(n-r)}function u(t){return 0===t?3402823e32:1/t-1}function g(t=!1,e="Assertion error."){if(!t)throw new Error(e)}i.gk.Tanimoto,i.gk.Dice,i.gk.Asymmetric,i.gk.BraunBlanquet,i.gk.Cosine,i.gk.Kulczynski,i.gk.McConnaughey,i.gk.RogotGoldberg,i.gk.Russel,i.gk.Sokal,i.gk.Hamming,i.gk.Euclidean,i.gk.Tanimoto,i.gk.Dice,i.gk.Asymmetric,i.gk.BraunBlanquet,i.gk.Cosine,i.gk.Kulczynski,i.gk.McConnaughey,i.gk.RogotGoldberg,i.gk.Russel,i.gk.Sokal,i.gk.Hamming,i.gk.Euclidean,i.gk.Tanimoto,i.gk.Dice,i.gk.Cosine,i.gk.Tanimoto,i.gk.Asymmetric,i.gk.Cosine,i.gk.Sokal,l.U.HAMMING,l.U.LEVENSHTEIN,l.U.MONOMER_CHEMICAL_DISTANCE,l.U.NEEDLEMANN_WUNSCH;const f={[i.CF.Euclidean]:function(t,e){let n=0;const r=t.length;if(r!==e.length)throw new Error("The dimensionality of the vectors must match");for(let s=0;s<r;++s)n+=Math.pow(t[s]-e[s],2);return Math.sqrt(n)}},m={[i.W.Levenshtein]:o.T,[i.W.JaroWinkler]:a.H$,[i.W.Manhattan]:function(t,e){if(t.length!==e.length)return 1;{let n=0;for(let r=1;r<t.length;r++)n+=t[r]==e[r]?0:1;return n/t.length}},[i.W.Onehot]:function(t,e){return t===e?0:1}},d={[i.gk.Tanimoto]:function(t,e){return u(c(t,e))},[i.gk.Dice]:function(t,e){return u(function(t,e){const n=t.trueCount()+e.trueCount();return 0==n?0:2*t.andWithCountBits(e,!0)/n}(t,e))},[i.gk.Asymmetric]:function(t,e){return u(function(t,e){const n=Math.min(t.trueCount(),e.trueCount());return 0==n?0:t.andWithCountBits(e,!0)/n}(t,e))},[i.gk.BraunBlanquet]:function(t,e){return u(function(t,e){const n=Math.max(t.trueCount(),e.trueCount());return 0==n?0:t.andWithCountBits(e,!0)/n}(t,e))},[i.gk.Cosine]:function(t,e){return u(function(t,e){const n=t.trueCount()*e.trueCount();return 0==n?0:t.andWithCountBits(e,!0)/Math.sqrt(n)}(t,e))},[i.gk.Kulczynski]:function(t,e){return u(function(t,e){const n=t.trueCount()+e.trueCount(),r=t.trueCount()*e.trueCount();return 0==r?0:t.andWithCountBits(e,!0)*n/(2*r)}(t,e))},[i.gk.McConnaughey]:function(t,e){return u(function(t,e){const n=t.trueCount()+e.trueCount(),r=t.trueCount()*e.trueCount();return 0==r?0:(t.andWithCountBits(e,!0)*n-r)/r}(t,e))},[i.gk.RogotGoldberg]:function(t,e){return u(function(t,e){const n=t.andWithCountBits(e,!0),r=t.countBits(!0)+e.countBits(!0),s=t.length,i=s-r+n;return n==s||i==s?1:n/r+i/(2*s-r)}(t,e))},[i.gk.Russel]:function(t,e){return u(function(t,e){return 0==t.length?0:t.andWithCountBits(e,!0)/t.length}(t,e))},[i.gk.Sokal]:function(t,e){return u(function(t,e){const n=t.trueCount()+e.trueCount(),r=t.andWithCountBits(e,!0);return r/(2*n-3*r)}(t,e))},[i.gk.Hamming]:function(t,e){return t.trueCount()+e.trueCount()-2*t.andWithCountBits(e,!0)},[i.gk.Euclidean]:function(t,e){return Math.sqrt(t.trueCount()+e.trueCount()-2*t.andWithCountBits(e,!0))}},p={[i.gd.TanimotoIntArray]:function(t,e){return u(c(new h.Z(t,32*t.length),new h.Z(e,32*e.length)))}},w={[i.Yc.Difference]:function(t,e){return Math.abs(t-e)}},k={[i.Qe.Vector]:{[i.CF.Euclidean]:f[i.CF.Euclidean]},[i.Qe.String]:{[i.W.Levenshtein]:m[i.W.Levenshtein],[i.W.JaroWinkler]:m[i.W.JaroWinkler],[i.W.Manhattan]:m[i.W.Manhattan],[i.W.Onehot]:m[i.W.Onehot]},[i.Qe.BitArray]:{[i.gk.Tanimoto]:d[i.gk.Tanimoto],[i.gk.Dice]:d[i.gk.Dice],[i.gk.Asymmetric]:d[i.gk.Asymmetric],[i.gk.BraunBlanquet]:d[i.gk.BraunBlanquet],[i.gk.Cosine]:d[i.gk.Cosine],[i.gk.Kulczynski]:d[i.gk.Kulczynski],[i.gk.McConnaughey]:d[i.gk.McConnaughey],[i.gk.RogotGoldberg]:d[i.gk.RogotGoldberg],[i.gk.Russel]:d[i.gk.Russel],[i.gk.Sokal]:d[i.gk.Sokal]},[i.Qe.MacroMolecule]:{[l.U.HAMMING]:l.o[l.U.HAMMING],[l.U.LEVENSHTEIN]:l.o[l.U.LEVENSHTEIN],[l.U.NEEDLEMANN_WUNSCH]:l.o[l.U.NEEDLEMANN_WUNSCH],[l.U.MONOMER_CHEMICAL_DISTANCE]:l.o[l.U.MONOMER_CHEMICAL_DISTANCE]},[i.Qe.Number]:{[i.Yc.Difference]:w[i.Yc.Difference]},[i.Qe.IntArray]:{[i.gd.TanimotoIntArray]:p[i.gd.TanimotoIntArray]}},y=Object.keys(k).reduce(((t,e)=>{for(const n of Object.keys(k[e]))t[n]=e;return t}),{});class M{method;dataType;constructor(t){this.method=t,this.dataType=y[t]}getMeasure(t){const e=k;if(!e.hasOwnProperty(this.dataType)||!e[this.dataType].hasOwnProperty(this.method))throw new Error(`Unknown measure ${this.method} for data type ${this.dataType}`);return n=this.method,y[n]==i.Qe.MacroMolecule.toString()?e[this.dataType][this.method](t):e[this.dataType][this.method];var n}static getMetricByDataType(t){return Object.keys(k[t])}static get availableMeasures(){return Object.keys(k)}}var N;!function(t){t.EUCLIDEAN="EUCLIDEAN",t.MANHATTAN="MANHATTAN"}(N||(N={}));const b=t=>null==t;function C(t,e,n,r){if(n>t[t.length-1])return;const s=t.findIndex((t=>n<t));t.pop(),t.splice(s,0,n),e.pop(),e.splice(s,0,r)}class E{_workers;_workerCount;_terminateOnComplete;constructor(t=!0,e=!0){const r=navigator.hardwareConcurrency;this._workerCount=t?Math.max(r-2,1):1,this._workers=new Array(this._workerCount).fill(null).map((()=>new Worker(new URL(n.p+n.u(100),n.b)))),this._terminateOnComplete=e}async calc(t,e,n=!0,r){return new Promise((async(s,i)=>{try{const i=t.length,o=new Array(this._workerCount),a=i*(i-1)/2;this._workerCount=Math.min(this._workerCount,a);const h=a/this._workerCount,l=new Float32Array(a);let c=0,u=1,g=0,f=Number.MIN_VALUE;for(let n=0;n<this._workerCount;n++){const s=Math.floor(n*h),m=n===this._workerCount-1?a:Math.floor((n+1)*h),d=c,p=u;n!==this._workerCount-1&&(c=i-2-Math.floor(Math.sqrt(-8*m+4*i*(i-1)-7)/2-.5),u=m-i*c+Math.floor((c+1)*(c+2)/2)),this._workers[n].postMessage({values:t,fnName:e,startRow:d,startCol:p,chunckSize:m-s,opts:r}),o[n]=new Promise(((t,e)=>{this._workers[n].onmessage=({data:{error:r,distanceMatrixData:i,min:o,max:a}})=>{this._terminateOnComplete&&this._workers[n].terminate(),r?e(r):(l.set(i,s),o<g&&(g=o),a>f&&(f=a),t())}}))}await Promise.all(o),n&&l.forEach(((t,e)=>{l[e]=(t-g)/(f-g)})),s(l)}catch(t){i(t)}}))}terminate(){this._workers.forEach((t=>t.terminate()))}}function A(t,e){return Math.floor(e()*t)}function v(t){return t()}function S(t){const e=[];for(let n=0;n<t;n++)e.push(void 0);return e}function F(t){return S(t).map(((t,e)=>e))}function x(t,e){return S(t).map((()=>e))}function z(t){return x(t,0)}function D(t){return function(t){return t.reduce(((t,e)=>t+e))}(t)/t.length}function I(t){let e=0;for(let n=0;n<t.length;n++)e=t[n]>e?t[n]:e;return e}function R(t,e,n){const r=z(t);for(let s=0;s<t;s++){let t=!0;for(;t;){const i=A(e,n);let o=!1;for(let t=0;t<s;t++)if(i===r[t]){o=!0;break}o||(t=!1),r[s]=i}}return r}function O(t,e,n){const r=[];let s=0,i=0;if(t.length!==e*n)throw new Error("Array dimensions must match input length.");for(let o=0;o<e;o++){const e=[];for(let r=0;r<n;r++)e.push(t[i]),i+=1;r.push(e),s+=1}return r}function T(t,e){const n=n=>S(t).map((()=>x(e,n))),r=[];return r.push(n(-1)),r.push(n(1/0)),r.push(n(0)),r}function _(t,e,n){const r=z(t);for(let s=0;s<t;s++){let t=!0,i=0;for(;t;){i=A(e,n);let o=!1;for(let t=0;t<s;t++)if(i===r[t]){o=!0;break}o||(t=!1)}r[s]=i}return r}function P(t,e,n,r,s){e=Math.floor(e);const i=t[0][e],o=t[1][e];if(t[2][e],n>=o[0])return 0;for(let t=0;t<i.length;t++)if(r===i[t])return 0;return L(t,e,n,r,s)}function L(t,e,n,r,s){const i=t[0][e],o=t[1][e],a=t[2][e];if(n>=o[0])return 0;o[0]=n,i[0]=r,a[0]=s;let h=0,l=0;for(;;){const e=2*h+1,r=e+1,s=t[0][0].length;if(e>=s)break;if(r>=s){if(!(o[e]>n))break;l=e}else if(o[e]>=o[r]){if(!(n<o[e]))break;l=e}else{if(!(n<o[r]))break;l=r}o[h]=o[l],i[h]=i[l],a[h]=a[l],h=l}return o[h]=n,i[h]=r,a[h]=s,1}function W(t,e,n,r,s){const i=T(e,r);for(let r=0;r<e;r++)for(let e=0;e<n;e++){if(t[0][r][e]<0)continue;const n=t[0][r][e],o=t[2][r][e],a=v(s);P(i,r,a,n,o),P(i,n,a,r,o),t[2][r][e]=0}return i}function V(t){const e=t[0],n=t[1];for(let t=0;t<e.length;t++){const r=e[t],s=n[t];for(let t=0;t<r.length-1;t++){const e=r.length-t-1,n=s.length-t-1,i=r[0];r[0]=r[e],r[e]=i;const o=s[0];s[0]=s[n],s[n]=o,B(s,r,n,0)}}return{indices:e,weights:n}}function B(t,e,n,r){for(;2*r+1<n;){const s=2*r+1,i=s+1;let o=r;if(t[o]<t[s]&&(o=s),i<n&&t[o]<t[i]&&(o=i),o===r)break;{const n=t[r];t[r]=t[o],t[o]=n;const s=e[r];e[r]=e[o],e[o]=s,r=o}}}function j(t,e){const n=t[0][e],r=t[1][e],s=t[2][e];let i=1/0,o=-1;for(let t=0;t>n.length;t++)1===s[t]&&r[t]<i&&(i=r[t],o=t);return o>=0?(s[o]=0,Math.floor(n[o])):-1}class U{entries=new Map;nRows=0;nCols=0;constructor(t,e,n,r){if(t.length!==e.length||t.length!==n.length)throw new Error("rows, cols and values arrays must all have the same length");this.nRows=r[0],this.nCols=r[1];for(let r=0;r<n.length;r++){const s=t[r],i=e[r];this.checkDims(s,i);const o=this.makeKey(s,i);this.entries.set(o,{value:n[r],row:s,col:i})}}makeKey(t,e){return`${t}:${e}`}checkDims(t,e){if(!(t<this.nRows&&e<this.nCols))throw new Error("row and/or col specified outside of matrix dimensions")}set(t,e,n){this.checkDims(t,e);const r=this.makeKey(t,e);this.entries.has(r)?this.entries.get(r).value=n:this.entries.set(r,{value:n,row:t,col:e})}get(t,e,n=0){const r=this.makeKey(t,e);return this.entries.has(r)?this.entries.get(r).value:n}getAll(t=!0){const e=new Array(this.entries.size).fill(null);let n=0;return this.entries.forEach((t=>{e[n++]=t})),t&&e.sort(((t,e)=>t.row===e.row?t.col-e.col:t.row-e.row)),e}getDims(){return[this.nRows,this.nCols]}getRows(){return Array.from(this.entries,(([t,e])=>e.row))}getCols(){return Array.from(this.entries,(([t,e])=>e.col))}getValues(){return Array.from(this.entries,(([t,e])=>e.value))}forEach(t){this.entries.forEach((e=>t(e.value,e.row,e.col)))}map(t){const e=new Float32Array(this.entries.size);let n=0;this.entries.forEach((r=>{e[n++]=t(r.value,r.row,r.col)}));const r=[this.nRows,this.nCols];return new U(this.getRows(),this.getCols(),e,r)}toArray(){const t=S(this.nRows).map((()=>z(this.nCols)));return this.entries.forEach((e=>{t[e.row][e.col]=e.value})),t}}function G(t){const e=t.getRows(),n=t.getCols(),r=t.getValues(),s=n.length,i=new Int32Array(s),o=new Int32Array(s),a=new Float32Array(s);i.set(e),o.set(n),a.set(r);const h=[t.nCols,t.nRows];return new U(o,i,a,h)}function Y(t,e){return X(t,e,((t,e)=>t*e))}function H(t,e){return X(t,e,((t,e)=>t+e))}function K(t,e){return X(t,e,((t,e)=>t-e))}function q(t,e){return t.map((t=>t*e))}function $(t){const e=new Set,n=t.getValues(),r=t.getRows(),s=t.getCols();for(let t=0;t<n.length;t++)0===n[t]&&e.add(t);const i=(t,n)=>!e.has(n),o=n.filter(i),a=r.filter(i),h=s.filter(i);return new U(a,h,o,t.getDims())}function Z(t,e="l2"){const n=Q[e],r=new Map;t.forEach(((t,e,n)=>{const s=r.get(e)||[];s.push(n),r.set(e,s)}));const s=new U([],[],[],t.getDims());for(let e of r.keys()){const i=r.get(e).sort(),o=n(i.map((n=>t.get(e,n))));for(let t=0;t<o.length;t++)s.set(e,i[t],o[t])}return s}const Q={max:t=>{let e=-1/0;for(let n=0;n<t.length;n++)e=t[n]>e?t[n]:e;return t.map((t=>t/e))},l1:t=>{let e=0;for(let n=0;n<t.length;n++)e+=t[n];return t.map((t=>t/e))},l2:t=>{let e=0;for(let n=0;n<t.length;n++)e+=t[n]**2;return t.map((t=>Math.sqrt(t**2/e)))}};function X(t,e,n){const r=new Set,s=[],i=[],o=[],a=(r,a)=>{s.push(r),i.push(a);const h=n(t.get(r,a),e.get(r,a));o.push(h)},h=t.getValues(),l=t.getRows(),c=t.getCols();for(let t=0;t<h.length;t++){const e=l[t],n=c[t],s=`${e}:${n}`;r.add(s),a(e,n)}const u=e.getValues(),g=e.getRows(),f=e.getCols();for(let t=0;t<u.length;t++){const e=g[t],n=f[t],s=`${e}:${n}`;r.has(s)||a(e,n)}const m=[t.nRows,t.nCols];return new U(s,i,o,m)}function J(t){const e=[];t.forEach(((t,n,r)=>{e.push({value:t,row:n,col:r})})),e.sort(((t,e)=>t.row===e.row?t.col-e.col:t.row-e.row));const n=[],r=[],s=[];let i=-1;for(let t=0;t<e.length;t++){const{row:o,col:a,value:h}=e[t];o!==i&&(i=o,s.push(t)),n.push(a),r.push(h)}return{indices:n,values:r,indptr:s}}class tt{hyperplanes;offsets;children;indices;constructor(t,e,n,r){this.hyperplanes=t,this.offsets=e,this.children=n,this.indices=r}}function et(t,e,n,r){const s=Math.max(10,e),i=F(n).map(((e,n)=>function(t,e=30,n,r){return nt(t,F(t.length),e,n,r)}(t,s,n,r))),o=i.map((t=>function(t,e){const n=st(t),r=it(t),s=F(n).map((()=>t.hyperplane?1:0)),i=z(n),o=F(n).map((()=>[-1,-1])),a=F(r).map((()=>F(e).map((()=>-1))));return rt(t,s,i,o,a,0,0),new tt(s,i,o,a)}(t,s)));return o}function nt(t,e,n=30,r,s){if(e.length>n){const i=function(t,e,n){let r=A(e.length,n),s=A(e.length,n);s+=r===s?1:0,s%=e.length;const i=e[r],o=e[s];let a=0,h=0;h=t[i]-t[o],a-=h*(t[i]+t[o])/2;let l=0,c=0;const u=z(e.length);for(let r=0;r<e.length;r++){let s=a;s+=h*t[e[r]],0===s?(u[r]=A(2,n),0===u[r]?l+=1:c+=1):s>0?(u[r]=0,l+=1):(u[r]=1,c+=1)}const g=z(l),f=z(c);l=0,c=0;for(let t=0;t<u.length;t++)0===u[t]?(g[l]=e[t],l+=1):(f[c]=e[t],c+=1);return{indicesLeft:g,indicesRight:f,hyperplane:h,offset:a}}(t,e,s),{indicesLeft:o,indicesRight:a,hyperplane:h,offset:l}=i;return{leftChild:nt(t,o,n,r+1,s),rightChild:nt(t,a,n,r+1,s),isLeaf:!1,hyperplane:h,offset:l}}return{indices:e,isLeaf:!0}}function rt(t,e,n,r,s,i,o){if(t.isLeaf)return r[i][0]=-o,s[o].splice(0,t.indices.length,...t.indices),{nodeNum:i,leafNum:o+=1};{e[i]=t.hyperplane,n[i]=t.offset,r[i][0]=i+1;const a=i;let h=rt(t.leftChild,e,n,r,s,i+1,o);return i=h.nodeNum,o=h.leafNum,r[a][1]=i+1,h=rt(t.rightChild,e,n,r,s,i+1,o),{nodeNum:h.nodeNum,leafNum:h.leafNum}}}function st(t){return t.isLeaf?1:1+st(t.leftChild)+st(t.rightChild)}function it(t){return t.isLeaf?1:it(t.leftChild)+it(t.rightChild)}function ot(t,e,n,r){let s=e;return s+=t*n,0===s?A(2,r):s>0?0:1}function at(t,e,n){let r=0;for(;e.children[r][0]>0;)r=0===ot(e.hyperplanes[r],e.offsets[r],t,n)?e.children[r][0]:e.children[r][1];const s=-1*e.children[r][0];return e.indices[s]}var ht=n(7531),lt=n(1353),ct=n(4162);const ut=1e-5,gt=.001;class ft{learningRate=1;localConnectivity=1;minDist=.1;nComponents=2;nEpochs=0;nNeighbors=15;negativeSampleRate=5;random=Math.random;repulsionStrength=1;setOpMixRatio=1;spread=1;transformQueueSize=4;targetMetric="categorical";targetWeight=.5;targetNNeighbors=this.nNeighbors;distanceFn=mt;knnIndices;knnDistances;graph;X;isInitialized=!1;rpForest=[];initFromRandom;initFromTree;search;searchGraph;Y;embedding=[];optimizationState=new dt;get neighbors(){return this.nNeighbors}constructor(t={}){const e=e=>{void 0!==t[e]&&(this[e]=t[e])};e("distanceFn"),e("learningRate"),e("localConnectivity"),e("minDist"),e("nComponents"),e("nEpochs"),e("nNeighbors"),e("negativeSampleRate"),e("random"),e("repulsionStrength"),e("setOpMixRatio"),e("spread"),e("transformQueueSize")}fit(t){return this.initializeFit(t),this.optimizeLayout(),this.embedding}async fitAsync(t,e=(()=>!0)){return this.initializeFit(t),await this.optimizeLayoutAsync(e),this.embedding}setSupervisedProjection(t,e={}){this.Y=t,this.targetMetric=e.targetMetric||this.targetMetric,this.targetWeight=e.targetWeight||this.targetWeight,this.targetNNeighbors=e.targetNNeighbors||this.targetNNeighbors}setPrecomputedKNN(t,e){this.knnIndices=t,this.knnDistances=e}initializeFit(t){if(t.length<=this.nNeighbors)throw new Error(`Not enough data points (${t.length}) to create nNeighbors: ${this.nNeighbors}. Add more data points or adjust the configuration.`);if(this.X===t&&this.isInitialized)return this.getNEpochs();if(this.X=t,!this.knnIndices&&!this.knnDistances){const e=this.nearestNeighbors(t);this.knnIndices=e.knnIndices,this.knnDistances=e.knnDistances}this.graph=this.fuzzySimplicialSet(t,this.nNeighbors,this.setOpMixRatio),this.makeSearchFns(),this.searchGraph=this.makeSearchGraph(t),this.processGraphForSupervisedProjection();const{head:e,tail:n,epochsPerSample:r}=this.initializeSimplicialSetEmbedding();return this.optimizationState.head=e,this.optimizationState.tail=n,this.optimizationState.epochsPerSample=r,this.initializeOptimization(),this.prepareForOptimizationLoop(),this.isInitialized=!0,this.getNEpochs()}makeSearchFns(){const{initFromTree:t,initFromRandom:e}=(n=this.distanceFn,{initFromRandom:function(t,e,r,s,i){for(let o=0;o<r.length;o++){const a=R(t,e.length,i);for(let t=0;t<a.length;t++)a[t]<0||P(s,o,n(e[a[t]],r[o]),a[t],1)}},initFromTree:function(t,e,r,s,i){for(let o=0;o<r.length;o++){const a=at(r[o],t,i);for(let t=0;t<a.length;t++){if(a[t]<0)return;P(s,o,n(e[a[t]],r[o]),a[t],1)}}}});var n;this.initFromTree=t,this.initFromRandom=e,this.search=function(t){return function(e,n,r,s){const{indices:i,indptr:o}=J(n);for(let n=0;n<s.length;n++){const a=new Set(r[0][n]);for(;;){const h=j(r,n);if(-1===h)break;const l=i.slice(o[h],o[h+1]);for(const i of l)i===h||-1===i||a.has(i)||(L(r,n,t(e[i],s[n]),i,1),a.add(i))}}return r}}(this.distanceFn)}makeSearchGraph(t){const e=this.knnIndices,n=this.knnDistances,r=[t.length,t.length],s=new U([],[],[],r);for(let t=0;t<e.length;t++){const r=e[t],i=n[t];for(let e=0;e<r.length;e++){const n=r[e],o=i[e];o>0&&s.set(t,n,o)}}return X(s,G(s),((t,e)=>t>e?t:e))}transform(t){const e=this.X;if(void 0===e||0===e.length)throw new Error("No data has been fit.");let n=Math.floor(this.nNeighbors*this.transformQueueSize);n=Math.min(e.length,n);const r=function(t,e,n,r,s,i,o){const a=T(n.length,r);if(s(r,e,n,a,o),t)for(let r of t)i(r,e,n,a,o);return a}(this.rpForest,e,t,n,this.initFromRandom,this.initFromTree,this.random),s=this.search(e,this.searchGraph,r,t);let{indices:i,weights:o}=V(s);i=i.map((t=>t.slice(0,this.nNeighbors))),o=o.map((t=>t.slice(0,this.nNeighbors)));const a=Math.max(0,this.localConnectivity-1),{sigmas:h,rhos:l}=this.smoothKNNDistance(o,this.nNeighbors,a),{rows:c,cols:u,vals:g}=this.computeMembershipStrengths(i,o,h,l),f=[t.length,e.length];let m=new U(c,u,g,f);const d=J(Z(m,"l1")),p=t.length,w=function(t,e,n){const r=z(t.length).map((t=>z(n[0].length)));for(let s=0;s<t.length;s++)for(let i=0;i<t[0].length;i++)for(let o=0;o<n[0].length;o++){const a=t[s][i];r[s][o]+=e[s][i]*n[a][o]}return r}(O(d.indices,p,this.nNeighbors),O(d.values,p,this.nNeighbors),this.embedding),k=this.nEpochs?this.nEpochs/3:m.nRows<=1e4?100:30,y=m.getValues().reduce(((t,e)=>e>t?e:t),0);m=m.map((t=>t<y/k?0:t)),m=$(m);const M=this.makeEpochsPerSample(m.getValues(),k),N=m.getRows(),b=m.getCols();return this.assignOptimizationStateParameters({headEmbedding:w,tailEmbedding:this.embedding,head:N,tail:b,currentEpoch:0,nEpochs:k,nVertices:m.getDims()[1],epochsPerSample:M}),this.prepareForOptimizationLoop(),this.optimizeLayout()}processGraphForSupervisedProjection(){const{Y:t,X:e}=this;if(t){if(t.length!==e.length)throw new Error("Length of X and y must be equal");if("categorical"===this.targetMetric){const e=this.targetWeight<1?1/(1-this.targetWeight)*2.5:1e12;this.graph=this.categoricalSimplicialSetIntersection(this.graph,t,e)}}}step(){const{currentEpoch:t}=this.optimizationState;return t<this.getNEpochs()&&this.optimizeLayoutStep(t),this.optimizationState.currentEpoch}getEmbedding(){return this.embedding}nearestNeighbors(t){const{distanceFn:e,nNeighbors:n}=this,r=function(t,e){return function(n,r,s,i=10,o=50,a=.001,h=.5,l=!0){const c=n.length,u=T(n.length,s);for(let r=0;r<n.length;r++){const i=_(s,n.length,e);for(let e=0;e<i.length;e++){const s=t(n[r],n[i[e]]);P(u,r,s,i[e],1),P(u,i[e],s,r,1)}}if(l)for(let e=0;e<r.length;e++)for(let s=0;s<r[e].length&&!(r[e][s]<0);s++)for(let i=s+1;i<r[e].length&&!(r[e][i]<0);i++){const o=t(n[r[e][s]],n[r[e][i]]);P(u,r[e][s],o,r[e][i],1),P(u,r[e][i],o,r[e][s],1)}for(let r=0;r<i;r++){const r=W(u,c,s,o,e);let i=0;for(let s=0;s<c;s++)for(let a=0;a<o;a++){let l=Math.floor(r[0][s][a]);if(!(l<0||v(e)<h))for(let e=0;e<o;e++){const o=Math.floor(r[0][s][e]),h=r[2][s][a],c=r[2][s][e];if(o<0||!h&&!c)continue;const g=t(n[l],n[o]);i+=P(u,l,g,o,1),i+=P(u,o,g,l,1)}}if(i<=a*s*n.length)break}return V(u)}}(e,this.random),s=5+Math.floor(.5==(i=t.length**.5/20)?0:Math.round(i));var i;const o=Math.max(5,Math.floor(Math.round((t=>Math.log(t)/Math.log(2))(t.length))));this.rpForest=et(t,n,s,this.random);const a=function(t){if(t.length>0){const e=[];for(let n of t)e.push(...n.indices);return e}return[[-1]]}(this.rpForest),{indices:h,weights:l}=r(t,a,n,o);return{knnIndices:h,knnDistances:l}}fuzzySimplicialSet(t,e,n=1){const{knnIndices:r=[],knnDistances:s=[],localConnectivity:i}=this,{sigmas:o,rhos:a}=this.smoothKNNDistance(s,e,i),{rows:h,cols:l,vals:c}=this.computeMembershipStrengths(r,s,o,a),u=[t.length,t.length],g=new U(h,l,c,u),f=G(g),m=Y(g,f),d=K(H(g,f),m);return H(q(d,n),q(m,1-n))}categoricalSimplicialSetIntersection(t,e,n,r=1){let s=function(t,e,n=1,r=5){return t.map(((t,s,i)=>-1===e[s]||-1===e[i]?t*Math.exp(-n):e[s]!==e[i]?t*Math.exp(-r):t))}(t,e,r,n);return s=$(s),function(t){const e=G(t=Z(t,"max"));return $(t=H(t,K(e,Y(e,t))))}(s)}smoothKNNDistance(t,e,n=1,r=64,s=1){const i=Math.log(e)/Math.log(2)*s,o=z(t.length),a=z(t.length);for(let e=0;e<t.length;e++){let s=0,h=1/0,l=1;const c=t[e],u=c.filter((t=>t>0));if(u.length>=n){let t=Math.floor(n),r=n-t;t>0?(o[e]=u[t-1],r>ut&&(o[e]+=r*(u[t]-u[t-1]))):o[e]=r*u[0]}else u.length>0&&(o[e]=I(u));for(let n=0;n<r;n++){let n=0;for(let r=1;r<t[e].length;r++){const s=t[e][r]-o[e];n+=s>0?Math.exp(-s/l):1}if(Math.abs(n-i)<ut)break;n>i?(h=l,l=(s+h)/2):(s=l,h===1/0?l*=2:l=(s+h)/2)}if(a[e]=l,o[e]>0){const t=D(c);a[e]<gt*t&&(a[e]=gt*t)}else{const n=D(t.map(D));a[e]<gt*n&&(a[e]=gt*n)}}return{sigmas:a,rhos:o}}computeMembershipStrengths(t,e,n,r){const s=t.length,i=t[0].length,o=z(s*i),a=z(s*i),h=z(s*i);for(let l=0;l<s;l++)for(let s=0;s<i;s++){let c=0;-1!==t[l][s]&&(c=t[l][s]===l?0:e[l][s]-r[l]<=0?1:Math.exp(-(e[l][s]-r[l])/n[l]),o[l*i+s]=l,a[l*i+s]=t[l][s],h[l*i+s]=c)}return{rows:o,cols:a,vals:h}}initializeSimplicialSetEmbedding(){const t=this.getNEpochs(),{nComponents:e}=this,n=this.graph.getValues();let r=0;for(let t=0;t<n.length;t++){const e=n[t];r<n[t]&&(r=e)}const s=this.graph.map((e=>e<r/t?0:e));this.embedding=z(s.nRows).map((()=>z(e).map((()=>20*v(this.random)-10))));const i=[],o=[],a=[],h=s.getAll();for(let t=0;t<h.length;t++){const e=h[t];e.value&&(i.push(e.value),a.push(e.row),o.push(e.col))}return{head:o,tail:a,epochsPerSample:this.makeEpochsPerSample(i,t)}}makeEpochsPerSample(t,e){const n=x(t.length,-1),r=I(t),s=t.map((t=>t/r*e));return s.forEach(((t,r)=>{t>0&&(n[r]=e/s[r])})),n}assignOptimizationStateParameters(t){Object.assign(this.optimizationState,t)}prepareForOptimizationLoop(){const{repulsionStrength:t,learningRate:e,negativeSampleRate:n}=this,{epochsPerSample:r,headEmbedding:s,tailEmbedding:i}=this.optimizationState,o=s[0].length,a=s.length===i.length,h=r.map((t=>t/n)),l=[...h],c=[...r];this.assignOptimizationStateParameters({epochOfNextSample:c,epochOfNextNegativeSample:l,epochsPerNegativeSample:h,moveOther:a,initialAlpha:e,alpha:e,gamma:t,dim:o})}initializeOptimization(){const t=this.embedding,e=this.embedding,{head:n,tail:r,epochsPerSample:s}=this.optimizationState,i=this.getNEpochs(),o=this.graph.nCols,{a,b:h}=function(t,e){const n=function(t,e,n){return S(300).map(((t,n)=>0+n*((e-0)/299)))}(0,3*t).map((t=>t<e?1:t)),r=z(n.length).map(((r,s)=>n[s]>=e?Math.exp(-(n[s]-e)/t):r)),s={x:n,y:r},{parameterValues:i}=function(t,e,n={}){let{maxIterations:r=100,gradientDifference:s=.1,damping:i=0,errorTolerance:o=.01,minValues:a,maxValues:h,initialValues:l}=n;if(i<=0)throw new Error("The damping option must be a positive number");if(!t.x||!t.y)throw new Error("The data parameter must have x and y elements");if(!(0,ht.Z)(t.x)||t.x.length<2||!(0,ht.Z)(t.y)||t.y.length<2)throw new Error("The data parameter elements must be an array with more than 2 points");if(t.x.length!==t.y.length)throw new Error("The data parameter elements must have the same size");let c=l||new Array(e.length).fill(1),u=c.length;if(h=h||new Array(u).fill(Number.MAX_SAFE_INTEGER),a=a||new Array(u).fill(Number.MIN_SAFE_INTEGER),h.length!==a.length)throw new Error("minValues and maxValues must be the same size");if(!(0,ht.Z)(c))throw new Error("initialValues must be an array");let g,f=(0,lt.Z)(t,c,e),m=f<=o;for(g=0;g<r&&!m;g++){c=(0,ct.Z)(t,c,i,s,e);for(let t=0;t<u;t++)c[t]=Math.min(Math.max(a[t],c[t]),h[t]);if(f=(0,lt.Z)(t,c,e),isNaN(f))break;m=f<=o}return{parameterValues:c,parameterError:f,iterations:g}}(s,(([t,e])=>n=>1/(1+t*n**(2*e))),{damping:1.5,initialValues:[.5,.5],gradientDifference:.1,maxIterations:100,errorTolerance:.01}),[o,a]=i;return{a:o,b:a}}(this.spread,this.minDist);this.assignOptimizationStateParameters({headEmbedding:t,tailEmbedding:e,head:n,tail:r,epochsPerSample:s,a,b:h,nEpochs:i,nVertices:o})}optimizeLayoutStep(t){const{optimizationState:e}=this,{head:n,tail:r,headEmbedding:s,tailEmbedding:i,epochsPerSample:o,epochOfNextSample:a,epochOfNextNegativeSample:h,epochsPerNegativeSample:l,moveOther:c,initialAlpha:u,alpha:g,gamma:f,a:m,b:d,dim:p,nEpochs:w,nVertices:k}=e;for(let e=0;e<o.length;e++){if(a[e]>t)continue;const u=n[e],w=r[e],y=s[u],M=i[w],N=wt(y,M);let b=0;N>0&&(b=-2*m*d*Math.pow(N,d-1),b/=m*Math.pow(N,d)+1);for(let t=0;t<p;t++){const e=pt(b*(y[t]-M[t]),4);y[t]+=e*g,c&&(M[t]+=-e*g)}a[e]+=o[e];const C=Math.floor((t-h[e])/l[e]);for(let t=0;t<C;t++){const t=A(k,this.random),e=i[t],n=wt(y,e);let r=0;if(n>0)r=2*f*d,r/=(.001+n)*(m*Math.pow(n,d)+1);else if(u===t)continue;for(let t=0;t<p;t++){let n=4;r>0&&(n=pt(r*(y[t]-e[t]),4)),y[t]+=n*g}}h[e]+=C*l[e]}return e.alpha=u*(1-t/w),e.currentEpoch+=1,s}optimizeLayoutAsync(t=(()=>!0)){return new Promise(((e,n)=>{const r=async()=>{try{const{nEpochs:n,currentEpoch:s}=this.optimizationState;this.embedding=this.optimizeLayoutStep(s);const i=this.optimizationState.currentEpoch,o=!1===t(i),a=i===n;if(o||a)return e(a);setTimeout((()=>r()),0)}catch(t){n(t)}};setTimeout((()=>r()),0)}))}optimizeLayout(t=(()=>!0)){let e=!1,n=[];for(;!e;){const{nEpochs:r,currentEpoch:s}=this.optimizationState;n=this.optimizeLayoutStep(s);const i=this.optimizationState.currentEpoch,o=!1===t(i);e=i===r||o}return n}getNEpochs(){const t=this.graph;if(this.nEpochs>0)return this.nEpochs;if(!t)return 200;const e=t.nRows;return e<=2500?500:e<=5e3?400:e<=7500?300:200}}function mt(t,e){return Math.abs(t-e)}class dt{currentEpoch=0;headEmbedding=[];tailEmbedding=[];head=[];tail=[];epochsPerSample=[];epochOfNextSample=[];epochOfNextNegativeSample=[];epochsPerNegativeSample=[];moveOther=!0;initialAlpha=1;alpha=1;gamma=1;a=1.5769434603113077;b=.8950608779109733;dim=2;nEpochs=500;nVertices=0}function pt(t,e){return t>e?e:t<-e?-e:t}function wt(t,e){let n=0;for(let r=0;r<t.length;r++)n+=Math.pow(t[r]-e[r],2);return n}class kt{_workerCount;constructor(){this._workerCount=Math.max(navigator.hardwareConcurrency-2,1)}async calc(t,e,r,s={}){const i=t.length*(t.length-1)/2,o=Math.floor(i/this._workerCount),a=t.length>2e4?await this.getMinimalThreshold(t,e,s):0;r<a&&(console.log(`using threshold ${a}`),r=a),s.threshold=r;const h=new Array(this._workerCount),l=new Array(this._workerCount).fill(null).map((()=>new Worker(new URL(n.p+n.u(471),n.b))));for(let n=0;n<this._workerCount;n++)h[n]=new Promise(((a,h)=>{const c=n*o,u=n===this._workerCount-1?i:(n+1)*o;u<=c&&a({i:new Int32Array(0),j:new Int32Array(0),distance:new Float32Array(0),idx:n}),l[n].postMessage({values:t,startIdx:c,endIdx:u,threshold:r,fnName:e,opts:s}),l[n].onmessage=({data:{error:t,i:e,j:r,distance:s}})=>{t?(l[n].terminate(),h(t)):(l[n].terminate(),a({i:e,j:r,distance:s,idx:n}))}}));const c=await Promise.all(h),u=c.reduce(((t,e)=>t+e.i.length),0),g=new Int32Array(u),f=new Int32Array(u),m=new Float32Array(u);let d=0;for(const t of c)g.set(t.i,d),f.set(t.j,d),m.set(t.distance,d),d+=t.i.length;return{i:g,j:f,distance:m}}async getKNN(t,e,n=15,r={}){return await this.multiColumnKNN([t],[e],n,[r],[1])}async multiColumnKNN(t,e,r=15,s,i,o=N.EUCLIDEAN){if(t.length!==e.length||t.length!==s.length||t.length!==i.length)throw new Error("values, distance functions, options and weights arrays should have the same length");if(t.some((e=>e.length!==t[0].length)))throw new Error("all values arrays should have the same length");const a=t[0].length*(t[0].length-1)/2,h=Math.floor(a/this._workerCount),l=new Array(this._workerCount),c=new Array(this._workerCount).fill(null).map((()=>new Worker(new URL(n.p+n.u(664),n.b))));for(let n=0;n<this._workerCount;n++)l[n]=new Promise(((l,u)=>{const g=n*h,f=n===this._workerCount-1?a:(n+1)*h;f<=g&&l({knnDistances:new Array(0),knnIndexes:new Array(0)}),c[n].postMessage({values:t,startIdx:g,endIdx:f,fnNames:e,opts:s,nNeighbours:r,weights:i,aggregationMethod:o}),c[n].onmessage=({data:{error:t,knnDistances:e,knnIndexes:r}})=>{t?(c[n].terminate(),u(t)):(c[n].terminate(),l({knnDistances:e,knnIndexes:r}))}}));const u=await Promise.all(l),g={knnDistances:new Array(t[0].length).fill(null).map((()=>new Array(r).fill(99999))),knnIndexes:new Array(t[0].length).fill(null).map((()=>new Array(r).fill(-1)))};for(const e of u)for(let n=0;n<t[0].length;++n)for(let t=0;t<e.knnDistances[n]?.length;++t)C(g.knnDistances[n],g.knnIndexes[n],e.knnDistances[n][t],e.knnIndexes[n][t]);return g}async getSampleDistances(t,e,r={}){const s=new Array(this._workerCount).fill(null).map((()=>new Worker(new URL(n.p+n.u(118),n.b)))),i=t.slice();for(let t=i.length-1;t>0;t--){const e=Math.floor(Math.random()*(t+1));[i[t],i[e]]=[i[e],i[t]]}try{const n=t.length*(t.length-1)/2,o=Math.floor(n/this._workerCount),a=1e6,h=Math.max(Math.min(n/1e3,a),Math.min(n,a)),l=Math.floor(h/this._workerCount),c=new Array(this._workerCount);for(let t=0;t<this._workerCount;t++)c[t]=new Promise(((a,h)=>{const c=t*o,u=t===this._workerCount-1?n:(t+1)*o;s[t].postMessage({values:i,startIdx:c,endIdx:u,sampleLength:l,fnName:e,opts:r}),s[t].onmessage=({data:{error:e,distance:n}})=>{s[t].terminate(),e?h(e):a({distance:n})}}));const u=await Promise.all(c),g=u.reduce(((t,e)=>t+e.distance.length),0),f=new Float32Array(g);let m=0;for(const t of u)f.set(t.distance,m),m+=t.distance.length;return f.sort(),f}catch(t){return s?.forEach((t=>t?.terminate())),console.error(t),new Float32Array(1).fill(.5)}}async getMinimalThreshold(t,e,n={}){try{const r=t.length*(t.length-1)/2,s=await this.getSampleDistances(t,e,n);return 1-s[Math.floor(7e7/r*s.length)]}catch(t){return console.error(t),.5}}static calcSync(t,e,n,r){const s=[],o=[],a=[];let h=0,l=0,c=0;const u=t.length*(t.length-1)/2;for(;h<u;){const u=b(t[l])||b(t[c])?1:n(t[l],t[c]);(Object.values(i.gk).some((t=>t===e))?1/(1+u):1-u)>=r&&(s.push(l),o.push(c),a.push(u)),h++,c++,c===t.length&&(l++,c=l+1)}return{i:new Int32Array(s),j:new Int32Array(o),distance:new Float32Array(a)}}}class yt{data;weights;aggregationMethod;constructor(t){this.data=t.data,this.weights=t.weights,this.aggregationMethod=t.aggregationMethod}}class Mt extends yt{reducer;iterations;distanceFnames;distanceFns;distanceFnArgs;constructor(t){super(t),this.reducer=new s.Z(t),this.iterations=t?.iterations??100,this.distanceFnames=t.distanceFnames,this.distanceFns=t.distanceFns,this.distanceFnArgs=t.distanceFnArgs}async transform(){if(this.data[0].length>1e4)throw new Error("Maximum number of samples for T-SNE is 10000");const t=new E(!0,!1);try{const r=(e=this.aggregationMethod,n=this.weights,e===N.MANHATTAN?t=>t.reduce(((t,e,r)=>t+e*n[r]),0):t=>{const e=t.reduce(((t,e,r)=>t+(e*n[r])**2),0);return Math.sqrt(e)}),s=[];for(let e=0;e<this.data.length;++e){const n=await t.calc(this.data[e],this.distanceFnames[e],!1,this.distanceFnArgs[e]);s.push(n)}const i=new Float32Array(s[0].length).fill(0);for(let t=0;t<s[0].length;++t)i[t]=r(s.map((e=>e[t])));const o=function(t,e){const n=function(t){return(e,n)=>t*e+n-Math.floor((e+2)*(e+1)/2)}(e);function r(t,e){const r=Number(t),s=Number(e);return n(r,s)}const s={get:(t,n,s)=>"length"===n?e:new Proxy(t,function(t){return{get:(e,n,s)=>t===n?0:e[Number(t)>Number(n)?r(n,t):r(t,n)]}}(n))};return new Proxy(t,s)}(i,this.data[0].length);this.reducer.initDataDist(o);for(let t=0;t<this.iterations;++t)this.reducer.step();return t.terminate(),this.reducer.getSolution()}catch(e){throw t.terminate(),e}var e,n}}class Nt extends yt{reducer;distanceFnames;distanceFns;vectors;progressFunc;distanceFnArgs;constructor(t){super(t),g("distanceFnames"in t),g("distanceFns"in t),this.distanceFnArgs=t.distanceFnArgs,this.distanceFns=t.distanceFns,this.progressFunc=t.progressFunc,this.distanceFnames=t.distanceFnames,this.vectors=new Array(this.data[0].length).fill(0).map(((t,e)=>e)),this.data[0].length<15&&(t.nNeighbors=this.data[0].length-1),this.reducer=new ft(t)}async transform(t){console.time("knn graph");const e=await(new kt).multiColumnKNN(this.data,this.distanceFnames,this.reducer.neighbors,this.distanceFnArgs,this.weights,this.aggregationMethod);console.timeEnd("knn graph"),this.reducer.setPrecomputedKNN(e.knnIndexes,e.knnDistances),await new Promise((t=>{setTimeout((()=>{t()}),300)}));const n=await this.reducer.fitAsync(this.vectors,(t=>{this.progressFunc&&this.progressFunc(t,this.reducer.getNEpochs(),this.reducer.getEmbedding())}));return s=n,new Array(s.length).fill(0).map(((t,e)=>r.from(s[e])));var s}}const bt={UMAP:Nt,"t-SNE":Mt};class Ct{reducer;constructor(t,e,n,r,s,i){const o=[];for(let e=0;e<n.length;++e){const r=new M(n[e]).getMeasure(i.distanceFnArgs[e]);o.push(r);let s=2048;for(let n=0;n<t[e].length;++n)if(t[e][n]&&t[e][n]._length){s=t[e][n]._length;break}if(a=n[e],"BitArray"==y[a])for(let n=0;n<t[e].length;++n)t[e][n]&&t[e][n]._data?t[e][n]=new h.Z(t[e][n]._data,t[e][n]._length):t[e][n]=new h.Z(s)}var a;"UMAP"==e?this.reducer=new Nt({data:t,distanceFnames:n,distanceFns:o,distanceFnArgs:i.distanceFnArgs,weights:r,aggregationMethod:s,...i}):"t-SNE"==e&&(this.reducer=new Mt({data:t,distanceFnames:n,distanceFns:o,distanceFnArgs:i.distanceFnArgs,weights:r,aggregationMethod:s,...i}))}async transform(t=!1){if(void 0===this.reducer)throw new Error("Reducer was not defined.");let e=await this.reducer.transform();var n;return t&&(n=e,e=new Array(n[0].length).fill(0).map(((t,e)=>new r(n.length).fill(0).map(((t,r)=>n[r][e]))))),e}static availableMetricsByType(t){return Object.keys(k[t])}static get availableMethods(){return Object.keys(bt)}static get availableMetrics(){let t=[];return Object.values(k).forEach((e=>{const n=Object.values(e);t=[...t,...n]})),t}}async function Et(t,e,n){t%5==0&&self.postMessage({epochNum:t,epochsLength:e,embedding:n})}self.onmessage=async({data:{columnsData:t,method:e,distanceMetrics:n,options:r,weights:s,aggregationMethod:i}})=>{let o;try{const a=await async function(t,e,n,r,s,i){const o=new Ct(t,e,n,r,s,{...i,progressFunc:Et});return await o.transform(!0)}(t,e,n,s,i,r);o={embedding:a}}catch(t){o={error:t}}self.postMessage({error:o.error,embedding:o.embedding})}},7659:(t,e,n)=>{e.Z=void 0;var r=n(6215);Object.defineProperty(e,"Z",{enumerable:!0,get:function(){return r.TSNE}})},6215:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TSNE=void 0,e.TSNE=class{constructor(t){this.returnV=!1,this.vValue=0,this.iter=0,t=t||{},this.perplexity=this.getopt(t,"perplexity",30),this.dim=this.getopt(t,"dim",2),this.epsilon=this.getopt(t,"epsilon",10)}assert(t,e){if(!t)throw e||"Assertion failed"}getopt(t,e,n){return t.hasOwnProperty(e)?t[e]:n}gaussRandom(){if(this.returnV)return this.returnV=!1,this.vValue;const t=2*Math.random()-1,e=2*Math.random()-1,n=t*t+e*e;if(0===n||n>1)return this.gaussRandom();const r=Math.sqrt(-2*Math.log(n)/n);return this.vValue=e*r,this.returnV=!0,t*r}randn(t,e){return t+this.gaussRandom()*e}zeros(t){if(void 0===t||isNaN(t))return[];if("undefined"==typeof ArrayBuffer){const e=new Array(t);for(let n=0;n<t;n++)e[n]=0;return e}return new Float64Array(t)}randn2d(t,e,n){const r=void 0!==n,s=[];for(let i=0;i<t;i++){const t=[];for(let s=0;s<e;s++)r?t.push(n):t.push(this.randn(0,1e-4));s.push(t)}return s}L2(t,e){const n=t.length;let r=0;for(let s=0;s<n;s++){const n=t[s],i=e[s];r+=(n-i)*(n-i)}return r}xtod(t){const e=t.length,n=this.zeros(e*e);for(let r=0;r<e;r++)for(let s=r+1;s<e;s++){const i=this.L2(t[r],t[s]);n[r*e+s]=i,n[s*e+r]=i}return n}d2p(t,e,n){const r=Math.sqrt(t.length),s=Math.floor(r);this.assert(s===r,"D should have square number of elements.");const i=Math.log(e),o=this.zeros(s*s),a=this.zeros(s);for(let e=0;e<s;e++){let r=-1/0,h=1/0,l=1,c=!1;const u=50;let g=0;for(;!c;){let o=0;for(let n=0;n<s;n++){let r=Math.exp(-t[e*s+n]*l);e===n&&(r=0),a[n]=r,o+=r}let f=0;for(let t=0;t<s;t++){let e;e=0===o?0:a[t]/o,a[t]=e,e>1e-7&&(f-=e*Math.log(e))}f>i?(r=l,h===1/0?l*=2:l=(l+h)/2):(h=l,r===-1/0?l/=2:l=(l+r)/2),g++,Math.abs(f-i)<n&&(c=!0),g>=u&&(c=!0)}for(let t=0;t<s;t++)o[e*s+t]=a[t]}const h=this.zeros(s*s),l=2*s;for(let t=0;t<s;t++)for(let e=0;e<s;e++)h[t*s+e]=Math.max((o[t*s+e]+o[e*s+t])/l,1e-100);return h}sign(t){return t>0?1:t<0?-1:0}initDataRaw(t){const e=t.length,n=t[0].length;this.assert(e>0," X is empty? You must have some data!"),this.assert(n>0," X[0] is empty? Where is the data?");const r=this.xtod(t);this.P=this.d2p(r,this.perplexity,1e-4),this.N=e,this.initSolution()}initDataDist(t){const e=t.length;this.assert(e>0," X is empty? You must have some data!");const n=this.zeros(e*e);for(let r=0;r<e;r++)for(let s=r+1;s<e;s++){const i=t[r][s];n[r*e+s]=i,n[s*e+r]=i}this.P=this.d2p(n,this.perplexity,1e-4),this.N=e,this.initSolution()}initSolution(){this.Y=this.randn2d(this.N,this.dim),this.gains=this.randn2d(this.N,this.dim,1),this.ystep=this.randn2d(this.N,this.dim,0),this.iter=0}getSolution(){return this.Y}step(){this.iter+=1;const t=this.N,e=this.costGrad(this.Y),n=e.cost,r=e.grad,s=this.zeros(this.dim);for(let e=0;e<t;e++)for(let t=0;t<this.dim;t++){const n=r[e][t],i=this.ystep[e][t],o=this.gains[e][t];let a=this.sign(n)===this.sign(i)?.8*o:o+.2;a<.01&&(a=.01),this.gains[e][t]=a;const h=(this.iter<250?.5:.8)*i-this.epsilon*a*r[e][t];this.ystep[e][t]=h,this.Y[e][t]+=h,s[t]+=this.Y[e][t]}for(let e=0;e<t;e++)for(let n=0;n<this.dim;n++)this.Y[e][n]-=s[n]/t;return n}debugGrad(){const t=this.N,e=this.costGrad(this.Y),n=(e.cost,e.grad),r=1e-5;for(let e=0;e<t;e++)for(let t=0;t<this.dim;t++){const s=this.Y[e][t];this.Y[e][t]=s+r;const i=this.costGrad(this.Y);this.Y[e][t]=s-r;const o=this.costGrad(this.Y),a=n[e][t],h=(i.cost-o.cost)/(2*r);console.log(e+","+t+": gradcheck analytic: "+a+" vs. numerical: "+h),this.Y[e][t]=s}}costGrad(t){const e=this.N,n=this.dim,r=this.P,s=this.iter<100?4:1,i=this.zeros(e*e);let o=0;for(let r=0;r<e;r++)for(let s=r+1;s<e;s++){let a=0;for(let e=0;e<n;e++){const n=t[r][e]-t[s][e];a+=n*n}const h=1/(1+a);i[r*e+s]=h,i[s*e+r]=h,o+=2*h}const a=e*e,h=this.zeros(a);for(let t=0;t<a;t++)h[t]=Math.max(i[t]/o,1e-100);let l=0;const c=[];for(let o=0;o<e;o++){const a=new Array(n);for(let t=0;t<n;t++)a[t]=0;for(let c=0;c<e;c++){l+=-r[o*e+c]*Math.log(h[o*e+c]);const u=4*(s*r[o*e+c]-h[o*e+c])*i[o*e+c];for(let e=0;e<n;e++)a[e]+=u*(t[o][e]-t[c][e])}c.push(a)}return{cost:l,grad:c}}}}},r={};function s(t){var e=r[t];if(void 0!==e)return e.exports;var i=r[t]={exports:{}};return n[t](i,i.exports,s),i.exports}s.m=n,s.x=()=>{var t=s.O(void 0,[483,352],(()=>s(4943)));return s.O(t)},t=[],s.O=(e,n,r,i)=>{if(!n){var o=1/0;for(c=0;c<t.length;c++){for(var[n,r,i]=t[c],a=!0,h=0;h<n.length;h++)(!1&i||o>=i)&&Object.keys(s.O).every((t=>s.O[t](n[h])))?n.splice(h--,1):(a=!1,i<o&&(o=i));if(a){t.splice(c--,1);var l=r();void 0!==l&&(e=l)}}return e}i=i||0;for(var c=t.length;c>0&&t[c-1][2]>i;c--)t[c]=t[c-1];t[c]=[n,r,i]},s.d=(t,e)=>{for(var n in e)s.o(e,n)&&!s.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},s.f={},s.e=t=>Promise.all(Object.keys(s.f).reduce(((e,n)=>(s.f[n](t,e),e)),[])),s.u=t=>t+".js",s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),s.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{var t;s.g.importScripts&&(t=s.g.location+"");var e=s.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");if(n.length)for(var r=n.length-1;r>-1&&!t;)t=n[r--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),s.p=t})(),(()=>{s.b=self.location+"";var t={943:1};s.f.i=(e,n)=>{t[e]||importScripts(s.p+s.u(e))};var e=self.webpackChunkeda=self.webpackChunkeda||[],n=e.push.bind(e);e.push=e=>{var[r,i,o]=e;for(var a in i)s.o(i,a)&&(s.m[a]=i[a]);for(o&&o(s);r.length;)t[r.pop()]=1;n(e)}})(),e=s.x,s.x=()=>Promise.all([s.e(483),s.e(352)]).then(e);var i=s.x();eda=i})();
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOTQzLmpzIiwibWFwcGluZ3MiOiI7K0JBQUlBLEVDQUFDLG9CQ09HLE1BQU0sVUFBZUMsNkVDeUNyQixTQUFTQyxFQUFtQkMsRUFBR0MsR0FDbEMsTUFBTUMsRUFBUUYsRUFBRUcsWUFBY0YsRUFBRUUsWUFDaEMsR0FBYSxHQUFURCxFQUNBLE9BQU8sRUFDWCxNQUFNRSxFQUFTSixFQUFFSyxpQkFBaUJKLEdBQUcsR0FDckMsT0FBT0csR0FBVUYsRUFBUUUsRUFDN0IsQ0FvSE8sU0FBU0UsRUFBMEJDLEdBQ3RDLE9BQXNCLElBQWZBLEVBQW1CLFdBQWdCLEVBQUlBLEVBQWMsQ0FDaEUsQ0NsS08sU0FBU0MsRUFBT0MsR0FBWSxFQUFPQyxFQUFVLG9CQUNoRCxJQUFLRCxFQUNELE1BQU0sSUFBSUUsTUFBTUQsRUFDeEIsQ0RUSyxjQUNBLFVBQ0EsZ0JBQ0EsbUJBQ0EsWUFDQSxnQkFDQSxrQkFDQSxtQkFDQSxZQUNBLFdBQ0EsYUFDQSxlQUdBLGNBQ0EsVUFDQSxnQkFDQSxtQkFDQSxZQUNBLGdCQUNBLGtCQUNBLG1CQUNBLFlBQ0EsV0FDQSxhQUNBLGVBR0QsY0FDQSxVQUNBLFlBR0EsY0FDQSxnQkFDQSxZQUNBLFdBR0EsWUFDQSxnQkFDQSw4QkFDQSxzQkV4Q0csTUFBTUUsRUFBK0IsQ0FDeEMsQ0FBQyxnQkRnSEUsU0FBb0NDLEVBQUdDLEdBQzFDLElBQUlDLEVBQVMsRUFDYixNQUFNQyxFQUFNSCxFQUFFSSxPQUNkLEdBQUlELElBQVFGLEVBQUVHLE9BQ1YsTUFBTSxJQUFJTixNQUFNLGdEQUNwQixJQUFLLElBQUlPLEVBQUksRUFBR0EsRUFBSUYsSUFBT0UsRUFDdkJILEdBQVVJLEtBQUtDLElBQUtQLEVBQUVLLEdBQUtKLEVBQUVJLEdBQUssR0FDdEMsT0FBT0MsS0FBS0UsS0FBS04sRUFDckIsR0N0SGFPLEVBQStCLENBQ3hDLENBQUMsaUJBQWlDLElBQ2xDLENBQUMsaUJBQWlDLEtBQ2xDLENBQUMsZUE2RUUsU0FBMkJDLEVBQUlDLEdBQ2xDLEdBQUlELEVBQUdOLFNBQVdPLEVBQUdQLE9BQ2pCLE9BQU8sRUFFTixDQUNELElBQUlRLEVBQU8sRUFDWCxJQUFLLElBQUlQLEVBQUksRUFBR0EsRUFBSUssRUFBR04sT0FBUUMsSUFDM0JPLEdBQVFGLEVBQUdMLElBQU1NLEVBQUdOLEdBQUssRUFBSSxFQUNqQyxPQUFPTyxFQUFPRixFQUFHTixNQUNyQixDQUNKLEVBdEZJLENBQUMsWUF1RkUsU0FBNkJNLEVBQUlDLEdBQ3BDLE9BQU9ELElBQU9DLEVBQUssRUFBSSxDQUMzQixHQXZGYUUsRUFBaUMsQ0FDMUMsQ0FBQyxlRnVDRSxTQUEwQjFCLEVBQUdDLEdBQ2hDLE9BQU9LLEVBQTBCUCxFQUFtQkMsRUFBR0MsR0FDM0QsRUV4Q0ksQ0FBQyxXRnFERSxTQUFzQkQsRUFBR0MsR0FDNUIsT0FBT0ssRUFSSixTQUF3Qk4sRUFBR0MsR0FDOUIsTUFBTUMsRUFBUUYsRUFBRUcsWUFBY0YsRUFBRUUsWUFDaEMsT0FBYSxHQUFURCxFQUNPLEVBRUosRUFEUUYsRUFBRUssaUJBQWlCSixHQUFHLEdBQ2pCQyxDQUN4QixDQUVxQ3lCLENBQWUzQixFQUFHQyxHQUN2RCxFRXRESSxDQUFDLGlCRmtIRSxTQUE0QkQsRUFBR0MsR0FDbEMsT0FBT0ssRUFSSixTQUE4Qk4sRUFBR0MsR0FDcEMsTUFBTTJCLEVBQU1ULEtBQUtTLElBQUk1QixFQUFFRyxZQUFhRixFQUFFRSxhQUN0QyxPQUFXLEdBQVB5QixFQUNPLEVBQ0k1QixFQUFFSyxpQkFBaUJKLEdBQUcsR0FDckIyQixDQUNwQixDQUVxQ0MsQ0FBcUI3QixFQUFHQyxHQUM3RCxFRW5ISSxDQUFDLG9CRjJIRSxTQUErQkQsRUFBR0MsR0FDckMsT0FBT0ssRUFSSixTQUFpQ04sRUFBR0MsR0FDdkMsTUFBTTZCLEVBQU1YLEtBQUtXLElBQUk5QixFQUFFRyxZQUFhRixFQUFFRSxhQUN0QyxPQUFXLEdBQVAyQixFQUNPLEVBQ0k5QixFQUFFSyxpQkFBaUJKLEdBQUcsR0FDckI2QixDQUNwQixDQUVxQ0MsQ0FBd0IvQixFQUFHQyxHQUNoRSxFRTVISSxDQUFDLGFGNERFLFNBQXdCRCxFQUFHQyxHQUM5QixPQUFPSyxFQVJKLFNBQTBCTixFQUFHQyxHQUNoQyxNQUFNQyxFQUFRRixFQUFFRyxZQUFjRixFQUFFRSxZQUNoQyxPQUFhLEdBQVRELEVBQ08sRUFDSUYsRUFBRUssaUJBQWlCSixHQUFHLEdBQ3JCa0IsS0FBS0UsS0FBS25CLEVBQzlCLENBRXFDOEIsQ0FBaUJoQyxFQUFHQyxHQUN6RCxFRTdESSxDQUFDLGlCRjBGRSxTQUE0QkQsRUFBR0MsR0FDbEMsT0FBT0ssRUFUSixTQUE4Qk4sRUFBR0MsR0FDcEMsTUFBTUMsRUFBUUYsRUFBRUcsWUFBY0YsRUFBRUUsWUFDMUI4QixFQUFZakMsRUFBRUcsWUFBY0YsRUFBRUUsWUFDcEMsT0FBaUIsR0FBYjhCLEVBQ08sRUFDSWpDLEVBQUVLLGlCQUFpQkosR0FBRyxHQUNwQkMsR0FBVSxFQUFJK0IsRUFDbkMsQ0FFcUNDLENBQXFCbEMsRUFBR0MsR0FDN0QsRUUzRkksQ0FBQyxtQkZvR0UsU0FBOEJELEVBQUdDLEdBQ3BDLE9BQU9LLEVBVEosU0FBZ0NOLEVBQUdDLEdBQ3RDLE1BQU1DLEVBQVFGLEVBQUVHLFlBQWNGLEVBQUVFLFlBQzFCOEIsRUFBWWpDLEVBQUVHLFlBQWNGLEVBQUVFLFlBQ3BDLE9BQWlCLEdBQWI4QixFQUNPLEdBQ0lqQyxFQUFFSyxpQkFBaUJKLEdBQUcsR0FDcEJDLEVBQVErQixHQUFhQSxDQUMxQyxDQUVxQ0UsQ0FBdUJuQyxFQUFHQyxHQUMvRCxFRXJHSSxDQUFDLG9CRjZJRSxTQUErQkQsRUFBR0MsR0FDckMsT0FBT0ssRUFYSixTQUFpQ04sRUFBR0MsR0FDdkMsTUFBTUcsRUFBU0osRUFBRUssaUJBQWlCSixHQUFHLEdBQy9CQyxFQUFRRixFQUFFb0MsV0FBVSxHQUFRbkMsRUFBRW1DLFdBQVUsR0FDeENwQixFQUFNaEIsRUFBRWlCLE9BQ1JvQixFQUFPckIsRUFBTWQsRUFBUUUsRUFDM0IsT0FBS0EsR0FBVVksR0FBU3FCLEdBQVFyQixFQUNyQixFQUVBWixFQUFTRixFQUFRbUMsR0FBUSxFQUFJckIsRUFBTWQsRUFDbEQsQ0FFcUNvQyxDQUF3QnRDLEVBQUdDLEdBQ2hFLEVFOUlJLENBQUMsYUYrSEUsU0FBd0JELEVBQUdDLEdBQzlCLE9BQU9LLEVBUEosU0FBMEJOLEVBQUdDLEdBQ2hDLE9BQWdCLEdBQVpELEVBQUVpQixPQUNLLEVBQ0lqQixFQUFFSyxpQkFBaUJKLEdBQUcsR0FDckJELEVBQUVpQixNQUN0QixDQUVxQ3NCLENBQWlCdkMsRUFBR0MsR0FDekQsRUVoSUksQ0FBQyxZRjJFRSxTQUF1QkQsRUFBR0MsR0FDN0IsT0FBT0ssRUFOSixTQUF5Qk4sRUFBR0MsR0FDL0IsTUFBTUMsRUFBUUYsRUFBRUcsWUFBY0YsRUFBRUUsWUFDMUJDLEVBQVNKLEVBQUVLLGlCQUFpQkosR0FBRyxHQUNyQyxPQUFPRyxHQUFVLEVBQUlGLEVBQVEsRUFBSUUsRUFDckMsQ0FFcUNvQyxDQUFnQnhDLEVBQUdDLEdBQ3hELEVFNUVJLENBQUMsY0ZrRUUsU0FBeUJELEVBQUdDLEdBQy9CLE9BQU9ELEVBQUVHLFlBQWNGLEVBQUVFLFlBQWMsRUFBSUgsRUFBRUssaUJBQWlCSixHQUFHLEVBQ3JFLEVFbkVJLENBQUMsZ0JGMkRFLFNBQTJCRCxFQUFHQyxHQUNqQyxPQUFPa0IsS0FBS0UsS0FBS3JCLEVBQUVHLFlBQWNGLEVBQUVFLFlBQWMsRUFBSUgsRUFBRUssaUJBQWlCSixHQUFHLEdBQy9FLEdFM0Rhd0MsRUFBaUMsQ0FDMUMsQ0FBQyx1QkY0QkUsU0FBa0N6QyxFQUFHQyxHQUd4QyxPQUFPSyxFQUEwQlAsRUFGdEIsSUFBSSxJQUFTQyxFQUFjLEdBQVhBLEVBQUVpQixRQUNsQixJQUFJLElBQVNoQixFQUFjLEdBQVhBLEVBQUVnQixTQUVqQyxHRTlCYXlCLEVBQStCLENBQ3hDLENBQUMsaUJGNElFLFNBQXlCMUMsRUFBR0MsR0FDL0IsT0FBT2tCLEtBQUt3QixJQUFJM0MsRUFBSUMsRUFDeEIsR0U1SWEyQyxFQUFtQixDQUM1QixDQUFDLGFBQWlDLENBQzlCLENBQUMsZ0JBQStCaEMsRUFBNkIsaUJBRWpFLENBQUMsYUFBaUMsQ0FDOUIsQ0FBQyxpQkFBaUNVLEVBQTZCLGlCQUMvRCxDQUFDLGlCQUFpQ0EsRUFBNkIsaUJBQy9ELENBQUMsZUFBK0JBLEVBQTZCLGVBQzdELENBQUMsWUFBNEJBLEVBQTZCLGFBRTlELENBQUMsZUFBbUMsQ0FDaEMsQ0FBQyxlQUFnQ0ksRUFBK0IsZUFDaEUsQ0FBQyxXQUE0QkEsRUFBK0IsV0FDNUQsQ0FBQyxpQkFBa0NBLEVBQStCLGlCQUNsRSxDQUFDLG9CQUFxQ0EsRUFBK0Isb0JBQ3JFLENBQUMsYUFBOEJBLEVBQStCLGFBQzlELENBQUMsaUJBQWtDQSxFQUErQixpQkFDbEUsQ0FBQyxtQkFBb0NBLEVBQStCLG1CQUNwRSxDQUFDLG9CQUFxQ0EsRUFBK0Isb0JBQ3JFLENBQUMsYUFBOEJBLEVBQStCLGFBQzlELENBQUMsWUFBNkJBLEVBQStCLGFBRWpFLENBQUMsb0JBQXdDLENBQ3JDLENBQUMsYUFBbUMsSUFBb0IsYUFDeEQsQ0FBQyxpQkFBdUMsSUFBb0IsaUJBQzVELENBQUMsdUJBQTZDLElBQW9CLHVCQUNsRSxDQUFDLCtCQUFxRCxJQUFvQixnQ0FFOUUsQ0FBQyxhQUFpQyxDQUM5QixDQUFDLGlCQUFnQ2dCLEVBQTZCLGtCQUVsRSxDQUFDLGVBQW1DLENBQ2hDLENBQUMsdUJBQXdDRCxFQUErQix5QkFHbkVJLEVBQW1CQyxPQUFPQyxLQUFLSCxHQUN2Q0ksUUFBTyxDQUFDQyxFQUFLQyxLQUNkLElBQUssTUFBTUMsS0FBT0wsT0FBT0MsS0FBS0gsRUFBaUJNLElBQzNDRCxFQUFJRSxHQUFPRCxFQUNmLE9BQU9ELENBQUcsR0FDWCxDQUFDLEdBNkJHLE1BQU1HLEVBQ1RDLE9BQ0FDLFNBTUFDLFlBQVlGLEdBQ1JHLEtBQUtILE9BQVNBLEVBQ2RHLEtBQUtGLFNBQVdULEVBQWlCUSxFQUNyQyxDQU9BSSxXQUFXQyxHQUNQLE1BQU1DLEVBQU9mLEVBQ2IsSUFBS2UsRUFBS0MsZUFBZUosS0FBS0YsWUFBY0ssRUFBS0gsS0FBS0YsVUFBVU0sZUFBZUosS0FBS0gsUUFDaEYsTUFBTSxJQUFJMUMsTUFBTSxtQkFBbUI2QyxLQUFLSCx3QkFBd0JHLEtBQUtGLFlBQ3pFLE9BekM4Qk8sRUF5Q0RMLEtBQUtILE9BeEMvQlIsRUFBaUJnQixJQUFTLDhCQXlDekJGLEVBQUtILEtBQUtGLFVBQVVFLEtBQUtILFFBQVFLLEdBQ2pDQyxFQUFLSCxLQUFLRixVQUFVRSxLQUFLSCxRQTNDOUIsSUFBK0JRLENBNENsQyxDQU9BQywyQkFBMkJSLEdBQ3ZCLE9BQU9SLE9BQU9DLEtBQUtILEVBQWlCVSxHQUN4QyxDQUlXUywrQkFDUCxPQUFPakIsT0FBT0MsS0FBS0gsRUFDdkIsRUNoSkcsSUFBSW9CLEdBQ1gsU0FBV0EsR0FDUEEsRUFBc0MsVUFBSSxZQUMxQ0EsRUFBc0MsVUFBSSxXQUM3QyxDQUhELENBR0dBLElBQStCQSxFQUE2QixDQUFDLElDSHpELE1BQU0sRUFBU2hFLEdBQU1BLFFBQ3JCLFNBQVNpRSxFQUFjQyxFQUFhQyxFQUFTQyxFQUFLQyxHQUNyRCxHQUFJRCxFQUFNRixFQUFZQSxFQUFZakQsT0FBUyxHQUN2QyxPQUNKLE1BQU1xRCxFQUFjSixFQUFZSyxXQUFXQyxHQUFNSixFQUFNSSxJQUN2RE4sRUFBWU8sTUFDWlAsRUFBWVEsT0FBT0osRUFBYSxFQUFHRixHQUNuQ0QsRUFBUU0sTUFDUk4sRUFBUU8sT0FBT0osRUFBYSxFQUFHRCxFQUNuQyxDQ1ZPLE1BQU1NLEVBQ1RDLFNBQ0FDLGFBQ0FDLHFCQUNBdkIsWUFBWXdCLEdBQXVCLEVBQU1DLEdBQXNCLEdBQzNELE1BQU1DLEVBQWNDLFVBQVVDLG9CQUM5QjNCLEtBQUtxQixhQUFlRSxFQUF1QjVELEtBQUtXLElBQUltRCxFQUFjLEVBQUcsR0FBSyxFQUMxRXpCLEtBQUtvQixTQUFXLElBQUlRLE1BQU01QixLQUFLcUIsY0FBY1EsS0FBSyxNQUM3Q0MsS0FBSSxJQUFNLElBQUlDLE9BQU8sSUFBSUMsSUFBSSxxQkFDbENoQyxLQUFLc0IscUJBQXVCRSxDQUNoQyxDQUVBUyxXQUFXQyxFQUFRQyxFQUFRQyxHQUFZLEVBQU1sQyxHQUN6QyxPQUFPLElBQUltQyxTQUFRSixNQUFPSyxFQUFTQyxLQUMvQixJQUNJLE1BQU0vRSxFQUFNMEUsRUFBT3pFLE9BQ2IrRSxFQUFXLElBQUlaLE1BQU01QixLQUFLcUIsY0FDMUJvQixFQUFjakYsR0FBT0EsRUFBTSxHQUFLLEVBQ3RDd0MsS0FBS3FCLGFBQWUxRCxLQUFLUyxJQUFJNEIsS0FBS3FCLGFBQWNvQixHQUNoRCxNQUFNQyxFQUFZRCxFQUFjekMsS0FBS3FCLGFBQy9Cc0IsRUFBaUIsSUFBSXJHLGFBQWFtRyxHQUN4QyxJQUFJRyxFQUFTLEVBQ1RDLEVBQVMsRUFFVEMsRUFBTyxFQUNQQyxFQUFPQyxPQUFPQyxVQUNsQixJQUFLLElBQUl2RixFQUFJLEVBQUdBLEVBQUlzQyxLQUFLcUIsYUFBYzNELElBQUssQ0FDeEMsTUFBTXdGLEVBQVF2RixLQUFLd0YsTUFBTXpGLEVBQUlnRixHQUN2QlUsRUFBTzFGLElBQU1zQyxLQUFLcUIsYUFBZSxFQUFLb0IsRUFBYzlFLEtBQUt3RixPQUFPekYsRUFBSSxHQUFLZ0YsR0FDekVXLEVBQVdULEVBQ1hVLEVBQVdULEVBQ2JuRixJQUFNc0MsS0FBS3FCLGFBQWUsSUFFMUJ1QixFQUFTcEYsRUFBTSxFQUFJRyxLQUFLd0YsTUFBTXhGLEtBQUtFLE1BQU0sRUFBSXVGLEVBQU0sRUFBSTVGLEdBQU9BLEVBQU0sR0FBSyxHQUFLLEVBQUksSUFDbEZxRixFQUFTTyxFQUFNNUYsRUFBTW9GLEVBQVNqRixLQUFLd0YsT0FBT1AsRUFBUyxJQUFNQSxFQUFTLEdBQUssSUFFM0U1QyxLQUFLb0IsU0FBUzFELEdBQUc2RixZQUFZLENBQUVyQixTQUFRQyxTQUFRa0IsV0FBVUMsV0FBVUUsV0FBWUosRUFBTUYsRUFBT2hELFNBQzVGc0MsRUFBUzlFLEdBQUssSUFBSTJFLFNBQVEsQ0FBQ29CLEVBQWVDLEtBQ3RDMUQsS0FBS29CLFNBQVMxRCxHQUFHaUcsVUFBWSxFQUFHQyxNQUFRQyxRQUFPQyxxQkFBb0IxRixNQUFLRSxXQUNwRTBCLEtBQUtzQixzQkFBd0J0QixLQUFLb0IsU0FBUzFELEdBQUdxRyxZQUMxQ0YsRUFDQUgsRUFBYUcsSUFHYmxCLEVBQWVxQixJQUFJRixFQUFvQlosR0FDbkM5RSxFQUFNMEUsSUFDTkEsRUFBTzFFLEdBQ1BFLEVBQU15RSxJQUNOQSxFQUFPekUsR0FDWG1GLElBQ0osQ0FDSCxHQUVULE9BQ01wQixRQUFRNEIsSUFBSXpCLEdBQ2RKLEdBQ0FPLEVBQWV1QixTQUFRLENBQUNDLEVBQU90RCxLQUFZOEIsRUFBZTlCLElBQVVzRCxFQUFRckIsSUFBU0MsRUFBT0QsRUFBSyxJQUNyR1IsRUFBUUssRUFDWixDQUNBLE1BQU95QixHQUNIN0IsRUFBTzZCLEVBQ1gsSUFFUixDQUNBTCxZQUNJL0QsS0FBS29CLFNBQVM4QyxTQUFTRyxHQUFXQSxFQUFPTixhQUM3QyxFQzdDRyxTQUFTTyxFQUFXQyxFQUFHQyxHQUMxQixPQUFPN0csS0FBS3dGLE1BQU1xQixJQUFXRCxFQUNqQyxDQUlPLFNBQVNFLEVBQVFELEdBQ3BCLE9BQU9BLEdBQ1gsQ0FjTyxTQUFTRSxFQUFNSCxHQUNsQixNQUFNSSxFQUFTLEdBQ2YsSUFBSyxJQUFJakgsRUFBSSxFQUFHQSxFQUFJNkcsRUFBRzdHLElBQ25CaUgsRUFBT0MsVUFBS0MsR0FFaEIsT0FBT0YsQ0FDWCxDQUlPLFNBQVNHLEVBQU1QLEdBQ2xCLE9BQU9HLEVBQU1ILEdBQUd6QyxLQUFJLENBQUNpRCxFQUFHckgsSUFBTUEsR0FDbEMsQ0FJTyxTQUFTc0gsRUFBT1QsRUFBR3ZELEdBQ3RCLE9BQU8wRCxFQUFNSCxHQUFHekMsS0FBSSxJQUFNZCxHQUM5QixDQUlPLFNBQVNpRSxFQUFNVixHQUNsQixPQUFPUyxFQUFPVCxFQUFHLEVBQ3JCLENBd0JPLFNBQVNXLEVBQUtDLEdBQ2pCLE9BUEcsU0FBYUEsR0FDaEIsT0FBT0EsRUFBTTNGLFFBQU8sQ0FBQzRGLEVBQUt6RixJQUFReUYsRUFBTXpGLEdBQzVDLENBS1d5RixDQUFJRCxHQUFTQSxFQUFNMUgsTUFDOUIsQ0FJTyxTQUFTLEVBQUkwSCxHQUNoQixJQUFJN0csRUFBTSxFQUNWLElBQUssSUFBSVosRUFBSSxFQUFHQSxFQUFJeUgsRUFBTTFILE9BQVFDLElBQzlCWSxFQUFNNkcsRUFBTXpILEdBQUtZLEVBQU02RyxFQUFNekgsR0FBS1ksRUFFdEMsT0FBT0EsQ0FDWCxDQWtCTyxTQUFTK0csRUFBZ0JDLEVBQVVDLEVBQVVmLEdBQ2hELE1BQU1qSCxFQUFTMEgsRUFBTUssR0FDckIsSUFBSyxJQUFJNUgsRUFBSSxFQUFHQSxFQUFJNEgsRUFBVTVILElBQUssQ0FDL0IsSUFBSThILEdBQWUsRUFDbkIsS0FBT0EsR0FBYyxDQUNqQixNQUFNQyxFQUFJbkIsRUFBV2lCLEVBQVVmLEdBQy9CLElBQUlrQixHQUFTLEVBQ2IsSUFBSyxJQUFJQyxFQUFJLEVBQUdBLEVBQUlqSSxFQUFHaUksSUFDbkIsR0FBSUYsSUFBTWxJLEVBQU9vSSxHQUFJLENBQ2pCRCxHQUFTLEVBQ1QsS0FDSixDQUVDQSxJQUNERixHQUFlLEdBRW5CakksRUFBT0csR0FBSytILENBQ2hCLENBQ0osQ0FDQSxPQUFPbEksQ0FDWCxDQUlPLFNBQVNxSSxFQUFVcEosRUFBR3FKLEVBQUdDLEdBQzVCLE1BQU1DLEVBQU8sR0FDYixJQUFJQyxFQUFRLEVBQ1JuRixFQUFRLEVBQ1osR0FBSXJFLEVBQUVpQixTQUFXb0ksRUFBSUMsRUFDakIsTUFBTSxJQUFJM0ksTUFBTSw2Q0FFcEIsSUFBSyxJQUFJTyxFQUFJLEVBQUdBLEVBQUltSSxFQUFHbkksSUFBSyxDQUN4QixNQUFNdUksRUFBTSxHQUNaLElBQUssSUFBSVIsRUFBSSxFQUFHQSxFQUFJSyxFQUFHTCxJQUNuQlEsRUFBSXJCLEtBQUtwSSxFQUFFcUUsSUFDWEEsR0FBUyxFQUVia0YsRUFBS25CLEtBQUtxQixHQUNWRCxHQUFTLENBQ2IsQ0FDQSxPQUFPRCxDQUNYLENDcklPLFNBQVNHLEVBQVNDLEVBQVNDLEdBQzlCLE1BQU1DLEVBQWNDLEdBQ1QsRUFBWUgsR0FBU3JFLEtBQUksSUFDckIsRUFBYXNFLEVBQU1FLEtBRzVCQyxFQUFPLEdBSWIsT0FIQUEsRUFBSzNCLEtBQUt5QixHQUFZLElBQ3RCRSxFQUFLM0IsS0FBS3lCLEVBQVdHLE1BQ3JCRCxFQUFLM0IsS0FBS3lCLEVBQVcsSUFDZEUsQ0FDWCxDQU1PLFNBQVMsRUFBZ0JqQixFQUFVQyxFQUFVZixHQUNoRCxNQUFNakgsRUFBUyxFQUFZK0gsR0FDM0IsSUFBSyxJQUFJNUgsRUFBSSxFQUFHQSxFQUFJNEgsRUFBVTVILElBQUssQ0FDL0IsSUFBSThILEdBQWUsRUFDZkMsRUFBSSxFQUNSLEtBQU9ELEdBQWMsQ0FDakJDLEVBQUksRUFBaUJGLEVBQVVmLEdBQy9CLElBQUlrQixHQUFTLEVBQ2IsSUFBSyxJQUFJQyxFQUFJLEVBQUdBLEVBQUlqSSxFQUFHaUksSUFDbkIsR0FBSUYsSUFBTWxJLEVBQU9vSSxHQUFJLENBQ2pCRCxHQUFTLEVBQ1QsS0FDSixDQUVDQSxJQUNERixHQUFlLEVBQ3ZCLENBQ0FqSSxFQUFPRyxHQUFLK0gsQ0FDaEIsQ0FDQSxPQUFPbEksQ0FDWCxDQVFPLFNBQVNrSixFQUFTRixFQUFNRyxFQUFLQyxFQUFROUYsRUFBTytGLEdBQy9DRixFQUFNL0ksS0FBS3dGLE1BQU11RCxHQUNqQixNQUFNRyxFQUFVTixFQUFLLEdBQUdHLEdBQ2xCSSxFQUFVUCxFQUFLLEdBQUdHLEdBRXhCLEdBRGNILEVBQUssR0FBR0csR0FDbEJDLEdBQVVHLEVBQVEsR0FDbEIsT0FBTyxFQUdYLElBQUssSUFBSXBKLEVBQUksRUFBR0EsRUFBSW1KLEVBQVFwSixPQUFRQyxJQUNoQyxHQUFJbUQsSUFBVWdHLEVBQVFuSixHQUNsQixPQUFPLEVBR2YsT0FBT3FKLEVBQWtCUixFQUFNRyxFQUFLQyxFQUFROUYsRUFBTytGLEVBQ3ZELENBUU8sU0FBU0csRUFBa0JSLEVBQU1HLEVBQUtDLEVBQVE5RixFQUFPK0YsR0FDeEQsTUFBTUMsRUFBVU4sRUFBSyxHQUFHRyxHQUNsQkksRUFBVVAsRUFBSyxHQUFHRyxHQUNsQk0sRUFBUVQsRUFBSyxHQUFHRyxHQUN0QixHQUFJQyxHQUFVRyxFQUFRLEdBQ2xCLE9BQU8sRUFHWEEsRUFBUSxHQUFLSCxFQUNiRSxFQUFRLEdBQUtoRyxFQUNibUcsRUFBTSxHQUFLSixFQUVYLElBQUlsSixFQUFJLEVBQ0p1SixFQUFRLEVBQ1osT0FBYSxDQUNULE1BQU1DLEVBQU0sRUFBSXhKLEVBQUksRUFDZHlKLEVBQU1ELEVBQU0sRUFDWkUsRUFBYWIsRUFBSyxHQUFHLEdBQUc5SSxPQUM5QixHQUFJeUosR0FBT0UsRUFDUCxNQUVDLEdBQUlELEdBQU9DLEVBQVksQ0FDeEIsS0FBSU4sRUFBUUksR0FBT1AsR0FJZixNQUhBTSxFQUFRQyxDQUtoQixNQUNLLEdBQUlKLEVBQVFJLElBQVFKLEVBQVFLLEdBQU0sQ0FDbkMsS0FBSVIsRUFBU0csRUFBUUksSUFJakIsTUFIQUQsRUFBUUMsQ0FLaEIsS0FDSyxDQUNELEtBQUlQLEVBQVNHLEVBQVFLLElBSWpCLE1BSEFGLEVBQVFFLENBS2hCLENBQ0FMLEVBQVFwSixHQUFLb0osRUFBUUcsR0FDckJKLEVBQVFuSixHQUFLbUosRUFBUUksR0FDckJELEVBQU10SixHQUFLc0osRUFBTUMsR0FDakJ2SixFQUFJdUosQ0FDUixDQUlBLE9BSEFILEVBQVFwSixHQUFLaUosRUFDYkUsRUFBUW5KLEdBQUttRCxFQUNibUcsRUFBTXRKLEdBQUtrSixFQUNKLENBQ1gsQ0FNTyxTQUFTUyxFQUFnQkMsRUFBY0MsRUFBV0MsRUFBWUMsRUFBZWpELEdBQ2hGLE1BQU1rRCxFQUFxQnhCLEVBQVNxQixFQUFXRSxHQUMvQyxJQUFLLElBQUkvSixFQUFJLEVBQUdBLEVBQUk2SixFQUFXN0osSUFDM0IsSUFBSyxJQUFJK0gsRUFBSSxFQUFHQSxFQUFJK0IsRUFBWS9CLElBQUssQ0FDakMsR0FBSTZCLEVBQWEsR0FBRzVKLEdBQUcrSCxHQUFLLEVBQ3hCLFNBRUosTUFBTWtDLEVBQU1MLEVBQWEsR0FBRzVKLEdBQUcrSCxHQUN6Qm1DLEVBQU1OLEVBQWEsR0FBRzVKLEdBQUcrSCxHQUN6Qm9DLEVBQUksRUFBY3JELEdBQ3hCaUMsRUFBU2lCLEVBQW9CaEssRUFBR21LLEVBQUdGLEVBQUtDLEdBQ3hDbkIsRUFBU2lCLEVBQW9CQyxFQUFLRSxFQUFHbkssRUFBR2tLLEdBQ3hDTixFQUFhLEdBQUc1SixHQUFHK0gsR0FBSyxDQUM1QixDQUVKLE9BQU9pQyxDQUNYLENBT08sU0FBU0ksRUFBV3ZCLEdBQ3ZCLE1BQU1NLEVBQVVOLEVBQUssR0FDZk8sRUFBVVAsRUFBSyxHQUNyQixJQUFLLElBQUk3SSxFQUFJLEVBQUdBLEVBQUltSixFQUFRcEosT0FBUUMsSUFBSyxDQUNyQyxNQUFNcUssRUFBVWxCLEVBQVFuSixHQUNsQnNLLEVBQVdsQixFQUFRcEosR0FDekIsSUFBSyxJQUFJK0gsRUFBSSxFQUFHQSxFQUFJc0MsRUFBUXRLLE9BQVMsRUFBR2dJLElBQUssQ0FDekMsTUFBTXdDLEVBQWVGLEVBQVF0SyxPQUFTZ0ksRUFBSSxFQUNwQ3lDLEVBQWdCRixFQUFTdkssT0FBU2dJLEVBQUksRUFDdEMwQyxFQUFRSixFQUFRLEdBQ3RCQSxFQUFRLEdBQUtBLEVBQVFFLEdBQ3JCRixFQUFRRSxHQUFnQkUsRUFDeEIsTUFBTUMsRUFBUUosRUFBUyxHQUN2QkEsRUFBUyxHQUFLQSxFQUFTRSxHQUN2QkYsRUFBU0UsR0FBaUJFLEVBQzFCQyxFQUFTTCxFQUFVRCxFQUFTRyxFQUFlLEVBQy9DLENBQ0osQ0FDQSxNQUFPLENBQUVyQixVQUFTQyxVQUN0QixDQU1BLFNBQVN1QixFQUFTQyxFQUFPQyxFQUFPQyxFQUFTQyxHQUNyQyxLQUFhLEVBQU5BLEVBQVUsRUFBSUQsR0FBUyxDQUMxQixNQUFNRSxFQUFrQixFQUFORCxFQUFVLEVBQ3RCRSxFQUFhRCxFQUFZLEVBQy9CLElBQUlFLEVBQU9ILEVBT1gsR0FOSUgsRUFBTU0sR0FBUU4sRUFBTUksS0FDcEJFLEVBQU9GLEdBRVBDLEVBQWFILEdBQVdGLEVBQU1NLEdBQVFOLEVBQU1LLEtBQzVDQyxFQUFPRCxHQUVQQyxJQUFTSCxFQUNULE1BRUMsQ0FDRCxNQUFNTixFQUFRRyxFQUFNRyxHQUNwQkgsRUFBTUcsR0FBT0gsRUFBTU0sR0FDbkJOLEVBQU1NLEdBQVFULEVBQ2QsTUFBTUMsRUFBUUcsRUFBTUUsR0FDcEJGLEVBQU1FLEdBQU9GLEVBQU1LLEdBQ25CTCxFQUFNSyxHQUFRUixFQUNkSyxFQUFNRyxDQUNWLENBQ0osQ0FDSixDQUlPLFNBQVNDLEVBQWdCdEMsRUFBTUcsR0FDbEMsTUFBTW9DLEVBQU12QyxFQUFLLEdBQUdHLEdBQ2R6SSxFQUFPc0ksRUFBSyxHQUFHRyxHQUNmRSxFQUFPTCxFQUFLLEdBQUdHLEdBQ3JCLElBQUlxQyxFQUFVdkMsSUFDVndDLEdBQWUsRUFDbkIsSUFBSyxJQUFJdEwsRUFBSSxFQUFHQSxFQUFJb0wsRUFBSXJMLE9BQVFDLElBQ1osSUFBWmtKLEVBQUtsSixJQUFZTyxFQUFLUCxHQUFLcUwsSUFDM0JBLEVBQVU5SyxFQUFLUCxHQUNmc0wsRUFBY3RMLEdBR3RCLE9BQUlzTCxHQUFlLEdBQ2ZwQyxFQUFLb0MsR0FBZSxFQUNickwsS0FBS3dGLE1BQU0yRixFQUFJRSxNQUdkLENBRWhCLENDdE9PLE1BQU1DLEVBQ1RDLFFBQVUsSUFBSUMsSUFDZEMsTUFBUSxFQUNSQyxNQUFRLEVBQ1J0SixZQUFZZ0csRUFBTXVELEVBQU1wSCxFQUFRcUgsR0FDNUIsR0FBSXhELEVBQUt0SSxTQUFXNkwsRUFBSzdMLFFBQVVzSSxFQUFLdEksU0FBV3lFLEVBQU96RSxPQUN0RCxNQUFNLElBQUlOLE1BQU0sOERBR3BCNkMsS0FBS29KLE1BQVFHLEVBQUssR0FDbEJ2SixLQUFLcUosTUFBUUUsRUFBSyxHQUNsQixJQUFLLElBQUk3TCxFQUFJLEVBQUdBLEVBQUl3RSxFQUFPekUsT0FBUUMsSUFBSyxDQUNwQyxNQUFNZ0osRUFBTVgsRUFBS3JJLEdBQ1h1SSxFQUFNcUQsRUFBSzVMLEdBQ2pCc0MsS0FBS3dKLFVBQVU5QyxFQUFLVCxHQUNwQixNQUFNdkcsRUFBTU0sS0FBS3lKLFFBQVEvQyxFQUFLVCxHQUM5QmpHLEtBQUtrSixRQUFRbEYsSUFBSXRFLEVBQUssQ0FBRXlFLE1BQU9qQyxFQUFPeEUsR0FBSWdKLE1BQUtULE9BQ25ELENBQ0osQ0FDQXdELFFBQVEvQyxFQUFLVCxHQUNULE1BQU8sR0FBR1MsS0FBT1QsR0FDckIsQ0FDQXVELFVBQVU5QyxFQUFLVCxHQUVYLEtBRHFCUyxFQUFNMUcsS0FBS29KLE9BQVNuRCxFQUFNakcsS0FBS3FKLE9BRWhELE1BQU0sSUFBSWxNLE1BQU0sd0RBRXhCLENBQ0E2RyxJQUFJMEMsRUFBS1QsRUFBSzlCLEdBQ1ZuRSxLQUFLd0osVUFBVTlDLEVBQUtULEdBQ3BCLE1BQU12RyxFQUFNTSxLQUFLeUosUUFBUS9DLEVBQUtULEdBQ3pCakcsS0FBS2tKLFFBQVFRLElBQUloSyxHQUlsQk0sS0FBS2tKLFFBQVFTLElBQUlqSyxHQUFLeUUsTUFBUUEsRUFIOUJuRSxLQUFLa0osUUFBUWxGLElBQUl0RSxFQUFLLENBQUV5RSxRQUFPdUMsTUFBS1QsT0FLNUMsQ0FDQTBELElBQUlqRCxFQUFLVCxFQUFLMkQsRUFBZSxHQUV6QixNQUFNbEssRUFBTU0sS0FBS3lKLFFBQVEvQyxFQUFLVCxHQUM5QixPQUFJakcsS0FBS2tKLFFBQVFRLElBQUloSyxHQUNWTSxLQUFLa0osUUFBUVMsSUFBSWpLLEdBQUt5RSxNQUd0QnlGLENBRWYsQ0FDQUMsT0FBT0MsR0FBVSxHQUNiLE1BQU1DLEVBQWUsSUFBSW5JLE1BQU01QixLQUFLa0osUUFBUTlDLE1BQU12RSxLQUFLLE1BQ3ZELElBQUluRSxFQUFJLEVBZVIsT0FkQXNDLEtBQUtrSixRQUFRaEYsU0FBUUMsSUFDakI0RixFQUFhck0sS0FBT3lHLENBQUssSUFFekIyRixHQUVBQyxFQUFhQyxNQUFLLENBQUNuRSxFQUFHQyxJQUNkRCxFQUFFYSxNQUFRWixFQUFFWSxJQUNMYixFQUFFSSxJQUFNSCxFQUFFRyxJQUdWSixFQUFFYSxJQUFNWixFQUFFWSxNQUl0QnFELENBQ1gsQ0FDQUUsVUFDSSxNQUFPLENBQUNqSyxLQUFLb0osTUFBT3BKLEtBQUtxSixNQUM3QixDQUNBYSxVQUNJLE9BQU90SSxNQUFNdUksS0FBS25LLEtBQUtrSixTQUFTLEVBQUV4SixFQUFLeUUsS0FBV0EsRUFBTXVDLEtBRTVELENBQ0EwRCxVQUNJLE9BQU94SSxNQUFNdUksS0FBS25LLEtBQUtrSixTQUFTLEVBQUV4SixFQUFLeUUsS0FBV0EsRUFBTThCLEtBRTVELENBQ0FvRSxZQUNJLE9BQU96SSxNQUFNdUksS0FBS25LLEtBQUtrSixTQUFTLEVBQUV4SixFQUFLeUUsS0FBV0EsRUFBTUEsT0FFNUQsQ0FDQUQsUUFBUW9HLEdBQ0p0SyxLQUFLa0osUUFBUWhGLFNBQVFDLEdBQVNtRyxFQUFHbkcsRUFBTUEsTUFBT0EsRUFBTXVDLElBQUt2QyxFQUFNOEIsTUFDbkUsQ0FDQW5FLElBQUl3SSxHQUNBLE1BQU1DLEVBQU8sSUFBSWpPLGFBQWEwRCxLQUFLa0osUUFBUTlDLE1BQzNDLElBQUkxSSxFQUFJLEVBQ1JzQyxLQUFLa0osUUFBUWhGLFNBQVFDLElBQ2pCb0csRUFBSzdNLEtBQU80TSxFQUFHbkcsRUFBTUEsTUFBT0EsRUFBTXVDLElBQUt2QyxFQUFNOEIsSUFBSSxJQUVyRCxNQUFNc0QsRUFBTyxDQUFDdkosS0FBS29KLE1BQU9wSixLQUFLcUosT0FDL0IsT0FBTyxJQUFJSixFQUFhakosS0FBS2tLLFVBQVdsSyxLQUFLb0ssVUFBV0csRUFBTWhCLEVBQ2xFLENBQ0FpQixVQUNJLE1BQ003RixFQURPLEVBQVkzRSxLQUFLb0osT0FDVnRILEtBQUksSUFDYixFQUFZOUIsS0FBS3FKLFNBSzVCLE9BSEFySixLQUFLa0osUUFBUWhGLFNBQVFDLElBQ2pCUSxFQUFPUixFQUFNdUMsS0FBS3ZDLEVBQU04QixLQUFPOUIsRUFBTUEsS0FBSyxJQUV2Q1EsQ0FDWCxFQUtHLFNBQVMsRUFBVThGLEdBQ3RCLE1BQU1DLEVBQVVELEVBQU9QLFVBQ2pCUyxFQUFVRixFQUFPTCxVQUNqQlEsRUFBVUgsRUFBT0osWUFDakJRLEVBQVNGLEVBQVFsTixPQUNqQjZMLEVBQU8sSUFBSXdCLFdBQVdELEdBQ3RCOUUsRUFBTyxJQUFJK0UsV0FBV0QsR0FDdEJOLEVBQU8sSUFBSWpPLGFBQWF1TyxHQUM5QnZCLEVBQUt0RixJQUFJMEcsR0FDVDNFLEVBQUsvQixJQUFJMkcsR0FDVEosRUFBS3ZHLElBQUk0RyxHQUNULE1BQU1yQixFQUFPLENBQUNrQixFQUFPcEIsTUFBT29CLEVBQU9yQixPQUNuQyxPQUFPLElBQUlILEVBQWFsRCxFQUFNdUQsRUFBTWlCLEVBQU1oQixFQUM5QyxDQWVPLFNBQVN3QixFQUFpQmxGLEVBQUdDLEdBQ2hDLE9BQU9rRixFQUFZbkYsRUFBR0MsR0FBRyxDQUFDdEosRUFBR0MsSUFBTUQsRUFBSUMsR0FDM0MsQ0FJTyxTQUFTd08sRUFBSXBGLEVBQUdDLEdBQ25CLE9BQU9rRixFQUFZbkYsRUFBR0MsR0FBRyxDQUFDdEosRUFBR0MsSUFBTUQsRUFBSUMsR0FDM0MsQ0FJTyxTQUFTeU8sRUFBU3JGLEVBQUdDLEdBQ3hCLE9BQU9rRixFQUFZbkYsRUFBR0MsR0FBRyxDQUFDdEosRUFBR0MsSUFBTUQsRUFBSUMsR0FDM0MsQ0FVTyxTQUFTME8sRUFBZXRGLEVBQUd1RixHQUM5QixPQUFPdkYsRUFBRS9ELEtBQUtxQyxHQUNIQSxFQUFRaUgsR0FFdkIsQ0FJTyxTQUFTQyxFQUFlQyxHQUMzQixNQUFNQyxFQUFjLElBQUlDLElBQ2xCdEosRUFBU29KLEVBQUVqQixZQUNYdEUsRUFBT3VGLEVBQUVwQixVQUNUWixFQUFPZ0MsRUFBRWxCLFVBQ2YsSUFBSyxJQUFJMU0sRUFBSSxFQUFHQSxFQUFJd0UsRUFBT3pFLE9BQVFDLElBQ2IsSUFBZHdFLEVBQU94RSxJQUNQNk4sRUFBWU4sSUFBSXZOLEdBR3hCLE1BQU0rTixFQUFvQixDQUFDMUcsRUFBR2xFLEtBQVcwSyxFQUFZN0IsSUFBSTdJLEdBQ25ENkssRUFBYXhKLEVBQU95SixPQUFPRixHQUMzQkcsRUFBVzdGLEVBQUs0RixPQUFPRixHQUN2QkksRUFBV3ZDLEVBQUtxQyxPQUFPRixHQUM3QixPQUFPLElBQUl4QyxFQUFhMkMsRUFBVUMsRUFBVUgsRUFBWUosRUFBRXJCLFVBQzlELENBSU8sU0FBUyxFQUFVcUIsRUFBR1EsRUFBVyxNQUNwQyxNQUFNQyxFQUFTQyxFQUFRRixHQUNqQkcsRUFBWSxJQUFJOUMsSUFDdEJtQyxFQUFFcEgsU0FBUSxDQUFDYSxFQUFHMkIsRUFBS1QsS0FDZixNQUFNcUQsRUFBTzJDLEVBQVV0QyxJQUFJakQsSUFBUSxHQUNuQzRDLEVBQUsxRSxLQUFLcUIsR0FDVmdHLEVBQVVqSSxJQUFJMEMsRUFBSzRDLEVBQUssSUFFNUIsTUFBTTRDLEVBQWEsSUFBSWpELEVBQWEsR0FBSSxHQUFJLEdBQUlxQyxFQUFFckIsV0FDbEQsSUFBSyxJQUFJdkQsS0FBT3VGLEVBQVUxTSxPQUFRLENBQzlCLE1BQU0rSixFQUFPMkMsRUFBVXRDLElBQUlqRCxHQUFLc0QsT0FFMUJtQyxFQUFPSixFQURBekMsRUFBS3hILEtBQUltRSxHQUFPcUYsRUFBRTNCLElBQUlqRCxFQUFLVCxNQUV4QyxJQUFLLElBQUl2SSxFQUFJLEVBQUdBLEVBQUl5TyxFQUFLMU8sT0FBUUMsSUFDN0J3TyxFQUFXbEksSUFBSTBDLEVBQUs0QyxFQUFLNUwsR0FBSXlPLEVBQUt6TyxHQUUxQyxDQUNBLE9BQU93TyxDQUNYLENBQ0EsTUFBTUYsRUFBVSxDQUNaLElBQTZCSSxJQUN6QixJQUFJOU4sR0FBTSxJQUNWLElBQUssSUFBSVosRUFBSSxFQUFHQSxFQUFJME8sRUFBRzNPLE9BQVFDLElBQzNCWSxFQUFNOE4sRUFBRzFPLEdBQUtZLEVBQU04TixFQUFHMU8sR0FBS1ksRUFFaEMsT0FBTzhOLEVBQUd0SyxLQUFJdEYsR0FBS0EsRUFBSThCLEdBQUksRUFFL0IsR0FBMkI4TixJQUN2QixJQUFJaEgsRUFBTSxFQUNWLElBQUssSUFBSTFILEVBQUksRUFBR0EsRUFBSTBPLEVBQUczTyxPQUFRQyxJQUMzQjBILEdBQU9nSCxFQUFHMU8sR0FFZCxPQUFPME8sRUFBR3RLLEtBQUl0RixHQUFLQSxFQUFJNEksR0FBSSxFQUUvQixHQUEyQmdILElBQ3ZCLElBQUloSCxFQUFNLEVBQ1YsSUFBSyxJQUFJMUgsRUFBSSxFQUFHQSxFQUFJME8sRUFBRzNPLE9BQVFDLElBQzNCMEgsR0FBT2dILEVBQUcxTyxJQUFNLEVBRXBCLE9BQU8wTyxFQUFHdEssS0FBSXRGLEdBQUttQixLQUFLRSxLQUFLckIsR0FBSyxFQUFJNEksSUFBSyxHQU1uRCxTQUFTNEYsRUFBWW5GLEVBQUdDLEVBQUd1RyxHQUN2QixNQUFNQyxFQUFVLElBQUlkLElBQ2R6RixFQUFPLEdBQ1B1RCxFQUFPLEdBQ1BpQixFQUFPLEdBQ1BnQyxFQUFVLENBQUM3RixFQUFLVCxLQUNsQkYsRUFBS25CLEtBQUs4QixHQUNWNEMsRUFBSzFFLEtBQUtxQixHQUNWLE1BQU11RyxFQUFZSCxFQUFHeEcsRUFBRThELElBQUlqRCxFQUFLVCxHQUFNSCxFQUFFNkQsSUFBSWpELEVBQUtULElBQ2pEc0UsRUFBSzNGLEtBQUs0SCxFQUFVLEVBRWxCQyxFQUFVNUcsRUFBRXdFLFlBQ1pxQyxFQUFRN0csRUFBRXFFLFVBQ1Z5QyxFQUFROUcsRUFBRXVFLFVBQ2hCLElBQUssSUFBSTFNLEVBQUksRUFBR0EsRUFBSStPLEVBQVFoUCxPQUFRQyxJQUFLLENBQ3JDLE1BQU1nSixFQUFNZ0csRUFBTWhQLEdBQ1p1SSxFQUFNMEcsRUFBTWpQLEdBQ1pnQyxFQUFNLEdBQUdnSCxLQUFPVCxJQUN0QnFHLEVBQVFyQixJQUFJdkwsR0FDWjZNLEVBQVE3RixFQUFLVCxFQUNqQixDQUNBLE1BQU0yRyxFQUFVOUcsRUFBRXVFLFlBQ1p3QyxFQUFRL0csRUFBRW9FLFVBQ1Y0QyxFQUFRaEgsRUFBRXNFLFVBQ2hCLElBQUssSUFBSTFNLEVBQUksRUFBR0EsRUFBSWtQLEVBQVFuUCxPQUFRQyxJQUFLLENBQ3JDLE1BQU1nSixFQUFNbUcsRUFBTW5QLEdBQ1p1SSxFQUFNNkcsRUFBTXBQLEdBQ1pnQyxFQUFNLEdBQUdnSCxLQUFPVCxJQUNsQnFHLEVBQVE1QyxJQUFJaEssSUFFaEI2TSxFQUFRN0YsRUFBS1QsRUFDakIsQ0FDQSxNQUFNc0QsRUFBTyxDQUFDMUQsRUFBRXVELE1BQU92RCxFQUFFd0QsT0FDekIsT0FBTyxJQUFJSixFQUFhbEQsRUFBTXVELEVBQU1pQixFQUFNaEIsRUFDOUMsQ0FPTyxTQUFTd0QsRUFBT3ZRLEdBQ25CLE1BQU0wTSxFQUFVLEdBQ2hCMU0sRUFBRTBILFNBQVEsQ0FBQ0MsRUFBT3VDLEVBQUtULEtBQ25CaUQsRUFBUXRFLEtBQUssQ0FBRVQsUUFBT3VDLE1BQUtULE9BQU0sSUFFckNpRCxFQUFRYyxNQUFLLENBQUNuRSxFQUFHQyxJQUNURCxFQUFFYSxNQUFRWixFQUFFWSxJQUNMYixFQUFFSSxJQUFNSCxFQUFFRyxJQUdWSixFQUFFYSxJQUFNWixFQUFFWSxNQUd6QixNQUFNRyxFQUFVLEdBQ1YzRSxFQUFTLEdBQ1Q4SyxFQUFTLEdBQ2YsSUFBSUMsR0FBYyxFQUNsQixJQUFLLElBQUl2UCxFQUFJLEVBQUdBLEVBQUl3TCxFQUFRekwsT0FBUUMsSUFBSyxDQUNyQyxNQUFNLElBQUVnSixFQUFHLElBQUVULEVBQUcsTUFBRTlCLEdBQVUrRSxFQUFReEwsR0FDaENnSixJQUFRdUcsSUFDUkEsRUFBYXZHLEVBQ2JzRyxFQUFPcEksS0FBS2xILElBRWhCbUosRUFBUWpDLEtBQUtxQixHQUNiL0QsRUFBTzBDLEtBQUtULEVBQ2hCLENBQ0EsTUFBTyxDQUFFMEMsVUFBUzNFLFNBQVE4SyxTQUM5QixDQ3pRTyxNQUFNRSxHQUNUQyxZQUNBQyxRQUNBQyxTQUNBeEcsUUFDQTlHLFlBQVlvTixFQUFhQyxFQUFTQyxFQUFVeEcsR0FDeEM3RyxLQUFLbU4sWUFBY0EsRUFDbkJuTixLQUFLb04sUUFBVUEsRUFDZnBOLEtBQUtxTixTQUFXQSxFQUNoQnJOLEtBQUs2RyxRQUFVQSxDQUNuQixFQUtHLFNBQVN5RyxHQUFXMUosRUFBTTRELEVBQVkrRixFQUFRL0ksR0FDakQsTUFBTWdKLEVBQVc3UCxLQUFLVyxJQUFJLEdBQUlrSixHQUN4QmlHLEVBQVEsRUFDSEYsR0FDTnpMLEtBQUksQ0FBQ2lELEVBQUdySCxJQVFqQixTQUFrQmtHLEVBQU00SixFQUFXLEdBQUlqSixFQUFHQyxHQUd0QyxPQURha0osR0FBa0I5SixFQURmLEVBQVlBLEVBQUtuRyxRQUNhK1AsRUFBVWpKLEVBQUdDLEVBRS9ELENBWnVCbUosQ0FBUy9KLEVBQU00SixFQUFVOVAsRUFBRzhHLEtBQ3pDb0osRUFBU0gsRUFBTTNMLEtBQUkrTCxHQW9HN0IsU0FBcUJBLEVBQU1MLEdBQ3ZCLE1BQU1NLEVBQVNDLEdBQVNGLEdBQ2xCRyxFQUFVQyxHQUFVSixHQUVwQlYsRUFBYyxFQUNUVyxHQUNOaE0sS0FBSSxJQUFNK0wsRUFBS0ssV0FBYSxFQUFJLElBQy9CZCxFQUFVLEVBQVlVLEdBQ3RCVCxFQUFXLEVBQVlTLEdBQVFoTSxLQUFJLElBQU0sRUFBRSxHQUFJLEtBQy9DK0UsRUFBVSxFQUNMbUgsR0FDTmxNLEtBQUksSUFBTSxFQUFZMEwsR0FBVTFMLEtBQUksS0FBTyxNQUVoRCxPQURBcU0sR0FBaUJOLEVBQU1WLEVBQWFDLEVBQVNDLEVBQVV4RyxFQUFTLEVBQUcsR0FDNUQsSUFBSXFHLEdBQVNDLEVBQWFDLEVBQVNDLEVBQVV4RyxFQUN4RCxDQWxIcUN1SCxDQUFZUCxFQUFNTCxLQUNuRCxPQUFPSSxDQUNYLENBVUEsU0FBU0YsR0FBa0I5SixFQUFNaUQsRUFBUzJHLEVBQVcsR0FBSWxRLEVBQUdrSCxHQUN4RCxHQUFJcUMsRUFBUXBKLE9BQVMrUCxFQUFVLENBQzNCLE1BQU1hLEVBb0JkLFNBQXdDekssRUFBTWlELEVBQVNyQyxHQUduRCxJQUFJOEosRUFBWSxFQUFpQnpILEVBQVFwSixPQUFRK0csR0FDN0MrSixFQUFhLEVBQWlCMUgsRUFBUXBKLE9BQVErRyxHQUNsRCtKLEdBQWNELElBQWNDLEVBQWEsRUFBSSxFQUM3Q0EsR0FBMEIxSCxFQUFRcEosT0FDbEMsTUFBTStRLEVBQU8zSCxFQUFReUgsR0FDZkcsRUFBUTVILEVBQVEwSCxHQUd0QixJQUFJRyxFQUFtQixFQUNuQkMsRUFBbUIsRUFDdkJBLEVBQW1CL0ssRUFBSzRLLEdBQVE1SyxFQUFLNkssR0FDckNDLEdBQ0tDLEdBQW9CL0ssRUFBSzRLLEdBQVE1SyxFQUFLNkssSUFBVyxFQUl0RCxJQUFJRyxFQUFRLEVBQ1JDLEVBQVMsRUFDYixNQUFNQyxFQUFPLEVBQVlqSSxFQUFRcEosUUFDakMsSUFBSyxJQUFJQyxFQUFJLEVBQUdBLEVBQUltSixFQUFRcEosT0FBUUMsSUFBSyxDQUNyQyxJQUFJcVIsRUFBU0wsRUFDYkssR0FBVUosRUFBbUIvSyxFQUFLaUQsRUFBUW5KLElBQzNCLElBQVhxUixHQUNBRCxFQUFLcFIsR0FBSyxFQUFpQixFQUFHOEcsR0FDZCxJQUFac0ssRUFBS3BSLEdBQ0xrUixHQUFTLEVBR1RDLEdBQVUsR0FHVEUsRUFBUyxHQUNkRCxFQUFLcFIsR0FBSyxFQUNWa1IsR0FBUyxJQUdURSxFQUFLcFIsR0FBSyxFQUNWbVIsR0FBVSxFQUVsQixDQUVBLE1BQU1HLEVBQWMsRUFBWUosR0FDMUJLLEVBQWUsRUFBWUosR0FFakNELEVBQVEsRUFDUkMsRUFBUyxFQUNULElBQUssSUFBSW5SLEVBQUksRUFBR0EsRUFBSW9SLEVBQUtyUixPQUFRQyxJQUNiLElBQVpvUixFQUFLcFIsSUFDTHNSLEVBQVlKLEdBQVMvSCxFQUFRbkosR0FDN0JrUixHQUFTLElBR1RLLEVBQWFKLEdBQVVoSSxFQUFRbkosR0FDL0JtUixHQUFVLEdBR2xCLE1BQU8sQ0FDSEcsY0FDQUMsZUFDQWYsV0FBWVMsRUFDWk8sT0FBUVIsRUFFaEIsQ0FyRjZCUyxDQUErQnZMLEVBQU1pRCxFQUFTckMsSUFDN0QsWUFBRXdLLEVBQVcsYUFBRUMsRUFBWSxXQUFFZixFQUFVLE9BQUVnQixHQUFXYixFQUkxRCxNQURhLENBQUUzRixVQUZHZ0YsR0FBa0I5SixFQUFNb0wsRUFBYXhCLEVBQVVsUSxFQUFJLEVBQUdrSCxHQUU5Q21FLFdBRFArRSxHQUFrQjlKLEVBQU1xTCxFQUFjekIsRUFBVWxRLEVBQUksRUFBR2tILEdBQ3BDNEssUUFBUSxFQUFPbEIsYUFBWWdCLFNBRXJFLENBR0ksTUFEYSxDQUFFckksVUFBU3VJLFFBQVEsRUFHeEMsQ0EwRkEsU0FBU2pCLEdBQWlCTixFQUFNVixFQUFhQyxFQUFTQyxFQUFVeEcsRUFBU3dJLEVBQVNDLEdBQzlFLEdBQUl6QixFQUFLdUIsT0FNTCxPQUxBL0IsRUFBU2dDLEdBQVMsSUFBTUMsRUFHeEJ6SSxFQUFReUksR0FBU3BPLE9BQU8sRUFBRzJNLEVBQUtoSCxRQUFRcEosVUFBV29RLEVBQUtoSCxTQUVqRCxDQUFFd0ksVUFBU0MsUUFEbEJBLEdBQVcsR0FHVixDQUNEbkMsRUFBWWtDLEdBQVd4QixFQUFLSyxXQUM1QmQsRUFBUWlDLEdBQVd4QixFQUFLcUIsT0FDeEI3QixFQUFTZ0MsR0FBUyxHQUFLQSxFQUFVLEVBQ2pDLE1BQU1FLEVBQWFGLEVBQ25CLElBQUlHLEVBQU1yQixHQUFpQk4sRUFBS25GLFVBQVd5RSxFQUFhQyxFQUFTQyxFQUFVeEcsRUFBU3dJLEVBQVUsRUFBR0MsR0FLakcsT0FKQUQsRUFBVUcsRUFBSUgsUUFDZEMsRUFBVUUsRUFBSUYsUUFDZGpDLEVBQVNrQyxHQUFZLEdBQUtGLEVBQVUsRUFDcENHLEVBQU1yQixHQUFpQk4sRUFBS2xGLFdBQVl3RSxFQUFhQyxFQUFTQyxFQUFVeEcsRUFBU3dJLEVBQVUsRUFBR0MsR0FDdkYsQ0FBRUQsUUFBU0csRUFBSUgsUUFBU0MsUUFBU0UsRUFBSUYsUUFDaEQsQ0FDSixDQUNBLFNBQVN2QixHQUFTRixHQUNkLE9BQUlBLEVBQUt1QixPQUNFLEVBR0EsRUFBSXJCLEdBQVNGLEVBQUtuRixXQUFhcUYsR0FBU0YsRUFBS2xGLFdBRTVELENBQ0EsU0FBU3NGLEdBQVVKLEdBQ2YsT0FBSUEsRUFBS3VCLE9BQ0UsRUFHQW5CLEdBQVVKLEVBQUtuRixXQUFhdUYsR0FBVUosRUFBS2xGLFdBRTFELENBeUJBLFNBQVM4RyxHQUFXdkIsRUFBWWdCLEVBQVFRLEVBQU9sTCxHQUMzQyxJQUFJdUssRUFBU0csRUFFYixPQURBSCxHQUFVYixFQUFhd0IsRUFDUixJQUFYWCxFQUNhLEVBQWlCLEVBQUd2SyxHQUc1QnVLLEVBQVMsRUFDUCxFQUdBLENBRWYsQ0FJTyxTQUFTWSxHQUFlRCxFQUFPN0IsRUFBTXJKLEdBQ3hDLElBQUlvTCxFQUFPLEVBQ1gsS0FBTy9CLEVBQUtSLFNBQVN1QyxHQUFNLEdBQUssR0FHeEJBLEVBRFMsSUFEQUgsR0FBVzVCLEVBQUtWLFlBQVl5QyxHQUFPL0IsRUFBS1QsUUFBUXdDLEdBQU9GLEVBQU9sTCxHQUVoRXFKLEVBQUtSLFNBQVN1QyxHQUFNLEdBR3BCL0IsRUFBS1IsU0FBU3VDLEdBQU0sR0FHbkMsTUFBTS9PLEdBQVMsRUFBSWdOLEVBQUtSLFNBQVN1QyxHQUFNLEdBQ3ZDLE9BQU8vQixFQUFLaEgsUUFBUWhHLEVBQ3hCLHNDQzlOQSxNQUFNZ1AsR0FBcUIsS0FDckJDLEdBQW1CLEtBcUJsQixNQUFNQyxHQUNUQyxhQUFlLEVBQ2ZDLGtCQUFvQixFQUNwQmxILFFBQVUsR0FDVm1ILFlBQWMsRUFDZEMsUUFBVSxFQUNWM0ksV0FBYSxHQUNiNEksbUJBQXFCLEVBQ3JCNUwsT0FBUzdHLEtBQUs2RyxPQUNkNkwsa0JBQW9CLEVBQ3BCQyxjQUFnQixFQUNoQkMsT0FBUyxFQUNUQyxtQkFBcUIsRUFFckJDLGFBQWUsY0FDZkMsYUFBZSxHQUNmQyxpQkFBbUIzUSxLQUFLd0gsV0FDeEJvSixXQUFhQyxHQUViQyxXQUNBQyxhQUVBQyxNQUNBQyxFQUNBQyxlQUFnQixFQUNoQkMsU0FBVyxHQUNYQyxlQUNBQyxhQUNBQyxPQUNBQyxZQUVBQyxFQUVBQyxVQUFZLEdBQ1pDLGtCQUFvQixJQUFJQyxHQUNwQkMsZ0JBQ0EsT0FBTzVSLEtBQUt3SCxVQUNoQixDQUNBekgsWUFBWThSLEVBQVMsQ0FBQyxHQUNsQixNQUFNQyxFQUFZcFMsU0FFTW1GLElBQWhCZ04sRUFBT25TLEtBQ1BNLEtBQUtOLEdBQU9tUyxFQUFPblMsR0FBSSxFQUUvQm9TLEVBQVMsY0FDVEEsRUFBUyxnQkFDVEEsRUFBUyxxQkFDVEEsRUFBUyxXQUNUQSxFQUFTLGVBQ1RBLEVBQVMsV0FDVEEsRUFBUyxjQUNUQSxFQUFTLHNCQUNUQSxFQUFTLFVBQ1RBLEVBQVMscUJBQ1RBLEVBQVMsaUJBQ1RBLEVBQVMsVUFDVEEsRUFBUyxxQkFDYixDQUlBQyxJQUFJZCxHQUdBLE9BRkFqUixLQUFLZ1MsY0FBY2YsR0FDbkJqUixLQUFLaVMsaUJBQ0VqUyxLQUFLeVIsU0FDaEIsQ0FLQXhQLGVBQWVnUCxFQUFHaUIsRUFBVyxNQUFNLElBRy9CLE9BRkFsUyxLQUFLZ1MsY0FBY2YsU0FDYmpSLEtBQUttUyxvQkFBb0JELEdBQ3hCbFMsS0FBS3lSLFNBQ2hCLENBSUFXLHdCQUF3QlosRUFBR0ssRUFBUyxDQUFDLEdBQ2pDN1IsS0FBS3dSLEVBQUlBLEVBQ1R4UixLQUFLeVEsYUFBZW9CLEVBQU9wQixjQUFnQnpRLEtBQUt5USxhQUNoRHpRLEtBQUswUSxhQUFlbUIsRUFBT25CLGNBQWdCMVEsS0FBSzBRLGFBQ2hEMVEsS0FBSzJRLGlCQUFtQmtCLEVBQU9sQixrQkFBb0IzUSxLQUFLMlEsZ0JBQzVELENBSUEwQixrQkFBa0J2QixFQUFZQyxHQUMxQi9RLEtBQUs4USxXQUFhQSxFQUNsQjlRLEtBQUsrUSxhQUFlQSxDQUN4QixDQU9BaUIsY0FBY2YsR0FDVixHQUFJQSxFQUFFeFQsUUFBVXVDLEtBQUt3SCxXQUNqQixNQUFNLElBQUlySyxNQUFNLDJCQUEyQjhULEVBQUV4VCxpQ0FBaUN1QyxLQUFLd0gsa0VBR3ZGLEdBQUl4SCxLQUFLaVIsSUFBTUEsR0FBS2pSLEtBQUtrUixjQUNyQixPQUFPbFIsS0FBS3NTLGFBR2hCLEdBREF0UyxLQUFLaVIsRUFBSUEsR0FDSmpSLEtBQUs4USxhQUFlOVEsS0FBSytRLGFBQWMsQ0FDeEMsTUFBTXdCLEVBQWF2UyxLQUFLd1MsaUJBQWlCdkIsR0FDekNqUixLQUFLOFEsV0FBYXlCLEVBQVd6QixXQUM3QjlRLEtBQUsrUSxhQUFld0IsRUFBV3hCLFlBQ25DLENBQ0EvUSxLQUFLZ1IsTUFBUWhSLEtBQUt5UyxtQkFBbUJ4QixFQUFHalIsS0FBS3dILFdBQVl4SCxLQUFLc1EsZUFFOUR0USxLQUFLMFMsZ0JBQ0wxUyxLQUFLdVIsWUFBY3ZSLEtBQUsyUyxnQkFBZ0IxQixHQUV4Q2pSLEtBQUs0UyxzQ0FDTCxNQUFNLEtBQUVDLEVBQUksS0FBRUMsRUFBSSxnQkFBRUMsR0FBcUIvUyxLQUFLZ1QsbUNBUzlDLE9BUEFoVCxLQUFLMFIsa0JBQWtCbUIsS0FBT0EsRUFDOUI3UyxLQUFLMFIsa0JBQWtCb0IsS0FBT0EsRUFDOUI5UyxLQUFLMFIsa0JBQWtCcUIsZ0JBQWtCQSxFQUV6Qy9TLEtBQUtpVCx5QkFDTGpULEtBQUtrVCw2QkFDTGxULEtBQUtrUixlQUFnQixFQUNkbFIsS0FBS3NTLFlBQ2hCLENBQ0FJLGdCQUNJLE1BQU0sYUFBRXJCLEVBQVksZUFBRUQsSUMzRk1SLEVEMkYyQzVRLEtBQUs0USxXQ2pFekUsQ0FBRVEsZUF6QlQsU0FBd0I1SixFQUFZNUQsRUFBTXVQLEVBQWFDLEVBQU81TyxHQUMxRCxJQUFLLElBQUk5RyxFQUFJLEVBQUdBLEVBQUl5VixFQUFZMVYsT0FBUUMsSUFBSyxDQUN6QyxNQUFNbUosRUFBVSxFQUFzQlcsRUFBWTVELEVBQUtuRyxPQUFRK0csR0FDL0QsSUFBSyxJQUFJaUIsRUFBSSxFQUFHQSxFQUFJb0IsRUFBUXBKLE9BQVFnSSxJQUM1Qm9CLEVBQVFwQixHQUFLLEdBSWpCLEVBQWMyTixFQUFPMVYsRUFEWGtULEVBQVdoTixFQUFLaUQsRUFBUXBCLElBQUswTixFQUFZelYsSUFDeEJtSixFQUFRcEIsR0FBSSxFQUUvQyxDQUNKLEVBY3lCNEwsYUFiekIsU0FBc0JnQyxFQUFPelAsRUFBTXVQLEVBQWFDLEVBQU81TyxHQUNuRCxJQUFLLElBQUk5RyxFQUFJLEVBQUdBLEVBQUl5VixFQUFZMVYsT0FBUUMsSUFBSyxDQUN6QyxNQUFNbUosRUFBVSxHQUFvQnNNLEVBQVl6VixHQUFJMlYsRUFBTzdPLEdBQzNELElBQUssSUFBSWlCLEVBQUksRUFBR0EsRUFBSW9CLEVBQVFwSixPQUFRZ0ksSUFBSyxDQUNyQyxHQUFJb0IsRUFBUXBCLEdBQUssRUFDYixPQUdKLEVBQWMyTixFQUFPMVYsRUFEWGtULEVBQVdoTixFQUFLaUQsRUFBUXBCLElBQUswTixFQUFZelYsSUFDeEJtSixFQUFRcEIsR0FBSSxFQUMzQyxDQUNKLENBRUosSUF6QkcsSUFBNkJtTCxFRDRGNUI1USxLQUFLcVIsYUFBZUEsRUFDcEJyUixLQUFLb1IsZUFBaUJBLEVBQ3RCcFIsS0FBS3NSLE9DbEVOLFNBQWlDVixHQUNwQyxPQUFPLFNBQW9CaE4sRUFBTW9OLEVBQU9zQyxFQUFnQkgsR0FDcEQsTUFBTSxRQUFFdE0sRUFBTyxPQUFFbUcsR0FBVyxFQUFjZ0UsR0FDMUMsSUFBSyxJQUFJdFQsRUFBSSxFQUFHQSxFQUFJeVYsRUFBWTFWLE9BQVFDLElBQUssQ0FDekMsTUFBTTZWLEVBQVEsSUFBSS9ILElBQUk4SCxFQUFlLEdBQUc1VixJQUN4QyxPQUFhLENBRVQsTUFBTThWLEVBQVMsRUFBcUJGLEVBQWdCNVYsR0FDcEQsSUFBZ0IsSUFBWjhWLEVBQ0EsTUFFSixNQUFNQyxFQUFhNU0sRUFBUTZNLE1BQU0xRyxFQUFPd0csR0FBU3hHLEVBQU93RyxFQUFTLElBQ2pFLElBQUssTUFBTUcsS0FBYUYsRUFDaEJFLElBQWNILElBQ0MsSUFBZkcsR0FDQUosRUFBTTdKLElBQUlpSyxLQUlkLEVBQXVCTCxFQUFnQjVWLEVBRDdCa1QsRUFBV2hOLEVBQUsrUCxHQUFZUixFQUFZelYsSUFDTGlXLEVBQVcsR0FDeERKLEVBQU10SSxJQUFJMEksR0FFbEIsQ0FDSixDQUNBLE9BQU9MLENBQ1gsQ0FDSixDRHdDc0IsQ0FBa0N0VCxLQUFLNFEsV0FDekQsQ0FDQStCLGdCQUFnQjFCLEdBQ1osTUFBTUgsRUFBYTlRLEtBQUs4USxXQUNsQkMsRUFBZS9RLEtBQUsrUSxhQUNwQnhILEVBQU8sQ0FBQzBILEVBQUV4VCxPQUFRd1QsRUFBRXhULFFBQ3BCOFQsRUFBYyxJQUFJLEVBQW9CLEdBQUksR0FBSSxHQUFJaEksR0FDeEQsSUFBSyxJQUFJN0wsRUFBSSxFQUFHQSxFQUFJb1QsRUFBV3JULE9BQVFDLElBQUssQ0FDeEMsTUFBTWtXLEVBQU05QyxFQUFXcFQsR0FDakJtVyxFQUFZOUMsRUFBYXJULEdBQy9CLElBQUssSUFBSStILEVBQUksRUFBR0EsRUFBSW1PLEVBQUluVyxPQUFRZ0ksSUFBSyxDQUNqQyxNQUFNcU8sRUFBV0YsRUFBSW5PLEdBQ2ZzTyxFQUFXRixFQUFVcE8sR0FDdkJzTyxFQUFXLEdBQ1h4QyxFQUFZdk4sSUFBSXRHLEVBQUdvVyxFQUFVQyxFQUVyQyxDQUNKLENBRUEsT0YxREcvSSxFRTBEbUJ1RyxFQURKLEVBQWlCQSxJRnpEZCxDQUFDL1UsRUFBR0MsSUFBT0QsRUFBSUMsRUFBSUQsRUFBSUMsR0UyRGhELENBSUF1WCxVQUFVQyxHQUVOLE1BQU1DLEVBQVVsVSxLQUFLaVIsRUFDckIsUUFBZ0JwTSxJQUFacVAsR0FBNEMsSUFBbkJBLEVBQVF6VyxPQUNqQyxNQUFNLElBQUlOLE1BQU0seUJBRXBCLElBQUlxSyxFQUFhN0osS0FBS3dGLE1BQU1uRCxLQUFLd0gsV0FBYXhILEtBQUt3USxvQkFDbkRoSixFQUFhN0osS0FBS1MsSUFBSThWLEVBQVF6VyxPQUFRK0osR0FDdEMsTUFBTTJNLEVDdkVQLFNBQTBCdkcsRUFBUWhLLEVBQU11UCxFQUFhM0wsRUFBWTRKLEVBQWdCQyxFQUFjN00sR0FDbEcsTUFBTTRQLEVBQVUsRUFBY2pCLEVBQVkxVixPQUFRK0osR0FFbEQsR0FEQTRKLEVBQWU1SixFQUFZNUQsRUFBTXVQLEVBQWFpQixFQUFTNVAsR0FDbkRvSixFQUNBLElBQUssSUFBSUMsS0FBUUQsRUFDYnlELEVBQWF4RCxFQUFNakssRUFBTXVQLEVBQWFpQixFQUFTNVAsR0FHdkQsT0FBTzRQLENBQ1gsQ0Q4RHFCLENBQTJCcFUsS0FBS21SLFNBQVUrQyxFQUFTRCxFQUFhek0sRUFBWXhILEtBQUtvUixlQUFnQnBSLEtBQUtxUixhQUFjclIsS0FBS3dFLFFBQ2hJakgsRUFBU3lDLEtBQUtzUixPQUFPNEMsRUFBU2xVLEtBQUt1UixZQUFhNEMsRUFBTUYsR0FDNUQsSUFBSSxRQUFFcE4sRUFBU0MsUUFBUytNLEdBQWMsRUFBZ0J0VyxHQUN0RHNKLEVBQVVBLEVBQVEvRSxLQUFJdEYsR0FBS0EsRUFBRWtYLE1BQU0sRUFBRzFULEtBQUt3SCxjQUMzQ3FNLEVBQVlBLEVBQVUvUixLQUFJdEYsR0FBS0EsRUFBRWtYLE1BQU0sRUFBRzFULEtBQUt3SCxjQUMvQyxNQUFNNk0sRUFBNEIxVyxLQUFLVyxJQUFJLEVBQUcwQixLQUFLaVEsa0JBQW9CLElBQ2pFLE9BQUVxRSxFQUFNLEtBQUVDLEdBQVN2VSxLQUFLd1Usa0JBQWtCWCxFQUFXN1QsS0FBS3dILFdBQVk2TSxJQUN0RSxLQUFFdE8sRUFBSSxLQUFFdUQsRUFBSSxLQUFFaUIsR0FBU3ZLLEtBQUt5VSwyQkFBMkI1TixFQUFTZ04sRUFBV1MsRUFBUUMsR0FDbkZuTyxFQUFPLENBQUM2TixFQUFZeFcsT0FBUXlXLEVBQVF6VyxRQUMxQyxJQUFJdVQsRUFBUSxJQUFJLEVBQW9CakwsRUFBTXVELEVBQU1pQixFQUFNbkUsR0FJdEQsTUFDTXNPLEVBQVksRUFESCxFQUFpQjFELEVBQU8sT0FFakM3SyxFQUFVOE4sRUFBWXhXLE9BR3RCZ1UsRUFpbkJQLFNBQXVCNUssRUFBU0MsRUFBUzJLLEdBQzVDLE1BQU1sVSxFQUFTLEVBQ0pzSixFQUFRcEosUUFDZHFFLEtBQUk2UyxHQUFLLEVBQVlsRCxFQUFVLEdBQUdoVSxVQUN2QyxJQUFLLElBQUlDLEVBQUksRUFBR0EsRUFBSW1KLEVBQVFwSixPQUFRQyxJQUNoQyxJQUFLLElBQUkrSCxFQUFJLEVBQUdBLEVBQUlvQixFQUFRLEdBQUdwSixPQUFRZ0ksSUFDbkMsSUFBSyxJQUFJb0MsRUFBSSxFQUFHQSxFQUFJNEosRUFBVSxHQUFHaFUsT0FBUW9LLElBQUssQ0FDMUMsTUFBTWhDLEVBQUlnQixFQUFRbkosR0FBRytILEdBQ3JCbEksRUFBT0csR0FBR21LLElBQU1mLEVBQVFwSixHQUFHK0gsR0FBS2dNLEVBQVU1TCxHQUFHZ0MsRUFDakQsQ0FHUixPQUFPdEssQ0FDWCxDQTluQjBCcVgsQ0FGRCxFQUFnQkYsRUFBVTdOLFFBQVNWLEVBQVNuRyxLQUFLd0gsWUFDakQsRUFBZ0JrTixFQUFVeFMsT0FBUWlFLEVBQVNuRyxLQUFLd0gsWUFDYnhILEtBQUt5UixXQUNuRHRCLEVBQVVuUSxLQUFLbVEsUUFDZm5RLEtBQUttUSxRQUFVLEVBQ2ZhLEVBQU01SCxPQUFTLElBQ1gsSUFDQSxHQUNKeUwsRUFBVzdELEVBQ1ozRyxZQUNBN0ssUUFBTyxDQUFDbEIsRUFBS3FCLElBQVNBLEVBQU1yQixFQUFNcUIsRUFBTXJCLEdBQU0sR0FDbkQwUyxFQUFRQSxFQUFNbFAsS0FBSXFDLEdBQVVBLEVBQVEwUSxFQUFXMUUsRUFBVSxFQUFJaE0sSUFDN0Q2TSxFQUFRLEVBQXNCQSxHQUM5QixNQUFNK0IsRUFBa0IvUyxLQUFLOFUsb0JBQW9COUQsRUFBTTNHLFlBQWE4RixHQUM5RDBDLEVBQU83QixFQUFNOUcsVUFDYjRJLEVBQU85QixFQUFNNUcsVUFhbkIsT0FYQXBLLEtBQUsrVSxrQ0FBa0MsQ0FDbkNDLGNBQWV2RCxFQUNmd0QsY0FBZWpWLEtBQUt5UixVQUNwQm9CLE9BQ0FDLE9BQ0FvQyxhQUFjLEVBQ2QvRSxVQUNBNUksVUFBV3lKLEVBQU0vRyxVQUFVLEdBQzNCOEksb0JBRUovUyxLQUFLa1QsNkJBQ0VsVCxLQUFLaVMsZ0JBQ2hCLENBS0FXLHNDQUNJLE1BQU0sRUFBRXBCLEVBQUMsRUFBRVAsR0FBTWpSLEtBQ2pCLEdBQUl3UixFQUFHLENBQ0gsR0FBSUEsRUFBRS9ULFNBQVd3VCxFQUFFeFQsT0FDZixNQUFNLElBQUlOLE1BQU0sbUNBRXBCLEdBQTBCLGdCQUF0QjZDLEtBQUt5USxhQUErRCxDQUNwRSxNQUNNMEUsRUFES25WLEtBQUswUSxhQUFlLEVBQ0gsR0FBTyxFQUFNMVEsS0FBSzBRLGNBQXpCLElBQTBDLEtBQy9EMVEsS0FBS2dSLE1BQVFoUixLQUFLb1YscUNBQXFDcFYsS0FBS2dSLE1BQU9RLEVBQUcyRCxFQUMxRSxDQUVKLENBQ0osQ0FJQUUsT0FDSSxNQUFNLGFBQUVILEdBQWlCbFYsS0FBSzBSLGtCQUk5QixPQUhJd0QsRUFBZWxWLEtBQUtzUyxjQUNwQnRTLEtBQUtzVixtQkFBbUJKLEdBRXJCbFYsS0FBSzBSLGtCQUFrQndELFlBQ2xDLENBSUFLLGVBQ0ksT0FBT3ZWLEtBQUt5UixTQUNoQixDQU1BZSxpQkFBaUJ2QixHQUNiLE1BQU0sV0FBRUwsRUFBVSxXQUFFcEosR0FBZXhILEtBRTdCd1YsRUNqUlAsU0FBdUI1RSxFQUFZcE0sR0FDdEMsT0FBTyxTQUFtQlosRUFBTTZSLEVBQVdqTyxFQUFZa08sRUFBUyxHQUFJak8sRUFBZ0IsR0FBSWtPLEVBQVEsS0FBT0MsRUFBTSxHQUFLQyxHQUFhLEdBQzNILE1BQU10TyxFQUFZM0QsRUFBS25HLE9BQ2pCNkosRUFBZSxFQUFjMUQsRUFBS25HLE9BQVErSixHQUNoRCxJQUFLLElBQUk5SixFQUFJLEVBQUdBLEVBQUlrRyxFQUFLbkcsT0FBUUMsSUFBSyxDQUNsQyxNQUFNbUosRUFBVSxFQUFxQlcsRUFBWTVELEVBQUtuRyxPQUFRK0csR0FDOUQsSUFBSyxJQUFJaUIsRUFBSSxFQUFHQSxFQUFJb0IsRUFBUXBKLE9BQVFnSSxJQUFLLENBQ3JDLE1BQU1vQyxFQUFJK0ksRUFBV2hOLEVBQUtsRyxHQUFJa0csRUFBS2lELEVBQVFwQixLQUMzQyxFQUFjNkIsRUFBYzVKLEVBQUdtSyxFQUFHaEIsRUFBUXBCLEdBQUksR0FDOUMsRUFBYzZCLEVBQWNULEVBQVFwQixHQUFJb0MsRUFBR25LLEVBQUcsRUFDbEQsQ0FDSixDQUNBLEdBQUltWSxFQUNBLElBQUssSUFBSXRSLEVBQUksRUFBR0EsRUFBSWtSLEVBQVVoWSxPQUFROEcsSUFDbEMsSUFBSyxJQUFJN0csRUFBSSxFQUFHQSxFQUFJK1gsRUFBVWxSLEdBQUc5RyxVQUN6QmdZLEVBQVVsUixHQUFHN0csR0FBSyxHQURlQSxJQUlyQyxJQUFLLElBQUkrSCxFQUFJL0gsRUFBSSxFQUFHK0gsRUFBSWdRLEVBQVVsUixHQUFHOUcsVUFDN0JnWSxFQUFVbFIsR0FBR2tCLEdBQUssR0FEbUJBLElBQUssQ0FJOUMsTUFBTW9DLEVBQUkrSSxFQUFXaE4sRUFBSzZSLEVBQVVsUixHQUFHN0csSUFBS2tHLEVBQUs2UixFQUFVbFIsR0FBR2tCLEtBQzlELEVBQWM2QixFQUFjbU8sRUFBVWxSLEdBQUc3RyxHQUFJbUssRUFBRzROLEVBQVVsUixHQUFHa0IsR0FBSSxHQUNqRSxFQUFjNkIsRUFBY21PLEVBQVVsUixHQUFHa0IsR0FBSW9DLEVBQUc0TixFQUFVbFIsR0FBRzdHLEdBQUksRUFDckUsQ0FJWixJQUFLLElBQUk2RyxFQUFJLEVBQUdBLEVBQUltUixFQUFRblIsSUFBSyxDQUM3QixNQUFNbUQsRUFBcUIsRUFBcUJKLEVBQWNDLEVBQVdDLEVBQVlDLEVBQWVqRCxHQUNwRyxJQUFJc1IsRUFBSSxFQUNSLElBQUssSUFBSXBZLEVBQUksRUFBR0EsRUFBSTZKLEVBQVc3SixJQUMzQixJQUFLLElBQUkrSCxFQUFJLEVBQUdBLEVBQUlnQyxFQUFlaEMsSUFBSyxDQUNwQyxJQUFJcEksRUFBSU0sS0FBS3dGLE1BQU11RSxFQUFtQixHQUFHaEssR0FBRytILElBQzVDLEtBQUlwSSxFQUFJLEdBQUssRUFBY21ILEdBQVVvUixHQUdyQyxJQUFLLElBQUlqUSxFQUFJLEVBQUdBLEVBQUk4QixFQUFlOUIsSUFBSyxDQUNwQyxNQUFNckksRUFBSUssS0FBS3dGLE1BQU11RSxFQUFtQixHQUFHaEssR0FBR2lJLElBQ3hDb1EsRUFBS3JPLEVBQW1CLEdBQUdoSyxHQUFHK0gsR0FDOUJ1USxFQUFLdE8sRUFBbUIsR0FBR2hLLEdBQUdpSSxHQUNwQyxHQUFJckksRUFBSSxJQUFPeVksSUFBT0MsRUFDbEIsU0FFSixNQUFNbk8sRUFBSStJLEVBQVdoTixFQUFLdkcsR0FBSXVHLEVBQUt0RyxJQUNuQ3dZLEdBQUssRUFBY3hPLEVBQWNqSyxFQUFHd0ssRUFBR3ZLLEVBQUcsR0FDMUN3WSxHQUFLLEVBQWN4TyxFQUFjaEssRUFBR3VLLEVBQUd4SyxFQUFHLEVBQzlDLENBQ0osQ0FFSixHQUFJeVksR0FBS0gsRUFBUW5PLEVBQWE1RCxFQUFLbkcsT0FDL0IsS0FFUixDQUVBLE9BRGUsRUFBZ0I2SixFQUVuQyxDQUNKLENEdU5nQyxDQUF3QnNKLEVBQVk1USxLQUFLd0UsUUFLM0QrSSxFQUFTLEVBQUk1UCxLQUFLd0YsTUFGUCxLQURGb0IsRUFHcUIwTSxFQUFFeFQsUUFBVSxHQUFNLElBRi9CLEVBQUlFLEtBQUtzWSxNQUFNMVIsSUFEeEIsSUFBQ0EsRUFJZixNQUFNbVIsRUFBUy9YLEtBQUtXLElBQUksRUFBR1gsS0FBS3dGLE1BQU14RixLQUFLc1ksTUFQOUIsQ0FBQzFSLEdBQU01RyxLQUFLdVksSUFBSTNSLEdBQUs1RyxLQUFLdVksSUFBSSxHQU9NQyxDQUFLbEYsRUFBRXhULFdBQ3hEdUMsS0FBS21SLFNBQVcsR0FBZ0JGLEVBQUd6SixFQUFZK0YsRUFBUXZOLEtBQUt3RSxRQUM1RCxNQUFNaVIsRUR6R1AsU0FBdUJ0RSxHQUMxQixHQUFJQSxFQUFTMVQsT0FBUyxFQUFHLENBQ3JCLE1BQU1rSCxFQUFTLEdBQ2YsSUFBSyxJQUFJa0osS0FBUXNELEVBQ2J4TSxFQUFPQyxRQUFRaUosRUFBS2hILFNBRXhCLE9BQU9sQyxDQUNYLENBRUksTUFBTyxDQUFDLEVBQUUsR0FFbEIsQ0M4RjBCLENBQW1CM0UsS0FBS21SLFdBQ3BDLFFBQUV0SyxFQUFPLFFBQUVDLEdBQVkwTyxFQUFnQnZFLEVBQUd3RSxFQUFXak8sRUFBWWtPLEdBQ3ZFLE1BQU8sQ0FBRTVFLFdBQVlqSyxFQUFTa0ssYUFBY2pLLEVBQ2hELENBU0EyTCxtQkFBbUJ4QixFQUFHekosRUFBWThJLEVBQWdCLEdBQzlDLE1BQU0sV0FBRVEsRUFBYSxHQUFFLGFBQUVDLEVBQWUsR0FBRSxrQkFBRWQsR0FBc0JqUSxNQUM1RCxPQUFFc1UsRUFBTSxLQUFFQyxHQUFTdlUsS0FBS3dVLGtCQUFrQnpELEVBQWN2SixFQUFZeUksSUFDcEUsS0FBRWxLLEVBQUksS0FBRXVELEVBQUksS0FBRWlCLEdBQVN2SyxLQUFLeVUsMkJBQTJCM0QsRUFBWUMsRUFBY3VELEVBQVFDLEdBQ3pGbk8sRUFBTyxDQUFDNkssRUFBRXhULE9BQVF3VCxFQUFFeFQsUUFDcEIyWSxFQUFlLElBQUksRUFBb0JyUSxFQUFNdUQsRUFBTWlCLEVBQU1uRSxHQUN6RGlRLEVBQVksRUFBaUJELEdBQzdCRSxFQUFhLEVBQXdCRixFQUFjQyxHQUNuRHhRLEVBQUksRUFBZ0IsRUFBV3VRLEVBQWNDLEdBQVlDLEdBSS9ELE9BRGUsRUFGTCxFQUFzQnpRLEVBQUd5SyxHQUN6QixFQUFzQmdHLEVBQVksRUFBTWhHLEdBR3RELENBT0E4RSxxQ0FBcUNtQixFQUFlQyxFQUFRckIsRUFBU3NCLEVBQWMsR0FDL0UsSUFBSUMsRUFtZUwsU0FBMEIxRixFQUFPd0YsRUFBUUMsRUFBYyxFQUFLdEIsRUFBVSxHQUN6RSxPQUFPbkUsRUFBTWxQLEtBQUksQ0FBQ3FDLEVBQU91QyxFQUFLVCxLQUNMLElBQWpCdVEsRUFBTzlQLEtBQWdDLElBQWpCOFAsRUFBT3ZRLEdBQ3RCOUIsRUFBUXhHLEtBQUtnWixLQUFLRixHQUVwQkQsRUFBTzlQLEtBQVM4UCxFQUFPdlEsR0FDckI5QixFQUFReEcsS0FBS2daLEtBQUt4QixHQUdsQmhSLEdBR25CLENBL2UyQnlTLENBQWlCTCxFQUFlQyxFQUFRQyxFQUFhdEIsR0FFeEUsT0FEQXVCLEVBQWUsRUFBc0JBLEdBcWZ0QyxTQUFnQ0gsR0FFbkMsTUFBTUYsRUFBWSxFQURsQkUsRUFBZ0IsRUFBaUJBLEVBQWUsUUFJaEQsT0FBTyxFQURQQSxFQUFnQixFQUFXQSxFQUFlLEVBQWdCRixFQUR2QyxFQUF3QkEsRUFBV0UsS0FHMUQsQ0ExZmVNLENBQXVCSCxFQUNsQyxDQVFBbEMsa0JBQWtCWCxFQUFXbE8sRUFBR3NLLEVBQW9CLEVBQUs2RyxFQUFRLEdBQUlDLEVBQVksR0FDN0UsTUFBTVAsRUFBVTdZLEtBQUt1WSxJQUFJdlEsR0FBS2hJLEtBQUt1WSxJQUFJLEdBQU1hLEVBQ3ZDbkIsRUFBTSxFQUFZL0IsRUFBVXBXLFFBQzVCRixFQUFTLEVBQVlzVyxFQUFVcFcsUUFDckMsSUFBSyxJQUFJQyxFQUFJLEVBQUdBLEVBQUltVyxFQUFVcFcsT0FBUUMsSUFBSyxDQUN2QyxJQUFJc1osRUFBSyxFQUNMQyxFQUFLelEsSUFDTDBRLEVBQU0sRUFFVixNQUFNQyxFQUFldEQsRUFBVW5XLEdBQ3pCMFosRUFBZUQsRUFBYXhMLFFBQU85RCxHQUFLQSxFQUFJLElBQ2xELEdBQUl1UCxFQUFhM1osUUFBVXdTLEVBQW1CLENBQzFDLElBQUlwUCxFQUFRbEQsS0FBS3dGLE1BQU04TSxHQUNuQm9ILEVBQWdCcEgsRUFBb0JwUCxFQUNwQ0EsRUFBUSxHQUNSK1UsRUFBSWxZLEdBQUswWixFQUFhdlcsRUFBUSxHQUMxQndXLEVBQWdCeEgsS0FDaEIrRixFQUFJbFksSUFDQTJaLEdBQWlCRCxFQUFhdlcsR0FBU3VXLEVBQWF2VyxFQUFRLE1BSXBFK1UsRUFBSWxZLEdBQUsyWixFQUFnQkQsRUFBYSxFQUU5QyxNQUNTQSxFQUFhM1osT0FBUyxJQUMzQm1ZLEVBQUlsWSxHQUFLLEVBQVUwWixJQUV2QixJQUFLLElBQUk3UyxFQUFJLEVBQUdBLEVBQUl1UyxFQUFPdlMsSUFBSyxDQUM1QixJQUFJK1MsRUFBTyxFQUNYLElBQUssSUFBSTdSLEVBQUksRUFBR0EsRUFBSW9PLEVBQVVuVyxHQUFHRCxPQUFRZ0ksSUFBSyxDQUMxQyxNQUFNb0MsRUFBSWdNLEVBQVVuVyxHQUFHK0gsR0FBS21RLEVBQUlsWSxHQUU1QjRaLEdBREF6UCxFQUFJLEVBQ0lsSyxLQUFLZ1osS0FBTTlPLEVBQUlxUCxHQUdmLENBRWhCLENBQ0EsR0FBSXZaLEtBQUt3QixJQUFJbVksRUFBT2QsR0FBVTNHLEdBQzFCLE1BRUF5SCxFQUFPZCxHQUNQUyxFQUFLQyxFQUNMQSxHQUFPRixFQUFLQyxHQUFNLElBR2xCRCxFQUFLRSxFQUNERCxJQUFPelEsSUFDUDBRLEdBQU8sRUFHUEEsR0FBT0YsRUFBS0MsR0FBTSxFQUc5QixDQUdBLEdBRkExWixFQUFPRyxHQUFLd1osRUFFUnRCLEVBQUlsWSxHQUFLLEVBQUssQ0FDZCxNQUFNNlosRUFBbUIsRUFBV0osR0FDaEM1WixFQUFPRyxHQUFLb1MsR0FBbUJ5SCxJQUMvQmhhLEVBQU9HLEdBQUtvUyxHQUFtQnlILEVBRXZDLEtBQ0ssQ0FDRCxNQUFNQyxFQUFnQixFQUFXM0QsRUFBVS9SLElBQUksSUFDM0N2RSxFQUFPRyxHQUFLb1MsR0FBbUIwSCxJQUMvQmphLEVBQU9HLEdBQUtvUyxHQUFtQjBILEVBRXZDLENBQ0osQ0FDQSxNQUFPLENBQUVsRCxPQUFRL1csRUFBUWdYLEtBQU1xQixFQUNuQyxDQU9BbkIsMkJBQTJCM0QsRUFBWUMsRUFBY3VELEVBQVFDLEdBQ3pELE1BQU1qUCxFQUFXd0wsRUFBV3JULE9BQ3RCK0osRUFBYXNKLEVBQVcsR0FBR3JULE9BQzNCc0ksRUFBTyxFQUFZVCxFQUFXa0MsR0FDOUI4QixFQUFPLEVBQVloRSxFQUFXa0MsR0FDOUIrQyxFQUFPLEVBQVlqRixFQUFXa0MsR0FDcEMsSUFBSyxJQUFJOUosRUFBSSxFQUFHQSxFQUFJNEgsRUFBVTVILElBQzFCLElBQUssSUFBSStILEVBQUksRUFBR0EsRUFBSStCLEVBQVkvQixJQUFLLENBQ2pDLElBQUk5RixFQUFNLEdBQ2dCLElBQXRCbVIsRUFBV3BULEdBQUcrSCxLQUlkOUYsRUFEQW1SLEVBQVdwVCxHQUFHK0gsS0FBTy9ILEVBQ2YsRUFFRHFULEVBQWFyVCxHQUFHK0gsR0FBSzhPLEVBQUs3VyxJQUFNLEVBQy9CLEVBR0FDLEtBQUtnWixNQUFPNUYsRUFBYXJULEdBQUcrSCxHQUFLOE8sRUFBSzdXLElBQU00VyxFQUFPNVcsSUFFN0RxSSxFQUFLckksRUFBSThKLEVBQWEvQixHQUFLL0gsRUFDM0I0TCxFQUFLNUwsRUFBSThKLEVBQWEvQixHQUFLcUwsRUFBV3BULEdBQUcrSCxHQUN6QzhFLEVBQUs3TSxFQUFJOEosRUFBYS9CLEdBQUs5RixFQUMvQixDQUVKLE1BQU8sQ0FBRW9HLE9BQU11RCxPQUFNaUIsT0FDekIsQ0FPQXlJLG1DQUNJLE1BQU03QyxFQUFVblEsS0FBS3NTLGNBQ2YsWUFBRXBDLEdBQWdCbFEsS0FDbEJ5WCxFQUFjelgsS0FBS2dSLE1BQU0zRyxZQUMvQixJQUFJd0ssRUFBVyxFQUNmLElBQUssSUFBSW5YLEVBQUksRUFBR0EsRUFBSStaLEVBQVloYSxPQUFRQyxJQUFLLENBQ3pDLE1BQU15RyxFQUFRc1QsRUFBWS9aLEdBQ3RCbVgsRUFBVzRDLEVBQVkvWixLQUN2Qm1YLEVBQVcxUSxFQUVuQixDQUNBLE1BQU02TSxFQUFRaFIsS0FBS2dSLE1BQU1sUCxLQUFJcUMsR0FDckJBLEVBQVEwUSxFQUFXMUUsRUFDWixFQUdBaE0sSUFNZm5FLEtBQUt5UixVQUFZLEVBQVlULEVBQU01SCxPQUFPdEgsS0FBSSxJQUNuQyxFQUFZb08sR0FBYXBPLEtBQUksSUFDSSxHQUE3QixFQUFjOUIsS0FBS3dFLFFBQWdCLE9BSWxELE1BQU1zQyxFQUFVLEdBQ1YrTCxFQUFPLEdBQ1BDLEVBQU8sR0FDUC9JLEVBQWVpSCxFQUFNbkgsU0FDM0IsSUFBSyxJQUFJbk0sRUFBSSxFQUFHQSxFQUFJcU0sRUFBYXRNLE9BQVFDLElBQUssQ0FDMUMsTUFBTWdhLEVBQVEzTixFQUFhck0sR0FDdkJnYSxFQUFNdlQsUUFDTjJDLEVBQVFsQyxLQUFLOFMsRUFBTXZULE9BQ25CMk8sRUFBS2xPLEtBQUs4UyxFQUFNaFIsS0FDaEJtTSxFQUFLak8sS0FBSzhTLEVBQU16UixLQUV4QixDQUVBLE1BQU8sQ0FBRTRNLE9BQU1DLE9BQU1DLGdCQURHL1MsS0FBSzhVLG9CQUFvQmhPLEVBQVNxSixHQUU5RCxDQUtBMkUsb0JBQW9CaE8sRUFBU3FKLEdBQ3pCLE1BQU01UyxFQUFTLEVBQWF1SixFQUFRckosUUFBUyxHQUN2Q2EsRUFBTSxFQUFVd0ksR0FDaEJ4QixFQUFXd0IsRUFBUWhGLEtBQUk2VixHQUFNQSxFQUFJclosRUFBTzZSLElBSzlDLE9BSkE3SyxFQUFTcEIsU0FBUSxDQUFDSyxFQUFHN0csS0FDYjZHLEVBQUksSUFDSmhILEVBQU9HLEdBQUt5UyxFQUFVN0ssRUFBUzVILEdBQUUsSUFFbENILENBQ1gsQ0FJQXdYLGtDQUFrQzZDLEdBQzlCdFksT0FBT3VZLE9BQU83WCxLQUFLMFIsa0JBQW1Ca0csRUFDMUMsQ0FLQTFFLDZCQUVJLE1BQU0sa0JBQUU3QyxFQUFpQixhQUFFTCxFQUFZLG1CQUFFSSxHQUF1QnBRLE1BQzFELGdCQUFFK1MsRUFBZSxjQUFFaUMsRUFBYSxjQUFFQyxHQUFtQmpWLEtBQUswUixrQkFDMURvRyxFQUFNOUMsRUFBYyxHQUFHdlgsT0FDdkJzYSxFQUFZL0MsRUFBY3ZYLFNBQVd3WCxFQUFjeFgsT0FDbkR1YSxFQUEwQmpGLEVBQWdCalIsS0FBSXNDLEdBQUtBLEVBQUlnTSxJQUN2RDZILEVBQTRCLElBQUlELEdBQ2hDRSxFQUFvQixJQUFJbkYsR0FDOUIvUyxLQUFLK1Usa0NBQWtDLENBQ25DbUQsb0JBQ0FELDRCQUNBRCwwQkFDQUQsWUFDQUksYUFBY25JLEVBQ2RvSSxNQUFPcEksRUFDUHFJLE1BQU9oSSxFQUNQeUgsT0FFUixDQUlBN0UseUJBRUksTUFBTStCLEVBQWdCaFYsS0FBS3lSLFVBQ3JCd0QsRUFBZ0JqVixLQUFLeVIsV0FFckIsS0FBRW9CLEVBQUksS0FBRUMsRUFBSSxnQkFBRUMsR0FBb0IvUyxLQUFLMFIsa0JBQ3ZDdkIsRUFBVW5RLEtBQUtzUyxhQUNmL0ssRUFBWXZILEtBQUtnUixNQUFNM0gsT0FDdkIsRUFBRyxFQUFFdkQsR0F3T1osU0FBc0J5SyxFQUFReEgsR0FDakMsTUFHTXVQLEVKdHZCSCxTQUFnQnpTLEVBQUdDLEVBQUd0SSxHQUN6QixPQUFPa0gsRUlzdkJvQixLSnR2QlQ1QyxLQUFJLENBQUNpRCxFQUFHckgsSUlzdkJkLEVKcnZCR0EsSUFBTW9JLEVJcXZCVCxHSnJ2QmtCLE1BRWxDLENJa3ZCZSxDQUNDLEVBQVksRUFBVHlLLEdBQ1Z6TyxLQUFJbkMsR0FBUUEsRUFBTW9KLEVBQVUsRUFBTXBKLElBQ2pDNFksRUFBSyxFQUFZRCxFQUFHN2EsUUFBUXFFLEtBQUksQ0FBQ25DLEVBQUtrQixJQUM1QnlYLEVBQUd6WCxJQUFVa0ksRUFDWnBMLEtBQUtnWixNQUFNMkIsRUFBR3pYLEdBQVNrSSxHQUFXd0gsR0FBVTVRLElBR3ZEaUUsRUFBTyxDQUFFcEgsRUFBRzhiLEVBQUk3YixFQUFHOGIsSUFTbkIsZ0JBQUVDLEdFajBCRyxTQUNiNVUsRUFDQTZVLEVBQ0FDLEVBQVUsQ0FBQyxHQUVYLElBQUksY0FDRkMsRUFBZ0IsSUFBRyxtQkFDbkJDLEVBQXFCLEdBQUssUUFDMUJDLEVBQVUsRUFBQyxlQUNYQyxFQUFpQixJQUFLLFVBQ3RCQyxFQUFTLFVBQ1RDLEVBQVMsY0FDVEMsR0FDRVAsRUFFSixHQUFJRyxHQUFXLEVBQ2IsTUFBTSxJQUFJMWIsTUFBTSxnREFDWCxJQUFLeUcsRUFBS3BILElBQU1vSCxFQUFLbkgsRUFDMUIsTUFBTSxJQUFJVSxNQUFNLGlEQUNYLEtBQ0osUUFBUXlHLEVBQUtwSCxJQUNkb0gsRUFBS3BILEVBQUVpQixPQUFTLEtBQ2YsUUFBUW1HLEVBQUtuSCxJQUNkbUgsRUFBS25ILEVBQUVnQixPQUFTLEVBRWhCLE1BQU0sSUFBSU4sTUFDUix3RUFFRyxHQUFJeUcsRUFBS3BILEVBQUVpQixTQUFXbUcsRUFBS25ILEVBQUVnQixPQUNsQyxNQUFNLElBQUlOLE1BQU0sdURBR2xCLElBQUkrYixFQUNGRCxHQUFpQixJQUFJclgsTUFBTTZXLEVBQXNCaGIsUUFBUW9FLEtBQUssR0FDNURzWCxFQUFTRCxFQUFXemIsT0FJeEIsR0FIQXViLEVBQVlBLEdBQWEsSUFBSXBYLE1BQU11WCxHQUFRdFgsS0FBS21CLE9BQU9vVyxrQkFDdkRMLEVBQVlBLEdBQWEsSUFBSW5YLE1BQU11WCxHQUFRdFgsS0FBS21CLE9BQU9xVyxrQkFFbkRMLEVBQVV2YixTQUFXc2IsRUFBVXRiLE9BQ2pDLE1BQU0sSUFBSU4sTUFBTSxpREFHbEIsS0FBSyxRQUFRK2IsR0FDWCxNQUFNLElBQUkvYixNQUFNLGtDQUdsQixJQUlJbWMsRUFKQXpWLEdBQVEsRUFBQTBWLEdBQUEsR0FBaUIzVixFQUFNc1YsRUFBWVQsR0FFM0NlLEVBQVkzVixHQUFTaVYsRUFHekIsSUFBS1EsRUFBWSxFQUFHQSxFQUFZWCxJQUFrQmEsRUFBV0YsSUFBYSxDQUN4RUosR0FBYSxFQUFBN0QsR0FBQSxHQUNYelIsRUFDQXNWLEVBQ0FMLEVBQ0FELEVBQ0FILEdBR0YsSUFBSyxJQUFJOVMsRUFBSSxFQUFHQSxFQUFJd1QsRUFBUXhULElBQzFCdVQsRUFBV3ZULEdBQUtoSSxLQUFLUyxJQUNuQlQsS0FBS1csSUFBSXlhLEVBQVVwVCxHQUFJdVQsRUFBV3ZULElBQ2xDcVQsRUFBVXJULElBS2QsR0FEQTlCLEdBQVEsRUFBQTBWLEdBQUEsR0FBaUIzVixFQUFNc1YsRUFBWVQsR0FDdkNnQixNQUFNNVYsR0FBUSxNQUNsQjJWLEVBQVkzVixHQUFTaVYsQ0FDdkIsQ0FFQSxNQUFPLENBQ0xOLGdCQUFpQlUsRUFDakJRLGVBQWdCN1YsRUFDaEI4VixXQUFZTCxFQUVoQixDRm92QmdDLENBQUcxVixHQXBCakIsRUFBRWlDLEVBQUdDLEtBQVF0SixHQUNoQixHQUFPLEVBQU1xSixFQUFJckosSUFBTSxFQUFJc0osS0FZdEIsQ0FDWitTLFFBQVMsSUFDVEksY0FMa0IsQ0FBQyxHQUFLLElBTXhCTCxtQkFBb0IsR0FDcEJELGNBQWUsSUFDZkcsZUFBZ0IsT0FHYmpULEVBQUdDLEdBQUswUyxFQUNmLE1BQU8sQ0FBRTNTLElBQUdDLElBQ2hCLENBaFF5QjhULENBQWE1WixLQUFLdVEsT0FBUXZRLEtBQUsrSSxTQUNoRC9JLEtBQUsrVSxrQ0FBa0MsQ0FDbkNDLGdCQUNBQyxnQkFDQXBDLE9BQ0FDLE9BQ0FDLGtCQUNBbE4sRUFDQUMsSUFDQXFLLFVBQ0E1SSxhQUVSLENBUUErTixtQkFBbUIvUSxHQUNmLE1BQU0sa0JBQUVtTixHQUFzQjFSLE1BQ3hCLEtBQUU2UyxFQUFJLEtBQUVDLEVBQUksY0FBRWtDLEVBQWEsY0FBRUMsRUFBYSxnQkFBRWxDLEVBQWUsa0JBQUVtRixFQUFpQiwwQkFBRUQsRUFBeUIsd0JBQUVELEVBQXVCLFVBQUVELEVBQVMsYUFBRUksRUFBWSxNQUFFQyxFQUFLLE1BQUVDLEVBQUssRUFBRXhTLEVBQUMsRUFBRUMsRUFBQyxJQUFFZ1MsRUFBRyxRQUFFM0gsRUFBTyxVQUFFNUksR0FBZW1LLEVBRXBOLElBQUssSUFBSWhVLEVBQUksRUFBR0EsRUFBSXFWLEVBQWdCdFYsT0FBUUMsSUFBSyxDQUM3QyxHQUFJd2EsRUFBa0J4YSxHQUFLNkcsRUFDdkIsU0FFSixNQUFNa0IsRUFBSW9OLEVBQUtuVixHQUNUaUksRUFBSW1OLEVBQUtwVixHQUNUbWMsRUFBVTdFLEVBQWN2UCxHQUN4QnFVLEVBQVE3RSxFQUFjdFAsR0FDdEJvVSxFQUFjQyxHQUFNSCxFQUFTQyxHQUNuQyxJQUFJRyxFQUFZLEVBQ1pGLEVBQWMsSUFDZEUsR0FBYSxFQUFNcFUsRUFBSUMsRUFBSW5JLEtBQUtDLElBQUltYyxFQUFhalUsRUFBSSxHQUNyRG1VLEdBQWFwVSxFQUFJbEksS0FBS0MsSUFBSW1jLEVBQWFqVSxHQUFLLEdBRWhELElBQUssSUFBSStCLEVBQUksRUFBR0EsRUFBSWlRLEVBQUtqUSxJQUFLLENBQzFCLE1BQU1xUyxFQUFRQyxHQUFLRixHQUFhSixFQUFRaFMsR0FBS2lTLEVBQU1qUyxJQWhCekMsR0FpQlZnUyxFQUFRaFMsSUFBTXFTLEVBQVE5QixFQUNsQkwsSUFDQStCLEVBQU1qUyxLQUFPcVMsRUFBUTlCLEVBRTdCLENBQ0FGLEVBQWtCeGEsSUFBTXFWLEVBQWdCclYsR0FDeEMsTUFBTTBjLEVBQWN6YyxLQUFLd0YsT0FBT29CLEVBQUkwVCxFQUEwQnZhLElBQU1zYSxFQUF3QnRhLElBQzVGLElBQUssSUFBSUwsRUFBSSxFQUFHQSxFQUFJK2MsRUFBYS9jLElBQUssQ0FDbEMsTUFBTXNJLEVBQUksRUFBaUI0QixFQUFXdkgsS0FBS3dFLFFBQ3JDc1YsRUFBUTdFLEVBQWN0UCxHQUN0Qm9VLEVBQWNDLEdBQU1ILEVBQVNDLEdBQ25DLElBQUlHLEVBQVksRUFDaEIsR0FBSUYsRUFBYyxFQUNkRSxFQUFZLEVBQU01QixFQUFRdlMsRUFDMUJtVSxJQUNLLEtBQVFGLElBQWdCbFUsRUFBSWxJLEtBQUtDLElBQUltYyxFQUFhalUsR0FBSyxRQUUzRCxHQUFJTCxJQUFNRSxFQUNYLFNBRUosSUFBSyxJQUFJa0MsRUFBSSxFQUFHQSxFQUFJaVEsRUFBS2pRLElBQUssQ0FDMUIsSUFBSXFTLEVBQVEsRUFDUkQsRUFBWSxJQUNaQyxFQUFRQyxHQUFLRixHQUFhSixFQUFRaFMsR0FBS2lTLEVBQU1qUyxJQXhDM0MsSUEwQ05nUyxFQUFRaFMsSUFBTXFTLEVBQVE5QixDQUMxQixDQUNKLENBQ0FILEVBQTBCdmEsSUFBTTBjLEVBQWNwQyxFQUF3QnRhLEVBQzFFLENBR0EsT0FGQWdVLEVBQWtCMEcsTUFBUUQsR0FBZ0IsRUFBTTVULEVBQUk0TCxHQUNwRHVCLEVBQWtCd0QsY0FBZ0IsRUFDM0JGLENBQ1gsQ0FRQTdDLG9CQUFvQmtJLEVBQWdCLE1BQU0sSUFDdEMsT0FBTyxJQUFJaFksU0FBUSxDQUFDQyxFQUFTQyxLQUN6QixNQUFNOFMsRUFBT3BULFVBQ1QsSUFDSSxNQUFNLFFBQUVrTyxFQUFPLGFBQUUrRSxHQUFpQmxWLEtBQUswUixrQkFDdkMxUixLQUFLeVIsVUFBWXpSLEtBQUtzVixtQkFBbUJKLEdBQ3pDLE1BQU1vRixFQUFpQnRhLEtBQUswUixrQkFBa0J3RCxhQUN4Q3FGLEdBQStDLElBQWxDRixFQUFjQyxHQUMzQkUsRUFBYUYsSUFBbUJuSyxFQUN0QyxHQUFLb0ssR0FBZUMsRUFJaEIsT0FBT2xZLEVBQVFrWSxHQUhmQyxZQUFXLElBQU1wRixLQUFRLEVBS2pDLENBQ0EsTUFBT3FGLEdBQ0huWSxFQUFPbVksRUFDWCxHQUVKRCxZQUFXLElBQU1wRixLQUFRLEVBQUUsR0FFbkMsQ0FRQXBELGVBQWVvSSxFQUFnQixNQUFNLElBQ2pDLElBQUlHLEdBQWEsRUFDYi9JLEVBQVksR0FDaEIsTUFBUStJLEdBQVksQ0FDaEIsTUFBTSxRQUFFckssRUFBTyxhQUFFK0UsR0FBaUJsVixLQUFLMFIsa0JBQ3ZDRCxFQUFZelIsS0FBS3NWLG1CQUFtQkosR0FDcEMsTUFBTW9GLEVBQWlCdGEsS0FBSzBSLGtCQUFrQndELGFBQ3hDcUYsR0FBK0MsSUFBbENGLEVBQWNDLEdBQ2pDRSxFQUFhRixJQUFtQm5LLEdBQVdvSyxDQUMvQyxDQUNBLE9BQU85SSxDQUNYLENBS0FhLGFBQ0ksTUFBTXRCLEVBQVFoUixLQUFLZ1IsTUFDbkIsR0FBSWhSLEtBQUttUSxRQUFVLEVBQ2YsT0FBT25RLEtBQUttUSxRQUVoQixJQUFLYSxFQUNELE9BQU8sSUFFWCxNQUFNdlQsRUFBU3VULEVBQU01SCxNQUNyQixPQUFJM0wsR0FBVSxLQUNILElBRUZBLEdBQVUsSUFDUixJQUVGQSxHQUFVLEtBQ1IsSUFHQSxHQUVmLEVBU0csU0FBU29ULEdBQVFyVSxFQUFHQyxHQUV2QixPQURla0IsS0FBS3dCLElBQUkzQyxFQUFJQyxFQUVoQyxDQXdCQSxNQUFNa1YsR0FDRnVELGFBQWUsRUFFZkYsY0FBZ0IsR0FDaEJDLGNBQWdCLEdBQ2hCcEMsS0FBTyxHQUNQQyxLQUFPLEdBQ1BDLGdCQUFrQixHQUNsQm1GLGtCQUFvQixHQUNwQkQsMEJBQTRCLEdBQzVCRCx3QkFBMEIsR0FDMUJELFdBQVksRUFDWkksYUFBZSxFQUNmQyxNQUFRLEVBQ1JDLE1BQVEsRUFDUnhTLEVBQUksbUJBQ0pDLEVBQUksa0JBQ0pnUyxJQUFNLEVBQ04zSCxRQUFVLElBQ1Y1SSxVQUFZLEVBS2hCLFNBQVM0UyxHQUFLM2QsRUFBR21lLEdBQ2IsT0FBSW5lLEVBQUltZSxFQUNHQSxFQUNGbmUsR0FBS21lLEdBQ0ZBLEVBRURuZSxDQUNmLENBSUEsU0FBU3dkLEdBQU14ZCxFQUFHQyxHQUNkLElBQUljLEVBQVMsRUFDYixJQUFLLElBQUlHLEVBQUksRUFBR0EsRUFBSWxCLEVBQUVpQixPQUFRQyxJQUMxQkgsR0FBVUksS0FBS0MsSUFBSXBCLEVBQUVrQixHQUFLakIsRUFBRWlCLEdBQUksR0FFcEMsT0FBT0gsQ0FDWCxDR3B6Qk8sTUFBTXFkLEdBQ1R2WixhQUNBdEIsY0FDSUMsS0FBS3FCLGFBQWUxRCxLQUFLVyxJQUFJb0QsVUFBVUMsb0JBQXNCLEVBQUcsRUFDcEUsQ0FDQU0sV0FBV0MsRUFBUUMsRUFBUTBZLEVBQVczYSxFQUFPLENBQUMsR0FFMUMsTUFBTTRhLEVBQVU1WSxFQUFPekUsUUFBVXlFLEVBQU96RSxPQUFTLEdBQUssRUFDaERpRixFQUFZL0UsS0FBS3dGLE1BQU0yWCxFQUFVOWEsS0FBS3FCLGNBQ3RDMFosRUFBZTdZLEVBQU96RSxPQUFTLFVBQWN1QyxLQUFLZ2Isb0JBQW9COVksRUFBUUMsRUFBUWpDLEdBQVEsRUFDaEcyYSxFQUFZRSxJQUNaRSxRQUFRL0UsSUFBSSxtQkFBbUI2RSxLQUMvQkYsRUFBWUUsR0FFaEI3YSxFQUFnQixVQUFJMmEsRUFDcEIsTUFBTXJZLEVBQVcsSUFBSVosTUFBTTVCLEtBQUtxQixjQUMxQjZaLEVBQVUsSUFBSXRaLE1BQU01QixLQUFLcUIsY0FDMUJRLEtBQUssTUFBTUMsS0FBSSxJQUFNLElBQUlDLE9BQU8sSUFBSUMsSUFBSSxxQkFDN0MsSUFBSyxJQUFJMkYsRUFBTSxFQUFHQSxFQUFNM0gsS0FBS3FCLGFBQWNzRyxJQUN2Q25GLEVBQVNtRixHQUFPLElBQUl0RixTQUFRLENBQUNvQixFQUFlQyxLQUN4QyxNQUFNeVgsRUFBV3hULEVBQU1qRixFQUNqQjBZLEVBQVN6VCxJQUFRM0gsS0FBS3FCLGFBQWUsRUFBSXlaLEdBQVduVCxFQUFNLEdBQUtqRixFQUNqRTBZLEdBQVVELEdBQ1YxWCxFQUFjLENBQUUvRixFQUFHLElBQUlvTixXQUFXLEdBQUlyRixFQUFHLElBQUlxRixXQUFXLEdBQUlpSixTQUFVLElBQUl6WCxhQUFhLEdBQUlxTCxRQUMvRnVULEVBQVF2VCxHQUFLcEUsWUFBWSxDQUFFckIsU0FBUWlaLFdBQVVDLFNBQVFQLFlBQVcxWSxTQUFRakMsU0FDeEVnYixFQUFRdlQsR0FBS2hFLFVBQVksRUFBR0MsTUFBUUMsUUFBT25HLElBQUcrSCxJQUFHc08sZ0JBQ3pDbFEsR0FDQXFYLEVBQVF2VCxHQUFLNUQsWUFDYkwsRUFBYUcsS0FHYnFYLEVBQVF2VCxHQUFLNUQsWUFDYk4sRUFBYyxDQUFFL0YsSUFBRytILElBQUdzTyxXQUFVcE0sUUFDcEMsQ0FDSCxJQUdULE1BQU15TSxRQUFnQi9SLFFBQVE0QixJQUFJekIsR0FDNUI2WSxFQUFXakgsRUFBUTVVLFFBQU8sQ0FBQzhiLEVBQUszYixJQUFRMmIsRUFBTTNiLEVBQUlqQyxFQUFFRCxRQUFRLEdBQzVEQyxFQUFJLElBQUlvTixXQUFXdVEsR0FDbkI1VixFQUFJLElBQUlxRixXQUFXdVEsR0FDbkJ0SCxFQUFXLElBQUl6WCxhQUFhK2UsR0FDbEMsSUFBSW5NLEVBQVMsRUFFYixJQUFLLE1BQU1NLEtBQU80RSxFQUNkMVcsRUFBRXNHLElBQUl3TCxFQUFJOVIsRUFBR3dSLEdBQ2J6SixFQUFFekIsSUFBSXdMLEVBQUkvSixFQUFHeUosR0FDYjZFLEVBQVMvUCxJQUFJd0wsRUFBSXVFLFNBQVU3RSxHQUMzQkEsR0FBVU0sRUFBSTlSLEVBQUVELE9BRXBCLE1BQU8sQ0FBRUMsSUFBRytILElBQUdzTyxXQUNuQixDQUNBOVIsYUFBYUMsRUFBUUMsRUFBUW9aLEVBQWMsR0FBSXJiLEVBQU8sQ0FBQyxHQUNuRCxhQUFhRixLQUFLd2IsZUFBZSxDQUFDdFosR0FBUyxDQUFDQyxHQUFTb1osRUFBYSxDQUFDcmIsR0FBTyxDQUFDLEdBQy9FLENBQ0ErQixxQkFBcUJDLEVBQVF1WixFQUFTRixFQUFjLEdBQUlyYixFQUFNNEcsRUFBUzRVLEVBQW9CbGIsRUFBMkJtYixXQUNsSCxHQUFJelosRUFBT3pFLFNBQVdnZSxFQUFRaGUsUUFBVXlFLEVBQU96RSxTQUFXeUMsRUFBS3pDLFFBQVV5RSxFQUFPekUsU0FBV3FKLEVBQVFySixPQUMvRixNQUFNLElBQUlOLE1BQU0sc0ZBQ3BCLEdBQUkrRSxFQUFPMFosTUFBTTVhLEdBQU1BLEVBQUV2RCxTQUFXeUUsRUFBTyxHQUFHekUsU0FDMUMsTUFBTSxJQUFJTixNQUFNLGlEQUNwQixNQUFNMmQsRUFBVTVZLEVBQU8sR0FBR3pFLFFBQVV5RSxFQUFPLEdBQUd6RSxPQUFTLEdBQUssRUFDdERpRixFQUFZL0UsS0FBS3dGLE1BQU0yWCxFQUFVOWEsS0FBS3FCLGNBQ3RDbUIsRUFBVyxJQUFJWixNQUFNNUIsS0FBS3FCLGNBQzFCNlosRUFBVSxJQUFJdFosTUFBTTVCLEtBQUtxQixjQUMxQlEsS0FBSyxNQUFNQyxLQUFJLElBQU0sSUFBSUMsT0FBTyxJQUFJQyxJQUFJLHFCQUM3QyxJQUFLLElBQUkyRixFQUFNLEVBQUdBLEVBQU0zSCxLQUFLcUIsYUFBY3NHLElBQ3ZDbkYsRUFBU21GLEdBQU8sSUFBSXRGLFNBQVEsQ0FBQ29CLEVBQWVDLEtBQ3hDLE1BQU15WCxFQUFXeFQsRUFBTWpGLEVBQ2pCMFksRUFBU3pULElBQVEzSCxLQUFLcUIsYUFBZSxFQUFJeVosR0FBV25ULEVBQU0sR0FBS2pGLEVBQ2pFMFksR0FBVUQsR0FDVjFYLEVBQWMsQ0FBRXNOLGFBQWMsSUFBSW5QLE1BQU0sR0FBSWlhLFdBQVksSUFBSWphLE1BQU0sS0FDdEVzWixFQUFRdlQsR0FBS3BFLFlBQVksQ0FBRXJCLFNBQVFpWixXQUFVQyxTQUFRSyxVQUFTdmIsT0FBTXFiLGNBQWF6VSxVQUFTNFUsc0JBQzFGUixFQUFRdlQsR0FBS2hFLFVBQVksRUFBR0MsTUFBUUMsUUFBT2tOLGVBQWM4SyxrQkFDakRoWSxHQUNBcVgsRUFBUXZULEdBQUs1RCxZQUNiTCxFQUFhRyxLQUdicVgsRUFBUXZULEdBQUs1RCxZQUNiTixFQUFjLENBQUVzTixlQUFjOEssZUFDbEMsQ0FDSCxJQUdULE1BQU16SCxRQUFnQi9SLFFBQVE0QixJQUFJekIsR0FDNUJzWixFQUFTLENBQ1gvSyxhQUFjLElBQUluUCxNQUFNTSxFQUFPLEdBQUd6RSxRQUFRb0UsS0FBSyxNQUFNQyxLQUFJLElBQU0sSUFBSUYsTUFBTTJaLEdBQWExWixLQUFLLFNBQzNGZ2EsV0FBWSxJQUFJamEsTUFBTU0sRUFBTyxHQUFHekUsUUFBUW9FLEtBQUssTUFBTUMsS0FBSSxJQUFNLElBQUlGLE1BQU0yWixHQUFhMVosTUFBTSxNQUU5RixJQUFLLE1BQU0yTixLQUFPNEUsRUFDZCxJQUFLLElBQUkxVyxFQUFJLEVBQUdBLEVBQUl3RSxFQUFPLEdBQUd6RSxTQUFVQyxFQUNwQyxJQUFLLElBQUkrSCxFQUFJLEVBQUdBLEVBQUkrSixFQUFJdUIsYUFBYXJULElBQUlELFNBQWVnSSxFQUNwRGhGLEVBQWNxYixFQUFPL0ssYUFBYXJULEdBQUlvZSxFQUFPRCxXQUFXbmUsR0FBSThSLEVBQUl1QixhQUFhclQsR0FBRytILEdBQUkrSixFQUFJcU0sV0FBV25lLEdBQUcrSCxJQUdsSCxPQUFPcVcsQ0FDWCxDQUNBN1oseUJBQXlCQyxFQUFRQyxFQUFRakMsRUFBTyxDQUFDLEdBQzdDLE1BQU02YixFQUFtQixJQUFJbmEsTUFBTTVCLEtBQUtxQixjQUFjUSxLQUFLLE1BQ3REQyxLQUFJLElBQU0sSUFBSUMsT0FBTyxJQUFJQyxJQUFJLHFCQUc1QmdhLEVBQWlCOVosRUFBT3dSLFFBQzlCLElBQUssSUFBSWhXLEVBQUlzZSxFQUFldmUsT0FBUyxFQUFHQyxFQUFJLEVBQUdBLElBQUssQ0FDaEQsTUFBTStILEVBQUk5SCxLQUFLd0YsTUFBTXhGLEtBQUs2RyxVQUFZOUcsRUFBSSxLQUN6Q3NlLEVBQWV0ZSxHQUFJc2UsRUFBZXZXLElBQU0sQ0FBQ3VXLEVBQWV2VyxHQUFJdVcsRUFBZXRlLEdBQ2hGLENBQ0EsSUFDSSxNQUFNb2QsRUFBVTVZLEVBQU96RSxRQUFVeUUsRUFBT3pFLE9BQVMsR0FBSyxFQUNoRGlGLEVBQVkvRSxLQUFLd0YsTUFBTTJYLEVBQVU5YSxLQUFLcUIsY0FDdEM0YSxFQUFnQixJQUNoQkMsRUFBYXZlLEtBQUtXLElBQUlYLEtBQUtTLElBQUkwYyxFQUFVLElBQU1tQixHQUFnQnRlLEtBQUtTLElBQUkwYyxFQUFTbUIsSUFDakZFLEVBQXVCeGUsS0FBS3dGLE1BQU0rWSxFQUFhbGMsS0FBS3FCLGNBQ3BEK2EsRUFBWSxJQUFJeGEsTUFBTTVCLEtBQUtxQixjQUNqQyxJQUFLLElBQUlzRyxFQUFNLEVBQUdBLEVBQU0zSCxLQUFLcUIsYUFBY3NHLElBQ3ZDeVUsRUFBVXpVLEdBQU8sSUFBSXRGLFNBQVEsQ0FBQ29CLEVBQWVDLEtBQ3pDLE1BQU15WCxFQUFXeFQsRUFBTWpGLEVBQ2pCMFksRUFBU3pULElBQVEzSCxLQUFLcUIsYUFBZSxFQUFJeVosR0FBV25ULEVBQU0sR0FBS2pGLEVBQ3JFcVosRUFBaUJwVSxHQUFLcEUsWUFBWSxDQUM5QnJCLE9BQVE4WixFQUFnQmIsV0FBVUMsU0FBUWlCLGFBQWNGLEVBQXNCaGEsU0FBUWpDLFNBRTFGNmIsRUFBaUJwVSxHQUFLaEUsVUFBWSxFQUFHQyxNQUFRQyxRQUFPa1EsZ0JBQ2hEZ0ksRUFBaUJwVSxHQUFLNUQsWUFDbEJGLEVBQ0FILEVBQWFHLEdBRWJKLEVBQWMsQ0FBRXNRLFlBQVcsQ0FDbEMsSUFHVCxNQUFNSyxRQUFnQi9SLFFBQVE0QixJQUFJbVksR0FDNUJmLEVBQVdqSCxFQUFRNVUsUUFBTyxDQUFDOGIsRUFBSzNiLElBQVEyYixFQUFNM2IsRUFBSW9VLFNBQVN0VyxRQUFRLEdBQ25Fc1csRUFBVyxJQUFJelgsYUFBYStlLEdBQ2xDLElBQUluTSxFQUFTLEVBQ2IsSUFBSyxNQUFNTSxLQUFPNEUsRUFDZEwsRUFBUy9QLElBQUl3TCxFQUFJdUUsU0FBVTdFLEdBQzNCQSxHQUFVTSxFQUFJdUUsU0FBU3RXLE9BRzNCLE9BREFzVyxFQUFTL0osT0FDRitKLENBQ1gsQ0FDQSxNQUFPM1AsR0FHSCxPQUZBMlgsR0FBa0I3WCxTQUFTeVQsR0FBTUEsR0FBRzVULGNBQ3BDa1gsUUFBUXBYLE1BQU1PLEdBQ1AsSUFBSTlILGFBQWEsR0FBR3VGLEtBQUssR0FDcEMsQ0FDSixDQUNBSSwwQkFBMEJDLEVBQVFDLEVBQVFqQyxFQUFPLENBQUMsR0FLOUMsSUFDSSxNQUFNNGEsRUFBVTVZLEVBQU96RSxRQUFVeUUsRUFBT3pFLE9BQVMsR0FBSyxFQUNoRHNXLFFBQWlCL1QsS0FBS3NjLG1CQUFtQnBhLEVBQVFDLEVBQVFqQyxHQUkvRCxPQUZrQixFQUFJNlQsRUFEQXBXLEtBQUt3RixNQUpILElBSStCMlgsRUFBVS9HLEVBQVN0VyxRQUk5RSxDQUNBLE1BQU8yRyxHQUVILE9BREE2VyxRQUFRcFgsTUFBTU8sR0FDUCxFQUNYLENBQ0osQ0FDQTlELGdCQUFnQjRCLEVBQVFDLEVBQVF5TyxFQUFZaUssR0FDeEMsTUFBTW5kLEVBQUksR0FDSitILEVBQUksR0FDSm9PLEVBQVksR0FDbEIsSUFBSTBJLEVBQU0sRUFDTkMsRUFBSyxFQUNMQyxFQUFLLEVBQ1QsTUFBTXBCLEVBQVduWixFQUFPekUsUUFBVXlFLEVBQU96RSxPQUFTLEdBQUssRUFDdkQsS0FBTzhlLEVBQU1sQixHQUFVLENBRW5CLE1BQU1sWCxFQUFTLEVBQU1qQyxFQUFPc2EsS0FBUyxFQUFNdGEsRUFBT3VhLElBQ1QsRUFBckM3TCxFQUFXMU8sRUFBT3NhLEdBQUt0YSxFQUFPdWEsS0FDZm5kLE9BQU80QyxPQUFPLE1BQXNCMFosTUFBTS9WLEdBQU1BLElBQU0xRCxJYmIxRSxHQUFLLEVhYXlHZ0MsR0FBUyxFQUFJQSxJQUN4RzBXLElBQ2RuZCxFQUFFa0gsS0FBSzRYLEdBQ1AvVyxFQUFFYixLQUFLNlgsR0FDUDVJLEVBQVVqUCxLQUFLVCxJQUVuQm9ZLElBQ0FFLElBQ0lBLElBQU92YSxFQUFPekUsU0FDZCtlLElBQ0FDLEVBQUtELEVBQUssRUFFbEIsQ0FJQSxNQUFPLENBQUU5ZSxFQUhNLElBQUlvTixXQUFXcE4sR0FHVitILEVBRkwsSUFBSXFGLFdBQVdyRixHQUVDc08sU0FEVCxJQUFJelgsYUFBYXVYLEdBRTNDLEVDN0xKLE1BQU02SSxHQUNGOVksS0FDQWtELFFBQ0E0VSxrQkFDQTNiLFlBQVkyWSxHQUNSMVksS0FBSzRELEtBQU84VSxFQUFROVUsS0FDcEI1RCxLQUFLOEcsUUFBVTRSLEVBQVE1UixRQUN2QjlHLEtBQUswYixrQkFBb0JoRCxFQUFRZ0QsaUJBQ3JDLEVBRUosTUFBTWlCLFdBQXlCRCxHQUMzQkUsUUFDQWpELFdBQ0FrRCxlQUNBQyxZQUNBQyxlQU1BaGQsWUFBWTJZLEdBQ1JzRSxNQUFNdEUsR0FDTjFZLEtBQUs0YyxRQUFVLElBQUksSUFBS2xFLEdBQ3hCMVksS0FBSzJaLFdBQWFqQixHQUFTaUIsWUFBYyxJQUN6QzNaLEtBQUs2YyxlQUFpQm5FLEVBQVFtRSxlQUM5QjdjLEtBQUs4YyxZQUFjcEUsRUFBUW9FLFlBQzNCOWMsS0FBSytjLGVBQWlCckUsRUFBUXFFLGNBQ2xDLENBTUE5YSxrQkFDSSxHQUFJakMsS0FBSzRELEtBQUssR0FBR25HLE9BQVMsSUFDdEIsTUFBTSxJQUFJTixNQUFNLGdEQUNwQixNQUFNOGYsRUFBZ0IsSUFBSTliLEdBQXNCLEdBQU0sR0FDdEQsSUFDSSxNQUFNK2IsR1Y1QnFCeEIsRVU0QmMxYixLQUFLMGIsa0JWNUJBNVUsRVU0Qm1COUcsS0FBSzhHLFFWM0J0RTRVLElBQ0NsYixFQUEyQjJjLFVBQ3BCQyxHQUFPQSxFQUFHNWQsUUFBTyxDQUFDOGIsRUFBSzNiLEVBQUtnSSxJQUFRMlQsRUFBTTNiLEVBQU1tSCxFQUFRYSxJQUFNLEdBRTlEeVYsSUFFSixNQUFNaFksRUFBTWdZLEVBQUc1ZCxRQUFPLENBQUM4YixFQUFLM2IsRUFBS2dJLElBQVEyVCxHQUFPM2IsRUFBTW1ILEVBQVFhLEtBQVMsR0FBRyxHQUMxRSxPQUFPaEssS0FBS0UsS0FBS3VILEVBQUksR1VxQm5CeU8sRUFBWSxHQUNsQixJQUFLLElBQUluVyxFQUFJLEVBQUdBLEVBQUlzQyxLQUFLNEQsS0FBS25HLFNBQVVDLEVBQUcsQ0FDdkMsTUFBTU8sUUFBYWdmLEVBQWNJLEtBQUtyZCxLQUFLNEQsS0FBS2xHLEdBQUlzQyxLQUFLNmMsZUFBZW5mLElBQUksRUFBT3NDLEtBQUsrYyxlQUFlcmYsSUFDdkdtVyxFQUFValAsS0FBSzNHLEVBQ25CLENBQ0EsTUFBTThWLEVBQVcsSUFBSXpYLGFBQWF1WCxFQUFVLEdBQUdwVyxRQUFRb0UsS0FBSyxHQUM1RCxJQUFLLElBQUluRSxFQUFJLEVBQUdBLEVBQUltVyxFQUFVLEdBQUdwVyxTQUFVQyxFQUN2Q3FXLEVBQVNyVyxHQUFLd2YsRUFBVXJKLEVBQVUvUixLQUFLK0YsR0FBTUEsRUFBRW5LLE1BQ25ELE1BQU00ZixFQ2xEWCxTQUE2QkMsRUFBZ0JuWCxHQUNoRCxNQUFNb1gsRUF5QkgsU0FBdUJwWCxHQUMxQixNQUFPLENBQUMxSSxFQUFHK0gsSUFBTVcsRUFBTzFJLEVBQUkrSCxFQUFJOUgsS0FBS3dGLE9BQVF6RixFQUFJLElBQU1BLEVBQUksR0FBTSxFQUNyRSxDQTNCdUIrZixDQUFjclgsR0FDakMsU0FBU3NYLEVBQVloZ0IsRUFBRytILEdBQ3BCLE1BQU1rWSxFQUFPM2EsT0FBT3RGLEdBQ2RrZ0IsRUFBTzVhLE9BQU95QyxHQUNwQixPQUFPK1gsRUFBV0csRUFBTUMsRUFDNUIsQ0FXQSxNQUFNQyxFQUFjLENBQ2hCbFUsSUFBRyxDQUFDNk0sRUFBUXNILEVBQU1DLElBQ0QsV0FBVEQsRUFDTzFYLEVBQ0osSUFBSTRYLE1BQU14SCxFQWR6QixTQUFxQnNILEdBQ2pCLE1BQU8sQ0FDSG5VLElBQUcsQ0FBQzZNLEVBQVF5SCxFQUFNRixJQUNWRCxJQUFTRyxFQUNGLEVBRUp6SCxFQURXeFQsT0FBTzhhLEdBQVE5YSxPQUFPaWIsR0FBUVAsRUFBWU8sRUFBTUgsR0FBUUosRUFBWUksRUFBTUcsSUFJeEcsQ0FLaUNDLENBQVlKLEtBRzdDLE9BQU8sSUFBSUUsTUFBTVQsRUFBZ0JNLEVBQ3JDLENEeUJnQ00sQ0FBb0JwSyxFQUFVL1QsS0FBSzRELEtBQUssR0FBR25HLFFBQy9EdUMsS0FBSzRjLFFBQVF3QixhQUFhZCxHQUMxQixJQUFLLElBQUk1ZixFQUFJLEVBQUdBLEVBQUlzQyxLQUFLMlosYUFBY2pjLEVBQ25Dc0MsS0FBSzRjLFFBQVF2SCxPQUVqQixPQURBNEgsRUFBY2xaLFlBQ1AvRCxLQUFLNGMsUUFBUXlCLGFBQ3hCLENBQ0EsTUFBT2phLEdBRUgsTUFEQTZZLEVBQWNsWixZQUNSSyxDQUNWLENWL0NELElBQWdDc1gsRUFBbUI1VSxDVWdEdEQsRUFFSixNQUFNd1gsV0FBeUI1QixHQUMzQkUsUUFDQUMsZUFDQUMsWUFDQXlCLFFBQ0FDLGFBQ0F6QixlQU1BaGQsWUFBWTJZLEdBQ1JzRSxNQUFNdEUsR0FDTjFiLEVBQU8sbUJBQW9CMGIsR0FDM0IxYixFQUFPLGdCQUFpQjBiLEdBQ3hCMVksS0FBSytjLGVBQWlCckUsRUFBUXFFLGVBQzlCL2MsS0FBSzhjLFlBQWNwRSxFQUFRb0UsWUFDM0I5YyxLQUFLd2UsYUFBZTlGLEVBQVE4RixhQUM1QnhlLEtBQUs2YyxlQUFpQm5FLEVBQVFtRSxlQUU5QjdjLEtBQUt1ZSxRQUFVLElBQUkzYyxNQUFNNUIsS0FBSzRELEtBQUssR0FBR25HLFFBQVFvRSxLQUFLLEdBQUdDLEtBQUksQ0FBQ2lELEVBQUdySCxJQUFNQSxJQUNoRXNDLEtBQUs0RCxLQUFLLEdBQUduRyxPQUFTLEtBQ3RCaWIsRUFBUWxSLFdBQWF4SCxLQUFLNEQsS0FBSyxHQUFHbkcsT0FBUyxHQUMvQ3VDLEtBQUs0YyxRQUFVLElBQUk3TSxHQUFLMkksRUFFNUIsQ0FNQXpXLGdCQUFnQndjLEdBQ1p4RCxRQUFReUQsS0FBSyxhQUNiLE1BQU01QyxRQUFlLElBQUlsQixJQUNwQlksZUFBZXhiLEtBQUs0RCxLQUFNNUQsS0FBSzZjLGVBQWdCN2MsS0FBSzRjLFFBQVFoTCxVQUFXNVIsS0FBSytjLGVBQWdCL2MsS0FBSzhHLFFBQVM5RyxLQUFLMGIsbUJBQ3BIVCxRQUFRMEQsUUFBUSxhQUNoQjNlLEtBQUs0YyxRQUFRdkssa0JBQWtCeUosRUFBT0QsV0FBWUMsRUFBTy9LLG9CQUVuRCxJQUFJMU8sU0FBU0MsSUFDZm1ZLFlBQVcsS0FDUG5ZLEdBQVMsR0FDVixJQUFJLElBRVgsTUFBTW1QLFFBQWtCelIsS0FBSzRjLFFBQVFnQyxTQUFTNWUsS0FBS3VlLFNBQVVNLElBQ3JEN2UsS0FBS3dlLGNBQ0x4ZSxLQUFLd2UsYUFBYUssRUFBTTdlLEtBQUs0YyxRQUFRdEssYUFBY3RTLEtBQUs0YyxRQUFRckgsZUFBZSxJQUt2RixPQUgrQjNSLEVBR0Y2TixFQUZsQixJQUFJN1AsTUFBTWdDLEVBQUtuRyxRQUFRb0UsS0FBSyxHQUFHQyxLQUFJLENBQUNpRCxFQUFHckgsSUFBTyxPQUFZa0csRUFBS2xHLE1BRDFFLElBQStCa0csQ0FJbkMsRUFFSixNQUFNa2IsR0FBb0IsQ0FDdEIsS0FBUVIsR0FDUixRQUFTM0IsSUFFTixNQUFNb0MsR0FDVG5DLFFBU0E3YyxZQUFZNkQsRUFBTS9ELEVBQVFtZixFQUFTbFksRUFBU21ZLEVBQXFCdkcsR0FDN0QsTUFBTXdHLEVBQVcsR0FDakIsSUFBSyxJQUFJdlgsRUFBTSxFQUFHQSxFQUFNcVgsRUFBUXZoQixTQUFVa0ssRUFBSyxDQUMzQyxNQUFNd1gsRUFBVSxJQUFJdmYsRUFBUW9mLEVBQVFyWCxJQUFNMUgsV0FBV3lZLEVBQVFxRSxlQUFlcFYsSUFDNUV1WCxFQUFTdGEsS0FBS3VhLEdBQ2QsSUFBSUMsRUFBaUIsS0FDckIsSUFBSyxJQUFJMWhCLEVBQUksRUFBR0EsRUFBSWtHLEVBQUsrRCxHQUFLbEssU0FBVUMsRUFDcEMsR0FBSWtHLEVBQUsrRCxHQUFLakssSUFBTWtHLEVBQUsrRCxHQUFLakssR0FBRzJoQixRQUFTLENBQ3RDRCxFQUFpQnhiLEVBQUsrRCxHQUFLakssR0FBRzJoQixRQUM5QixLQUNKLENBRUosR1p2RXFCaGYsRVl1RUEyZSxFQUFRclgsR1p0RUosWUFBMUJ0SSxFQUFpQmdCLEdZdUVaLElBQUssSUFBSTNDLEVBQUksRUFBR0EsRUFBSWtHLEVBQUsrRCxHQUFLbEssU0FBVUMsRUFDaENrRyxFQUFLK0QsR0FBS2pLLElBQU1rRyxFQUFLK0QsR0FBS2pLLEdBQUc0aEIsTUFDN0IxYixFQUFLK0QsR0FBS2pLLEdBQUssSUFBSSxJQUFTa0csRUFBSytELEdBQUtqSyxHQUFHNGhCLE1BQU8xYixFQUFLK0QsR0FBS2pLLEdBQUcyaEIsU0FFN0R6YixFQUFLK0QsR0FBS2pLLEdBQUssSUFBSSxJQUFTMGhCLEVBRzVDLENaL0VELElBQTBCL2UsRVlnRlgsUUFBVlIsRUFDQUcsS0FBSzRjLFFBQVUsSUFBSTBCLEdBQWlCLENBQ2hDMWEsS0FBTUEsRUFDTmlaLGVBQWdCbUMsRUFDaEJsQyxZQUFhb0MsRUFDYm5DLGVBQWdCckUsRUFBUXFFLGVBQ3hCalcsUUFBU0EsRUFDVDRVLGtCQUFtQnVELEtBQ2hCdkcsSUFHUSxTQUFWN1ksSUFDTEcsS0FBSzRjLFFBQVUsSUFBSUQsR0FBaUIsQ0FDaEMvWSxLQUFNQSxFQUNOaVosZUFBZ0JtQyxFQUNoQmxDLFlBQWFvQyxFQUNibkMsZUFBZ0JyRSxFQUFRcUUsZUFDeEJqVyxRQUFTQSxFQUNUNFUsa0JBQW1CdUQsS0FDaEJ2RyxJQUdmLENBVUF6VyxnQkFBZ0JvVSxHQUFZLEdBQ3hCLFFBQXFCeFIsSUFBakI3RSxLQUFLNGMsUUFDTCxNQUFNLElBQUl6ZixNQUFNLDRCQUNwQixJQUFJc1UsUUFBa0J6UixLQUFLNGMsUUFBUTVJLFliaEtwQyxJQUF5QnZKLEVhbUt4QixPQUZJNEwsSWJqS29CNUwsRWFrS1FnSCxFQUE1QkEsRWJqS0QsSUFBSTdQLE1BQU02SSxFQUFPLEdBQUdoTixRQUFRb0UsS0FBSyxHQUNuQ0MsS0FBSSxDQUFDaUQsRUFBR3JILElBQU8sSUFBSSxFQUFPK00sRUFBT2hOLFFBQVFvRSxLQUFLLEdBQUdDLEtBQUksQ0FBQ2lELEVBQUdVLElBQU9nRixFQUFPaEYsR0FBRy9ILFFhaUtwRStULENBQ1gsQ0FRQW5SLDhCQUE4QmlmLEdBQzFCLE9BQU9qZ0IsT0FBT0MsS0FBS0gsRUFBaUJtZ0IsR0FDeEMsQ0FPV0MsOEJBQ1AsT0FBT2xnQixPQUFPQyxLQUFLdWYsR0FDdkIsQ0FPV1csOEJBQ1AsSUFBSUMsRUFBTSxHQUtWLE9BSkFwZ0IsT0FBTzRDLE9BQU85QyxHQUFrQjhFLFNBQVN5YixJQUNyQyxNQUFNQyxFQUFRdGdCLE9BQU80QyxPQUFPeWQsR0FDNUJELEVBQU0sSUFBSUEsS0FBUUUsRUFBTSxJQUVyQkYsQ0FDWCxFRXhOSnpkLGVBQWV1YyxHQUFhcUIsRUFBVUMsRUFBY3JPLEdBQzVDb08sRUFBVyxHQUFNLEdBQ2pCRSxLQUFLeGMsWUFBWSxDQUFFc2MsV0FBVUMsZUFBY3JPLGFBQ25ELENBQ0FzTyxLQUFLcGMsVUFBWTFCLE9BQVMyQixNQUFRb2MsY0FBYW5nQixTQUFRb2dCLGtCQUFpQnZILFVBQVM1UixVQUFTNFUseUJBQ3RGLElBQUk5WCxFQUNKLElBQ0ksTUFBTTZOLFFBWGR4UCxlQUF5QitkLEVBQWFuZ0IsRUFBUW1mLEVBQVNsWSxFQUFTNFUsRUFBbUJoRCxHQUMvRSxNQUFNa0UsRUFBVSxJQUFJbUMsR0FBbUJpQixFQUFhbmdCLEVBQVFtZixFQUFTbFksRUFBUzRVLEVBQW1CLElBQUtoRCxFQUFTOEYsa0JBQy9HLGFBQWE1QixFQUFRNUksV0FBVSxFQUNuQyxDQVFnQ2tNLENBQVVGLEVBQWFuZ0IsRUFBUW9nQixFQUFpQm5aLEVBQVM0VSxFQUFtQmhELEdBQ3BHOVUsRUFBTyxDQUFFNk4sWUFDYixDQUNBLE1BQU9yTixHQUNIUixFQUFPLENBQUVDLE1BQU9PLEVBQ3BCLENBQ0EyYixLQUFLeGMsWUFBWSxDQUNiTSxNQUFPRCxFQUFLQyxNQUNaNE4sVUFBVzdOLEVBQUs2TixXQUNsQixrQkM3Qk4wTyxFQUFRLE9BQU8sRUFDZixJQUFJQyxFQUFTLEVBQVEsTUFDckI5Z0IsT0FBTytnQixlQUFlRixFQUFTLElBQS9CLENBQXlDRyxZQUFZLEVBQU0zVyxJQUFLLFdBQWMsT0FBT3lXLEVBQU9HLElBQU0sa0JDSGxHamhCLE9BQU8rZ0IsZUFBZUYsRUFBUyxhQUFjLENBQUVoYyxPQUFPLElBQ3REZ2MsRUFBUUksVUFBTyxFQTBWZkosRUFBUUksS0F6VlIsTUFDSXhnQixZQUFZeWdCLEdBRVJ4Z0IsS0FBS3lnQixTQUFVLEVBQ2Z6Z0IsS0FBSzBnQixPQUFTLEVBQ2QxZ0IsS0FBSzJnQixLQUFPLEVBQ1pILEVBQU1BLEdBQU8sQ0FBQyxFQUNkeGdCLEtBQUs0Z0IsV0FBYTVnQixLQUFLNmdCLE9BQU9MLEVBQUssYUFBYyxJQUNqRHhnQixLQUFLOFgsSUFBTTlYLEtBQUs2Z0IsT0FBT0wsRUFBSyxNQUFPLEdBQ25DeGdCLEtBQUs4Z0IsUUFBVTlnQixLQUFLNmdCLE9BQU9MLEVBQUssVUFBVyxHQUMvQyxDQUNBeGpCLE9BQU9DLEVBQVdDLEdBQ2QsSUFBS0QsRUFDRCxNQUFNQyxHQUFXLGtCQUV6QixDQUVBMmpCLE9BQU9MLEVBQUtPLEVBQU9DLEdBQ2YsT0FBSVIsRUFBSXBnQixlQUFlMmdCLEdBQ1pQLEVBQUlPLEdBR0pDLENBRWYsQ0FDQUMsY0FDSSxHQUFJamhCLEtBQUt5Z0IsUUFFTCxPQURBemdCLEtBQUt5Z0IsU0FBVSxFQUNSemdCLEtBQUswZ0IsT0FFaEIsTUFBTVEsRUFBSSxFQUFJdmpCLEtBQUs2RyxTQUFXLEVBQ3hCeEQsRUFBSSxFQUFJckQsS0FBSzZHLFNBQVcsRUFDeEIyYyxFQUFJRCxFQUFJQSxFQUFJbGdCLEVBQUlBLEVBQ3RCLEdBQVUsSUFBTm1nQixHQUFXQSxFQUFJLEVBQ2YsT0FBT25oQixLQUFLaWhCLGNBRWhCLE1BQU1uTCxFQUFJblksS0FBS0UsTUFBTSxFQUFJRixLQUFLdVksSUFBSWlMLEdBQUtBLEdBR3ZDLE9BRkFuaEIsS0FBSzBnQixPQUFTMWYsRUFBSThVLEVBQ2xCOVYsS0FBS3lnQixTQUFVLEVBQ1JTLEVBQUlwTCxDQUNmLENBRUFzTCxNQUFNQyxFQUFJQyxHQUFPLE9BQU9ELEVBQUtyaEIsS0FBS2loQixjQUFnQkssQ0FBSyxDQUV2RHJjLE1BQU1WLEdBQ0YsUUFBbUIsSUFBUixHQUF1QmtWLE1BQU1sVixHQUNwQyxNQUFPLEdBRVgsR0FBMkIsb0JBQWhCZ2QsWUFBNkIsQ0FFcEMsTUFBTUMsRUFBTSxJQUFJNWYsTUFBTTJDLEdBQ3RCLElBQUssSUFBSTdHLEVBQUksRUFBR0EsRUFBSTZHLEVBQUc3RyxJQUNuQjhqQixFQUFJOWpCLEdBQUssRUFFYixPQUFPOGpCLENBQ1gsQ0FFSSxPQUFPLElBQUlDLGFBQWFsZCxFQUVoQyxDQUdBbWQsUUFBUW5kLEVBQUdzRCxFQUFHOFosR0FDVixNQUFNQyxPQUFvQixJQUFORCxFQUNkbmxCLEVBQUksR0FDVixJQUFLLElBQUlrQixFQUFJLEVBQUdBLEVBQUk2RyxFQUFHN0csSUFBSyxDQUN4QixNQUFNbWtCLEVBQVEsR0FDZCxJQUFLLElBQUlwYyxFQUFJLEVBQUdBLEVBQUlvQyxFQUFHcEMsSUFDZm1jLEVBQ0FDLEVBQU1qZCxLQUFLK2MsR0FHWEUsRUFBTWpkLEtBQUs1RSxLQUFLb2hCLE1BQU0sRUFBSyxPQUduQzVrQixFQUFFb0ksS0FBS2lkLEVBQ1gsQ0FDQSxPQUFPcmxCLENBQ1gsQ0FFQXNsQixHQUFHQyxFQUFJQyxHQUNILE1BQU1DLEVBQUlGLEVBQUd0a0IsT0FDYixJQUFJb0ssRUFBSSxFQUNSLElBQUssSUFBSW5LLEVBQUksRUFBR0EsRUFBSXVrQixFQUFHdmtCLElBQUssQ0FDeEIsTUFBTXdrQixFQUFNSCxFQUFHcmtCLEdBQ1R5a0IsRUFBTUgsRUFBR3RrQixHQUNmbUssSUFBTXFhLEVBQU1DLElBQVFELEVBQU1DLEVBQzlCLENBQ0EsT0FBT3RhLENBQ1gsQ0FFQXVhLEtBQUtuUixHQUNELE1BQU1vUixFQUFJcFIsRUFBRXhULE9BQ05RLEVBQU8rQixLQUFLaUYsTUFBTW9kLEVBQUlBLEdBQzVCLElBQUssSUFBSTNrQixFQUFJLEVBQUdBLEVBQUkya0IsRUFBRzNrQixJQUNuQixJQUFLLElBQUkrSCxFQUFJL0gsRUFBSSxFQUFHK0gsRUFBSTRjLEVBQUc1YyxJQUFLLENBQzVCLE1BQU1vQyxFQUFJN0gsS0FBSzhoQixHQUFHN1EsRUFBRXZULEdBQUl1VCxFQUFFeEwsSUFDMUJ4SCxFQUFLUCxFQUFJMmtCLEVBQUk1YyxHQUFLb0MsRUFDbEI1SixFQUFLd0gsRUFBSTRjLEVBQUkza0IsR0FBS21LLENBQ3RCLENBRUosT0FBTzVKLENBQ1gsQ0FFQXFrQixJQUFJTCxFQUFHckIsRUFBWTJCLEdBQ2YsTUFBTUMsRUFBSzdrQixLQUFLRSxLQUFLb2tCLEVBQUV4a0IsUUFDakI4RyxFQUFJNUcsS0FBS3dGLE1BQU1xZixHQUNyQnhpQixLQUFLaEQsT0FBT3VILElBQU1pZSxFQUFJLDRDQUN0QixNQUFNQyxFQUFVOWtCLEtBQUt1WSxJQUFJMEssR0FDbkI4QixFQUFJMWlCLEtBQUtpRixNQUFNVixFQUFJQSxHQUNuQm9lLEVBQU8zaUIsS0FBS2lGLE1BQU1WLEdBQ3hCLElBQUssSUFBSTdHLEVBQUksRUFBR0EsRUFBSTZHLEVBQUc3RyxJQUFLLENBQ3hCLElBQUlrbEIsR0FBVSxJQUNWQyxFQUFVcmMsSUFDVnNjLEVBQU8sRUFDUEMsR0FBTyxFQUNYLE1BQU1DLEVBQVcsR0FHakIsSUFBSXBpQixFQUFNLEVBQ1YsTUFBUW1pQixHQUFNLENBR1YsSUFBSXpMLEVBQU8sRUFDWCxJQUFLLElBQUk3UixFQUFJLEVBQUdBLEVBQUlsQixFQUFHa0IsSUFBSyxDQUN4QixJQUFJd2QsRUFBS3RsQixLQUFLZ1osS0FBS3NMLEVBQUV2a0IsRUFBSTZHLEVBQUlrQixHQUFLcWQsR0FDOUJwbEIsSUFBTStILElBQ053ZCxFQUFLLEdBRVROLEVBQUtsZCxHQUFLd2QsRUFDVjNMLEdBQVEyTCxDQUNaLENBRUEsSUFBSUMsRUFBUSxFQUNaLElBQUssSUFBSXpkLEVBQUksRUFBR0EsRUFBSWxCLEVBQUdrQixJQUFLLENBQ3hCLElBQUl3ZCxFQUVBQSxFQURTLElBQVQzTCxFQUNLLEVBR0FxTCxFQUFLbGQsR0FBSzZSLEVBRW5CcUwsRUFBS2xkLEdBQUt3ZCxFQUNOQSxFQUFLLE9BQ0xDLEdBQVNELEVBQUt0bEIsS0FBS3VZLElBQUkrTSxHQUUvQixDQUVJQyxFQUFRVCxHQUdSRyxFQUFVRSxFQUNORCxJQUFZcmMsSUFDWnNjLEdBQWMsRUFHZEEsR0FBUUEsRUFBT0QsR0FBVyxJQUs5QkEsRUFBVUMsRUFDTkYsS0FBWSxJQUNaRSxHQUFjLEVBR2RBLEdBQVFBLEVBQU9GLEdBQVcsR0FJbENoaUIsSUFDSWpELEtBQUt3QixJQUFJK2pCLEVBQVFULEdBQVdGLElBQzVCUSxHQUFPLEdBRVBuaUIsR0FBT29pQixJQUNQRCxHQUFPLEVBRWYsQ0FHQSxJQUFLLElBQUl0ZCxFQUFJLEVBQUdBLEVBQUlsQixFQUFHa0IsSUFDbkJpZCxFQUFFaGxCLEVBQUk2RyxFQUFJa0IsR0FBS2tkLEVBQUtsZCxFQUU1QixDQUVBLE1BQU0wZCxFQUFPbmpCLEtBQUtpRixNQUFNVixFQUFJQSxHQUN0QjZlLEVBQVMsRUFBSjdlLEVBQ1gsSUFBSyxJQUFJN0csRUFBSSxFQUFHQSxFQUFJNkcsRUFBRzdHLElBQ25CLElBQUssSUFBSStILEVBQUksRUFBR0EsRUFBSWxCLEVBQUdrQixJQUNuQjBkLEVBQUt6bEIsRUFBSTZHLEVBQUlrQixHQUFLOUgsS0FBS1csS0FBS29rQixFQUFFaGxCLEVBQUk2RyxFQUFJa0IsR0FBS2lkLEVBQUVqZCxFQUFJbEIsRUFBSTdHLElBQU0wbEIsRUFBSSxRQUd2RSxPQUFPRCxDQUNYLENBRUFFLEtBQUs3bUIsR0FBSyxPQUFPQSxFQUFJLEVBQUksRUFBSUEsRUFBSSxHQUFLLEVBQUksQ0FBRyxDQUc3QzhtQixZQUFZclMsR0FDUixNQUFNb1IsRUFBSXBSLEVBQUV4VCxPQUNOd2tCLEVBQUloUixFQUFFLEdBQUd4VCxPQUNmdUMsS0FBS2hELE9BQU9xbEIsRUFBSSxFQUFHLHlDQUNuQnJpQixLQUFLaEQsT0FBT2lsQixFQUFJLEVBQUcsc0NBQ25CLE1BQU1zQixFQUFRdmpCLEtBQUtvaUIsS0FBS25SLEdBQ3hCalIsS0FBSzBpQixFQUFJMWlCLEtBQUtzaUIsSUFBSWlCLEVBQU92akIsS0FBSzRnQixXQUFZLE1BQzFDNWdCLEtBQUtxaUIsRUFBSUEsRUFDVHJpQixLQUFLd2pCLGNBQ1QsQ0FJQXBGLGFBQWE2RCxHQUNULE1BQU1JLEVBQUlKLEVBQUV4a0IsT0FDWnVDLEtBQUtoRCxPQUFPcWxCLEVBQUksRUFBRyx5Q0FFbkIsTUFBTWtCLEVBQVF2akIsS0FBS2lGLE1BQU1vZCxFQUFJQSxHQUM3QixJQUFLLElBQUkza0IsRUFBSSxFQUFHQSxFQUFJMmtCLEVBQUcza0IsSUFDbkIsSUFBSyxJQUFJK0gsRUFBSS9ILEVBQUksRUFBRytILEVBQUk0YyxFQUFHNWMsSUFBSyxDQUM1QixNQUFNb0MsRUFBSW9hLEVBQUV2a0IsR0FBRytILEdBQ2Y4ZCxFQUFNN2xCLEVBQUkya0IsRUFBSTVjLEdBQUtvQyxFQUNuQjBiLEVBQU05ZCxFQUFJNGMsRUFBSTNrQixHQUFLbUssQ0FDdkIsQ0FFSjdILEtBQUswaUIsRUFBSTFpQixLQUFLc2lCLElBQUlpQixFQUFPdmpCLEtBQUs0Z0IsV0FBWSxNQUMxQzVnQixLQUFLcWlCLEVBQUlBLEVBQ1RyaUIsS0FBS3dqQixjQUNULENBRUFBLGVBRUl4akIsS0FBS3dSLEVBQUl4UixLQUFLMGhCLFFBQVExaEIsS0FBS3FpQixFQUFHcmlCLEtBQUs4WCxLQUNuQzlYLEtBQUt5akIsTUFBUXpqQixLQUFLMGhCLFFBQVExaEIsS0FBS3FpQixFQUFHcmlCLEtBQUs4WCxJQUFLLEdBQzVDOVgsS0FBSzBqQixNQUFRMWpCLEtBQUswaEIsUUFBUTFoQixLQUFLcWlCLEVBQUdyaUIsS0FBSzhYLElBQUssR0FDNUM5WCxLQUFLMmdCLEtBQU8sQ0FDaEIsQ0FFQXRDLGNBQ0ksT0FBT3JlLEtBQUt3UixDQUNoQixDQUVBNkQsT0FDSXJWLEtBQUsyZ0IsTUFBUSxFQUNiLE1BQU0wQixFQUFJcmlCLEtBQUtxaUIsRUFDVHNCLEVBQUszakIsS0FBSzRqQixTQUFTNWpCLEtBQUt3UixHQUN4QnFTLEVBQU9GLEVBQUdFLEtBQ1ZDLEVBQU9ILEVBQUdHLEtBRVZDLEVBQVEvakIsS0FBS2lGLE1BQU1qRixLQUFLOFgsS0FDOUIsSUFBSyxJQUFJcGEsRUFBSSxFQUFHQSxFQUFJMmtCLEVBQUcza0IsSUFDbkIsSUFBSyxJQUFJbUssRUFBSSxFQUFHQSxFQUFJN0gsS0FBSzhYLElBQUtqUSxJQUFLLENBQy9CLE1BQU1tYyxFQUFNRixFQUFLcG1CLEdBQUdtSyxHQUNkb2MsRUFBTWprQixLQUFLMGpCLE1BQU1obUIsR0FBR21LLEdBQ3BCcWMsRUFBU2xrQixLQUFLeWpCLE1BQU0vbEIsR0FBR21LLEdBRTdCLElBQUlzYyxFQUFVbmtCLEtBQUtxakIsS0FBS1csS0FBU2hrQixLQUFLcWpCLEtBQUtZLEdBQWdCLEdBQVRDLEVBQWVBLEVBQVMsR0FDdEVDLEVBQVUsTUFDVkEsRUFBVSxLQUVkbmtCLEtBQUt5akIsTUFBTS9sQixHQUFHbUssR0FBS3NjLEVBRW5CLE1BQ01DLEdBRFNwa0IsS0FBSzJnQixLQUFPLElBQU0sR0FBTSxJQUNmc0QsRUFBTWprQixLQUFLOGdCLFFBQVVxRCxFQUFVTCxFQUFLcG1CLEdBQUdtSyxHQUMvRDdILEtBQUswakIsTUFBTWhtQixHQUFHbUssR0FBS3VjLEVBRW5CcGtCLEtBQUt3UixFQUFFOVQsR0FBR21LLElBQU11YyxFQUNoQkwsRUFBTWxjLElBQU03SCxLQUFLd1IsRUFBRTlULEdBQUdtSyxFQUMxQixDQUdKLElBQUssSUFBSW5LLEVBQUksRUFBR0EsRUFBSTJrQixFQUFHM2tCLElBQ25CLElBQUssSUFBSW1LLEVBQUksRUFBR0EsRUFBSTdILEtBQUs4WCxJQUFLalEsSUFDMUI3SCxLQUFLd1IsRUFBRTlULEdBQUdtSyxJQUFNa2MsRUFBTWxjLEdBQUt3YSxFQUluQyxPQUFPd0IsQ0FDWCxDQUVBUSxZQUNJLE1BQU1oQyxFQUFJcmlCLEtBQUtxaUIsRUFDVHNCLEVBQUszakIsS0FBSzRqQixTQUFTNWpCLEtBQUt3UixHQUV4QnNTLEdBRE9ILEVBQUdFLEtBQ0hGLEVBQUdHLE1BQ1YxZixFQUFJLEtBQ1YsSUFBSyxJQUFJMUcsRUFBSSxFQUFHQSxFQUFJMmtCLEVBQUcza0IsSUFDbkIsSUFBSyxJQUFJbUssRUFBSSxFQUFHQSxFQUFJN0gsS0FBSzhYLElBQUtqUSxJQUFLLENBQy9CLE1BQU15YyxFQUFPdGtCLEtBQUt3UixFQUFFOVQsR0FBR21LLEdBQ3ZCN0gsS0FBS3dSLEVBQUU5VCxHQUFHbUssR0FBS3ljLEVBQU9sZ0IsRUFDdEIsTUFBTW1nQixFQUFNdmtCLEtBQUs0akIsU0FBUzVqQixLQUFLd1IsR0FDL0J4UixLQUFLd1IsRUFBRTlULEdBQUdtSyxHQUFLeWMsRUFBT2xnQixFQUN0QixNQUFNb2dCLEVBQU14a0IsS0FBSzRqQixTQUFTNWpCLEtBQUt3UixHQUN6QmlULEVBQVdYLEVBQUtwbUIsR0FBR21LLEdBQ25CNmMsR0FBYUgsRUFBSVYsS0FBT1csRUFBSVgsT0FBUyxFQUFJemYsR0FDL0M2VyxRQUFRL0UsSUFBSXhZLEVBQUksSUFBTW1LLEVBQUkseUJBQTJCNGMsRUFBVyxtQkFBcUJDLEdBQ3JGMWtCLEtBQUt3UixFQUFFOVQsR0FBR21LLEdBQUt5YyxDQUNuQixDQUVSLENBRUFWLFNBQVNwUyxHQUNMLE1BQU02USxFQUFJcmlCLEtBQUtxaUIsRUFDVHZLLEVBQU05WCxLQUFLOFgsSUFDWDRLLEVBQUkxaUIsS0FBSzBpQixFQUNUaUMsRUFBTzNrQixLQUFLMmdCLEtBQU8sSUFBTSxFQUFJLEVBRTdCaUUsRUFBUTVrQixLQUFLaUYsTUFBTW9kLEVBQUlBLEdBQzdCLElBQUl3QyxFQUFPLEVBQ1gsSUFBSyxJQUFJbm5CLEVBQUksRUFBR0EsRUFBSTJrQixFQUFHM2tCLElBQ25CLElBQUssSUFBSStILEVBQUkvSCxFQUFJLEVBQUcrSCxFQUFJNGMsRUFBRzVjLElBQUssQ0FDNUIsSUFBSXFmLEVBQU8sRUFDWCxJQUFLLElBQUlqZCxFQUFJLEVBQUdBLEVBQUlpUSxFQUFLalEsSUFBSyxDQUMxQixNQUFNa2QsRUFBUXZULEVBQUU5VCxHQUFHbUssR0FBSzJKLEVBQUUvTCxHQUFHb0MsR0FDN0JpZCxHQUFRQyxFQUFRQSxDQUNwQixDQUNBLE1BQU1DLEVBQUssR0FBTyxFQUFNRixHQUN4QkYsRUFBTWxuQixFQUFJMmtCLEVBQUk1YyxHQUFLdWYsRUFDbkJKLEVBQU1uZixFQUFJNGMsRUFBSTNrQixHQUFLc25CLEVBQ25CSCxHQUFRLEVBQUlHLENBQ2hCLENBR0osTUFBTUMsRUFBSzVDLEVBQUlBLEVBQ1Q2QyxFQUFJbGxCLEtBQUtpRixNQUFNZ2dCLEdBQ3JCLElBQUssSUFBSTNuQixFQUFJLEVBQUdBLEVBQUkybkIsRUFBSTNuQixJQUNwQjRuQixFQUFFNW5CLEdBQUtLLEtBQUtXLElBQUlzbUIsRUFBTXRuQixHQUFLdW5CLEVBQU0sUUFFckMsSUFBSWhCLEVBQU8sRUFDWCxNQUFNQyxFQUFPLEdBQ2IsSUFBSyxJQUFJcG1CLEVBQUksRUFBR0EsRUFBSTJrQixFQUFHM2tCLElBQUssQ0FDeEIsTUFBTXluQixFQUFPLElBQUl2akIsTUFBTWtXLEdBQ3ZCLElBQUssSUFBSWpRLEVBQUksRUFBR0EsRUFBSWlRLEVBQUtqUSxJQUNyQnNkLEVBQUt0ZCxHQUFLLEVBRWQsSUFBSyxJQUFJcEMsRUFBSSxFQUFHQSxFQUFJNGMsRUFBRzVjLElBQUssQ0FDeEJvZSxJQUFTbkIsRUFBRWhsQixFQUFJMmtCLEVBQUk1YyxHQUFLOUgsS0FBS3VZLElBQUlnUCxFQUFFeG5CLEVBQUkya0IsRUFBSTVjLElBQzNDLE1BQU0yZixFQUFVLEdBQUtULEVBQU9qQyxFQUFFaGxCLEVBQUkya0IsRUFBSTVjLEdBQUt5ZixFQUFFeG5CLEVBQUkya0IsRUFBSTVjLElBQU1tZixFQUFNbG5CLEVBQUkya0IsRUFBSTVjLEdBQ3pFLElBQUssSUFBSW9DLEVBQUksRUFBR0EsRUFBSWlRLEVBQUtqUSxJQUNyQnNkLEVBQUt0ZCxJQUFNdWQsR0FBVzVULEVBQUU5VCxHQUFHbUssR0FBSzJKLEVBQUUvTCxHQUFHb0MsR0FFN0MsQ0FDQWljLEVBQUtsZixLQUFLdWdCLEVBQ2QsQ0FDQSxNQUFPLENBQUV0QixPQUFNQyxPQUNuQixLQ3pWQXVCLEVBQTJCLENBQUMsRUFHaEMsU0FBU0MsRUFBb0JDLEdBRTVCLElBQUlDLEVBQWVILEVBQXlCRSxHQUM1QyxRQUFxQjFnQixJQUFqQjJnQixFQUNILE9BQU9BLEVBQWFyRixRQUdyQixJQUFJc0YsRUFBU0osRUFBeUJFLEdBQVksQ0FHakRwRixRQUFTLENBQUMsR0FPWCxPQUhBdUYsRUFBb0JILEdBQVVFLEVBQVFBLEVBQU90RixRQUFTbUYsR0FHL0NHLEVBQU90RixPQUNmLENBR0FtRixFQUFvQmhhLEVBQUlvYSxFQUd4QkosRUFBb0I5b0IsRUFBSSxLQUd2QixJQUFJbXBCLEVBQXNCTCxFQUFvQk0sT0FBRS9nQixFQUFXLENBQUMsSUFBSSxNQUFNLElBQU95Z0IsRUFBb0IsUUFFakcsT0FEc0JBLEVBQW9CTSxFQUFFRCxFQUNsQixFdEJqQ3ZCdnBCLEVBQVcsR0FDZmtwQixFQUFvQk0sRUFBSSxDQUFDcm9CLEVBQVFzb0IsRUFBVXZiLEVBQUl3YixLQUM5QyxJQUFHRCxFQUFILENBTUEsSUFBSUUsRUFBZXZmLElBQ25CLElBQVM5SSxFQUFJLEVBQUdBLEVBQUl0QixFQUFTcUIsT0FBUUMsSUFBSyxDQUd6QyxJQUZBLElBQUttb0IsRUFBVXZiLEVBQUl3YixHQUFZMXBCLEVBQVNzQixHQUNwQ3NvQixHQUFZLEVBQ1B2Z0IsRUFBSSxFQUFHQSxFQUFJb2dCLEVBQVNwb0IsT0FBUWdJLE1BQ3BCLEVBQVhxZ0IsR0FBc0JDLEdBQWdCRCxJQUFheG1CLE9BQU9DLEtBQUsrbEIsRUFBb0JNLEdBQUdLLE9BQU92bUIsR0FBUzRsQixFQUFvQk0sRUFBRWxtQixHQUFLbW1CLEVBQVNwZ0IsTUFDOUlvZ0IsRUFBUzNrQixPQUFPdUUsSUFBSyxJQUVyQnVnQixHQUFZLEVBQ1RGLEVBQVdDLElBQWNBLEVBQWVELElBRzdDLEdBQUdFLEVBQVcsQ0FDYjVwQixFQUFTOEUsT0FBT3hELElBQUssR0FDckIsSUFBSXlqQixFQUFJN1csU0FDRXpGLElBQU5zYyxJQUFpQjVqQixFQUFTNGpCLEVBQy9CLENBQ0QsQ0FDQSxPQUFPNWpCLENBbkJQLENBSkN1b0IsRUFBV0EsR0FBWSxFQUN2QixJQUFJLElBQUlwb0IsRUFBSXRCLEVBQVNxQixPQUFRQyxFQUFJLEdBQUt0QixFQUFTc0IsRUFBSSxHQUFHLEdBQUtvb0IsRUFBVXBvQixJQUFLdEIsRUFBU3NCLEdBQUt0QixFQUFTc0IsRUFBSSxHQUNyR3RCLEVBQVNzQixHQUFLLENBQUNtb0IsRUFBVXZiLEVBQUl3YixFQXFCakIsRXVCekJkUixFQUFvQnpkLEVBQUksQ0FBQ3NZLEVBQVMrRixLQUNqQyxJQUFJLElBQUl4bUIsS0FBT3dtQixFQUNYWixFQUFvQmEsRUFBRUQsRUFBWXhtQixLQUFTNGxCLEVBQW9CYSxFQUFFaEcsRUFBU3pnQixJQUM1RUosT0FBTytnQixlQUFlRixFQUFTemdCLEVBQUssQ0FBRTRnQixZQUFZLEVBQU0zVyxJQUFLdWMsRUFBV3htQixJQUUxRSxFQ05ENGxCLEVBQW9CYyxFQUFJLENBQUMsRUFHekJkLEVBQW9CbGhCLEVBQUtpaUIsR0FDakJoa0IsUUFBUTRCLElBQUkzRSxPQUFPQyxLQUFLK2xCLEVBQW9CYyxHQUFHNW1CLFFBQU8sQ0FBQ2dELEVBQVU5QyxLQUN2RTRsQixFQUFvQmMsRUFBRTFtQixHQUFLMm1CLEVBQVM3akIsR0FDN0JBLElBQ0wsS0NOSjhpQixFQUFvQnBFLEVBQUttRixHQUVaQSxFQUFVLE1DSHZCZixFQUFvQmdCLEVBQUksV0FDdkIsR0FBMEIsaUJBQWZDLFdBQXlCLE9BQU9BLFdBQzNDLElBQ0MsT0FBT3ZtQixNQUFRLElBQUl3bUIsU0FBUyxjQUFiLEVBQ2hCLENBQUUsTUFBT3BpQixHQUNSLEdBQXNCLGlCQUFYcWlCLE9BQXFCLE9BQU9BLE1BQ3hDLENBQ0EsQ0FQdUIsR0NBeEJuQixFQUFvQmEsRUFBSSxDQUFDeEcsRUFBSytHLElBQVVwbkIsT0FBT3FuQixVQUFVdm1CLGVBQWV3bUIsS0FBS2pILEVBQUsrRyxTQ0FsRixJQUFJRyxFQUNBdkIsRUFBb0JnQixFQUFFUSxnQkFBZUQsRUFBWXZCLEVBQW9CZ0IsRUFBRVMsU0FBVyxJQUN0RixJQUFJQyxFQUFXMUIsRUFBb0JnQixFQUFFVSxTQUNyQyxJQUFLSCxHQUFhRyxJQUNiQSxFQUFTQyxnQkFDWkosRUFBWUcsRUFBU0MsY0FBY0MsTUFDL0JMLEdBQVcsQ0FDZixJQUFJTSxFQUFVSCxFQUFTSSxxQkFBcUIsVUFDNUMsR0FBR0QsRUFBUTFwQixPQUVWLElBREEsSUFBSUMsRUFBSXlwQixFQUFRMXBCLE9BQVMsRUFDbEJDLEdBQUssSUFBTW1wQixHQUFXQSxFQUFZTSxFQUFRenBCLEtBQUt3cEIsR0FFeEQsQ0FJRCxJQUFLTCxFQUFXLE1BQU0sSUFBSTFwQixNQUFNLHlEQUNoQzBwQixFQUFZQSxFQUFVUSxRQUFRLE9BQVEsSUFBSUEsUUFBUSxRQUFTLElBQUlBLFFBQVEsWUFBYSxLQUNwRi9CLEVBQW9Cam9CLEVBQUl3cEIsWUNsQnhCdkIsRUFBb0J4ZixFQUFJaWEsS0FBS2dILFNBQVcsR0FJeEMsSUFBSU8sRUFBa0IsQ0FDckIsSUFBSyxHQWdCTmhDLEVBQW9CYyxFQUFFMW9CLEVBQUksQ0FBQzJvQixFQUFTN2pCLEtBRS9COGtCLEVBQWdCakIsSUFFbEJTLGNBQWN4QixFQUFvQmpvQixFQUFJaW9CLEVBQW9CcEUsRUFBRW1GLEdBRTlELEVBR0QsSUFBSWtCLEVBQXFCeEgsS0FBc0IsZ0JBQUlBLEtBQXNCLGlCQUFLLEdBQzFFeUgsRUFBNkJELEVBQW1CM2lCLEtBQUs2aUIsS0FBS0YsR0FDOURBLEVBQW1CM2lCLEtBdkJDaEIsSUFDbkIsSUFBS2lpQixFQUFVNkIsRUFBYUMsR0FBVy9qQixFQUN2QyxJQUFJLElBQUkyaEIsS0FBWW1DLEVBQ2hCcEMsRUFBb0JhLEVBQUV1QixFQUFhbkMsS0FDckNELEVBQW9CaGEsRUFBRWlhLEdBQVltQyxFQUFZbkMsSUFJaEQsSUFER29DLEdBQVNBLEVBQVFyQyxHQUNkTyxFQUFTcG9CLFFBQ2Q2cEIsRUFBZ0J6QixFQUFTNWtCLE9BQVMsRUFDbkN1bUIsRUFBMkI1akIsRUFBSyxNNUJuQjdCdkgsRUFBT2lwQixFQUFvQjlvQixFQUMvQjhvQixFQUFvQjlvQixFQUFJLElBQ2hCNkYsUUFBUTRCLElBQUksQ0FDbEJxaEIsRUFBb0JsaEIsRUFBRSxLQUN0QmtoQixFQUFvQmxoQixFQUFFLE9BQ3BCd2pCLEtBQUt2ckIsRzZCSlQsSUFBSXNwQixFQUFzQkwsRUFBb0I5b0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ydW50aW1lL2NodW5rIGxvYWRlZCIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ydW50aW1lL3N0YXJ0dXAgY2h1bmsgZGVwZW5kZW5jaWVzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL3V0aWxzL3NyYy90eXBlLWRlY2xhcmF0aW9ucy5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvZGlzdGFuY2UtbWV0cmljcy1tZXRob2RzLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL3V0aWxzL3NyYy92ZWN0b3Itb3BlcmF0aW9ucy5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvdHlwZWQtbWV0cmljcy90eXBlZC1tZXRyaWNzLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy9kaXN0YW5jZS1tYXRyaXgvdHlwZXMuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL2Rpc3RhbmNlLW1hdHJpeC91dGlscy5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvZGlzdGFuY2UtbWF0cml4L2Rpc3RhbmNlLW1hdHJpeC1zZXJ2aWNlLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy91bWFwL3V0aWxzLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy91bWFwL2hlYXAuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL3VtYXAvbWF0cml4LmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy91bWFwL3RyZWUuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL3VtYXAvdW1hcC5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvdW1hcC9ubl9kZXNjZW50LmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9tbC1sZXZlbmJlcmctbWFycXVhcmR0L3NyYy9pbmRleC5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvZGlzdGFuY2UtbWF0cml4L3NwYXJzZS1tYXRyaXgtc2VydmljZS5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvbXVsdGktY29sdW1uLWRpbWVuc2lvbmFsaXR5LXJlZHVjdGlvbi9tdWx0aS1jb2x1bW4tZGltLXJlZHVjZXIuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL2Rpc3RhbmNlLW1hdHJpeC9wcm94eS5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvbXVsdGktY29sdW1uLWRpbWVuc2lvbmFsaXR5LXJlZHVjdGlvbi9tdWxpdC1jb2x1bW4tZGltLXJlZHVjZXItd29ya2VyLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9Aa2Vja2VsdC90c25lL2xpYi9pbmRleC5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGtlY2tlbHQvdHNuZS9saWIvdHNuZS5qcyIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vZWRhL3dlYnBhY2svcnVudGltZS9kZWZpbmUgcHJvcGVydHkgZ2V0dGVycyIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ydW50aW1lL2Vuc3VyZSBjaHVuayIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ydW50aW1lL2dldCBqYXZhc2NyaXB0IGNodW5rIGZpbGVuYW1lIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvZ2xvYmFsIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjazovL2VkYS93ZWJwYWNrL3J1bnRpbWUvcHVibGljUGF0aCIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9ydW50aW1lL2ltcG9ydFNjcmlwdHMgY2h1bmsgbG9hZGluZyIsIndlYnBhY2s6Ly9lZGEvd2VicGFjay9zdGFydHVwIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBkZWZlcnJlZCA9IFtdO1xuX193ZWJwYWNrX3JlcXVpcmVfXy5PID0gKHJlc3VsdCwgY2h1bmtJZHMsIGZuLCBwcmlvcml0eSkgPT4ge1xuXHRpZihjaHVua0lkcykge1xuXHRcdHByaW9yaXR5ID0gcHJpb3JpdHkgfHwgMDtcblx0XHRmb3IodmFyIGkgPSBkZWZlcnJlZC5sZW5ndGg7IGkgPiAwICYmIGRlZmVycmVkW2kgLSAxXVsyXSA+IHByaW9yaXR5OyBpLS0pIGRlZmVycmVkW2ldID0gZGVmZXJyZWRbaSAtIDFdO1xuXHRcdGRlZmVycmVkW2ldID0gW2NodW5rSWRzLCBmbiwgcHJpb3JpdHldO1xuXHRcdHJldHVybjtcblx0fVxuXHR2YXIgbm90RnVsZmlsbGVkID0gSW5maW5pdHk7XG5cdGZvciAodmFyIGkgPSAwOyBpIDwgZGVmZXJyZWQubGVuZ3RoOyBpKyspIHtcblx0XHR2YXIgW2NodW5rSWRzLCBmbiwgcHJpb3JpdHldID0gZGVmZXJyZWRbaV07XG5cdFx0dmFyIGZ1bGZpbGxlZCA9IHRydWU7XG5cdFx0Zm9yICh2YXIgaiA9IDA7IGogPCBjaHVua0lkcy5sZW5ndGg7IGorKykge1xuXHRcdFx0aWYgKChwcmlvcml0eSAmIDEgPT09IDAgfHwgbm90RnVsZmlsbGVkID49IHByaW9yaXR5KSAmJiBPYmplY3Qua2V5cyhfX3dlYnBhY2tfcmVxdWlyZV9fLk8pLmV2ZXJ5KChrZXkpID0+IChfX3dlYnBhY2tfcmVxdWlyZV9fLk9ba2V5XShjaHVua0lkc1tqXSkpKSkge1xuXHRcdFx0XHRjaHVua0lkcy5zcGxpY2Uoai0tLCAxKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGZ1bGZpbGxlZCA9IGZhbHNlO1xuXHRcdFx0XHRpZihwcmlvcml0eSA8IG5vdEZ1bGZpbGxlZCkgbm90RnVsZmlsbGVkID0gcHJpb3JpdHk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGlmKGZ1bGZpbGxlZCkge1xuXHRcdFx0ZGVmZXJyZWQuc3BsaWNlKGktLSwgMSlcblx0XHRcdHZhciByID0gZm4oKTtcblx0XHRcdGlmIChyICE9PSB1bmRlZmluZWQpIHJlc3VsdCA9IHI7XG5cdFx0fVxuXHR9XG5cdHJldHVybiByZXN1bHQ7XG59OyIsInZhciBuZXh0ID0gX193ZWJwYWNrX3JlcXVpcmVfXy54O1xuX193ZWJwYWNrX3JlcXVpcmVfXy54ID0gKCkgPT4ge1xuXHRyZXR1cm4gUHJvbWlzZS5hbGwoW1xuXHRcdF9fd2VicGFja19yZXF1aXJlX18uZSg0ODMpLFxuXHRcdF9fd2VicGFja19yZXF1aXJlX18uZSgzNTIpXG5cdF0pLnRoZW4obmV4dCk7XG59OyIsIi8qKlxuICogRGVub3RlcyBhIHZlY3RvciBvZiBmbG9hdGluZyBwb2l0IHZhbHVlcy5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgVmVjdG9yXG4gKiBAZXh0ZW5kcyB7RmxvYXQzMkFycmF5fVxuICovXG5leHBvcnQgY2xhc3MgVmVjdG9yIGV4dGVuZHMgRmxvYXQzMkFycmF5IHtcbn1cbi8qKlxuICogRGVub3RlcyBhIHR3by1kaW1lbnNpb25hbCBtYXRyaXguXG4gKlxuICogQGV4cG9ydFxuICogQGNsYXNzIE1hdHJpeFxuICogQGV4dGVuZHMge0FycmF5PFZlY3Rvcj59XG4gKi9cbmV4cG9ydCBjbGFzcyBNYXRyaXggZXh0ZW5kcyBBcnJheSB7XG59XG4vKipcbiAqIERlbm90ZXMgY2FydGVzaWFuIGNvb3JkaW5hdGVzLlxuICpcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBDb29yZGluYXRlc1xuICogQGV4dGVuZHMge01hdHJpeH1cbiAqL1xuZXhwb3J0IGNsYXNzIENvb3JkaW5hdGVzIGV4dGVuZHMgTWF0cml4IHtcbn1cbi8qKlxuICogRGVub3RlcyBhbiBhcnJheSBvZiBhcmJpdHJhcnktdHlwZWQgdmVjdG9ycy5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgVmVjdG9yc1xuICogQGV4dGVuZHMge0FycmF5PGFueT59XG4gKi9cbmV4cG9ydCBjbGFzcyBWZWN0b3JzIGV4dGVuZHMgQXJyYXkge1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEhsd1pTMWtaV05zWVhKaGRHbHZibk11YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SjBlWEJsTFdSbFkyeGhjbUYwYVc5dWN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZGUVRzN096czdPMGRCVFVjN1FVRkRTQ3hOUVVGTkxFOUJRVThzVFVGQlR5eFRRVUZSTEZsQlFWazdRMEZCUnp0QlFVVXpRenM3T3pzN08wZEJUVWM3UVVGRFNDeE5RVUZOTEU5QlFVOHNUVUZCVHl4VFFVRlJMRXRCUVdFN1EwRkJSenRCUVVVMVF6czdPenM3TzBkQlRVYzdRVUZEU0N4TlFVRk5MRTlCUVU4c1YwRkJXU3hUUVVGUkxFMUJRVTA3UTBGQlJ6dEJRVVV4UXpzN096czdPMGRCVFVjN1FVRkRTQ3hOUVVGTkxFOUJRVThzVDBGQlVTeFRRVUZSTEV0QlFWVTdRMEZCUnlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENBcUlHRnpJRVJISUdaeWIyMGdKMlJoZEdGbmNtOXJMV0Z3YVM5a1p5YzdYRzVjYmk4cUtseHVJQ29nUkdWdWIzUmxjeUJoSUhabFkzUnZjaUJ2WmlCbWJHOWhkR2x1WnlCd2IybDBJSFpoYkhWbGN5NWNiaUFxWEc0Z0tpQkFaWGh3YjNKMFhHNGdLaUJBWTJ4aGMzTWdWbVZqZEc5eVhHNGdLaUJBWlhoMFpXNWtjeUI3Um14dllYUXpNa0Z5Y21GNWZWeHVJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdWbVZqZEc5eUlHVjRkR1Z1WkhNZ1JteHZZWFF6TWtGeWNtRjVJSHQ5WEc1Y2JpOHFLbHh1SUNvZ1JHVnViM1JsY3lCaElIUjNieTFrYVcxbGJuTnBiMjVoYkNCdFlYUnlhWGd1WEc0Z0tseHVJQ29nUUdWNGNHOXlkRnh1SUNvZ1FHTnNZWE56SUUxaGRISnBlRnh1SUNvZ1FHVjRkR1Z1WkhNZ2UwRnljbUY1UEZabFkzUnZjajU5WEc0Z0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCTllYUnlhWGdnWlhoMFpXNWtjeUJCY25KaGVUeFdaV04wYjNJK0lIdDlYRzVjYmk4cUtseHVJQ29nUkdWdWIzUmxjeUJqWVhKMFpYTnBZVzRnWTI5dmNtUnBibUYwWlhNdVhHNGdLbHh1SUNvZ1FHVjRjRzl5ZEZ4dUlDb2dRR05zWVhOeklFTnZiM0prYVc1aGRHVnpYRzRnS2lCQVpYaDBaVzVrY3lCN1RXRjBjbWw0ZlZ4dUlDb3ZYRzVsZUhCdmNuUWdZMnhoYzNNZ1EyOXZjbVJwYm1GMFpYTWdaWGgwWlc1a2N5Qk5ZWFJ5YVhnZ2UzMWNibHh1THlvcVhHNGdLaUJFWlc1dmRHVnpJR0Z1SUdGeWNtRjVJRzltSUdGeVltbDBjbUZ5ZVMxMGVYQmxaQ0IyWldOMGIzSnpMbHh1SUNwY2JpQXFJRUJsZUhCdmNuUmNiaUFxSUVCamJHRnpjeUJXWldOMGIzSnpYRzRnS2lCQVpYaDBaVzVrY3lCN1FYSnlZWGs4WVc1NVBuMWNiaUFxTDF4dVpYaHdiM0owSUdOc1lYTnpJRlpsWTNSdmNuTWdaWGgwWlc1a2N5QkJjbkpoZVR4aGJuaytJSHQ5WEc1Y2JpOHFLbHh1SUNvZ1JHVnViM1JsY3lCaElHUnBZM1JwYjI1aGNua2dZMjl1ZEdGcGJtbHVaeUJtZFc1amRHbHZiaUJ2Y0hScGIyNXpMbHh1SUNwY2JpQXFJRUJsZUhCdmNuUmNiaUFxSUVCMGVYQmxJRTl3ZEdsdmJuTmNiaUFxTDF4dVpYaHdiM0owSUhSNWNHVWdUM0IwYVc5dWN5QTlJSHRiYm1GdFpUb2djM1J5YVc1blhUb2dZVzU1ZlR0Y2JseHVMeW9xWEc0Z0tpQkVaVzV2ZEdWeklHTjFjM1J2YlNCa2FYTjBZVzVqWlNCdFpYUnlhV01nWW1WMGQyVmxiaUIwYUdVZ2RIZHZJR2RwZG1WdUlIWmxZM1J2Y25NdVhHNGdLbHh1SUNvZ1FHVjRjRzl5ZEZ4dUlDb2dRSFI1Y0dVZ1JHbHpkR0Z1WTJWTlpYUnlhV05jYmlBcUlFQndZWEpoYlNCN1lXNTVmU0IyTVNCVWFHVWdabWx5YzNRZ2RtVmpkRzl5TGx4dUlDb2dRSEJoY21GdElIdGhibmw5SUhZeUlGUm9aU0J6WldOdmJtUWdkbVZqZEc5eUxseHVJQ29nUUhKbGRIVnliaUI3Ym5WdFltVnlmU0JFYVhOMFlXNWpaU0JpWlhSM1pXVnVJSFJvWlhObElIUjNieUIyWldOMGIzSnpMbHh1SUNvdlhHNWxlSEJ2Y25RZ2RIbHdaU0JFYVhOMFlXNWpaVTFsZEhKcFl5QTlJQ2gyTVRvZ1lXNTVMQ0IyTWpvZ1lXNTVLU0E5UGlBb2JuVnRZbVZ5S1R0Y2JseHVMeW9xWEc0Z0tpQkVaVzV2ZEdWeklHRWdjMmx0Y0d4bElITjBjbWx1WnlCMGJ5QnpkSEpwYm1jZ1pHbGpkR2x2Ym1GeWVTNWNiaUFxWEc0Z0tpQkFaWGh3YjNKMFhHNGdLaUJBZEhsd1pTQlRkSEpwYm1kRWFXTjBhVzl1WVhKNVhHNGdLaTljYm1WNGNHOXlkQ0IwZVhCbElGTjBjbWx1WjBScFkzUnBiMjVoY25rZ1BTQjdXMnRsZVRvZ2MzUnlhVzVuWFRvZ2MzUnlhVzVuZlR0Y2JseHVYRzVsZUhCdmNuUWdkSGx3WlNCRGIyeDFiVzVKYm5CMWRFOXdkR2x2Ym5NZ1BTQjdYRzRnSUNBZ1ptbHNkR1Z5UHpvZ0tHTnZiRG9nUkVjdVEyOXNkVzF1S1NBOVBpQmliMjlzWldGdUlId2diblZzYkR0Y2JuMDdYRzRpWFgwPSIsImltcG9ydCBCaXRBcnJheSBmcm9tICdAZGF0YWdyb2stbGlicmFyaWVzL3V0aWxzL3NyYy9iaXQtYXJyYXknO1xuaW1wb3J0IHsgQml0QXJyYXlNZXRyaWNzTmFtZXMgfSBmcm9tICcuL3R5cGVkLW1ldHJpY3MvY29uc3RzJztcbmltcG9ydCB7IE1tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcyB9IGZyb20gJy4vbWFjcm9tb2xlY3VsZS1kaXN0YW5jZS1mdW5jdGlvbnMnO1xuZXhwb3J0IGNvbnN0IHNpbWlsYXJpdHlNZXRyaWMgPSB7XG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlRhbmltb3RvXTogdGFuaW1vdG9TaW1pbGFyaXR5LFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5EaWNlXTogZGljZVNpbWlsYXJpdHksXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkFzeW1tZXRyaWNdOiBhc3ltbWV0cmljU2ltaWxhcml0eSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuQnJhdW5CbGFucXVldF06IGJyYXVuQmxhbnF1ZXRTaW1pbGFyaXR5LFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Db3NpbmVdOiBjb3NpbmVTaW1pbGFyaXR5LFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5LdWxjenluc2tpXToga3VsY3p5bnNraVNpbWlsYXJpdHksXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLk1jQ29ubmF1Z2hleV06IG1jQ29ubmF1Z2hleVNpbWlsYXJpdHksXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJvZ290R29sZGJlcmddOiByb2dvdEdvbGRiZXJnU2ltaWxhcml0eSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuUnVzc2VsXTogcnVzc2VsU2ltaWxhcml0eSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuU29rYWxdOiBzb2thbFNpbWlsYXJpdHksXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkhhbW1pbmddOiBoYW1taW5nU2ltaWxhcml0eSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuRXVjbGlkZWFuXTogZXVjbGlkZWFuU2ltaWxhcml0eSxcbn07XG5leHBvcnQgY29uc3QgZGlzdGFuY2VNZXRyaWNzID0ge1xuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90b106IHRhbmltb3RvRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkRpY2VdOiBkaWNlRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkFzeW1tZXRyaWNdOiBhc3ltbWV0cmljRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkJyYXVuQmxhbnF1ZXRdOiBicmF1bkJsYW5xdWV0RGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkNvc2luZV06IGNvc2luZURpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5LdWxjenluc2tpXToga3VsY3p5bnNraURpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5NY0Nvbm5hdWdoZXldOiBtY0Nvbm5hdWdoZXlEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuUm9nb3RHb2xkYmVyZ106IHJvZ290R29sZGJlcmdEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuUnVzc2VsXTogcnVzc2VsRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlNva2FsXTogc29rYWxEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuSGFtbWluZ106IGhhbW1pbmdEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuRXVjbGlkZWFuXTogZXVjbGlkZWFuRGlzdGFuY2UsXG59O1xuZXhwb3J0IGNvbnN0IENIRU1fU0lNSUxBUklUWV9NRVRSSUNTID0gW1xuICAgIEJpdEFycmF5TWV0cmljc05hbWVzLlRhbmltb3RvLFxuICAgIEJpdEFycmF5TWV0cmljc05hbWVzLkRpY2UsXG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXMuQ29zaW5lXG5dO1xuZXhwb3J0IGNvbnN0IFNFUV9TUEFDRV9TSU1JTEFSSVRZX01FVFJJQ1MgPSBbXG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXMuVGFuaW1vdG8sXG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXMuQXN5bW1ldHJpYyxcbiAgICBCaXRBcnJheU1ldHJpY3NOYW1lcy5Db3NpbmUsXG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXMuU29rYWxcbl07XG5leHBvcnQgY29uc3QgTUFDUk9NT0xFQ1VMRV9TSU1JTEFSSVRZX01FVFJJQ1MgPSBbXG4gICAgTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLkhBTU1JTkcsXG4gICAgTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLkxFVkVOU0hURUlOLFxuICAgIE1tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5NT05PTUVSX0NIRU1JQ0FMX0RJU1RBTkNFLFxuICAgIE1tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5ORUVETEVNQU5OX1dVTlNDSFxuXTtcbmV4cG9ydCBmdW5jdGlvbiB0YW5pbW90b1NpbWlsYXJpdHkoeCwgeSkge1xuICAgIGNvbnN0IHRvdGFsID0geC50cnVlQ291bnQoKSArIHkudHJ1ZUNvdW50KCk7XG4gICAgaWYgKHRvdGFsID09IDApXG4gICAgICAgIHJldHVybiAxLjA7XG4gICAgY29uc3QgY29tbW9uID0geC5hbmRXaXRoQ291bnRCaXRzKHksIHRydWUpO1xuICAgIHJldHVybiBjb21tb24gLyAodG90YWwgLSBjb21tb24pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHRhbmltb3RvRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBnZXREaXN0YW5jZUZyb21TaW1pbGFyaXR5KHRhbmltb3RvU2ltaWxhcml0eSh4LCB5KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gdGFuaW1vdG9EaXN0YW5jZUludEFycmF5KHgsIHkpIHtcbiAgICBjb25zdCB4YiA9IG5ldyBCaXRBcnJheSh4LCB4Lmxlbmd0aCAqIDMyKTtcbiAgICBjb25zdCB5YiA9IG5ldyBCaXRBcnJheSh5LCB5Lmxlbmd0aCAqIDMyKTtcbiAgICByZXR1cm4gZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eSh0YW5pbW90b1NpbWlsYXJpdHkoeGIsIHliKSk7XG59XG5leHBvcnQgZnVuY3Rpb24gZGljZVNpbWlsYXJpdHkoeCwgeSkge1xuICAgIGNvbnN0IHRvdGFsID0geC50cnVlQ291bnQoKSArIHkudHJ1ZUNvdW50KCk7XG4gICAgaWYgKHRvdGFsID09IDApXG4gICAgICAgIHJldHVybiAwLjA7XG4gICAgY29uc3QgY29tbW9uID0geC5hbmRXaXRoQ291bnRCaXRzKHksIHRydWUpO1xuICAgIHJldHVybiAyICogY29tbW9uIC8gdG90YWw7XG59XG5leHBvcnQgZnVuY3Rpb24gZGljZURpc3RhbmNlKHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eShkaWNlU2ltaWxhcml0eSh4LCB5KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gY29zaW5lU2ltaWxhcml0eSh4LCB5KSB7XG4gICAgY29uc3QgdG90YWwgPSB4LnRydWVDb3VudCgpICogeS50cnVlQ291bnQoKTtcbiAgICBpZiAodG90YWwgPT0gMClcbiAgICAgICAgcmV0dXJuIDAuMDtcbiAgICBjb25zdCBjb21tb24gPSB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSk7XG4gICAgcmV0dXJuIGNvbW1vbiAvIE1hdGguc3FydCh0b3RhbCk7XG59XG5leHBvcnQgZnVuY3Rpb24gY29zaW5lRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBnZXREaXN0YW5jZUZyb21TaW1pbGFyaXR5KGNvc2luZVNpbWlsYXJpdHkoeCwgeSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGV1Y2xpZGVhblNpbWlsYXJpdHkoeCwgeSkge1xuICAgIHJldHVybiBnZXRTaW1pbGFyaXR5RnJvbURpc3RhbmNlKGV1Y2xpZGVhbkRpc3RhbmNlKHgsIHkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBldWNsaWRlYW5EaXN0YW5jZSh4LCB5KSB7XG4gICAgcmV0dXJuIE1hdGguc3FydCh4LnRydWVDb3VudCgpICsgeS50cnVlQ291bnQoKSAtIDIgKiB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGhhbW1pbmdTaW1pbGFyaXR5KHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0U2ltaWxhcml0eUZyb21EaXN0YW5jZShoYW1taW5nRGlzdGFuY2UoeCwgeSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGhhbW1pbmdEaXN0YW5jZSh4LCB5KSB7XG4gICAgcmV0dXJuIHgudHJ1ZUNvdW50KCkgKyB5LnRydWVDb3VudCgpIC0gMiAqIHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBzb2thbFNpbWlsYXJpdHkoeCwgeSkge1xuICAgIGNvbnN0IHRvdGFsID0geC50cnVlQ291bnQoKSArIHkudHJ1ZUNvdW50KCk7XG4gICAgY29uc3QgY29tbW9uID0geC5hbmRXaXRoQ291bnRCaXRzKHksIHRydWUpO1xuICAgIHJldHVybiBjb21tb24gLyAoMiAqIHRvdGFsIC0gMyAqIGNvbW1vbik7XG59XG5leHBvcnQgZnVuY3Rpb24gc29rYWxEaXN0YW5jZSh4LCB5KSB7XG4gICAgcmV0dXJuIGdldERpc3RhbmNlRnJvbVNpbWlsYXJpdHkoc29rYWxTaW1pbGFyaXR5KHgsIHkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBrdWxjenluc2tpU2ltaWxhcml0eSh4LCB5KSB7XG4gICAgY29uc3QgdG90YWwgPSB4LnRydWVDb3VudCgpICsgeS50cnVlQ291bnQoKTtcbiAgICBjb25zdCB0b3RhbFByb2QgPSB4LnRydWVDb3VudCgpICogeS50cnVlQ291bnQoKTtcbiAgICBpZiAodG90YWxQcm9kID09IDApXG4gICAgICAgIHJldHVybiAwLjA7XG4gICAgY29uc3QgY29tbW9uID0geC5hbmRXaXRoQ291bnRCaXRzKHksIHRydWUpO1xuICAgIHJldHVybiAoY29tbW9uICogdG90YWwpIC8gKDIgKiB0b3RhbFByb2QpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGt1bGN6eW5za2lEaXN0YW5jZSh4LCB5KSB7XG4gICAgcmV0dXJuIGdldERpc3RhbmNlRnJvbVNpbWlsYXJpdHkoa3VsY3p5bnNraVNpbWlsYXJpdHkoeCwgeSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIG1jQ29ubmF1Z2hleVNpbWlsYXJpdHkoeCwgeSkge1xuICAgIGNvbnN0IHRvdGFsID0geC50cnVlQ291bnQoKSArIHkudHJ1ZUNvdW50KCk7XG4gICAgY29uc3QgdG90YWxQcm9kID0geC50cnVlQ291bnQoKSAqIHkudHJ1ZUNvdW50KCk7XG4gICAgaWYgKHRvdGFsUHJvZCA9PSAwKVxuICAgICAgICByZXR1cm4gMC4wO1xuICAgIGNvbnN0IGNvbW1vbiA9IHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbiAgICByZXR1cm4gKGNvbW1vbiAqIHRvdGFsIC0gdG90YWxQcm9kKSAvIHRvdGFsUHJvZDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBtY0Nvbm5hdWdoZXlEaXN0YW5jZSh4LCB5KSB7XG4gICAgcmV0dXJuIGdldERpc3RhbmNlRnJvbVNpbWlsYXJpdHkobWNDb25uYXVnaGV5U2ltaWxhcml0eSh4LCB5KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gYXN5bW1ldHJpY1NpbWlsYXJpdHkoeCwgeSkge1xuICAgIGNvbnN0IG1pbiA9IE1hdGgubWluKHgudHJ1ZUNvdW50KCksIHkudHJ1ZUNvdW50KCkpO1xuICAgIGlmIChtaW4gPT0gMClcbiAgICAgICAgcmV0dXJuIDAuMDtcbiAgICBjb25zdCBjb21tb24gPSB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSk7XG4gICAgcmV0dXJuIGNvbW1vbiAvIG1pbjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBhc3ltbWV0cmljRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBnZXREaXN0YW5jZUZyb21TaW1pbGFyaXR5KGFzeW1tZXRyaWNTaW1pbGFyaXR5KHgsIHkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBicmF1bkJsYW5xdWV0U2ltaWxhcml0eSh4LCB5KSB7XG4gICAgY29uc3QgbWF4ID0gTWF0aC5tYXgoeC50cnVlQ291bnQoKSwgeS50cnVlQ291bnQoKSk7XG4gICAgaWYgKG1heCA9PSAwKVxuICAgICAgICByZXR1cm4gMC4wO1xuICAgIGNvbnN0IGNvbW1vbiA9IHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbiAgICByZXR1cm4gY29tbW9uIC8gbWF4O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGJyYXVuQmxhbnF1ZXREaXN0YW5jZSh4LCB5KSB7XG4gICAgcmV0dXJuIGdldERpc3RhbmNlRnJvbVNpbWlsYXJpdHkoYnJhdW5CbGFucXVldFNpbWlsYXJpdHkoeCwgeSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJ1c3NlbFNpbWlsYXJpdHkoeCwgeSkge1xuICAgIGlmICh4Lmxlbmd0aCA9PSAwKVxuICAgICAgICByZXR1cm4gMC4wO1xuICAgIGNvbnN0IGNvbW1vbiA9IHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbiAgICByZXR1cm4gY29tbW9uIC8geC5sZW5ndGg7XG59XG5leHBvcnQgZnVuY3Rpb24gcnVzc2VsRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBnZXREaXN0YW5jZUZyb21TaW1pbGFyaXR5KHJ1c3NlbFNpbWlsYXJpdHkoeCwgeSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJvZ290R29sZGJlcmdTaW1pbGFyaXR5KHgsIHkpIHtcbiAgICBjb25zdCBjb21tb24gPSB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSk7XG4gICAgY29uc3QgdG90YWwgPSB4LmNvdW50Qml0cyh0cnVlKSArIHkuY291bnRCaXRzKHRydWUpO1xuICAgIGNvbnN0IGxlbiA9IHgubGVuZ3RoO1xuICAgIGNvbnN0IGRpZmYgPSBsZW4gLSB0b3RhbCArIGNvbW1vbjtcbiAgICBpZiAoKGNvbW1vbiA9PSBsZW4pIHx8IChkaWZmID09IGxlbikpXG4gICAgICAgIHJldHVybiAxLjA7XG4gICAgZWxzZVxuICAgICAgICByZXR1cm4gY29tbW9uIC8gdG90YWwgKyBkaWZmIC8gKDIgKiBsZW4gLSB0b3RhbCk7XG59XG5leHBvcnQgZnVuY3Rpb24gcm9nb3RHb2xkYmVyZ0Rpc3RhbmNlKHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eShyb2dvdEdvbGRiZXJnU2ltaWxhcml0eSh4LCB5KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0U2ltaWxhcml0eUZyb21EaXN0YW5jZShkaXN0YW5jZSkge1xuICAgIHJldHVybiAxIC8gKDEgKyBkaXN0YW5jZSk7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eShzaW1pbGFyaXR5KSB7XG4gICAgcmV0dXJuIHNpbWlsYXJpdHkgPT09IDAgPyAzLjQwMjgyM0UrMzggOiAoMSAvIHNpbWlsYXJpdHkpIC0gMTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBudW1lcmljRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBNYXRoLmFicyh4IC0geSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2laR2x6ZEdGdVkyVXRiV1YwY21samN5MXRaWFJvYjJSekxtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpWkdsemRHRnVZMlV0YldWMGNtbGpjeTF0WlhSb2IyUnpMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxFOUJRVThzVVVGQlVTeE5RVUZOTEhsRFFVRjVReXhEUVVGRE8wRkJReTlFTEU5QlFVOHNSVUZCUXl4dlFrRkJiMElzUlVGQlF5eE5RVUZOTEhkQ1FVRjNRaXhEUVVGRE8wRkJRelZFTEU5QlFVOHNSVUZCUXl4M1FrRkJkMElzUlVGQlF5eE5RVUZOTEc5RFFVRnZReXhEUVVGRE8wRkJSVFZGTEUxQlFVMHNRMEZCUXl4TlFVRk5MR2RDUVVGblFpeEhRVUUyUkR0SlFVTjRSaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRkZCUVZFc1EwRkJReXhGUVVGRkxHdENRVUZyUWp0SlFVTnVSQ3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRWxCUVVrc1EwRkJReXhGUVVGRkxHTkJRV003U1VGRE0wTXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eFZRVUZWTEVOQlFVTXNSVUZCUlN4dlFrRkJiMEk3U1VGRGRrUXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eGhRVUZoTEVOQlFVTXNSVUZCUlN4MVFrRkJkVUk3U1VGRE4wUXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlN4blFrRkJaMEk3U1VGREwwTXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eFZRVUZWTEVOQlFVTXNSVUZCUlN4dlFrRkJiMEk3U1VGRGRrUXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eFpRVUZaTEVOQlFVTXNSVUZCUlN4elFrRkJjMEk3U1VGRE0wUXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eGhRVUZoTEVOQlFVTXNSVUZCUlN4MVFrRkJkVUk3U1VGRE4wUXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlN4blFrRkJaMEk3U1VGREwwTXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eExRVUZMTEVOQlFVTXNSVUZCUlN4bFFVRmxPMGxCUXpkRExFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1QwRkJUeXhEUVVGRExFVkJRVVVzYVVKQlFXbENPMGxCUTJwRUxFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1UwRkJVeXhEUVVGRExFVkJRVVVzYlVKQlFXMUNPME5CUTNSRUxFTkJRVU03UVVGRlJpeE5RVUZOTEVOQlFVTXNUVUZCVFN4bFFVRmxMRWRCUVRaRU8wbEJRM1pHTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVVVGQlVTeERRVUZETEVWQlFVVXNaMEpCUVdkQ08wbEJRMnBFTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zU1VGQlNTeERRVUZETEVWQlFVVXNXVUZCV1R0SlFVTjZReXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRlZCUVZVc1EwRkJReXhGUVVGRkxHdENRVUZyUWp0SlFVTnlSQ3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMR0ZCUVdFc1EwRkJReXhGUVVGRkxIRkNRVUZ4UWp0SlFVTXpSQ3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxHTkJRV003U1VGRE4wTXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eFZRVUZWTEVOQlFVTXNSVUZCUlN4clFrRkJhMEk3U1VGRGNrUXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eFpRVUZaTEVOQlFVTXNSVUZCUlN4dlFrRkJiMEk3U1VGRGVrUXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eGhRVUZoTEVOQlFVTXNSVUZCUlN4eFFrRkJjVUk3U1VGRE0wUXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlN4alFVRmpPMGxCUXpkRExFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1MwRkJTeXhEUVVGRExFVkJRVVVzWVVGQllUdEpRVU16UXl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEU5QlFVOHNRMEZCUXl4RlFVRkZMR1ZCUVdVN1NVRkRMME1zUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhUUVVGVExFTkJRVU1zUlVGQlJTeHBRa0ZCYVVJN1EwRkRjRVFzUTBGQlF6dEJRVVZHTEUxQlFVMHNRMEZCUXl4TlFVRk5MSFZDUVVGMVFpeEhRVUZITzBsQlEzSkRMRzlDUVVGdlFpeERRVUZETEZGQlFWRTdTVUZETjBJc2IwSkJRVzlDTEVOQlFVTXNTVUZCU1R0SlFVTjZRaXh2UWtGQmIwSXNRMEZCUXl4TlFVRk5PME5CUVVNc1EwRkJRenRCUVVNdlFpeE5RVUZOTEVOQlFVTXNUVUZCVFN3MFFrRkJORUlzUjBGQlJ6dEpRVU14UXl4dlFrRkJiMElzUTBGQlF5eFJRVUZSTzBsQlF6ZENMRzlDUVVGdlFpeERRVUZETEZWQlFWVTdTVUZETDBJc2IwSkJRVzlDTEVOQlFVTXNUVUZCVFR0SlFVTXpRaXh2UWtGQmIwSXNRMEZCUXl4TFFVRkxPME5CUVVNc1EwRkJRenRCUVVNNVFpeE5RVUZOTEVOQlFVTXNUVUZCVFN4blEwRkJaME1zUjBGQlJ6dEpRVU01UXl4M1FrRkJkMElzUTBGQlF5eFBRVUZQTzBsQlEyaERMSGRDUVVGM1FpeERRVUZETEZkQlFWYzdTVUZEY0VNc2QwSkJRWGRDTEVOQlFVTXNlVUpCUVhsQ08wbEJRMnhFTEhkQ1FVRjNRaXhEUVVGRExHbENRVUZwUWp0RFFVTXpReXhEUVVGRE8wRkJSMFlzVFVGQlRTeFZRVUZWTEd0Q1FVRnJRaXhEUVVGRExFTkJRVmNzUlVGQlJTeERRVUZYTzBsQlEzcEVMRTFCUVUwc1MwRkJTeXhIUVVGSExFTkJRVU1zUTBGQlF5eFRRVUZUTEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1UwRkJVeXhGUVVGRkxFTkJRVU03U1VGRE5VTXNTVUZCU1N4TFFVRkxMRWxCUVVrc1EwRkJRenRSUVVGRkxFOUJRVThzUjBGQlJ5eERRVUZETzBsQlF6TkNMRTFCUVUwc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTTdTVUZETTBNc1QwRkJUeXhOUVVGTkxFZEJRVWNzUTBGQlF5eExRVUZMTEVkQlFVY3NUVUZCVFN4RFFVRkRMRU5CUVVNN1FVRkRia01zUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4blFrRkJaMElzUTBGQlF5eERRVUZYTEVWQlFVVXNRMEZCVnp0SlFVTjJSQ3hQUVVGUExIbENRVUY1UWl4RFFVRkRMR3RDUVVGclFpeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRemRFTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc2QwSkJRWGRDTEVOQlFVTXNRMEZCWXl4RlFVRkZMRU5CUVdNN1NVRkRja1VzVFVGQlRTeEZRVUZGTEVkQlFVY3NTVUZCU1N4UlFVRlJMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eE5RVUZOTEVkQlFVY3NSVUZCUlN4RFFVRkRMRU5CUVVNN1NVRkRNVU1zVFVGQlRTeEZRVUZGTEVkQlFVY3NTVUZCU1N4UlFVRlJMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eE5RVUZOTEVkQlFVY3NSVUZCUlN4RFFVRkRMRU5CUVVNN1NVRkRNVU1zVDBGQlR5eDVRa0ZCZVVJc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4RlFVRkZMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dEJRVU12UkN4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxHTkJRV01zUTBGQlF5eERRVUZYTEVWQlFVVXNRMEZCVnp0SlFVTnlSQ3hOUVVGTkxFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeERRVUZETzBsQlF6VkRMRWxCUVVrc1MwRkJTeXhKUVVGSkxFTkJRVU03VVVGQlJTeFBRVUZQTEVkQlFVY3NRMEZCUXp0SlFVTXpRaXhOUVVGTkxFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUXpORExFOUJRVThzUTBGQlF5eEhRVUZITEUxQlFVMHNSMEZCUnl4TFFVRkxMRU5CUVVNN1FVRkROVUlzUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4WlFVRlpMRU5CUVVNc1EwRkJWeXhGUVVGRkxFTkJRVmM3U1VGRGJrUXNUMEZCVHl4NVFrRkJlVUlzUTBGQlF5eGpRVUZqTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRGVrUXNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3huUWtGQlowSXNRMEZCUXl4RFFVRlhMRVZCUVVVc1EwRkJWenRKUVVOMlJDeE5RVUZOTEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVVNc1UwRkJVeXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMGxCUXpWRExFbEJRVWtzUzBGQlN5eEpRVUZKTEVOQlFVTTdVVUZCUlN4UFFVRlBMRWRCUVVjc1EwRkJRenRKUVVNelFpeE5RVUZOTEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRE8wbEJRek5ETEU5QlFVOHNUVUZCVFN4SFFVRkhMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdRVUZEYmtNc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeGpRVUZqTEVOQlFVTXNRMEZCVnl4RlFVRkZMRU5CUVZjN1NVRkRja1FzVDBGQlR5eDVRa0ZCZVVJc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEJRVU16UkN4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxHMUNRVUZ0UWl4RFFVRkRMRU5CUVZjc1JVRkJSU3hEUVVGWE8wbEJRekZFTEU5QlFVOHNlVUpCUVhsQ0xFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZETlVRc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeHBRa0ZCYVVJc1EwRkJReXhEUVVGWExFVkJRVVVzUTBGQlZ6dEpRVU40UkN4UFFVRlBMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEZOQlFWTXNSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJReXhUUVVGVExFVkJRVVVzUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMR2RDUVVGblFpeERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRM0JHTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc2FVSkJRV2xDTEVOQlFVTXNRMEZCVnl4RlFVRkZMRU5CUVZjN1NVRkRlRVFzVDBGQlR5eDVRa0ZCZVVJc1EwRkJReXhsUVVGbExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRNVVFzUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4bFFVRmxMRU5CUVVNc1EwRkJWeXhGUVVGRkxFTkJRVmM3U1VGRGRFUXNUMEZCVHl4RFFVRkRMRU5CUVVNc1UwRkJVeXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETEZOQlFWTXNSVUZCUlN4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzBGQlEzcEZMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzWlVGQlpTeERRVUZETEVOQlFWY3NSVUZCUlN4RFFVRlhPMGxCUTNSRUxFMUJRVTBzUzBGQlN5eEhRVUZITEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU1zVTBGQlV5eEZRVUZGTEVOQlFVTTdTVUZETlVNc1RVRkJUU3hOUVVGTkxFZEJRVWNzUTBGQlF5eERRVUZETEdkQ1FVRm5RaXhEUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXp0SlFVTXpReXhQUVVGUExFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4TFFVRkxMRWRCUVVjc1EwRkJReXhIUVVGSExFMUJRVTBzUTBGQlF5eERRVUZETzBGQlF6TkRMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzWVVGQllTeERRVUZETEVOQlFWY3NSVUZCUlN4RFFVRlhPMGxCUTNCRUxFOUJRVThzZVVKQlFYbENMRU5CUVVNc1pVRkJaU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUXpGRUxFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNiMEpCUVc5Q0xFTkJRVU1zUTBGQlZ5eEZRVUZGTEVOQlFWYzdTVUZETTBRc1RVRkJUU3hMUVVGTExFZEJRVWNzUTBGQlF5eERRVUZETEZOQlFWTXNSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJReXhUUVVGVExFVkJRVVVzUTBGQlF6dEpRVU0xUXl4TlFVRk5MRk5CUVZNc1IwRkJSeXhEUVVGRExFTkJRVU1zVTBGQlV5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRE8wbEJRMmhFTEVsQlFVa3NVMEZCVXl4SlFVRkpMRU5CUVVNN1VVRkJSU3hQUVVGUExFZEJRVWNzUTBGQlF6dEpRVU12UWl4TlFVRk5MRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzBsQlF6TkRMRTlCUVU4c1EwRkJReXhOUVVGTkxFZEJRVWNzUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1UwRkJVeXhEUVVGRExFTkJRVU03UVVGRE5VTXNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3hyUWtGQmEwSXNRMEZCUXl4RFFVRlhMRVZCUVVVc1EwRkJWenRKUVVONlJDeFBRVUZQTEhsQ1FVRjVRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlF5OUVMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzYzBKQlFYTkNMRU5CUVVNc1EwRkJWeXhGUVVGRkxFTkJRVmM3U1VGRE4wUXNUVUZCVFN4TFFVRkxMRWRCUVVjc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJRenRKUVVNMVF5eE5RVUZOTEZOQlFWTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1UwRkJVeXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMGxCUTJoRUxFbEJRVWtzVTBGQlV5eEpRVUZKTEVOQlFVTTdVVUZCUlN4UFFVRlBMRWRCUVVjc1EwRkJRenRKUVVNdlFpeE5RVUZOTEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRE8wbEJRek5ETEU5QlFVOHNRMEZCUXl4TlFVRk5MRWRCUVVjc1MwRkJTeXhIUVVGSExGTkJRVk1zUTBGQlF5eEhRVUZITEZOQlFWTXNRMEZCUXp0QlFVTnNSQ3hEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEc5Q1FVRnZRaXhEUVVGRExFTkJRVmNzUlVGQlJTeERRVUZYTzBsQlF6TkVMRTlCUVU4c2VVSkJRWGxDTEVOQlFVTXNjMEpCUVhOQ0xFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRha1VzUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4dlFrRkJiMElzUTBGQlF5eERRVUZYTEVWQlFVVXNRMEZCVnp0SlFVTXpSQ3hOUVVGTkxFZEJRVWNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhUUVVGVExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRU5CUVVNc1EwRkJRenRKUVVOdVJDeEpRVUZKTEVkQlFVY3NTVUZCU1N4RFFVRkRPMUZCUVVVc1QwRkJUeXhIUVVGSExFTkJRVU03U1VGRGVrSXNUVUZCVFN4TlFVRk5MRWRCUVVjc1EwRkJReXhEUVVGRExHZENRVUZuUWl4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU16UXl4UFFVRlBMRTFCUVUwc1IwRkJSeXhIUVVGSExFTkJRVU03UVVGRGRFSXNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3hyUWtGQmEwSXNRMEZCUXl4RFFVRlhMRVZCUVVVc1EwRkJWenRKUVVONlJDeFBRVUZQTEhsQ1FVRjVRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlF5OUVMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzZFVKQlFYVkNMRU5CUVVNc1EwRkJWeXhGUVVGRkxFTkJRVmM3U1VGRE9VUXNUVUZCVFN4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeERRVUZETEVOQlFVTTdTVUZEYmtRc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF6dFJRVUZGTEU5QlFVOHNSMEZCUnl4RFFVRkRPMGxCUTNwQ0xFMUJRVTBzVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXl4blFrRkJaMElzUTBGQlF5eERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNN1NVRkRNME1zVDBGQlR5eE5RVUZOTEVkQlFVY3NSMEZCUnl4RFFVRkRPMEZCUTNSQ0xFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNjVUpCUVhGQ0xFTkJRVU1zUTBGQlZ5eEZRVUZGTEVOQlFWYzdTVUZETlVRc1QwRkJUeXg1UWtGQmVVSXNRMEZCUXl4MVFrRkJkVUlzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVOc1JTeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMR2RDUVVGblFpeERRVUZETEVOQlFWY3NSVUZCUlN4RFFVRlhPMGxCUTNaRUxFbEJRVWtzUTBGQlF5eERRVUZETEUxQlFVMHNTVUZCU1N4RFFVRkRPMUZCUVVVc1QwRkJUeXhIUVVGSExFTkJRVU03U1VGRE9VSXNUVUZCVFN4TlFVRk5MRWRCUVVjc1EwRkJReXhEUVVGRExHZENRVUZuUWl4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU16UXl4UFFVRlBMRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETzBGQlF6TkNMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzWTBGQll5eERRVUZETEVOQlFWY3NSVUZCUlN4RFFVRlhPMGxCUTNKRUxFOUJRVThzZVVKQlFYbENMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRE0wUXNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3gxUWtGQmRVSXNRMEZCUXl4RFFVRlhMRVZCUVVVc1EwRkJWenRKUVVNNVJDeE5RVUZOTEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRE8wbEJRek5ETEUxQlFVMHNTMEZCU3l4SFFVRkhMRU5CUVVNc1EwRkJReXhUUVVGVExFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRk5CUVZNc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU53UkN4TlFVRk5MRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETzBsQlEzSkNMRTFCUVUwc1NVRkJTU3hIUVVGSExFZEJRVWNzUjBGQlJ5eExRVUZMTEVkQlFVY3NUVUZCVFN4RFFVRkRPMGxCUTJ4RExFbEJRVWtzUTBGQlF5eE5RVUZOTEVsQlFVa3NSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFbEJRVWtzUjBGQlJ5eERRVUZETzFGQlFVVXNUMEZCVHl4SFFVRkhMRU5CUVVNN08xRkJRelZETEU5QlFVOHNUVUZCVFN4SFFVRkhMRXRCUVVzc1IwRkJSeXhKUVVGSkxFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NSMEZCUnl4SFFVRkhMRXRCUVVzc1EwRkJReXhEUVVGRE8wRkJRM2hFTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc2NVSkJRWEZDTEVOQlFVTXNRMEZCVnl4RlFVRkZMRU5CUVZjN1NVRkROVVFzVDBGQlR5eDVRa0ZCZVVJc1EwRkJReXgxUWtGQmRVSXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEJRVU5zUlN4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxIbENRVUY1UWl4RFFVRkRMRkZCUVdkQ08wbEJRM2hFTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExGRkJRVkVzUTBGQlF5eERRVUZETzBGQlF6VkNMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzZVVKQlFYbENMRU5CUVVNc1ZVRkJhMEk3U1VGRE1VUXNUMEZCVHl4VlFVRlZMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExGVkJRVlVzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0QlFVTm9SU3hEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEdWQlFXVXNRMEZCUXl4RFFVRlRMRVZCUVVVc1EwRkJVenRKUVVOc1JDeFBRVUZQTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlEzcENMRU5CUVVNaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ1FtbDBRWEp5WVhrZ1puSnZiU0FuUUdSaGRHRm5jbTlyTFd4cFluSmhjbWxsY3k5MWRHbHNjeTl6Y21NdlltbDBMV0Z5Y21GNUp6dGNibWx0Y0c5eWRDQjdRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE45SUdaeWIyMGdKeTR2ZEhsd1pXUXRiV1YwY21samN5OWpiMjV6ZEhNbk8xeHVhVzF3YjNKMElIdE5iVVJwYzNSaGJtTmxSblZ1WTNScGIyNXpUbUZ0WlhOOUlHWnliMjBnSnk0dmJXRmpjbTl0YjJ4bFkzVnNaUzFrYVhOMFlXNWpaUzFtZFc1amRHbHZibk1uTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnYzJsdGFXeGhjbWwwZVUxbGRISnBZem9nZXlCYmJtRnRaVG9nYzNSeWFXNW5YVG9nS0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2tnUFQ0Z2JuVnRZbVZ5SUgwZ1BTQjdYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NVVZVzVwYlc5MGIxMDZJSFJoYm1sdGIzUnZVMmx0YVd4aGNtbDBlU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMa1JwWTJWZE9pQmthV05sVTJsdGFXeGhjbWwwZVN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtGemVXMXRaWFJ5YVdOZE9pQmhjM2x0YldWMGNtbGpVMmx0YVd4aGNtbDBlU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMa0p5WVhWdVFteGhibkYxWlhSZE9pQmljbUYxYmtKc1lXNXhkV1YwVTJsdGFXeGhjbWwwZVN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtOdmMybHVaVjA2SUdOdmMybHVaVk5wYldsc1lYSnBkSGtzWEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVMZFd4amVubHVjMnRwWFRvZ2EzVnNZM3A1Ym5OcmFWTnBiV2xzWVhKcGRIa3NYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NU5ZME52Ym01aGRXZG9aWGxkT2lCdFkwTnZibTVoZFdkb1pYbFRhVzFwYkdGeWFYUjVMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVVbTluYjNSSGIyeGtZbVZ5WjEwNklISnZaMjkwUjI5c1pHSmxjbWRUYVcxcGJHRnlhWFI1TEZ4dUlDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11VW5WemMyVnNYVG9nY25WemMyVnNVMmx0YVd4aGNtbDBlU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbE52YTJGc1hUb2djMjlyWVd4VGFXMXBiR0Z5YVhSNUxGeHVJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVNHRnRiV2x1WjEwNklHaGhiVzFwYm1kVGFXMXBiR0Z5YVhSNUxGeHVJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVJYVmpiR2xrWldGdVhUb2daWFZqYkdsa1pXRnVVMmx0YVd4aGNtbDBlU3hjYm4wN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCa2FYTjBZVzVqWlUxbGRISnBZM002SUhzZ1cyNWhiV1U2SUhOMGNtbHVaMTA2SUNoNE9pQkNhWFJCY25KaGVTd2dlVG9nUW1sMFFYSnlZWGtwSUQwK0lHNTFiV0psY2lCOUlEMGdlMXh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVWR0Z1YVcxdmRHOWRPaUIwWVc1cGJXOTBiMFJwYzNSaGJtTmxMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVSR2xqWlYwNklHUnBZMlZFYVhOMFlXNWpaU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMa0Z6ZVcxdFpYUnlhV05kT2lCaGMzbHRiV1YwY21salJHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1Q2NtRjFia0pzWVc1eGRXVjBYVG9nWW5KaGRXNUNiR0Z1Y1hWbGRFUnBjM1JoYm1ObExGeHVJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVEyOXphVzVsWFRvZ1kyOXphVzVsUkdsemRHRnVZMlVzWEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVMZFd4amVubHVjMnRwWFRvZ2EzVnNZM3A1Ym5OcmFVUnBjM1JoYm1ObExGeHVJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVRXTkRiMjV1WVhWbmFHVjVYVG9nYldORGIyNXVZWFZuYUdWNVJHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1U2IyZHZkRWR2YkdSaVpYSm5YVG9nY205bmIzUkhiMnhrWW1WeVowUnBjM1JoYm1ObExGeHVJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVVuVnpjMlZzWFRvZ2NuVnpjMlZzUkdsemRHRnVZMlVzWEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVUYjJ0aGJGMDZJSE52YTJGc1JHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1SVlXMXRhVzVuWFRvZ2FHRnRiV2x1WjBScGMzUmhibU5sTEZ4dUlDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11UlhWamJHbGtaV0Z1WFRvZ1pYVmpiR2xrWldGdVJHbHpkR0Z1WTJVc1hHNTlPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdRMGhGVFY5VFNVMUpURUZTU1ZSWlgwMUZWRkpKUTFNZ1BTQmJYRzRnSUVKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxsUmhibWx0YjNSdkxGeHVJQ0JDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1RWFXTmxMRnh1SUNCQ2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NURiM05wYm1WZE8xeHVaWGh3YjNKMElHTnZibk4wSUZORlVWOVRVRUZEUlY5VFNVMUpURUZTU1ZSWlgwMUZWRkpKUTFNZ1BTQmJYRzRnSUVKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxsUmhibWx0YjNSdkxGeHVJQ0JDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1QmMzbHRiV1YwY21sakxGeHVJQ0JDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1RGIzTnBibVVzWEc0Z0lFSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbE52YTJGc1hUdGNibVY0Y0c5eWRDQmpiMjV6ZENCTlFVTlNUMDFQVEVWRFZVeEZYMU5KVFVsTVFWSkpWRmxmVFVWVVVrbERVeUE5SUZ0Y2JpQWdUVzFFYVhOMFlXNWpaVVoxYm1OMGFXOXVjMDVoYldWekxraEJUVTFKVGtjc1hHNGdJRTF0UkdsemRHRnVZMlZHZFc1amRHbHZibk5PWVcxbGN5NU1SVlpGVGxOSVZFVkpUaXhjYmlBZ1RXMUVhWE4wWVc1alpVWjFibU4wYVc5dWMwNWhiV1Z6TGsxUFRrOU5SVkpmUTBoRlRVbERRVXhmUkVsVFZFRk9RMFVzWEc0Z0lFMXRSR2x6ZEdGdVkyVkdkVzVqZEdsdmJuTk9ZVzFsY3k1T1JVVkVURVZOUVU1T1gxZFZUbE5EU0Z4dVhUdGNibHh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnZEdGdWFXMXZkRzlUYVcxcGJHRnlhWFI1S0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2s2SUc1MWJXSmxjaUI3WEc0Z0lHTnZibk4wSUhSdmRHRnNJRDBnZUM1MGNuVmxRMjkxYm5Rb0tTQXJJSGt1ZEhKMVpVTnZkVzUwS0NrN1hHNGdJR2xtSUNoMGIzUmhiQ0E5UFNBd0tTQnlaWFIxY200Z01TNHdPMXh1SUNCamIyNXpkQ0JqYjIxdGIyNGdQU0I0TG1GdVpGZHBkR2hEYjNWdWRFSnBkSE1vZVN3Z2RISjFaU2s3WEc0Z0lISmxkSFZ5YmlCamIyMXRiMjRnTHlBb2RHOTBZV3dnTFNCamIyMXRiMjRwTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdkR0Z1YVcxdmRHOUVhWE4wWVc1alpTaDRPaUJDYVhSQmNuSmhlU3dnZVRvZ1FtbDBRWEp5WVhrcE9pQnVkVzFpWlhJZ2UxeHVJQ0J5WlhSMWNtNGdaMlYwUkdsemRHRnVZMlZHY205dFUybHRhV3hoY21sMGVTaDBZVzVwYlc5MGIxTnBiV2xzWVhKcGRIa29lQ3dnZVNrcE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnZEdGdWFXMXZkRzlFYVhOMFlXNWpaVWx1ZEVGeWNtRjVLSGc2SUZWcGJuUXpNa0Z5Y21GNUxDQjVPaUJWYVc1ME16SkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJR052Ym5OMElIaGlJRDBnYm1WM0lFSnBkRUZ5Y21GNUtIZ3NJSGd1YkdWdVozUm9JQ29nTXpJcE8xeHVJQ0JqYjI1emRDQjVZaUE5SUc1bGR5QkNhWFJCY25KaGVTaDVMQ0I1TG14bGJtZDBhQ0FxSURNeUtUdGNiaUFnY21WMGRYSnVJR2RsZEVScGMzUmhibU5sUm5KdmJWTnBiV2xzWVhKcGRIa29kR0Z1YVcxdmRHOVRhVzFwYkdGeWFYUjVLSGhpTENCNVlpa3BPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1pHbGpaVk5wYldsc1lYSnBkSGtvZURvZ1FtbDBRWEp5WVhrc0lIazZJRUpwZEVGeWNtRjVLVG9nYm5WdFltVnlJSHRjYmlBZ1kyOXVjM1FnZEc5MFlXd2dQU0I0TG5SeWRXVkRiM1Z1ZENncElDc2dlUzUwY25WbFEyOTFiblFvS1R0Y2JpQWdhV1lnS0hSdmRHRnNJRDA5SURBcElISmxkSFZ5YmlBd0xqQTdYRzRnSUdOdmJuTjBJR052YlcxdmJpQTlJSGd1WVc1a1YybDBhRU52ZFc1MFFtbDBjeWg1TENCMGNuVmxLVHRjYmlBZ2NtVjBkWEp1SURJZ0tpQmpiMjF0YjI0Z0x5QjBiM1JoYkR0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR1JwWTJWRWFYTjBZVzVqWlNoNE9pQkNhWFJCY25KaGVTd2dlVG9nUW1sMFFYSnlZWGtwT2lCdWRXMWlaWElnZTF4dUlDQnlaWFIxY200Z1oyVjBSR2x6ZEdGdVkyVkdjbTl0VTJsdGFXeGhjbWwwZVNoa2FXTmxVMmx0YVd4aGNtbDBlU2g0TENCNUtTazdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCamIzTnBibVZUYVcxcGJHRnlhWFI1S0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2s2SUc1MWJXSmxjaUI3WEc0Z0lHTnZibk4wSUhSdmRHRnNJRDBnZUM1MGNuVmxRMjkxYm5Rb0tTQXFJSGt1ZEhKMVpVTnZkVzUwS0NrN1hHNGdJR2xtSUNoMGIzUmhiQ0E5UFNBd0tTQnlaWFIxY200Z01DNHdPMXh1SUNCamIyNXpkQ0JqYjIxdGIyNGdQU0I0TG1GdVpGZHBkR2hEYjNWdWRFSnBkSE1vZVN3Z2RISjFaU2s3WEc0Z0lISmxkSFZ5YmlCamIyMXRiMjRnTHlCTllYUm9Mbk54Y25Rb2RHOTBZV3dwTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdZMjl6YVc1bFJHbHpkR0Z1WTJVb2VEb2dRbWwwUVhKeVlYa3NJSGs2SUVKcGRFRnljbUY1S1RvZ2JuVnRZbVZ5SUh0Y2JpQWdjbVYwZFhKdUlHZGxkRVJwYzNSaGJtTmxSbkp2YlZOcGJXbHNZWEpwZEhrb1kyOXphVzVsVTJsdGFXeGhjbWwwZVNoNExDQjVLU2s3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmxkV05zYVdSbFlXNVRhVzFwYkdGeWFYUjVLSGc2SUVKcGRFRnljbUY1TENCNU9pQkNhWFJCY25KaGVTazZJRzUxYldKbGNpQjdYRzRnSUhKbGRIVnliaUJuWlhSVGFXMXBiR0Z5YVhSNVJuSnZiVVJwYzNSaGJtTmxLR1YxWTJ4cFpHVmhia1JwYzNSaGJtTmxLSGdzSUhrcEtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdWMVkyeHBaR1ZoYmtScGMzUmhibU5sS0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2s2SUc1MWJXSmxjaUI3WEc0Z0lISmxkSFZ5YmlCTllYUm9Mbk54Y25Rb2VDNTBjblZsUTI5MWJuUW9LU0FySUhrdWRISjFaVU52ZFc1MEtDa2dMU0F5SUNvZ2VDNWhibVJYYVhSb1EyOTFiblJDYVhSektIa3NJSFJ5ZFdVcEtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdoaGJXMXBibWRUYVcxcGJHRnlhWFI1S0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2s2SUc1MWJXSmxjaUI3WEc0Z0lISmxkSFZ5YmlCblpYUlRhVzFwYkdGeWFYUjVSbkp2YlVScGMzUmhibU5sS0doaGJXMXBibWRFYVhOMFlXNWpaU2g0TENCNUtTazdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCb1lXMXRhVzVuUkdsemRHRnVZMlVvZURvZ1FtbDBRWEp5WVhrc0lIazZJRUpwZEVGeWNtRjVLVG9nYm5WdFltVnlJSHRjYmlBZ2NtVjBkWEp1SUhndWRISjFaVU52ZFc1MEtDa2dLeUI1TG5SeWRXVkRiM1Z1ZENncElDMGdNaUFxSUhndVlXNWtWMmwwYUVOdmRXNTBRbWwwY3loNUxDQjBjblZsS1R0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSE52YTJGc1UybHRhV3hoY21sMGVTaDRPaUJDYVhSQmNuSmhlU3dnZVRvZ1FtbDBRWEp5WVhrcE9pQnVkVzFpWlhJZ2UxeHVJQ0JqYjI1emRDQjBiM1JoYkNBOUlIZ3VkSEoxWlVOdmRXNTBLQ2tnS3lCNUxuUnlkV1ZEYjNWdWRDZ3BPMXh1SUNCamIyNXpkQ0JqYjIxdGIyNGdQU0I0TG1GdVpGZHBkR2hEYjNWdWRFSnBkSE1vZVN3Z2RISjFaU2s3WEc0Z0lISmxkSFZ5YmlCamIyMXRiMjRnTHlBb01pQXFJSFJ2ZEdGc0lDMGdNeUFxSUdOdmJXMXZiaWs3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnpiMnRoYkVScGMzUmhibU5sS0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2s2SUc1MWJXSmxjaUI3WEc0Z0lISmxkSFZ5YmlCblpYUkVhWE4wWVc1alpVWnliMjFUYVcxcGJHRnlhWFI1S0hOdmEyRnNVMmx0YVd4aGNtbDBlU2g0TENCNUtTazdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCcmRXeGplbmx1YzJ0cFUybHRhV3hoY21sMGVTaDRPaUJDYVhSQmNuSmhlU3dnZVRvZ1FtbDBRWEp5WVhrcE9pQnVkVzFpWlhJZ2UxeHVJQ0JqYjI1emRDQjBiM1JoYkNBOUlIZ3VkSEoxWlVOdmRXNTBLQ2tnS3lCNUxuUnlkV1ZEYjNWdWRDZ3BPMXh1SUNCamIyNXpkQ0IwYjNSaGJGQnliMlFnUFNCNExuUnlkV1ZEYjNWdWRDZ3BJQ29nZVM1MGNuVmxRMjkxYm5Rb0tUdGNiaUFnYVdZZ0tIUnZkR0ZzVUhKdlpDQTlQU0F3S1NCeVpYUjFjbTRnTUM0d08xeHVJQ0JqYjI1emRDQmpiMjF0YjI0Z1BTQjRMbUZ1WkZkcGRHaERiM1Z1ZEVKcGRITW9lU3dnZEhKMVpTazdYRzRnSUhKbGRIVnliaUFvWTI5dGJXOXVJQ29nZEc5MFlXd3BJQzhnS0RJZ0tpQjBiM1JoYkZCeWIyUXBPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2EzVnNZM3A1Ym5OcmFVUnBjM1JoYm1ObEtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJSEpsZEhWeWJpQm5aWFJFYVhOMFlXNWpaVVp5YjIxVGFXMXBiR0Z5YVhSNUtHdDFiR042ZVc1emEybFRhVzFwYkdGeWFYUjVLSGdzSUhrcEtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUcxalEyOXVibUYxWjJobGVWTnBiV2xzWVhKcGRIa29lRG9nUW1sMFFYSnlZWGtzSUhrNklFSnBkRUZ5Y21GNUtUb2diblZ0WW1WeUlIdGNiaUFnWTI5dWMzUWdkRzkwWVd3Z1BTQjRMblJ5ZFdWRGIzVnVkQ2dwSUNzZ2VTNTBjblZsUTI5MWJuUW9LVHRjYmlBZ1kyOXVjM1FnZEc5MFlXeFFjbTlrSUQwZ2VDNTBjblZsUTI5MWJuUW9LU0FxSUhrdWRISjFaVU52ZFc1MEtDazdYRzRnSUdsbUlDaDBiM1JoYkZCeWIyUWdQVDBnTUNrZ2NtVjBkWEp1SURBdU1EdGNiaUFnWTI5dWMzUWdZMjl0Ylc5dUlEMGdlQzVoYm1SWGFYUm9RMjkxYm5SQ2FYUnpLSGtzSUhSeWRXVXBPMXh1SUNCeVpYUjFjbTRnS0dOdmJXMXZiaUFxSUhSdmRHRnNJQzBnZEc5MFlXeFFjbTlrS1NBdklIUnZkR0ZzVUhKdlpEdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUcxalEyOXVibUYxWjJobGVVUnBjM1JoYm1ObEtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJSEpsZEhWeWJpQm5aWFJFYVhOMFlXNWpaVVp5YjIxVGFXMXBiR0Z5YVhSNUtHMWpRMjl1Ym1GMVoyaGxlVk5wYldsc1lYSnBkSGtvZUN3Z2VTa3BPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1lYTjViVzFsZEhKcFkxTnBiV2xzWVhKcGRIa29lRG9nUW1sMFFYSnlZWGtzSUhrNklFSnBkRUZ5Y21GNUtUb2diblZ0WW1WeUlIdGNiaUFnWTI5dWMzUWdiV2x1SUQwZ1RXRjBhQzV0YVc0b2VDNTBjblZsUTI5MWJuUW9LU3dnZVM1MGNuVmxRMjkxYm5Rb0tTazdYRzRnSUdsbUlDaHRhVzRnUFQwZ01Da2djbVYwZFhKdUlEQXVNRHRjYmlBZ1kyOXVjM1FnWTI5dGJXOXVJRDBnZUM1aGJtUlhhWFJvUTI5MWJuUkNhWFJ6S0hrc0lIUnlkV1VwTzF4dUlDQnlaWFIxY200Z1kyOXRiVzl1SUM4Z2JXbHVPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1lYTjViVzFsZEhKcFkwUnBjM1JoYm1ObEtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJSEpsZEhWeWJpQm5aWFJFYVhOMFlXNWpaVVp5YjIxVGFXMXBiR0Z5YVhSNUtHRnplVzF0WlhSeWFXTlRhVzFwYkdGeWFYUjVLSGdzSUhrcEtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdKeVlYVnVRbXhoYm5GMVpYUlRhVzFwYkdGeWFYUjVLSGc2SUVKcGRFRnljbUY1TENCNU9pQkNhWFJCY25KaGVTazZJRzUxYldKbGNpQjdYRzRnSUdOdmJuTjBJRzFoZUNBOUlFMWhkR2d1YldGNEtIZ3VkSEoxWlVOdmRXNTBLQ2tzSUhrdWRISjFaVU52ZFc1MEtDa3BPMXh1SUNCcFppQW9iV0Y0SUQwOUlEQXBJSEpsZEhWeWJpQXdMakE3WEc0Z0lHTnZibk4wSUdOdmJXMXZiaUE5SUhndVlXNWtWMmwwYUVOdmRXNTBRbWwwY3loNUxDQjBjblZsS1R0Y2JpQWdjbVYwZFhKdUlHTnZiVzF2YmlBdklHMWhlRHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHSnlZWFZ1UW14aGJuRjFaWFJFYVhOMFlXNWpaU2g0T2lCQ2FYUkJjbkpoZVN3Z2VUb2dRbWwwUVhKeVlYa3BPaUJ1ZFcxaVpYSWdlMXh1SUNCeVpYUjFjbTRnWjJWMFJHbHpkR0Z1WTJWR2NtOXRVMmx0YVd4aGNtbDBlU2hpY21GMWJrSnNZVzV4ZFdWMFUybHRhV3hoY21sMGVTaDRMQ0I1S1NrN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ5ZFhOelpXeFRhVzFwYkdGeWFYUjVLSGc2SUVKcGRFRnljbUY1TENCNU9pQkNhWFJCY25KaGVTazZJRzUxYldKbGNpQjdYRzRnSUdsbUlDaDRMbXhsYm1kMGFDQTlQU0F3S1NCeVpYUjFjbTRnTUM0d08xeHVJQ0JqYjI1emRDQmpiMjF0YjI0Z1BTQjRMbUZ1WkZkcGRHaERiM1Z1ZEVKcGRITW9lU3dnZEhKMVpTazdYRzRnSUhKbGRIVnliaUJqYjIxdGIyNGdMeUI0TG14bGJtZDBhRHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlISjFjM05sYkVScGMzUmhibU5sS0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2s2SUc1MWJXSmxjaUI3WEc0Z0lISmxkSFZ5YmlCblpYUkVhWE4wWVc1alpVWnliMjFUYVcxcGJHRnlhWFI1S0hKMWMzTmxiRk5wYldsc1lYSnBkSGtvZUN3Z2VTa3BPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2NtOW5iM1JIYjJ4a1ltVnlaMU5wYldsc1lYSnBkSGtvZURvZ1FtbDBRWEp5WVhrc0lIazZJRUpwZEVGeWNtRjVLVG9nYm5WdFltVnlJSHRjYmlBZ1kyOXVjM1FnWTI5dGJXOXVJRDBnZUM1aGJtUlhhWFJvUTI5MWJuUkNhWFJ6S0hrc0lIUnlkV1VwTzF4dUlDQmpiMjV6ZENCMGIzUmhiQ0E5SUhndVkyOTFiblJDYVhSektIUnlkV1VwSUNzZ2VTNWpiM1Z1ZEVKcGRITW9kSEoxWlNrN1hHNGdJR052Ym5OMElHeGxiaUE5SUhndWJHVnVaM1JvTzF4dUlDQmpiMjV6ZENCa2FXWm1JRDBnYkdWdUlDMGdkRzkwWVd3Z0t5QmpiMjF0YjI0N1hHNGdJR2xtSUNnb1kyOXRiVzl1SUQwOUlHeGxiaWtnZkh3Z0tHUnBabVlnUFQwZ2JHVnVLU2tnY21WMGRYSnVJREV1TUR0Y2JpQWdaV3h6WlNCeVpYUjFjbTRnWTI5dGJXOXVJQzhnZEc5MFlXd2dLeUJrYVdabUlDOGdLRElnS2lCc1pXNGdMU0IwYjNSaGJDazdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCeWIyZHZkRWR2YkdSaVpYSm5SR2x6ZEdGdVkyVW9lRG9nUW1sMFFYSnlZWGtzSUhrNklFSnBkRUZ5Y21GNUtUb2diblZ0WW1WeUlIdGNiaUFnY21WMGRYSnVJR2RsZEVScGMzUmhibU5sUm5KdmJWTnBiV2xzWVhKcGRIa29jbTluYjNSSGIyeGtZbVZ5WjFOcGJXbHNZWEpwZEhrb2VDd2dlU2twTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdaMlYwVTJsdGFXeGhjbWwwZVVaeWIyMUVhWE4wWVc1alpTaGthWE4wWVc1alpUb2diblZ0WW1WeUtTQjdYRzRnSUhKbGRIVnliaUF4SUM4Z0tERWdLeUJrYVhOMFlXNWpaU2s3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQm5aWFJFYVhOMFlXNWpaVVp5YjIxVGFXMXBiR0Z5YVhSNUtITnBiV2xzWVhKcGRIazZJRzUxYldKbGNpa2dleUF2TDJsdUlHTmhjMlVnYzJsdGFXeGhjbWwwZVNCcGN5QXdMQ0IxYzJVZ2JXRjRJRzUxYldKbGNpQm1iM0lnWm14dllYUXpNbHh1SUNCeVpYUjFjbTRnYzJsdGFXeGhjbWwwZVNBOVBUMGdNQ0EvSURNdU5EQXlPREl6UlNzek9DQTZJQ2d4SUM4Z2MybHRhV3hoY21sMGVTa2dMU0F4TzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdiblZ0WlhKcFkwUnBjM1JoYm1ObEtIZzZJRzUxYldKbGNpd2dlVG9nYm5WdFltVnlLU0I3WEc0Z0lISmxkSFZ5YmlCTllYUm9MbUZpY3loNElDMGdlU2s3WEc1OVhHNGlYWDA9IiwiaW1wb3J0IHsgVmVjdG9yIH0gZnJvbSAnLi90eXBlLWRlY2xhcmF0aW9ucyc7XG5pbXBvcnQgeyByYW5kb21GbG9hdCwgcmFuZG9tSW50IH0gZnJvbSAnLi9yYW5kb20nO1xuLyoqXG4gKiBBc3NlcnRzIGEgY29uZGl0aW9uIGJ5IHRocm93aW5nIGFuIEVycm9yLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW2NvbmRpdGlvbj1mYWxzZV0gQ29uZGl0aW9uIHRvIGFzc2VydC5cbiAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZT0nQXNzZXJ0aW9uIGVycm9yLiddIE1lc3NhZ2UgdG8gb3V0cHV0LlxuICogQHRocm93cyB7RXJyb3J9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnQoY29uZGl0aW9uID0gZmFsc2UsIG1lc3NhZ2UgPSAnQXNzZXJ0aW9uIGVycm9yLicpIHtcbiAgICBpZiAoIWNvbmRpdGlvbilcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xufVxuLyoqXG4gKiBDcmVhdGVzIG5ldyB0d28tZGltZW5zaW9uYWwgYXJyYXkgYW5kIGZpbGxzIGl0IHdpdGggdGhlIHZhbHVlIGdpdmVuLlxuICpcbiAqIEBwYXJhbSB7bnVtYmVyfSBkaW1lbnNpb24xIFRoZSBmaXJzdCBkaW1lbnNpb24gb2YgdGhlIGNvb3JkaW5hdGVzIChudW1iZXIgb2Ygcm93cykuXG4gKiBAcGFyYW0ge251bWJlcn0gZGltZW5zaW9uMiBUaGUgc2Vjb25kIGRpbWVuc2lvbiBvZiB0aGUgY29vcmRpbmF0ZXMgKG51bWJlciBvZiBjb2x1bW5zKS5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbZmlsbD0wXSBBIHZhbHVlIHRvIGZpbGwgdGhlIGNvb3JkaW5hdGVzIHdpdGguXG4gKiBAcmV0dXJuIHtDb29yZGluYXRlc30gQSB0d28tZGltZW5zaW9uYWwgZmlsbGVkIHdpdGggdGhlIHZhbHVlIGdpdmVuLlxuICogQHRvZG8gTWlnaHQgYmUgc2xvdyBzaW5jZSB1c2VkIEFycmF5Lm1hcC4gUHJvYmFibHkgbmVlZHMgcGVyZm9ybWFuY2UgcmV2aXNpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbml0Q29vcmRpbmF0ZXMoZGltZW5zaW9uMSwgZGltZW5zaW9uMiwgZmlsbCA9IDApIHtcbiAgICByZXR1cm4gbmV3IEFycmF5KGRpbWVuc2lvbjEpLmZpbGwoZmlsbCkubWFwKCgpID0+IChuZXcgVmVjdG9yKGRpbWVuc2lvbjIpLmZpbGwoZmlsbCkpKTtcbn1cbi8qKlxuICogVHJhbnNwb3NlIG1hdHJpeC5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge01hdHJpeH0gbWF0cml4IFRoZSBtYXRyaXggdG8gYmUgdHJhbnNwb3NlZC5cbiAqIEByZXR1cm4ge01hdHJpeH0gVHJhbnNwb3NlZCBtYXRyaXguXG4gKiBAdG9kbyBNaWdodCBiZSBzbG93IHNpbmNlIHVzZWQgQXJyYXkubWFwLiBQcm9iYWJseSBuZWVkcyBwZXJmb3JtYW5jZSByZXZpc2lvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zcG9zZU1hdHJpeChtYXRyaXgpIHtcbiAgICByZXR1cm4gbmV3IEFycmF5KG1hdHJpeFswXS5sZW5ndGgpLmZpbGwoMClcbiAgICAgICAgLm1hcCgoXywgaSkgPT4gKG5ldyBWZWN0b3IobWF0cml4Lmxlbmd0aCkuZmlsbCgwKS5tYXAoKF8sIGopID0+IChtYXRyaXhbal1baV0pKSkpO1xufVxuLyoqXG4gKiBBZGRzIHR3byB2ZWN0b3JzIHdpdGggdGhlIHNlY29uZCBvbmUgdG8gYmUgbXVsdGlwbGllZCBieSB0aGUgZ2l2ZW4gcmF0aW8uXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtWZWN0b3J9IHAgVGhlIGZpcnN0IHZlY3RvciB0byBhZGQuXG4gKiBAcGFyYW0ge1ZlY3Rvcn0gcSBUaGUgc2Vjb25kIHZlY3RvciB0byBhZGQuXG4gKiBAcGFyYW0ge251bWJlcn0gW211bHRpcGxpZXI9MV0gQSBtdWx0aXBsaWVyIHRvIGJlIHVzZWQgYmVmb3JlIHRoZSBzZWNvbmQgdmVjdG9yIGlzIGFkZGVkLlxuICogQHJldHVybiB7VmVjdG9yfSBOZXcgdmVjdG9yIGNvbnRhaW5lZCB0aGUgcmVzdWx0IG9mIG9wZXJhdGlvbiBwK211bHRpcGxpZXIqcS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZlY3RvckFkZChwLCBxLCBtdWx0aXBsaWVyID0gMSkge1xuICAgIGNvbnN0IG5JdGVtcyA9IHAubGVuZ3RoO1xuICAgIGFzc2VydChuSXRlbXMgPT0gcS5sZW5ndGgsICdWZWN0b3IgbGVuZ3RocyBkbyBub3QgbWF0Y2guJyk7XG4gICAgY29uc3QgdG90YWwgPSBuZXcgVmVjdG9yKG5JdGVtcyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwLmxlbmd0aDsgKytpKVxuICAgICAgICB0b3RhbFtpXSA9IHBbaV0gKyBtdWx0aXBsaWVyICogcVtpXTtcbiAgICByZXR1cm4gdG90YWw7XG59XG4vKipcbiAqIFN1bXMgdGhlIHZlY3RvcidzIGl0ZW1zLlxuICpcbiAqIEBwYXJhbSB7VmVjdG9yfSB2IFRoZSB2ZWN0b3IgdG8gYmUgc3VtbWVkLlxuICogQHJldHVybiB7bnVtYmVyfSBUaGUgdmVjdG9yJ3MgaXRlbXMgc3VtLlxuICovXG5mdW5jdGlvbiBpdGVtc1N1bSh2KSB7XG4gICAgbGV0IHRvdGFsID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHYubGVuZ3RoOyArK2kpXG4gICAgICAgIHRvdGFsICs9IHZbaV07XG4gICAgcmV0dXJuIHRvdGFsO1xufVxuLyoqXG4gKiBTdXFhcmVzIHRoZSB2ZWN0b3IncyBpdGVtcy5cbiAqXG4gKiBAcGFyYW0ge1ZlY3Rvcn0gdiBUaGUgdmVjdG9yIHRvIHNxdWFyZS5cbiAqIEByZXR1cm4ge1ZlY3Rvcn0gQSBuZXcgdmVjdG9yIGNvbnRhaW5pbmcgdGhlIG9yaWdpbmFsJ3MgaXRlbXMgc3F1YXJlZC5cbiAqL1xuZnVuY3Rpb24gdmVjdG9yU3F1YXJlKHYpIHtcbiAgICBjb25zdCBuSXRlbXMgPSB2Lmxlbmd0aDtcbiAgICBjb25zdCB0b3RhbCA9IG5ldyBWZWN0b3Iobkl0ZW1zKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHYubGVuZ3RoOyArK2kpXG4gICAgICAgIHRvdGFsW2ldID0gdltpXSAqIHZbaV07XG4gICAgcmV0dXJuIHRvdGFsO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHZlY3Rvckxlbmd0aCh2KSB7XG4gICAgbGV0IHNxclN1bSA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2Lmxlbmd0aDsgaSsrKVxuICAgICAgICBzcXJTdW0gKz0gdltpXSAqIHZbaV07XG4gICAgcmV0dXJuIE1hdGguc3FydChzcXJTdW0pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHZlY3RvckRvdFByb2R1Y3QodjEsIHYyKSB7XG4gICAgaWYgKHYxLmxlbmd0aCAhPSB2Mi5sZW5ndGgpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGRpbWVuc2lvbmFsaXR5IG9mIHRoZSB2ZWN0b3JzIG11c3QgbWF0Y2gnKTtcbiAgICBsZXQgcHJvZCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2MS5sZW5ndGg7IGkrKylcbiAgICAgICAgcHJvZCArPSB2MVtpXSAqIHYyW2ldO1xuICAgIHJldHVybiBwcm9kO1xufVxuLyoqXG4gKiBDcmVhdGVzIGEgbWF0cml4IGZpbGxlZCB3aXRoIHJhbmRvbSBmbG9hdGluZyBwb2ludCB2YWx1ZXMuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtudW1iZXJ9IGRpbWVuc2lvbjEgVGhlIGZpcnN0IGRpbWVuc2lvbiBvZiB0aGUgbWF0cml4LlxuICogQHBhcmFtIHtudW1iZXJ9IGRpbWVuc2lvbjIgVGhlIHNlY29uZCBkaW1lbnNpb24gb2YgdGhlIG1hdHJpeC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbc2NhbGU9MS5dIE1heCB2YWx1ZSBnaXZlbiBieSByYW5kb20gZ2VuZXJhdG9yLlxuICogQHJldHVybiB7TWF0cml4fSBBIG5ldyBtYXRyaXggZmlsbGVkIHdpdGggcmFuZG9tIGZsb2F0aW5nIHBvaW50ICB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWxsUmFuZG9tTWF0cml4KGRpbWVuc2lvbjEsIGRpbWVuc2lvbjIsIHNjYWxlID0gMS4pIHtcbiAgICBjb25zdCBtYXRyaXggPSBpbml0Q29vcmRpbmF0ZXMoZGltZW5zaW9uMSwgZGltZW5zaW9uMik7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkaW1lbnNpb24xOyArK2kpIHtcbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBkaW1lbnNpb24yOyArK2opXG4gICAgICAgICAgICBtYXRyaXhbaV1bal0gPSByYW5kb21GbG9hdChzY2FsZSk7XG4gICAgfVxuICAgIHJldHVybiBtYXRyaXg7XG59XG4vKipcbiAqIENhbGN1bGF0ZXMgRXVjbGlkZWFuIGRpc3RhbmNlIGJldHdlZW4gdHdvIHZlY3RvcnMuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtWZWN0b3J9IHAgVGhlIGZpcnN0IHZlY3Rvci5cbiAqIEBwYXJhbSB7VmVjdG9yfSBxIFRoZSBzZWNvbmQgdmVjdG9yLlxuICogQHJldHVybiB7bnVtYmVyfSBFdWNsaWRlYW4gZGlzdGFuY2UgYmV0d2VlbiB0aGUgZ2l2ZW4gdmVjdG9ycy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZUV1Y2xpZGVhbkRpc3RhbmNlKHAsIHEpIHtcbiAgICBsZXQgcmVzdWx0ID0gMDtcbiAgICBjb25zdCBsZW4gPSBwLmxlbmd0aDtcbiAgICBpZiAobGVuICE9PSBxLmxlbmd0aClcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgZGltZW5zaW9uYWxpdHkgb2YgdGhlIHZlY3RvcnMgbXVzdCBtYXRjaCcpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyArK2kpXG4gICAgICAgIHJlc3VsdCArPSBNYXRoLnBvdygocFtpXSAtIHFbaV0pLCAyKTtcbiAgICByZXR1cm4gTWF0aC5zcXJ0KHJlc3VsdCk7XG59XG4vKipcbiAqIENyZWF0ZXMgYSBkaXN0YW5jZSBtYXRyaXggdXNpbmcgYSBjdXN0b20gZGlzdGFuY2UgZnVuY3Rpb24uXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtWZWN0b3JzfSBkYXRhIElucHV0IHZlY3RvcnMgdG8gY2FsY3VsYXRlIGRpc3RhbmNlcy5cbiAqIEBwYXJhbSB7RGlzdGFuY2VNZXRyaWN9IGRpc3RhbmNlIEN1c3RvbSBkaXN0YW5jZSBmdW5jdGlvbi5cbiAqIEByZXR1cm4ge01hdHJpeH0gQ2FsY3VsYXRlZCBjdXN0b20gZGlzdGFuY2UgbWF0cml4LlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2FsY0Rpc3RhbmNlTWF0cml4KGRhdGEsIGRpc3RhbmNlKSB7XG4gICAgY29uc3Qgbkl0ZW1zID0gZGF0YS5sZW5ndGg7XG4gICAgY29uc3QgbWF0cml4ID0gaW5pdENvb3JkaW5hdGVzKG5JdGVtcywgbkl0ZW1zLCAwKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5JdGVtczsgKytpKSB7XG4gICAgICAgIGZvciAobGV0IGogPSBpICsgMTsgaiA8IG5JdGVtczsgKytqKSB7XG4gICAgICAgICAgICBjb25zdCBkID0gKGRhdGFbaV0gPT0gbnVsbCkgfHwgKGRhdGFbal0gPT0gbnVsbCkgPyAwIDogZGlzdGFuY2UoZGF0YVtpXSwgZGF0YVtqXSk7XG4gICAgICAgICAgICBtYXRyaXhbaV1bal0gPSBtYXRyaXhbal1baV0gPSBkO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtYXRyaXg7XG59XG4vKipcbiAqIENyZWF0ZXMgYSBkaXN0YW5jZSBtYXRyaXggdXNpbmcgYSBjdXN0b20gZGlzdGFuY2UgZnVuY3Rpb24uXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtWZWN0b3JzfSBkYXRhIElucHV0IHZlY3RvcnMgdG8gY2FsY3VsYXRlIGRpc3RhbmNlcy5cbiAqIEBwYXJhbSB7RGlzdGFuY2VNZXRyaWN9IGRpc3RhbmNlIEN1c3RvbSBkaXN0YW5jZSBmdW5jdGlvbi5cbiAqIEByZXR1cm4ge01hdHJpeH0gQ2FsY3VsYXRlZCBjdXN0b20gZGlzdGFuY2UgbWF0cml4LlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2FsY05vcm1hbGl6ZWREaXN0YW5jZU1hdHJpeChkYXRhLCBkaXN0YW5jZSkge1xuICAgIGNvbnN0IG5JdGVtcyA9IGRhdGEubGVuZ3RoO1xuICAgIGNvbnN0IG1hdHJpeCA9IGluaXRDb29yZGluYXRlcyhuSXRlbXMsIG5JdGVtcywgMCk7XG4gICAgbGV0IG1heCA9IE51bWJlci5NSU5fVkFMVUU7XG4gICAgbGV0IG1pbiA9IE51bWJlci5NQVhfVkFMVUU7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuSXRlbXM7ICsraSkge1xuICAgICAgICBmb3IgKGxldCBqID0gaTsgaiA8IG5JdGVtczsgKytqKSB7XG4gICAgICAgICAgICBjb25zdCBkID0gKGRhdGFbaV0gPT0gbnVsbCkgfHwgKGRhdGFbal0gPT0gbnVsbCB8fCBpID09PSBqKSA/IDAgOiBkaXN0YW5jZShkYXRhW2ldLCBkYXRhW2pdKTtcbiAgICAgICAgICAgIG1hdHJpeFtpXVtqXSA9IG1hdHJpeFtqXVtpXSA9IGQ7XG4gICAgICAgICAgICBpZiAoZCA+IG1heClcbiAgICAgICAgICAgICAgICBtYXggPSBkO1xuICAgICAgICAgICAgaWYgKGQgPCBtaW4pXG4gICAgICAgICAgICAgICAgbWluID0gZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5JdGVtczsgKytpKSB7XG4gICAgICAgIGZvciAobGV0IGogPSBpICsgMTsgaiA8IG5JdGVtczsgKytqKVxuICAgICAgICAgICAgbWF0cml4W2ldW2pdID0gbWF0cml4W2pdW2ldID0gKG1hdHJpeFtpXVtqXSAtIG1pbikgLyAobWF4IC0gbWluKTtcbiAgICB9XG4gICAgcmV0dXJuIG1hdHJpeDtcbn1cbi8qKiBHZW5lcmF0ZXMgYXJyYXkgZnJvbSBhIHJhbmdlIFtiZWdpbjsgZW5kXSBvciBbYmVnaW47IGVuZCkgaWYgZW5kRXhjbHVzaXZlLiAqKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5SYW5nZShiZWdpbiwgZW5kLCBlbmRFeGNsdXNpdmUgPSBmYWxzZSkge1xuICAgIGNvbnN0IG5JdGVtcyA9IGVuZCAtIGJlZ2luICsgKGVuZEV4Y2x1c2l2ZSA/IDAgOiAxKTtcbiAgICBjb25zdCBzZXJpZXMgPSBuZXcgSW50MzJBcnJheShuSXRlbXMpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbkl0ZW1zOyArK2kpXG4gICAgICAgIHNlcmllc1tpXSA9IGJlZ2luICsgaTtcbiAgICByZXR1cm4gc2VyaWVzO1xufVxuLyoqXG4gKiBSZXR1cm5zIG9yZGVyIG9mIHZhbHVlcyBhcyBpZiB0aGV5IGFyZSBzb3J0ZWQuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHthbnlbXX0gdmFsdWVzIElucHV0IGFycmF5LlxuICogQHBhcmFtIHtib29sZWFufSBbcmV2ZXJzZT1mYWxzZV0gV2hldGhlciB0byByZXR1cm4gcmV2ZXJzZWQgb3JkZXIuXG4gKiBAcmV0dXJuIHtudW1iZXJbXX0gVGhlIG9yZGVyIGNvbXB1dGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXJnU29ydCh2YWx1ZXMsIHJldmVyc2UgPSBmYWxzZSkge1xuICAgIGNvbnN0IHNvcnRmbiA9IHJldmVyc2UgPyAoYSwgYikgPT4gKGJbMF0gLSBhWzBdKSA6IChhLCBiKSA9PiAoYVswXSAtIGJbMF0pO1xuICAgIGNvbnN0IGRlY29yID0gKHYsIGkpID0+IFt2LCBpXTsgLy8gc2V0IGluZGV4IHRvIHZhbHVlXG4gICAgY29uc3QgdW5kZWNvciA9IChhKSA9PiBhWzFdOyAvLyBsZWF2ZSBvbmx5IGluZGV4XG4gICAgY29uc3QgX2FyZ3NvcnQgPSAoYXJyKSA9PiBhcnIubWFwKGRlY29yKS5zb3J0KHNvcnRmbikubWFwKHVuZGVjb3IpO1xuICAgIHJldHVybiBfYXJnc29ydCh2YWx1ZXMpO1xufVxuLyoqXG4gKiBSZXR1cm5zIHRoZSBpbmRleGVzIG9mIHRoZSBtb3N0IGRpdmVyc2Ugb2JqZWN0cyBhY2NvcmRpbmcgdG8gdGhlIGRpc3QgZnVuY3Rpb25cbiAqIEBwYXJhbSB7bnVtYmVyfSBsZW5ndGggdG90YWwgbnVtYmVyIG9mIG9iamVjdHNcbiAqIEBwYXJhbSB7bnVtYmVyfSBuIG51bWJlciBvZiBkaXZlcnNlIGVsZW1lbnRzIHRvIGZpbmRcbiAqIEBwYXJhbSB7KGkxOiBudW1iZXIsIGkyOiBudW1iZXIpID0+IG51bWJlcn0gZGlzdCBhIGZ1bmN0aW9uIHdoaWNoIGNhbGN1bGF0ZXMgZGlzdGFuY2UgYmV0d2VlblxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR3byBvYmplY3RzIHVzaW5nIHRoZWlyIGluZGV4ZXNcbiAqIEByZXR1cm5zIHtudW1iZXJbXX0gVGhlIGluZGV4ZXMgb2YgdGhlIG1vc3QgZGl2ZXJzZSBvYmplY3RzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREaXZlcnNlU3Vic2V0KGxlbmd0aCwgbiwgZGlzdCkge1xuICAgIGZ1bmN0aW9uIG1heEJ5KHZhbHVlcywgb3JkZXJCeSkge1xuICAgICAgICBsZXQgbWF4VmFsdWUgPSBudWxsO1xuICAgICAgICBsZXQgbWF4T3JkZXJCeSA9IG51bGw7XG4gICAgICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiB2YWx1ZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRPcmRlckJ5ID0gb3JkZXJCeShlbGVtZW50KTtcbiAgICAgICAgICAgIGlmIChtYXhPcmRlckJ5ID09IG51bGwgfHwgZWxlbWVudE9yZGVyQnkgPiBtYXhPcmRlckJ5KSB7XG4gICAgICAgICAgICAgICAgbWF4VmFsdWUgPSBlbGVtZW50O1xuICAgICAgICAgICAgICAgIG1heE9yZGVyQnkgPSBlbGVtZW50T3JkZXJCeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWF4VmFsdWU7XG4gICAgfVxuICAgIGNvbnN0IHN1YnNldCA9IFtyYW5kb21JbnQobGVuZ3RoIC0gMSldO1xuICAgIGNvbnN0IGNvbXBsZW1lbnQgPSBuZXcgU2V0KCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkge1xuICAgICAgICBpZiAoIXN1YnNldC5pbmNsdWRlcyhpKSlcbiAgICAgICAgICAgIGNvbXBsZW1lbnQuYWRkKGkpO1xuICAgIH1cbiAgICB3aGlsZSAoc3Vic2V0Lmxlbmd0aCA8IG4pIHtcbiAgICAgICAgY29uc3QgaWR4ID0gbWF4QnkoY29tcGxlbWVudC52YWx1ZXMoKSwgKGkpID0+IE1hdGgubWluLmFwcGx5KE1hdGgsIHN1YnNldC5tYXAoZnVuY3Rpb24gKHZhbCwgaW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybiBkaXN0KGksIHZhbCk7XG4gICAgICAgIH0pKSk7XG4gICAgICAgIGlmIChpZHgpIHtcbiAgICAgICAgICAgIHN1YnNldC5wdXNoKGlkeCk7XG4gICAgICAgICAgICBjb21wbGVtZW50LmRlbGV0ZShpZHgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzdWJzZXQ7XG59XG4vKipcbiAqIFJldHVybnMgbm9ybWFsaXplZCB2ZWN0b3IuXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtWZWN0b3J9IGRhdGEgbnVtZXJpY2FsIGFycmF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemUoZGF0YSkge1xuICAgIGNvbnN0IGxlbiA9IGRhdGEubGVuZ3RoO1xuICAgIGxldCBzdW0gPSAwO1xuICAgIGxldCBzdW1PZlNxdWFyZXMgPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyArK2kpIHtcbiAgICAgICAgc3VtICs9IGRhdGFbaV07XG4gICAgICAgIHN1bU9mU3F1YXJlcyArPSBNYXRoLnBvdyhkYXRhW2ldLCAyKTtcbiAgICB9XG4gICAgY29uc3QgbWVhbiA9IHN1bSAvIGxlbjtcbiAgICBjb25zdCBzdGREZXZJbnZlcnNlID0gMS4wIC8gTWF0aC5zcXJ0KHN1bU9mU3F1YXJlcyAvIGxlbiAtIE1hdGgucG93KG1lYW4sIDIpKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgKytpKVxuICAgICAgICBkYXRhW2ldID0gKGRhdGFbaV0gLSBtZWFuKSAqIHN0ZERldkludmVyc2U7XG4gICAgcmV0dXJuIGRhdGE7XG59XG4vKipcbiAqIEZpbmRzIHNldCBkaWZmZXJlbmNlIGJldHdlZW4gdHdvIGxpc3RzLlxuICogQHBhcmFtIHthbnlbXX0gYSBUaGUgZmlyc3QgbGlzdC5cbiAqIEBwYXJhbSB7YW55W119IGIgVGhlIHNlY29uZCBsaXN0LlxuICogQHJldHVybiB7YW55W119XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXREaWZmZXJlbmNlKGEsIGIpIHtcbiAgICBjb25zdCBiU2V0ID0gbmV3IFNldChiKTtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShuZXcgU2V0KGEuZmlsdGVyKCh4KSA9PiAhYlNldC5oYXMoeCkpKS52YWx1ZXMoKSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lkbVZqZEc5eUxXOXdaWEpoZEdsdmJuTXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lKMlpXTjBiM0l0YjNCbGNtRjBhVzl1Y3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hQUVVGUExFVkJRVk1zVFVGQlRTeEZRVUYxUXl4TlFVRk5MSEZDUVVGeFFpeERRVUZETzBGQlEzcEdMRTlCUVU4c1JVRkJReXhYUVVGWExFVkJRVVVzVTBGQlV5eEZRVUZETEUxQlFVMHNWVUZCVlN4RFFVRkRPMEZCUldoRU96czdPenM3TzBkQlQwYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1RVRkJUU3hEUVVGRExGbEJRWEZDTEV0QlFVc3NSVUZCUlN4VlFVRnJRaXhyUWtGQmEwSTdTVUZEY2tZc1NVRkJTU3hEUVVGRExGTkJRVk03VVVGRFdpeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8wRkJRemRDTEVOQlFVTTdRVUZGUkRzN096czdPenM3UjBGUlJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4bFFVRmxMRU5CUVVNc1ZVRkJhMElzUlVGQlJTeFZRVUZyUWl4RlFVRkZMRTlCUVdVc1EwRkJRenRKUVVOMFJpeFBRVUZQTEVsQlFVa3NTMEZCU3l4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zUTBGQlF5eEpRVUZKTEUxQlFVMHNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTNwR0xFTkJRVU03UVVGRlJEczdPenM3T3p0SFFVOUhPMEZCUTBnc1RVRkJUU3hWUVVGVkxHVkJRV1VzUTBGQlF5eE5RVUZqTzBsQlF6VkRMRTlCUVU4c1NVRkJTU3hMUVVGTExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTTdVMEZEZGtNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhKUVVGSkxFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRkRVlzUTBGQlF6dEJRVVZFT3pzN096czdPenRIUVZGSE8wRkJRMGdzVFVGQlRTeFZRVUZWTEZOQlFWTXNRMEZCUXl4RFFVRlRMRVZCUVVVc1EwRkJVeXhGUVVGRkxHRkJRWEZDTEVOQlFVTTdTVUZEY0VVc1RVRkJUU3hOUVVGTkxFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXp0SlFVVjRRaXhOUVVGTkxFTkJRVU1zVFVGQlRTeEpRVUZKTEVOQlFVTXNRMEZCUXl4TlFVRk5MRVZCUVVVc09FSkJRVGhDTEVOQlFVTXNRMEZCUXp0SlFVVXpSQ3hOUVVGTkxFdEJRVXNzUjBGQlJ5eEpRVUZKTEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRKUVVWcVF5eExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNN1VVRkRMMElzUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eFZRVUZWTEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJSWFJETEU5QlFVOHNTMEZCU3l4RFFVRkRPMEZCUTJZc1EwRkJRenRCUVVWRU96czdPenRIUVV0SE8wRkJRMGdzVTBGQlV5eFJRVUZSTEVOQlFVTXNRMEZCVXp0SlFVTjZRaXhKUVVGSkxFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZGWkN4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hGUVVGRkxFTkJRVU03VVVGREwwSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEpRVVZvUWl4UFFVRlBMRXRCUVVzc1EwRkJRenRCUVVObUxFTkJRVU03UVVGRlJEczdPenM3UjBGTFJ6dEJRVU5JTEZOQlFWTXNXVUZCV1N4RFFVRkRMRU5CUVZNN1NVRkROMElzVFVGQlRTeE5RVUZOTEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJRenRKUVVONFFpeE5RVUZOTEV0QlFVc3NSMEZCUnl4SlFVRkpMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dEpRVVZxUXl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hGUVVGRkxFTkJRVU03VVVGREwwSXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRmVrSXNUMEZCVHl4TFFVRkxMRU5CUVVNN1FVRkRaaXhEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEZsQlFWa3NRMEZCUXl4RFFVRlRPMGxCUTNCRExFbEJRVWtzVFVGQlRTeEhRVUZYTEVOQlFVTXNRMEZCUXp0SlFVTjJRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZYTEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVWQlFVVTdVVUZEZGtNc1RVRkJUU3hKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGVFSXNUMEZCVHl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBGQlF6TkNMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzWjBKQlFXZENMRU5CUVVNc1JVRkJWU3hGUVVGRkxFVkJRVlU3U1VGRGNrUXNTVUZCU1N4RlFVRkZMRU5CUVVNc1RVRkJUU3hKUVVGSkxFVkJRVVVzUTBGQlF5eE5RVUZOTzFGQlEzaENMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRVU1zT0VOQlFUaERMRU5CUVVNc1EwRkJRenRKUVVOc1JTeEpRVUZKTEVsQlFVa3NSMEZCVnl4RFFVRkRMRU5CUVVNN1NVRkRja0lzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCVnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFVkJRVVVzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZPMUZCUTNoRExFbEJRVWtzU1VGQlNTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBsQlEzaENMRTlCUVU4c1NVRkJTU3hEUVVGRE8wRkJRMlFzUTBGQlF6dEJRVVZFT3pzN096czdPenRIUVZGSE8wRkJRMGdzVFVGQlRTeFZRVUZWTEdkQ1FVRm5RaXhEUVVGRExGVkJRV3RDTEVWQlFVVXNWVUZCYTBJc1JVRkJSU3hSUVVGblFpeEZRVUZGTzBsQlEzcEdMRTFCUVUwc1RVRkJUU3hIUVVGSExHVkJRV1VzUTBGQlF5eFZRVUZWTEVWQlFVVXNWVUZCVlN4RFFVRkRMRU5CUVVNN1NVRkZka1FzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExGVkJRVlVzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlR0UlFVTnVReXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1ZVRkJWU3hGUVVGRkxFVkJRVVVzUTBGQlF6dFpRVU5xUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NWMEZCVnl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRE8wdEJRM0pETzBsQlEwUXNUMEZCVHl4TlFVRk5MRU5CUVVNN1FVRkRhRUlzUTBGQlF6dEJRVVZFT3pzN096czdPMGRCVDBjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzTUVKQlFUQkNMRU5CUVVNc1EwRkJVeXhGUVVGRkxFTkJRVk03U1VGRE4wUXNTVUZCU1N4TlFVRk5MRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRMllzVFVGQlRTeEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJRenRKUVVWeVFpeEpRVUZKTEVkQlFVY3NTMEZCU3l4RFFVRkRMRU5CUVVNc1RVRkJUVHRSUVVOc1FpeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMRGhEUVVFNFF5eERRVUZETEVOQlFVTTdTVUZGYkVVc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRWRCUVVjc1JVRkJSU3hGUVVGRkxFTkJRVU03VVVGRE1VSXNUVUZCVFN4SlFVRkpMRk5CUVVFc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVWtzUTBGQlF5eERRVUZCTEVOQlFVTTdTVUZGTDBJc1QwRkJUeXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMEZCUXpOQ0xFTkJRVU03UVVGRlJEczdPenM3T3p0SFFVOUhPMEZCUTBnc1RVRkJUU3hWUVVGVkxHdENRVUZyUWl4RFFVRkRMRWxCUVdFc1JVRkJSU3hSUVVGM1FqdEpRVU40UlN4TlFVRk5MRTFCUVUwc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETzBsQlF6TkNMRTFCUVUwc1RVRkJUU3hIUVVGSExHVkJRV1VzUTBGQlF5eE5RVUZOTEVWQlFVVXNUVUZCVFN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJSV3hFTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eE5RVUZOTEVWQlFVVXNSVUZCUlN4RFFVRkRMRVZCUVVVN1VVRkRMMElzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eE5RVUZOTEVWQlFVVXNSVUZCUlN4RFFVRkRMRVZCUVVVN1dVRkRia01zVFVGQlRTeERRVUZETEVkQlFWY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFbEJRVWtzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFbEJRVWtzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVVVGQlVTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTXhSaXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRUUVVOcVF6dExRVU5HTzBsQlEwUXNUMEZCVHl4TlFVRk5MRU5CUVVNN1FVRkRhRUlzUTBGQlF6dEJRVVZFT3pzN096czdPMGRCVDBjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzTkVKQlFUUkNMRU5CUVVNc1NVRkJZU3hGUVVGRkxGRkJRWGRDTzBsQlEyeEdMRTFCUVUwc1RVRkJUU3hIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTTdTVUZETTBJc1RVRkJUU3hOUVVGTkxFZEJRVWNzWlVGQlpTeERRVUZETEUxQlFVMHNSVUZCUlN4TlFVRk5MRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGJFUXNTVUZCU1N4SFFVRkhMRWRCUVVjc1RVRkJUU3hEUVVGRExGTkJRVk1zUTBGQlF6dEpRVU16UWl4SlFVRkpMRWRCUVVjc1IwRkJSeXhOUVVGTkxFTkJRVU1zVTBGQlV5eERRVUZETzBsQlF6TkNMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4TlFVRk5MRVZCUVVVc1JVRkJSU3hEUVVGRExFVkJRVVU3VVVGREwwSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEUxQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNc1JVRkJSVHRaUVVNdlFpeE5RVUZOTEVOQlFVTXNSMEZCVnl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeEpRVUZKTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRGNrY3NUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdXVUZEYUVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUjBGQlJ6dG5Ra0ZCUlN4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRM0pDTEVsQlFVa3NRMEZCUXl4SFFVRkhMRWRCUVVjN1owSkJRVVVzUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXp0VFFVTjBRanRMUVVOR08wbEJRMFFzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlR0UlFVTXZRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTTdXVUZEYWtNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXp0TFFVTndSVHRKUVVORUxFOUJRVThzVFVGQlRTeERRVUZETzBGQlEyaENMRU5CUVVNN1FVRkZSQ3hyUmtGQmEwWTdRVUZEYkVZc1RVRkJUU3hWUVVGVkxGRkJRVkVzUTBGQlF5eExRVUZoTEVWQlFVVXNSMEZCVnl4RlFVRkZMRmxCUVZrc1IwRkJSeXhMUVVGTE8wbEJRM1pGTEUxQlFVMHNUVUZCVFN4SFFVRkhMRWRCUVVjc1IwRkJSeXhMUVVGTExFZEJRVWNzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEY0VRc1RVRkJUU3hOUVVGTkxFZEJRVWNzU1VGQlNTeFZRVUZWTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1NVRkZkRU1zUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTTdVVUZETjBJc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkZlRUlzVDBGQlR5eE5RVUZOTEVOQlFVTTdRVUZEYUVJc1EwRkJRenRCUVVWRU96czdPenM3TzBkQlQwYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1QwRkJUeXhEUVVGRExFMUJRV0VzUlVGQlJTeFBRVUZQTEVkQlFVY3NTMEZCU3p0SlFVTndSQ3hOUVVGTkxFMUJRVTBzUjBGQlJ5eFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJVU3hGUVVGRkxFTkJRVkVzUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlVTeEZRVUZGTEVOQlFWRXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGRrY3NUVUZCVFN4TFFVRkxMRWRCUVVjc1EwRkJReXhEUVVGTkxFVkJRVVVzUTBGQlV5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEhGQ1FVRnhRanRKUVVOc1JTeE5RVUZOTEU5QlFVOHNSMEZCUnl4RFFVRkRMRU5CUVZFc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc2JVSkJRVzFDTzBsQlEzWkVMRTFCUVUwc1VVRkJVU3hIUVVGSExFTkJRVU1zUjBGQlZTeEZRVUZGTEVWQlFVVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdTVUZETVVVc1QwRkJUeXhSUVVGUkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdRVUZETVVJc1EwRkJRenRCUVVWRU96czdPenM3TzBkQlQwYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1owSkJRV2RDTEVOQlFVTXNUVUZCWXl4RlFVRkZMRU5CUVZNc1JVRkJSU3hKUVVGM1F6dEpRVU5zUnl4VFFVRlRMRXRCUVVzc1EwRkJReXhOUVVGblF5eEZRVUZGTEU5QlFUaENPMUZCUXpkRkxFbEJRVWtzVVVGQlVTeEhRVUZITEVsQlFVa3NRMEZCUXp0UlFVTndRaXhKUVVGSkxGVkJRVlVzUjBGQlJ5eEpRVUZKTEVOQlFVTTdVVUZGZEVJc1MwRkJTeXhOUVVGTkxFOUJRVThzU1VGQlNTeE5RVUZOTEVWQlFVVTdXVUZETlVJc1RVRkJUU3hqUVVGakxFZEJRVWNzVDBGQlR5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRPMWxCUTNoRExFbEJRVWtzVlVGQlZTeEpRVUZKTEVsQlFVa3NTVUZCU1N4alFVRmpMRWRCUVVjc1ZVRkJWU3hGUVVGRk8yZENRVU55UkN4UlFVRlJMRWRCUVVjc1QwRkJUeXhEUVVGRE8yZENRVU51UWl4VlFVRlZMRWRCUVVjc1kwRkJZeXhEUVVGRE8yRkJRemRDTzFOQlEwWTdVVUZEUkN4UFFVRlBMRkZCUVZFc1EwRkJRenRKUVVOc1FpeERRVUZETzBsQlJVUXNUVUZCVFN4TlFVRk5MRWRCUVVjc1EwRkJReXhUUVVGVExFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRka01zVFVGQlRTeFZRVUZWTEVkQlFVY3NTVUZCU1N4SFFVRkhMRVZCUVVVc1EwRkJRenRKUVVVM1FpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVFVGQlRTeEZRVUZGTEVWQlFVVXNRMEZCUXl4RlFVRkZPMUZCUXk5Q0xFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVOeVFpeFZRVUZWTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wdEJRM0pDTzBsQlJVUXNUMEZCVHl4TlFVRk5MRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zUlVGQlJUdFJRVU40UWl4TlFVRk5MRWRCUVVjc1IwRkJSeXhMUVVGTExFTkJRMllzVlVGQlZTeERRVUZETEUxQlFVMHNSVUZCT0VJc1JVRkRMME1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NSVUZCUlN4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExGVkJRVk1zUjBGQlJ5eEZRVUZGTEV0QlFVczdXVUZEZUVRc1QwRkJUeXhKUVVGSkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUTNSQ0xFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTlFMRWxCUVVrc1IwRkJSeXhGUVVGRk8xbEJRMUFzVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRaUVVOcVFpeFZRVUZWTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xTkJRM2hDTzB0QlEwWTdTVUZEUkN4UFFVRlBMRTFCUVUwc1EwRkJRenRCUVVOb1FpeERRVUZETzBGQlJVUTdPenM3TzBkQlMwYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1UwRkJVeXhEUVVGRExFbEJRVms3U1VGRGNFTXNUVUZCVFN4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF6dEpRVU40UWl4SlFVRkpMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRFdpeEpRVUZKTEZsQlFWa3NSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkZja0lzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFZEJRVWNzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlR0UlFVTTFRaXhIUVVGSExFbEJRVWtzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTJZc1dVRkJXU3hKUVVGSkxGTkJRVUVzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkpMRU5CUVVNc1EwRkJRU3hEUVVGRE8wdEJRemxDTzBsQlJVUXNUVUZCVFN4SlFVRkpMRWRCUVVjc1IwRkJSeXhIUVVGSExFZEJRVWNzUTBGQlF6dEpRVU4yUWl4TlFVRk5MR0ZCUVdFc1IwRkJSeXhIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4WlFVRlpMRWRCUVVjc1IwRkJSeXhIUVVGSExGTkJRVUVzU1VGQlNTeEZRVUZKTEVOQlFVTXNRMEZCUVN4RFFVRkRMRU5CUVVNN1NVRkZkRVVzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFZEJRVWNzUlVGQlJTeEZRVUZGTEVOQlFVTTdVVUZETVVJc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eEhRVUZITEdGQlFXRXNRMEZCUXp0SlFVVTNReXhQUVVGUExFbEJRVWtzUTBGQlF6dEJRVU5rTEVOQlFVTTdRVUZGUkRzN096czdSMEZMUnp0QlFVTklMRTFCUVUwc1ZVRkJWU3hoUVVGaExFTkJRVU1zUTBGQlVTeEZRVUZGTEVOQlFWRTdTVUZET1VNc1RVRkJUU3hKUVVGSkxFZEJRVWNzU1VGQlNTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRlRUlzVDBGQlR5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXp0QlFVTnlSU3hEUVVGRElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIdE5ZWFJ5YVhnc0lGWmxZM1J2Y2l3Z1EyOXZjbVJwYm1GMFpYTXNJRlpsWTNSdmNuTXNJRVJwYzNSaGJtTmxUV1YwY21samZTQm1jbTl0SUNjdUwzUjVjR1V0WkdWamJHRnlZWFJwYjI1ekp6dGNibWx0Y0c5eWRDQjdjbUZ1Wkc5dFJteHZZWFFzSUhKaGJtUnZiVWx1ZEgwZ1puSnZiU0FuTGk5eVlXNWtiMjBuTzF4dVhHNHZLaXBjYmlBcUlFRnpjMlZ5ZEhNZ1lTQmpiMjVrYVhScGIyNGdZbmtnZEdoeWIzZHBibWNnWVc0Z1JYSnliM0l1WEc0Z0tseHVJQ29nUUdWNGNHOXlkRnh1SUNvZ1FIQmhjbUZ0SUh0aWIyOXNaV0Z1ZlNCYlkyOXVaR2wwYVc5dVBXWmhiSE5sWFNCRGIyNWthWFJwYjI0Z2RHOGdZWE56WlhKMExseHVJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRnR0WlhOellXZGxQU2RCYzNObGNuUnBiMjRnWlhKeWIzSXVKMTBnVFdWemMyRm5aU0IwYnlCdmRYUndkWFF1WEc0Z0tpQkFkR2h5YjNkeklIdEZjbkp2Y24xY2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR0Z6YzJWeWRDaGpiMjVrYVhScGIyNDZJR0p2YjJ4bFlXNGdQU0JtWVd4elpTd2diV1Z6YzJGblpUb2djM1J5YVc1bklEMGdKMEZ6YzJWeWRHbHZiaUJsY25KdmNpNG5LU0I3WEc0Z0lHbG1JQ2doWTI5dVpHbDBhVzl1S1Z4dUlDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpaHRaWE56WVdkbEtUdGNibjFjYmx4dUx5b3FYRzRnS2lCRGNtVmhkR1Z6SUc1bGR5QjBkMjh0WkdsdFpXNXphVzl1WVd3Z1lYSnlZWGtnWVc1a0lHWnBiR3h6SUdsMElIZHBkR2dnZEdobElIWmhiSFZsSUdkcGRtVnVMbHh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQmthVzFsYm5OcGIyNHhJRlJvWlNCbWFYSnpkQ0JrYVcxbGJuTnBiMjRnYjJZZ2RHaGxJR052YjNKa2FXNWhkR1Z6SUNodWRXMWlaWElnYjJZZ2NtOTNjeWt1WEc0Z0tpQkFjR0Z5WVcwZ2UyNTFiV0psY24wZ1pHbHRaVzV6YVc5dU1pQlVhR1VnYzJWamIyNWtJR1JwYldWdWMybHZiaUJ2WmlCMGFHVWdZMjl2Y21ScGJtRjBaWE1nS0c1MWJXSmxjaUJ2WmlCamIyeDFiVzV6S1M1Y2JpQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQmJabWxzYkQwd1hTQkJJSFpoYkhWbElIUnZJR1pwYkd3Z2RHaGxJR052YjNKa2FXNWhkR1Z6SUhkcGRHZ3VYRzRnS2lCQWNtVjBkWEp1SUh0RGIyOXlaR2x1WVhSbGMzMGdRU0IwZDI4dFpHbHRaVzV6YVc5dVlXd2dabWxzYkdWa0lIZHBkR2dnZEdobElIWmhiSFZsSUdkcGRtVnVMbHh1SUNvZ1FIUnZaRzhnVFdsbmFIUWdZbVVnYzJ4dmR5QnphVzVqWlNCMWMyVmtJRUZ5Y21GNUxtMWhjQzRnVUhKdlltRmliSGtnYm1WbFpITWdjR1Z5Wm05eWJXRnVZMlVnY21WMmFYTnBiMjR1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnBibWwwUTI5dmNtUnBibUYwWlhNb1pHbHRaVzV6YVc5dU1Ub2diblZ0WW1WeUxDQmthVzFsYm5OcGIyNHlPaUJ1ZFcxaVpYSXNJR1pwYkd3NklHNTFiV0psY2lBOUlEQXBPaUJEYjI5eVpHbHVZWFJsY3lCN1hHNGdJSEpsZEhWeWJpQnVaWGNnUVhKeVlYa29aR2x0Wlc1emFXOXVNU2t1Wm1sc2JDaG1hV3hzS1M1dFlYQW9LQ2tnUFQ0Z0tHNWxkeUJXWldOMGIzSW9aR2x0Wlc1emFXOXVNaWt1Wm1sc2JDaG1hV3hzS1NrcE8xeHVmVnh1WEc0dktpcGNiaUFxSUZSeVlXNXpjRzl6WlNCdFlYUnlhWGd1WEc0Z0tseHVJQ29nUUdWNGNHOXlkRnh1SUNvZ1FIQmhjbUZ0SUh0TllYUnlhWGg5SUcxaGRISnBlQ0JVYUdVZ2JXRjBjbWw0SUhSdklHSmxJSFJ5WVc1emNHOXpaV1F1WEc0Z0tpQkFjbVYwZFhKdUlIdE5ZWFJ5YVhoOUlGUnlZVzV6Y0c5elpXUWdiV0YwY21sNExseHVJQ29nUUhSdlpHOGdUV2xuYUhRZ1ltVWdjMnh2ZHlCemFXNWpaU0IxYzJWa0lFRnljbUY1TG0xaGNDNGdVSEp2WW1GaWJIa2dibVZsWkhNZ2NHVnlabTl5YldGdVkyVWdjbVYyYVhOcGIyNHVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCMGNtRnVjM0J2YzJWTllYUnlhWGdvYldGMGNtbDRPaUJOWVhSeWFYZ3BPaUJOWVhSeWFYZ2dlMXh1SUNCeVpYUjFjbTRnYm1WM0lFRnljbUY1S0cxaGRISnBlRnN3WFM1c1pXNW5kR2dwTG1acGJHd29NQ2xjYmlBZ0lDQXViV0Z3S0NoZkxDQnBLU0E5UGlBb2JtVjNJRlpsWTNSdmNpaHRZWFJ5YVhndWJHVnVaM1JvS1M1bWFXeHNLREFwTG0xaGNDZ29YeXdnYWlrZ1BUNGdLRzFoZEhKcGVGdHFYVnRwWFNrcEtTazdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1FXUmtjeUIwZDI4Z2RtVmpkRzl5Y3lCM2FYUm9JSFJvWlNCelpXTnZibVFnYjI1bElIUnZJR0psSUcxMWJIUnBjR3hwWldRZ1lua2dkR2hsSUdkcGRtVnVJSEpoZEdsdkxseHVJQ3BjYmlBcUlFQmxlSEJ2Y25SY2JpQXFJRUJ3WVhKaGJTQjdWbVZqZEc5eWZTQndJRlJvWlNCbWFYSnpkQ0IyWldOMGIzSWdkRzhnWVdSa0xseHVJQ29nUUhCaGNtRnRJSHRXWldOMGIzSjlJSEVnVkdobElITmxZMjl1WkNCMlpXTjBiM0lnZEc4Z1lXUmtMbHh1SUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUZ0dGRXeDBhWEJzYVdWeVBURmRJRUVnYlhWc2RHbHdiR2xsY2lCMGJ5QmlaU0IxYzJWa0lHSmxabTl5WlNCMGFHVWdjMlZqYjI1a0lIWmxZM1J2Y2lCcGN5QmhaR1JsWkM1Y2JpQXFJRUJ5WlhSMWNtNGdlMVpsWTNSdmNuMGdUbVYzSUhabFkzUnZjaUJqYjI1MFlXbHVaV1FnZEdobElISmxjM1ZzZENCdlppQnZjR1Z5WVhScGIyNGdjQ3R0ZFd4MGFYQnNhV1Z5S25FdVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUIyWldOMGIzSkJaR1FvY0RvZ1ZtVmpkRzl5TENCeE9pQldaV04wYjNJc0lHMTFiSFJwY0d4cFpYSTZJRzUxYldKbGNpQTlJREVwT2lCV1pXTjBiM0lnZTF4dUlDQmpiMjV6ZENCdVNYUmxiWE1nUFNCd0xteGxibWQwYUR0Y2JseHVJQ0JoYzNObGNuUW9ia2wwWlcxeklEMDlJSEV1YkdWdVozUm9MQ0FuVm1WamRHOXlJR3hsYm1kMGFITWdaRzhnYm05MElHMWhkR05vTGljcE8xeHVYRzRnSUdOdmJuTjBJSFJ2ZEdGc0lEMGdibVYzSUZabFkzUnZjaWh1U1hSbGJYTXBPMXh1WEc0Z0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2djQzVzWlc1bmRHZzdJQ3NyYVNsY2JpQWdJQ0IwYjNSaGJGdHBYU0E5SUhCYmFWMGdLeUJ0ZFd4MGFYQnNhV1Z5SUNvZ2NWdHBYVHRjYmx4dUlDQnlaWFIxY200Z2RHOTBZV3c3WEc1OVhHNWNiaThxS2x4dUlDb2dVM1Z0Y3lCMGFHVWdkbVZqZEc5eUozTWdhWFJsYlhNdVhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUh0V1pXTjBiM0o5SUhZZ1ZHaGxJSFpsWTNSdmNpQjBieUJpWlNCemRXMXRaV1F1WEc0Z0tpQkFjbVYwZFhKdUlIdHVkVzFpWlhKOUlGUm9aU0IyWldOMGIzSW5jeUJwZEdWdGN5QnpkVzB1WEc0Z0tpOWNibVoxYm1OMGFXOXVJR2wwWlcxelUzVnRLSFk2SUZabFkzUnZjaWs2SUc1MWJXSmxjaUI3WEc0Z0lHeGxkQ0IwYjNSaGJDQTlJREE3WEc1Y2JpQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0IyTG14bGJtZDBhRHNnS3l0cEtWeHVJQ0FnSUhSdmRHRnNJQ3M5SUhaYmFWMDdYRzVjYmlBZ2NtVjBkWEp1SUhSdmRHRnNPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlGTjFjV0Z5WlhNZ2RHaGxJSFpsWTNSdmNpZHpJR2wwWlcxekxseHVJQ3BjYmlBcUlFQndZWEpoYlNCN1ZtVmpkRzl5ZlNCMklGUm9aU0IyWldOMGIzSWdkRzhnYzNGMVlYSmxMbHh1SUNvZ1FISmxkSFZ5YmlCN1ZtVmpkRzl5ZlNCQklHNWxkeUIyWldOMGIzSWdZMjl1ZEdGcGJtbHVaeUIwYUdVZ2IzSnBaMmx1WVd3bmN5QnBkR1Z0Y3lCemNYVmhjbVZrTGx4dUlDb3ZYRzVtZFc1amRHbHZiaUIyWldOMGIzSlRjWFZoY21Vb2Rqb2dWbVZqZEc5eUtUb2dWbVZqZEc5eUlIdGNiaUFnWTI5dWMzUWdia2wwWlcxeklEMGdkaTVzWlc1bmRHZzdYRzRnSUdOdmJuTjBJSFJ2ZEdGc0lEMGdibVYzSUZabFkzUnZjaWh1U1hSbGJYTXBPMXh1WEc0Z0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dkaTVzWlc1bmRHZzdJQ3NyYVNsY2JpQWdJQ0IwYjNSaGJGdHBYU0E5SUhaYmFWMGdLaUIyVzJsZE8xeHVYRzRnSUhKbGRIVnliaUIwYjNSaGJEdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhabFkzUnZja3hsYm1kMGFDaDJPaUJXWldOMGIzSXBPaUJ1ZFcxaVpYSWdlMXh1SUNCc1pYUWdjM0Z5VTNWdE9pQnVkVzFpWlhJZ1BTQXdPMXh1SUNCbWIzSWdLR3hsZENCcE9pQnVkVzFpWlhJZ1BTQXdPeUJwSUR3Z2RpNXNaVzVuZEdnN0lHa3JLeWxjYmlBZ0lDQnpjWEpUZFcwZ0t6MGdkbHRwWFNBcUlIWmJhVjA3WEc0Z0lISmxkSFZ5YmlCTllYUm9Mbk54Y25Rb2MzRnlVM1Z0S1R0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSFpsWTNSdmNrUnZkRkJ5YjJSMVkzUW9kakU2SUZabFkzUnZjaXdnZGpJNklGWmxZM1J2Y2lrNklHNTFiV0psY2lCN1hHNGdJR2xtSUNoMk1TNXNaVzVuZEdnZ0lUMGdkakl1YkdWdVozUm9LVnh1SUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnblZHaGxJR1JwYldWdWMybHZibUZzYVhSNUlHOW1JSFJvWlNCMlpXTjBiM0p6SUcxMWMzUWdiV0YwWTJnbktUdGNiaUFnYkdWMElIQnliMlE2SUc1MWJXSmxjaUE5SURBN1hHNGdJR1p2Y2lBb2JHVjBJR2s2SUc1MWJXSmxjaUE5SURBN0lHa2dQQ0IyTVM1c1pXNW5kR2c3SUdrckt5bGNiaUFnSUNCd2NtOWtJQ3M5SUhZeFcybGRJQ29nZGpKYmFWMDdYRzRnSUhKbGRIVnliaUJ3Y205a08xeHVmVnh1WEc0dktpcGNiaUFxSUVOeVpXRjBaWE1nWVNCdFlYUnlhWGdnWm1sc2JHVmtJSGRwZEdnZ2NtRnVaRzl0SUdac2IyRjBhVzVuSUhCdmFXNTBJSFpoYkhWbGN5NWNiaUFxWEc0Z0tpQkFaWGh3YjNKMFhHNGdLaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdaR2x0Wlc1emFXOXVNU0JVYUdVZ1ptbHljM1FnWkdsdFpXNXphVzl1SUc5bUlIUm9aU0J0WVhSeWFYZ3VYRzRnS2lCQWNHRnlZVzBnZTI1MWJXSmxjbjBnWkdsdFpXNXphVzl1TWlCVWFHVWdjMlZqYjI1a0lHUnBiV1Z1YzJsdmJpQnZaaUIwYUdVZ2JXRjBjbWw0TGx4dUlDb2dRSEJoY21GdElIdHVkVzFpWlhKOUlGdHpZMkZzWlQweExsMGdUV0Y0SUhaaGJIVmxJR2RwZG1WdUlHSjVJSEpoYm1SdmJTQm5aVzVsY21GMGIzSXVYRzRnS2lCQWNtVjBkWEp1SUh0TllYUnlhWGg5SUVFZ2JtVjNJRzFoZEhKcGVDQm1hV3hzWldRZ2QybDBhQ0J5WVc1a2IyMGdabXh2WVhScGJtY2djRzlwYm5RZ0lIWmhiSFZsY3k1Y2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR1pwYkd4U1lXNWtiMjFOWVhSeWFYZ29aR2x0Wlc1emFXOXVNVG9nYm5WdFltVnlMQ0JrYVcxbGJuTnBiMjR5T2lCdWRXMWlaWElzSUhOallXeGxPaUJ1ZFcxaVpYSWdQU0F4TGlrNklFMWhkSEpwZUNCN1hHNGdJR052Ym5OMElHMWhkSEpwZUNBOUlHbHVhWFJEYjI5eVpHbHVZWFJsY3loa2FXMWxibk5wYjI0eExDQmthVzFsYm5OcGIyNHlLVHRjYmx4dUlDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJR1JwYldWdWMybHZiakU3SUNzcmFTa2dlMXh1SUNBZ0lHWnZjaUFvYkdWMElHb2dQU0F3T3lCcUlEd2daR2x0Wlc1emFXOXVNanNnS3l0cUtWeHVJQ0FnSUNBZ2JXRjBjbWw0VzJsZFcycGRJRDBnY21GdVpHOXRSbXh2WVhRb2MyTmhiR1VwTzF4dUlDQjlYRzRnSUhKbGRIVnliaUJ0WVhSeWFYZzdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1EyRnNZM1ZzWVhSbGN5QkZkV05zYVdSbFlXNGdaR2x6ZEdGdVkyVWdZbVYwZDJWbGJpQjBkMjhnZG1WamRHOXljeTVjYmlBcVhHNGdLaUJBWlhod2IzSjBYRzRnS2lCQWNHRnlZVzBnZTFabFkzUnZjbjBnY0NCVWFHVWdabWx5YzNRZ2RtVmpkRzl5TGx4dUlDb2dRSEJoY21GdElIdFdaV04wYjNKOUlIRWdWR2hsSUhObFkyOXVaQ0IyWldOMGIzSXVYRzRnS2lCQWNtVjBkWEp1SUh0dWRXMWlaWEo5SUVWMVkyeHBaR1ZoYmlCa2FYTjBZVzVqWlNCaVpYUjNaV1Z1SUhSb1pTQm5hWFpsYmlCMlpXTjBiM0p6TGx4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdZMkZzWTNWc1lYUmxSWFZqYkdsa1pXRnVSR2x6ZEdGdVkyVW9jRG9nVm1WamRHOXlMQ0J4T2lCV1pXTjBiM0lwT2lCdWRXMWlaWElnZTF4dUlDQnNaWFFnY21WemRXeDBJRDBnTUR0Y2JpQWdZMjl1YzNRZ2JHVnVJRDBnY0M1c1pXNW5kR2c3WEc1Y2JpQWdhV1lnS0d4bGJpQWhQVDBnY1M1c1pXNW5kR2dwWEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZFVhR1VnWkdsdFpXNXphVzl1WVd4cGRIa2diMllnZEdobElIWmxZM1J2Y25NZ2JYVnpkQ0J0WVhSamFDY3BPMXh1SUNCY2JpQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0JzWlc0N0lDc3JhU2xjYmlBZ0lDQnlaWE4xYkhRZ0t6MGdLSEJiYVYwZ0xTQnhXMmxkS1NBcUtpQXlPMXh1SUNCY2JpQWdjbVYwZFhKdUlFMWhkR2d1YzNGeWRDaHlaWE4xYkhRcE8xeHVmVnh1WEc0dktpcGNiaUFxSUVOeVpXRjBaWE1nWVNCa2FYTjBZVzVqWlNCdFlYUnlhWGdnZFhOcGJtY2dZU0JqZFhOMGIyMGdaR2x6ZEdGdVkyVWdablZ1WTNScGIyNHVYRzRnS2x4dUlDb2dRR1Y0Y0c5eWRGeHVJQ29nUUhCaGNtRnRJSHRXWldOMGIzSnpmU0JrWVhSaElFbHVjSFYwSUhabFkzUnZjbk1nZEc4Z1kyRnNZM1ZzWVhSbElHUnBjM1JoYm1ObGN5NWNiaUFxSUVCd1lYSmhiU0I3UkdsemRHRnVZMlZOWlhSeWFXTjlJR1JwYzNSaGJtTmxJRU4xYzNSdmJTQmthWE4wWVc1alpTQm1kVzVqZEdsdmJpNWNiaUFxSUVCeVpYUjFjbTRnZTAxaGRISnBlSDBnUTJGc1kzVnNZWFJsWkNCamRYTjBiMjBnWkdsemRHRnVZMlVnYldGMGNtbDRMbHh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1kyRnNZMFJwYzNSaGJtTmxUV0YwY21sNEtHUmhkR0U2SUZabFkzUnZjbk1zSUdScGMzUmhibU5sT2lCRWFYTjBZVzVqWlUxbGRISnBZeWs2SUUxaGRISnBlQ0I3WEc0Z0lHTnZibk4wSUc1SmRHVnRjeUE5SUdSaGRHRXViR1Z1WjNSb08xeHVJQ0JqYjI1emRDQnRZWFJ5YVhnZ1BTQnBibWwwUTI5dmNtUnBibUYwWlhNb2JrbDBaVzF6TENCdVNYUmxiWE1zSURBcE8xeHVYRzRnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2JrbDBaVzF6T3lBcksya3BJSHRjYmlBZ0lDQm1iM0lnS0d4bGRDQnFJRDBnYVNBcklERTdJR29nUENCdVNYUmxiWE03SUNzcmFpa2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ1pEb2diblZ0WW1WeUlEMGdLR1JoZEdGYmFWMGdQVDBnYm5Wc2JDa2dmSHdnS0dSaGRHRmJhbDBnUFQwZ2JuVnNiQ2tnUHlBd0lEb2daR2x6ZEdGdVkyVW9aR0YwWVZ0cFhTd2daR0YwWVZ0cVhTazdYRzRnSUNBZ0lDQnRZWFJ5YVhoYmFWMWJhbDBnUFNCdFlYUnlhWGhiYWwxYmFWMGdQU0JrTzF4dUlDQWdJSDFjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdiV0YwY21sNE8xeHVmVnh1WEc0dktpcGNiaUFxSUVOeVpXRjBaWE1nWVNCa2FYTjBZVzVqWlNCdFlYUnlhWGdnZFhOcGJtY2dZU0JqZFhOMGIyMGdaR2x6ZEdGdVkyVWdablZ1WTNScGIyNHVYRzRnS2x4dUlDb2dRR1Y0Y0c5eWRGeHVJQ29nUUhCaGNtRnRJSHRXWldOMGIzSnpmU0JrWVhSaElFbHVjSFYwSUhabFkzUnZjbk1nZEc4Z1kyRnNZM1ZzWVhSbElHUnBjM1JoYm1ObGN5NWNiaUFxSUVCd1lYSmhiU0I3UkdsemRHRnVZMlZOWlhSeWFXTjlJR1JwYzNSaGJtTmxJRU4xYzNSdmJTQmthWE4wWVc1alpTQm1kVzVqZEdsdmJpNWNiaUFxSUVCeVpYUjFjbTRnZTAxaGRISnBlSDBnUTJGc1kzVnNZWFJsWkNCamRYTjBiMjBnWkdsemRHRnVZMlVnYldGMGNtbDRMbHh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1kyRnNZMDV2Y20xaGJHbDZaV1JFYVhOMFlXNWpaVTFoZEhKcGVDaGtZWFJoT2lCV1pXTjBiM0p6TENCa2FYTjBZVzVqWlRvZ1JHbHpkR0Z1WTJWTlpYUnlhV01wT2lCTllYUnlhWGdnZTF4dUlDQmpiMjV6ZENCdVNYUmxiWE1nUFNCa1lYUmhMbXhsYm1kMGFEdGNiaUFnWTI5dWMzUWdiV0YwY21sNElEMGdhVzVwZEVOdmIzSmthVzVoZEdWektHNUpkR1Z0Y3l3Z2JrbDBaVzF6TENBd0tUdGNiaUFnYkdWMElHMWhlQ0E5SUU1MWJXSmxjaTVOU1U1ZlZrRk1WVVU3WEc0Z0lHeGxkQ0J0YVc0Z1BTQk9kVzFpWlhJdVRVRllYMVpCVEZWRk8xeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUc1SmRHVnRjenNnS3l0cEtTQjdYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FpQTlJR2s3SUdvZ1BDQnVTWFJsYlhNN0lDc3JhaWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdaRG9nYm5WdFltVnlJRDBnS0dSaGRHRmJhVjBnUFQwZ2JuVnNiQ2tnZkh3Z0tHUmhkR0ZiYWwwZ1BUMGdiblZzYkNCOGZDQnBJRDA5UFNCcUtTQS9JREFnT2lCa2FYTjBZVzVqWlNoa1lYUmhXMmxkTENCa1lYUmhXMnBkS1R0Y2JpQWdJQ0FnSUcxaGRISnBlRnRwWFZ0cVhTQTlJRzFoZEhKcGVGdHFYVnRwWFNBOUlHUTdYRzRnSUNBZ0lDQnBaaUFvWkNBK0lHMWhlQ2tnYldGNElEMGdaRHRjYmlBZ0lDQWdJR2xtSUNoa0lEd2diV2x1S1NCdGFXNGdQU0JrTzF4dUlDQWdJSDFjYmlBZ2ZWeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUc1SmRHVnRjenNnS3l0cEtTQjdYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FpQTlJR2tnS3lBeE95QnFJRHdnYmtsMFpXMXpPeUFySzJvcFhHNGdJQ0FnSUNCdFlYUnlhWGhiYVYxYmFsMGdQU0J0WVhSeWFYaGJhbDFiYVYwZ1BTQW9iV0YwY21sNFcybGRXMnBkSUMwZ2JXbHVLU0F2SUNodFlYZ2dMU0J0YVc0cE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCdFlYUnlhWGc3WEc1OVhHNWNiaThxS2lCSFpXNWxjbUYwWlhNZ1lYSnlZWGtnWm5KdmJTQmhJSEpoYm1kbElGdGlaV2RwYmpzZ1pXNWtYU0J2Y2lCYlltVm5hVzQ3SUdWdVpDa2dhV1lnWlc1a1JYaGpiSFZ6YVhabExpQXFLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJuWlc1U1lXNW5aU2hpWldkcGJqb2diblZ0WW1WeUxDQmxibVE2SUc1MWJXSmxjaXdnWlc1a1JYaGpiSFZ6YVhabElEMGdabUZzYzJVcE9pQkpiblF6TWtGeWNtRjVJSHRjYmlBZ1kyOXVjM1FnYmtsMFpXMXpJRDBnWlc1a0lDMGdZbVZuYVc0Z0t5QW9aVzVrUlhoamJIVnphWFpsSUQ4Z01DQTZJREVwTzF4dUlDQmpiMjV6ZENCelpYSnBaWE1nUFNCdVpYY2dTVzUwTXpKQmNuSmhlU2h1U1hSbGJYTXBPMXh1WEc0Z0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dia2wwWlcxek95QXJLMmtwWEc0Z0lDQWdjMlZ5YVdWelcybGRJRDBnWW1WbmFXNGdLeUJwTzF4dVhHNGdJSEpsZEhWeWJpQnpaWEpwWlhNN1hHNTlYRzVjYmk4cUtseHVJQ29nVW1WMGRYSnVjeUJ2Y21SbGNpQnZaaUIyWVd4MVpYTWdZWE1nYVdZZ2RHaGxlU0JoY21VZ2MyOXlkR1ZrTGx4dUlDcGNiaUFxSUVCbGVIQnZjblJjYmlBcUlFQndZWEpoYlNCN1lXNTVXMTE5SUhaaGJIVmxjeUJKYm5CMWRDQmhjbkpoZVM1Y2JpQXFJRUJ3WVhKaGJTQjdZbTl2YkdWaGJuMGdXM0psZG1WeWMyVTlabUZzYzJWZElGZG9aWFJvWlhJZ2RHOGdjbVYwZFhKdUlISmxkbVZ5YzJWa0lHOXlaR1Z5TGx4dUlDb2dRSEpsZEhWeWJpQjdiblZ0WW1WeVcxMTlJRlJvWlNCdmNtUmxjaUJqYjIxd2RYUmxaQzVjYmlBcUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlHRnlaMU52Y25Rb2RtRnNkV1Z6T2lCaGJubGJYU3dnY21WMlpYSnpaU0E5SUdaaGJITmxLVG9nYm5WdFltVnlXMTBnZTF4dUlDQmpiMjV6ZENCemIzSjBabTRnUFNCeVpYWmxjbk5sSUQ4Z0tHRTZJR0Z1ZVZ0ZExDQmlPaUJoYm5sYlhTa2dQVDRnS0dKYk1GMGdMU0JoV3pCZEtTQTZJQ2hoT2lCaGJubGJYU3dnWWpvZ1lXNTVXMTBwSUQwK0lDaGhXekJkSUMwZ1lsc3dYU2s3WEc0Z0lHTnZibk4wSUdSbFkyOXlJRDBnS0hZNklHRnVlU3dnYVRvZ2JuVnRZbVZ5S1NBOVBpQmJkaXdnYVYwN0lDOHZJSE5sZENCcGJtUmxlQ0IwYnlCMllXeDFaVnh1SUNCamIyNXpkQ0IxYm1SbFkyOXlJRDBnS0dFNklHRnVlVnRkS1NBOVBpQmhXekZkT3lBdkx5QnNaV0YyWlNCdmJteDVJR2x1WkdWNFhHNGdJR052Ym5OMElGOWhjbWR6YjNKMElEMGdLR0Z5Y2pvZ1lXNTVXMTBwSUQwK0lHRnljaTV0WVhBb1pHVmpiM0lwTG5OdmNuUW9jMjl5ZEdadUtTNXRZWEFvZFc1a1pXTnZjaWs3WEc0Z0lISmxkSFZ5YmlCZllYSm5jMjl5ZENoMllXeDFaWE1wTzF4dWZWeHVYRzR2S2lwY2JpQXFJRkpsZEhWeWJuTWdkR2hsSUdsdVpHVjRaWE1nYjJZZ2RHaGxJRzF2YzNRZ1pHbDJaWEp6WlNCdlltcGxZM1J6SUdGalkyOXlaR2x1WnlCMGJ5QjBhR1VnWkdsemRDQm1kVzVqZEdsdmJseHVJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJR3hsYm1kMGFDQjBiM1JoYkNCdWRXMWlaWElnYjJZZ2IySnFaV04wYzF4dUlDb2dRSEJoY21GdElIdHVkVzFpWlhKOUlHNGdiblZ0WW1WeUlHOW1JR1JwZG1WeWMyVWdaV3hsYldWdWRITWdkRzhnWm1sdVpGeHVJQ29nUUhCaGNtRnRJSHNvYVRFNklHNTFiV0psY2l3Z2FUSTZJRzUxYldKbGNpa2dQVDRnYm5WdFltVnlmU0JrYVhOMElHRWdablZ1WTNScGIyNGdkMmhwWTJnZ1kyRnNZM1ZzWVhSbGN5QmthWE4wWVc1alpTQmlaWFIzWldWdVhHNGdLaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RIZHZJRzlpYW1WamRITWdkWE5wYm1jZ2RHaGxhWElnYVc1a1pYaGxjMXh1SUNvZ1FISmxkSFZ5Ym5NZ2UyNTFiV0psY2x0ZGZTQlVhR1VnYVc1a1pYaGxjeUJ2WmlCMGFHVWdiVzl6ZENCa2FYWmxjbk5sSUc5aWFtVmpkSE5jYmlBcUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlHZGxkRVJwZG1WeWMyVlRkV0p6WlhRb2JHVnVaM1JvT2lCdWRXMWlaWElzSUc0NklHNTFiV0psY2l3Z1pHbHpkRG9nS0dreE9pQnVkVzFpWlhJc0lHa3lPaUJ1ZFcxaVpYSXBJRDArSUc1MWJXSmxjaWs2SUc1MWJXSmxjbHRkSUh0Y2JpQWdablZ1WTNScGIyNGdiV0Y0UW5rb2RtRnNkV1Z6T2lCSmRHVnlZV0pzWlVsMFpYSmhkRzl5UEc1MWJXSmxjajRzSUc5eVpHVnlRbms2SUNocE9pQnVkVzFpWlhJcElEMCtJRzUxYldKbGNpa2dlMXh1SUNBZ0lHeGxkQ0J0WVhoV1lXeDFaU0E5SUc1MWJHdzdYRzRnSUNBZ2JHVjBJRzFoZUU5eVpHVnlRbmtnUFNCdWRXeHNPMXh1WEc0Z0lDQWdabTl5SUNoamIyNXpkQ0JsYkdWdFpXNTBJRzltSUhaaGJIVmxjeWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdaV3hsYldWdWRFOXlaR1Z5UW5rZ1BTQnZjbVJsY2tKNUtHVnNaVzFsYm5RcE8xeHVJQ0FnSUNBZ2FXWWdLRzFoZUU5eVpHVnlRbmtnUFQwZ2JuVnNiQ0I4ZkNCbGJHVnRaVzUwVDNKa1pYSkNlU0ErSUcxaGVFOXlaR1Z5UW5rcElIdGNiaUFnSUNBZ0lDQWdiV0Y0Vm1Gc2RXVWdQU0JsYkdWdFpXNTBPMXh1SUNBZ0lDQWdJQ0J0WVhoUGNtUmxja0o1SUQwZ1pXeGxiV1Z1ZEU5eVpHVnlRbms3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCdFlYaFdZV3gxWlR0Y2JpQWdmVnh1WEc0Z0lHTnZibk4wSUhOMVluTmxkQ0E5SUZ0eVlXNWtiMjFKYm5Rb2JHVnVaM1JvSUMwZ01TbGRPMXh1SUNCamIyNXpkQ0JqYjIxd2JHVnRaVzUwSUQwZ2JtVjNJRk5sZENncE8xeHVYRzRnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2JHVnVaM1JvT3lBcksya3BJSHRjYmlBZ0lDQnBaaUFvSVhOMVluTmxkQzVwYm1Oc2RXUmxjeWhwS1NsY2JpQWdJQ0FnSUdOdmJYQnNaVzFsYm5RdVlXUmtLR2twTzF4dUlDQjlYRzVjYmlBZ2QyaHBiR1VnS0hOMVluTmxkQzVzWlc1bmRHZ2dQQ0J1S1NCN1hHNGdJQ0FnWTI5dWMzUWdhV1I0SUQwZ2JXRjRRbmtvWEc0Z0lDQWdJQ0JqYjIxd2JHVnRaVzUwTG5aaGJIVmxjeWdwSUdGeklFbDBaWEpoWW14bFNYUmxjbUYwYjNJOGJuVnRZbVZ5UGl4Y2JpQWdJQ0FnSUNocEtTQTlQaUJOWVhSb0xtMXBiaTVoY0hCc2VTaE5ZWFJvTENCemRXSnpaWFF1YldGd0tHWjFibU4wYVc5dUtIWmhiQ3dnYVc1a1pYZ3BJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1JwYzNRb2FTd2dkbUZzS1R0Y2JpQWdJQ0FnSUgwcEtTazdYRzRnSUNBZ2FXWWdLR2xrZUNrZ2UxeHVJQ0FnSUNBZ2MzVmljMlYwTG5CMWMyZ29hV1I0S1R0Y2JpQWdJQ0FnSUdOdmJYQnNaVzFsYm5RdVpHVnNaWFJsS0dsa2VDazdYRzRnSUNBZ2ZWeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCemRXSnpaWFE3WEc1OVhHNWNiaThxS2x4dUlDb2dVbVYwZFhKdWN5QnViM0p0WVd4cGVtVmtJSFpsWTNSdmNpNWNiaUFxSUZ4dUlDb2dRR1Y0Y0c5eWRGeHVJQ29nUUhCaGNtRnRJSHRXWldOMGIzSjlJR1JoZEdFZ2JuVnRaWEpwWTJGc0lHRnljbUY1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnViM0p0WVd4cGVtVW9aR0YwWVRvZ1ZtVmpkRzl5S1RvZ1ZtVmpkRzl5SUh0Y2JpQWdZMjl1YzNRZ2JHVnVJRDBnWkdGMFlTNXNaVzVuZEdnN1hHNGdJR3hsZENCemRXMGdQU0F3TzF4dUlDQnNaWFFnYzNWdFQyWlRjWFZoY21WeklEMGdNRHRjYmx4dUlDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJR3hsYmpzZ0t5dHBLU0I3WEc0Z0lDQWdjM1Z0SUNzOUlHUmhkR0ZiYVYwN1hHNGdJQ0FnYzNWdFQyWlRjWFZoY21WeklDczlJR1JoZEdGYmFWMGdLaW9nTWp0Y2JpQWdmVnh1WEc0Z0lHTnZibk4wSUcxbFlXNGdQU0J6ZFcwZ0x5QnNaVzQ3WEc0Z0lHTnZibk4wSUhOMFpFUmxka2x1ZG1WeWMyVWdQU0F4TGpBZ0x5Qk5ZWFJvTG5OeGNuUW9jM1Z0VDJaVGNYVmhjbVZ6SUM4Z2JHVnVJQzBnYldWaGJpQXFLaUF5S1R0Y2JseHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUd4bGJqc2dLeXRwS1Z4dUlDQWdJR1JoZEdGYmFWMGdQU0FvWkdGMFlWdHBYU0F0SUcxbFlXNHBJQ29nYzNSa1JHVjJTVzUyWlhKelpUdGNibHh1SUNCeVpYUjFjbTRnWkdGMFlUdGNibjFjYmx4dUx5b3FYRzRnS2lCR2FXNWtjeUJ6WlhRZ1pHbG1abVZ5Wlc1alpTQmlaWFIzWldWdUlIUjNieUJzYVhOMGN5NWNiaUFxSUVCd1lYSmhiU0I3WVc1NVcxMTlJR0VnVkdobElHWnBjbk4wSUd4cGMzUXVYRzRnS2lCQWNHRnlZVzBnZTJGdWVWdGRmU0JpSUZSb1pTQnpaV052Ym1RZ2JHbHpkQzVjYmlBcUlFQnlaWFIxY200Z2UyRnVlVnRkZlZ4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdjMlYwUkdsbVptVnlaVzVqWlNoaE9pQmhibmxiWFN3Z1lqb2dZVzU1VzEwcE9pQmhibmxiWFNCN1hHNGdJR052Ym5OMElHSlRaWFFnUFNCdVpYY2dVMlYwS0dJcE8xeHVJQ0J5WlhSMWNtNGdRWEp5WVhrdVpuSnZiU2h1WlhjZ1UyVjBLR0V1Wm1sc2RHVnlLQ2g0S1NBOVBpQWhZbE5sZEM1b1lYTW9lQ2twS1M1MllXeDFaWE1vS1NrN1hHNTlYRzRpWFgwPSIsImltcG9ydCAqIGFzIGZsIGZyb20gJ2Zhc3Rlc3QtbGV2ZW5zaHRlaW4nO1xuaW1wb3J0IHsgamFyb1dpbmtsZXIgfSBmcm9tICdqYXJvLXdpbmtsZXItdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBhc3ltbWV0cmljRGlzdGFuY2UsIGJyYXVuQmxhbnF1ZXREaXN0YW5jZSwgY29zaW5lRGlzdGFuY2UsIGRpY2VEaXN0YW5jZSwgZXVjbGlkZWFuRGlzdGFuY2UsIGhhbW1pbmdEaXN0YW5jZSwga3VsY3p5bnNraURpc3RhbmNlLCBtY0Nvbm5hdWdoZXlEaXN0YW5jZSwgcm9nb3RHb2xkYmVyZ0Rpc3RhbmNlLCBydXNzZWxEaXN0YW5jZSwgc29rYWxEaXN0YW5jZSwgdGFuaW1vdG9EaXN0YW5jZSwgbnVtZXJpY0Rpc3RhbmNlLCB0YW5pbW90b0Rpc3RhbmNlSW50QXJyYXksIH0gZnJvbSAnLi4vZGlzdGFuY2UtbWV0cmljcy1tZXRob2RzJztcbmltcG9ydCB7IGNhbGN1bGF0ZUV1Y2xpZGVhbkRpc3RhbmNlIH0gZnJvbSAnQGRhdGFncm9rLWxpYnJhcmllcy91dGlscy9zcmMvdmVjdG9yLW9wZXJhdGlvbnMnO1xuaW1wb3J0IHsgbW1EaXN0YW5jZUZ1bmN0aW9ucywgTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzIH0gZnJvbSAnLi4vbWFjcm9tb2xlY3VsZS1kaXN0YW5jZS1mdW5jdGlvbnMnO1xuaW1wb3J0IHsgRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMsIEJpdEFycmF5TWV0cmljc05hbWVzLCBTdHJpbmdNZXRyaWNzTmFtZXMsIFZlY3Rvck1ldHJpY3NOYW1lcywgTnVtYmVyTWV0cmljc05hbWVzLCBJbnRBcnJheU1ldHJpY3NOYW1lcyB9IGZyb20gJy4vY29uc3RzJztcbmV4cG9ydCBjb25zdCB2ZWN0b3JEaXN0YW5jZU1ldHJpY3NNZXRob2RzID0ge1xuICAgIFtWZWN0b3JNZXRyaWNzTmFtZXMuRXVjbGlkZWFuXTogY2FsY3VsYXRlRXVjbGlkZWFuRGlzdGFuY2UsXG59O1xuZXhwb3J0IGNvbnN0IHN0cmluZ0Rpc3RhbmNlTWV0cmljc01ldGhvZHMgPSB7XG4gICAgW1N0cmluZ01ldHJpY3NOYW1lcy5MZXZlbnNodGVpbl06IGZsLmRpc3RhbmNlLFxuICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuSmFyb1dpbmtsZXJdOiBqYXJvV2lua2xlcixcbiAgICBbU3RyaW5nTWV0cmljc05hbWVzLk1hbmhhdHRhbl06IG1hbmhhdHRhbkRpc3RhbmNlLFxuICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuT25laG90XTogY2F0ZWdvcmljYWxEaXN0YW5jZSxcbn07XG5leHBvcnQgY29uc3QgYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzID0ge1xuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90b106IHRhbmltb3RvRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkRpY2VdOiBkaWNlRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkFzeW1tZXRyaWNdOiBhc3ltbWV0cmljRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkJyYXVuQmxhbnF1ZXRdOiBicmF1bkJsYW5xdWV0RGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkNvc2luZV06IGNvc2luZURpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5LdWxjenluc2tpXToga3VsY3p5bnNraURpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5NY0Nvbm5hdWdoZXldOiBtY0Nvbm5hdWdoZXlEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuUm9nb3RHb2xkYmVyZ106IHJvZ290R29sZGJlcmdEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuUnVzc2VsXTogcnVzc2VsRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlNva2FsXTogc29rYWxEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuSGFtbWluZ106IGhhbW1pbmdEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuRXVjbGlkZWFuXTogZXVjbGlkZWFuRGlzdGFuY2UsXG59O1xuZXhwb3J0IGNvbnN0IGludEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kcyA9IHtcbiAgICBbSW50QXJyYXlNZXRyaWNzTmFtZXMuVGFuaW1vdG9JbnRBcnJheV06IHRhbmltb3RvRGlzdGFuY2VJbnRBcnJheSxcbn07XG5leHBvcnQgY29uc3QgbnVtYmVyRGlzdGFuY2VNZXRyaWNzTWV0aG9kcyA9IHtcbiAgICBbTnVtYmVyTWV0cmljc05hbWVzLkRpZmZlcmVuY2VdOiBudW1lcmljRGlzdGFuY2UsXG59O1xuZXhwb3J0IGNvbnN0IEF2YWlsYWJsZU1ldHJpY3MgPSB7XG4gICAgW0Rpc3RhbmNlTWV0cmljc1N1YmplY3RzLlZlY3Rvcl06IHtcbiAgICAgICAgW1ZlY3Rvck1ldHJpY3NOYW1lcy5FdWNsaWRlYW5dOiB2ZWN0b3JEaXN0YW5jZU1ldHJpY3NNZXRob2RzW1ZlY3Rvck1ldHJpY3NOYW1lcy5FdWNsaWRlYW5dLFxuICAgIH0sXG4gICAgW0Rpc3RhbmNlTWV0cmljc1N1YmplY3RzLlN0cmluZ106IHtcbiAgICAgICAgW1N0cmluZ01ldHJpY3NOYW1lcy5MZXZlbnNodGVpbl06IHN0cmluZ0Rpc3RhbmNlTWV0cmljc01ldGhvZHNbU3RyaW5nTWV0cmljc05hbWVzLkxldmVuc2h0ZWluXSxcbiAgICAgICAgW1N0cmluZ01ldHJpY3NOYW1lcy5KYXJvV2lua2xlcl06IHN0cmluZ0Rpc3RhbmNlTWV0cmljc01ldGhvZHNbU3RyaW5nTWV0cmljc05hbWVzLkphcm9XaW5rbGVyXSxcbiAgICAgICAgW1N0cmluZ01ldHJpY3NOYW1lcy5NYW5oYXR0YW5dOiBzdHJpbmdEaXN0YW5jZU1ldHJpY3NNZXRob2RzW1N0cmluZ01ldHJpY3NOYW1lcy5NYW5oYXR0YW5dLFxuICAgICAgICBbU3RyaW5nTWV0cmljc05hbWVzLk9uZWhvdF06IHN0cmluZ0Rpc3RhbmNlTWV0cmljc01ldGhvZHNbU3RyaW5nTWV0cmljc05hbWVzLk9uZWhvdF0sXG4gICAgfSxcbiAgICBbRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMuQml0QXJyYXldOiB7XG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90b106IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90b10sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5EaWNlXTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLkRpY2VdLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuQXN5bW1ldHJpY106IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5Bc3ltbWV0cmljXSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkJyYXVuQmxhbnF1ZXRdOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuQnJhdW5CbGFucXVldF0sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Db3NpbmVdOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuQ29zaW5lXSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkt1bGN6eW5za2ldOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuS3VsY3p5bnNraV0sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5NY0Nvbm5hdWdoZXldOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuTWNDb25uYXVnaGV5XSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJvZ290R29sZGJlcmddOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuUm9nb3RHb2xkYmVyZ10sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5SdXNzZWxdOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuUnVzc2VsXSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlNva2FsXTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLlNva2FsXSxcbiAgICB9LFxuICAgIFtEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cy5NYWNyb01vbGVjdWxlXToge1xuICAgICAgICBbTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLkhBTU1JTkddOiBtbURpc3RhbmNlRnVuY3Rpb25zW01tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5IQU1NSU5HXSxcbiAgICAgICAgW01tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5MRVZFTlNIVEVJTl06IG1tRGlzdGFuY2VGdW5jdGlvbnNbTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLkxFVkVOU0hURUlOXSxcbiAgICAgICAgW01tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5ORUVETEVNQU5OX1dVTlNDSF06IG1tRGlzdGFuY2VGdW5jdGlvbnNbTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLk5FRURMRU1BTk5fV1VOU0NIXSxcbiAgICAgICAgW01tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5NT05PTUVSX0NIRU1JQ0FMX0RJU1RBTkNFXTogbW1EaXN0YW5jZUZ1bmN0aW9uc1tNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTU9OT01FUl9DSEVNSUNBTF9ESVNUQU5DRV0sXG4gICAgfSxcbiAgICBbRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMuTnVtYmVyXToge1xuICAgICAgICBbTnVtYmVyTWV0cmljc05hbWVzLkRpZmZlcmVuY2VdOiBudW1iZXJEaXN0YW5jZU1ldHJpY3NNZXRob2RzW051bWJlck1ldHJpY3NOYW1lcy5EaWZmZXJlbmNlXSxcbiAgICB9LFxuICAgIFtEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cy5JbnRBcnJheV06IHtcbiAgICAgICAgW0ludEFycmF5TWV0cmljc05hbWVzLlRhbmltb3RvSW50QXJyYXldOiBpbnRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbSW50QXJyYXlNZXRyaWNzTmFtZXMuVGFuaW1vdG9JbnRBcnJheV0sXG4gICAgfVxufTtcbmV4cG9ydCBjb25zdCBNZXRyaWNUb0RhdGFUeXBlID0gT2JqZWN0LmtleXMoQXZhaWxhYmxlTWV0cmljcylcbiAgICAucmVkdWNlKChyZXQsIGtleSkgPT4ge1xuICAgIGZvciAoY29uc3QgdmFsIG9mIE9iamVjdC5rZXlzKEF2YWlsYWJsZU1ldHJpY3Nba2V5XSkpXG4gICAgICAgIHJldFt2YWxdID0ga2V5O1xuICAgIHJldHVybiByZXQ7XG59LCB7fSk7XG5leHBvcnQgZnVuY3Rpb24gaXNTdHJpbmdNZXRyaWMobmFtZSkge1xuICAgIHJldHVybiBNZXRyaWNUb0RhdGFUeXBlW25hbWVdID09ICdTdHJpbmcnO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzQml0QXJyYXlNZXRyaWMobmFtZSkge1xuICAgIHJldHVybiBNZXRyaWNUb0RhdGFUeXBlW25hbWVdID09ICdCaXRBcnJheSc7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNWZWN0b3JNZXRyaWMobmFtZSkge1xuICAgIHJldHVybiBNZXRyaWNUb0RhdGFUeXBlW25hbWVdID09ICdWZWN0b3InO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzTWFjcm9Nb2xlY3VsZU1ldHJpYyhuYW1lKSB7XG4gICAgcmV0dXJuIE1ldHJpY1RvRGF0YVR5cGVbbmFtZV0gPT0gRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMuTWFjcm9Nb2xlY3VsZS50b1N0cmluZygpO1xufVxuLyoqIE1hbmhhdHRhbiBkaXN0YW5jZSBiZXR3ZWVuIHR3byBzZXF1ZW5jZXMgKG1hdGNoIC0gMCwgbWlzbWF0Y2ggLSAxKSBub3JtYWxpemVkIGZvciBsZW5ndGguICovXG5leHBvcnQgZnVuY3Rpb24gbWFuaGF0dGFuRGlzdGFuY2UoczEsIHMyKSB7XG4gICAgaWYgKHMxLmxlbmd0aCAhPT0gczIubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgbGV0IGRpc3QgPSAwO1xuICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8IHMxLmxlbmd0aDsgaSsrKVxuICAgICAgICAgICAgZGlzdCArPSBzMVtpXSA9PSBzMltpXSA/IDAgOiAxO1xuICAgICAgICByZXR1cm4gZGlzdCAvIHMxLmxlbmd0aDtcbiAgICB9XG59XG5leHBvcnQgZnVuY3Rpb24gY2F0ZWdvcmljYWxEaXN0YW5jZShzMSwgczIpIHtcbiAgICByZXR1cm4gczEgPT09IHMyID8gMCA6IDE7XG59XG4vKiogVW5pZmllZCBjbGFzcyBpbXBsZW1lbnRpbmcgZGlmZmVyZW50IHN0cmluZyBtZWFzdXJlcy4gKi9cbmV4cG9ydCBjbGFzcyBNZWFzdXJlIHtcbiAgICBtZXRob2Q7XG4gICAgZGF0YVR5cGU7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBNZWFzdXJlIHdpdGggLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2QgTWV0aG9kIHRvIGNhbGN1bGF0ZSBkaXN0YW5jZSBiZXR3ZWVuIHN0cmluZ3MuXG4gICAgICogQG1lbWJlcm9mIE1lYXN1cmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IobWV0aG9kKSB7XG4gICAgICAgIHRoaXMubWV0aG9kID0gbWV0aG9kO1xuICAgICAgICB0aGlzLmRhdGFUeXBlID0gTWV0cmljVG9EYXRhVHlwZVttZXRob2RdO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGN1c3RvbSBzdHJpbmcgZGlzdGFuY2UgZnVuY3Rpb24gc3BlY2lmaWVkLlxuICAgICAqIEBwYXJhbSB7b3B0c30gb3B0cyBPcHRpb25zIGZvciB0aGUgbWVhc3VyZS4gdXNlZCBmb3IgbWFjcm9tb2xlY3VsZSBkaXN0YW5jZXNcbiAgICAgKiBAcmV0dXJuIHtEaXN0YW5jZU1ldHJpY30gQ2FsbGJhY2sgb2YgdGhlIG1lYXN1cmUgY2hvc2VuLlxuICAgICAqIEBtZW1iZXJvZiBNZWFzdXJlclxuICAgICAqL1xuICAgIGdldE1lYXN1cmUob3B0cykge1xuICAgICAgICBjb25zdCBkaWN0ID0gQXZhaWxhYmxlTWV0cmljcztcbiAgICAgICAgaWYgKCFkaWN0Lmhhc093blByb3BlcnR5KHRoaXMuZGF0YVR5cGUpIHx8ICFkaWN0W3RoaXMuZGF0YVR5cGVdLmhhc093blByb3BlcnR5KHRoaXMubWV0aG9kKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBtZWFzdXJlICR7dGhpcy5tZXRob2R9IGZvciBkYXRhIHR5cGUgJHt0aGlzLmRhdGFUeXBlfWApO1xuICAgICAgICByZXR1cm4gaXNNYWNyb01vbGVjdWxlTWV0cmljKHRoaXMubWV0aG9kKSA/XG4gICAgICAgICAgICBkaWN0W3RoaXMuZGF0YVR5cGVdW3RoaXMubWV0aG9kXShvcHRzKSA6XG4gICAgICAgICAgICBkaWN0W3RoaXMuZGF0YVR5cGVdW3RoaXMubWV0aG9kXTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBjdXN0b20gc3RyaW5nIGRpc3RhbmNlIGJ5IHRoZSBnaXZlbiBkYXRhIHR5cGUuXG4gICAgICogQHBhcmFtIHtBdmFpbGFibGVEYXRhVHlwZXN9IGRhdGFUeXBlIE1ldHJpYydzIGRhdGEgdHlwZVxuICAgICAqIEByZXR1cm4ge3N0cmluZ1tdfSBNZXRyaWMgbmFtZXMgd2hpY2ggZXhwZWN0cyB0aGUgZ2l2ZW4gZGF0YSB0eXBlXG4gICAgICogQG1lbWJlcm9mIE1lYXN1cmVyXG4gICAgICovXG4gICAgc3RhdGljIGdldE1ldHJpY0J5RGF0YVR5cGUoZGF0YVR5cGUpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKEF2YWlsYWJsZU1ldHJpY3NbZGF0YVR5cGVdKTtcbiAgICB9XG4gICAgLyoqIFJldHVybnMgbWV0cmljIG5hbWVzIGF2YWlsYWJsZS5cbiAgICAgKiBAbWVtYmVyb2YgTWVhc3VyZXJcbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0IGF2YWlsYWJsZU1lYXN1cmVzKCkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoQXZhaWxhYmxlTWV0cmljcyk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEhsd1pXUXRiV1YwY21samN5NXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSW5SNWNHVmtMVzFsZEhKcFkzTXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1QwRkJUeXhMUVVGTExFVkJRVVVzVFVGQlRTeHhRa0ZCY1VJc1EwRkJRenRCUVVNeFF5eFBRVUZQTEVWQlFVTXNWMEZCVnl4RlFVRkRMRTFCUVUwc2VVSkJRWGxDTEVOQlFVTTdRVUZGY0VRc1QwRkJUeXhGUVVOTUxHdENRVUZyUWl4RlFVTnNRaXh4UWtGQmNVSXNSVUZEY2tJc1kwRkJZeXhGUVVOa0xGbEJRVmtzUlVGRFdpeHBRa0ZCYVVJc1JVRkRha0lzWlVGQlpTeEZRVU5tTEd0Q1FVRnJRaXhGUVVOc1FpeHZRa0ZCYjBJc1JVRkRjRUlzY1VKQlFYRkNMRVZCUTNKQ0xHTkJRV01zUlVGRFpDeGhRVUZoTEVWQlEySXNaMEpCUVdkQ0xFVkJRMmhDTEdWQlFXVXNSVUZEWml4M1FrRkJkMElzUjBGRGVrSXNUVUZCVFN3MlFrRkJOa0lzUTBGQlF6dEJRVVZ5UXl4UFFVRlBMRVZCUVVNc01FSkJRVEJDTEVWQlFVTXNUVUZCVFN4cFJFRkJhVVFzUTBGQlF6dEJRVWN6Uml4UFFVRlBMRVZCUVVNc2JVSkJRVzFDTEVWQlFVVXNkMEpCUVhkQ0xFVkJRVU1zVFVGQlRTeHhRMEZCY1VNc1EwRkJRenRCUVVOc1J5eFBRVUZQTEVWQlFVTXNkVUpCUVhWQ0xFVkJRVVVzYjBKQlFXOUNMRVZCUTI1RUxHdENRVUZyUWl4RlFVRkZMR3RDUVVGclFpeEZRVUZGTEd0Q1FVRnJRaXhGUVVGRkxHOUNRVUZ2UWl4RlFVRkRMRTFCUVUwc1ZVRkJWU3hEUVVGRE8wRkJSM0JITEUxQlFVMHNRMEZCUXl4TlFVRk5MRFJDUVVFMFFpeEhRVUY1UkR0SlFVTm9SeXhEUVVGRExHdENRVUZyUWl4RFFVRkRMRk5CUVZNc1EwRkJReXhGUVVGRkxEQkNRVUV3UWp0RFFVTXpSQ3hEUVVGRE8wRkJSVVlzVFVGQlRTeERRVUZETEUxQlFVMHNORUpCUVRSQ0xFZEJRWGxFTzBsQlEyaEhMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNWMEZCVnl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExGRkJRVkU3U1VGRE4wTXNRMEZCUXl4clFrRkJhMElzUTBGQlF5eFhRVUZYTEVOQlFVTXNSVUZCUlN4WFFVRlhPMGxCUXpkRExFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1UwRkJVeXhEUVVGRExFVkJRVVVzYVVKQlFXbENPMGxCUTJwRUxFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1RVRkJUU3hEUVVGRExFVkJRVVVzYlVKQlFXMUNPME5CUTJwRUxFTkJRVU03UVVGRlJpeE5RVUZOTEVOQlFVTXNUVUZCVFN3NFFrRkJPRUlzUjBGQk5rUTdTVUZEZEVjc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4UlFVRlJMRU5CUVVNc1JVRkJSU3huUWtGQlowSTdTVUZEYWtRc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJSU3haUVVGWk8wbEJRM3BETEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVlVGQlZTeERRVUZETEVWQlFVVXNhMEpCUVd0Q08wbEJRM0pFTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zWVVGQllTeERRVUZETEVWQlFVVXNjVUpCUVhGQ08wbEJRek5FTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVXNZMEZCWXp0SlFVTTNReXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRlZCUVZVc1EwRkJReXhGUVVGRkxHdENRVUZyUWp0SlFVTnlSQ3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRmxCUVZrc1EwRkJReXhGUVVGRkxHOUNRVUZ2UWp0SlFVTjZSQ3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMR0ZCUVdFc1EwRkJReXhGUVVGRkxIRkNRVUZ4UWp0SlFVTXpSQ3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxHTkJRV003U1VGRE4wTXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eExRVUZMTEVOQlFVTXNSVUZCUlN4aFFVRmhPMGxCUXpORExFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1QwRkJUeXhEUVVGRExFVkJRVVVzWlVGQlpUdEpRVU12UXl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZOQlFWTXNRMEZCUXl4RlFVRkZMR2xDUVVGcFFqdERRVU53UkN4RFFVRkRPMEZCUlVZc1RVRkJUU3hEUVVGRExFMUJRVTBzT0VKQlFUaENMRWRCUVcxRk8wbEJRelZITEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1JVRkJSU3gzUWtGQmQwSTdRMEZEYkVVc1EwRkJRenRCUVVWR0xFMUJRVTBzUTBGQlF5eE5RVUZOTERSQ1FVRTBRaXhIUVVGNVJEdEpRVU5vUnl4RFFVRkRMR3RDUVVGclFpeERRVUZETEZWQlFWVXNRMEZCUXl4RlFVRkZMR1ZCUVdVN1EwRkRha1FzUTBGQlF6dEJRVVZHTEUxQlFVMHNRMEZCUXl4TlFVRk5MR2RDUVVGblFpeEhRVUZITzBsQlF6bENMRU5CUVVNc2RVSkJRWFZDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVN1VVRkRhRU1zUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhUUVVGVExFTkJRVU1zUlVGQlJTdzBRa0ZCTkVJc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4VFFVRlRMRU5CUVVNN1MwRkRNMFk3U1VGRFJDeERRVUZETEhWQ1FVRjFRaXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTzFGQlEyaERMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNWMEZCVnl4RFFVRkRMRVZCUVVVc05FSkJRVFJDTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVjBGQlZ5eERRVUZETzFGQlF6bEdMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNWMEZCVnl4RFFVRkRMRVZCUVVVc05FSkJRVFJDTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVjBGQlZ5eERRVUZETzFGQlF6bEdMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNVMEZCVXl4RFFVRkRMRVZCUVVVc05FSkJRVFJDTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVTBGQlV5eERRVUZETzFGQlF6RkdMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVc05FSkJRVFJDTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVFVGQlRTeERRVUZETzB0QlEzSkdPMGxCUTBRc1EwRkJReXgxUWtGQmRVSXNRMEZCUXl4UlFVRlJMRU5CUVVNc1JVRkJSVHRSUVVOc1F5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExGRkJRVkVzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRkZCUVZFc1EwRkJRenRSUVVNNVJpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRWxCUVVrc1EwRkJRenRSUVVOMFJpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExGVkJRVlVzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRlZCUVZVc1EwRkJRenRSUVVOc1J5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExHRkJRV0VzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMR0ZCUVdFc1EwRkJRenRSUVVONFJ5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRTFCUVUwc1EwRkJRenRSUVVNeFJpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExGVkJRVlVzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRlZCUVZVc1EwRkJRenRSUVVOc1J5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExGbEJRVmtzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRmxCUVZrc1EwRkJRenRSUVVOMFJ5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExHRkJRV0VzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMR0ZCUVdFc1EwRkJRenRSUVVONFJ5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRTFCUVUwc1EwRkJRenRSUVVNeFJpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFdEJRVXNzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRXRCUVVzc1EwRkJRenRMUVVONlJqdEpRVU5FTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zWVVGQllTeERRVUZETEVWQlFVVTdVVUZEZGtNc1EwRkJReXgzUWtGQmQwSXNRMEZCUXl4UFFVRlBMRU5CUVVNc1JVRkJSU3h0UWtGQmJVSXNRMEZCUXl4M1FrRkJkMElzUTBGQlF5eFBRVUZQTEVOQlFVTTdVVUZEZWtZc1EwRkJReXgzUWtGQmQwSXNRMEZCUXl4WFFVRlhMRU5CUVVNc1JVRkJSU3h0UWtGQmJVSXNRMEZCUXl4M1FrRkJkMElzUTBGQlF5eFhRVUZYTEVOQlFVTTdVVUZEYWtjc1EwRkJReXgzUWtGQmQwSXNRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eEZRVUZGTEcxQ1FVRnRRaXhEUVVGRExIZENRVUYzUWl4RFFVRkRMR2xDUVVGcFFpeERRVUZETzFGQlF6ZEhMRU5CUVVNc2QwSkJRWGRDTEVOQlFVTXNlVUpCUVhsQ0xFTkJRVU1zUlVGRGJFUXNiVUpCUVcxQ0xFTkJRVU1zZDBKQlFYZENMRU5CUVVNc2VVSkJRWGxDTEVOQlFVTTdTMEZETVVVN1NVRkRSQ3hEUVVGRExIVkNRVUYxUWl4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRk8xRkJRMmhETEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVlVGQlZTeERRVUZETEVWQlFVVXNORUpCUVRSQ0xFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1ZVRkJWU3hEUVVGRE8wdEJRemRHTzBsQlEwUXNRMEZCUXl4MVFrRkJkVUlzUTBGQlF5eFJRVUZSTEVOQlFVTXNSVUZCUlR0UlFVTnNReXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMR2RDUVVGblFpeERRVUZETEVWQlFVVXNPRUpCUVRoQ0xFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1owSkJRV2RDTEVOQlFVTTdTMEZETDBjN1EwRkRSaXhEUVVGRE8wRkJSVVlzVFVGQlRTeERRVUZETEUxQlFVMHNaMEpCUVdkQ0xFZEJRWEZDTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1owSkJRV2RDTEVOQlFVTTdTMEZETlVVc1RVRkJUU3hEUVVGRExFTkJRVU1zUjBGQmNVSXNSVUZCUlN4SFFVRkhMRVZCUVVVc1JVRkJSVHRKUVVOeVF5eExRVUZMTEUxQlFVMHNSMEZCUnl4SlFVRkpMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1IwRkJlVUlzUTBGQlF5eERRVUZETzFGQlEzaEZMRWRCUVVjc1EwRkJReXhIUVVGNVFpeERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRPMGxCUlhaRExFOUJRVThzUjBGQlJ5eERRVUZETzBGQlEySXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRE8wRkJaVlFzVFVGQlRTeFZRVUZWTEdOQlFXTXNRMEZCUXl4SlFVRnJRanRKUVVNdlF5eFBRVUZQTEdkQ1FVRm5RaXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEZGQlFWRXNRMEZCUXp0QlFVTTFReXhEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEdkQ1FVRm5RaXhEUVVGRExFbEJRV3RDTzBsQlEycEVMRTlCUVU4c1owSkJRV2RDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1ZVRkJWU3hEUVVGRE8wRkJRemxETEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc1kwRkJZeXhEUVVGRExFbEJRV3RDTzBsQlF5OURMRTlCUVU4c1owSkJRV2RDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1VVRkJVU3hEUVVGRE8wRkJRelZETEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc2NVSkJRWEZDTEVOQlFVTXNTVUZCYTBJN1NVRkRkRVFzVDBGQlR5eG5Ra0ZCWjBJc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeDFRa0ZCZFVJc1EwRkJReXhoUVVGaExFTkJRVU1zVVVGQlVTeEZRVUZGTEVOQlFVTTdRVUZEY0VZc1EwRkJRenRCUVVWRUxHZEhRVUZuUnp0QlFVTm9SeXhOUVVGTkxGVkJRVlVzYVVKQlFXbENMRU5CUVVNc1JVRkJWU3hGUVVGRkxFVkJRVlU3U1VGRGRFUXNTVUZCU1N4RlFVRkZMRU5CUVVNc1RVRkJUU3hMUVVGTExFVkJRVVVzUTBGQlF5eE5RVUZOTEVWQlFVVTdVVUZETTBJc1QwRkJUeXhEUVVGRExFTkJRVU03UzBGRFZqdFRRVUZOTzFGQlEwd3NTVUZCU1N4SlFVRkpMRWRCUVZjc1EwRkJReXhEUVVGRE8xRkJRM0pDTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSVHRaUVVOb1F5eEpRVUZKTEVsQlFVa3NSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEYWtNc1QwRkJUeXhKUVVGSkxFZEJRVWNzUlVGQlJTeERRVUZETEUxQlFVMHNRMEZCUXp0TFFVTjZRanRCUVVOSUxFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNiVUpCUVcxQ0xFTkJRVU1zUlVGQlZTeEZRVUZGTEVWQlFWVTdTVUZEZUVRc1QwRkJUeXhGUVVGRkxFdEJRVXNzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEJRVU16UWl4RFFVRkRPMEZCUlVRc05FUkJRVFJFTzBGQlF6VkVMRTFCUVUwc1QwRkJUeXhQUVVGUE8wbEJRMUlzVFVGQlRTeERRVUZsTzBsQlEzSkNMRkZCUVZFc1EwRkJjVUk3U1VGRmRrTTdPenM3VDBGSlJ6dEpRVU5JTEZsQlFWa3NUVUZCYjBJN1VVRkRPVUlzU1VGQlNTeERRVUZETEUxQlFVMHNSMEZCUnl4TlFVRk5MRU5CUVVNN1VVRkRja0lzU1VGQlNTeERRVUZETEZGQlFWRXNSMEZCUnl4blFrRkJaMElzUTBGQlF5eE5RVUZOTEVOQlFYVkNMRU5CUVVNN1NVRkRha1VzUTBGQlF6dEpRVVZFT3pzN096dFBRVXRITzBsQlEwa3NWVUZCVlN4RFFVRkRMRWxCUVZVN1VVRkRNVUlzVFVGQlRTeEpRVUZKTEVkQlJVNHNaMEpCUVdkQ0xFTkJRVU03VVVGRGNrSXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVU1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXl4alFVRmpMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF6dFpRVU42Uml4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVGRExHMUNRVUZ0UWl4SlFVRkpMRU5CUVVNc1RVRkJUU3hyUWtGQmEwSXNTVUZCU1N4RFFVRkRMRkZCUVZFc1JVRkJSU3hEUVVGRExFTkJRVU03VVVGRGJrWXNUMEZCVHl4eFFrRkJjVUlzUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVONFF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFYRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU0zUlN4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVcxQ0xFTkJRVU03U1VGRGRrUXNRMEZCUXp0SlFVVkVPenM3T3p0UFFVdEhPMGxCUTBrc1RVRkJUU3hEUVVGRExHMUNRVUZ0UWl4RFFVRkRMRkZCUVRSQ08xRkJRelZFTEU5QlFVOHNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRMnBFTEVOQlFVTTdTVUZGUkRzN1QwRkZSenRKUVVOSUxFMUJRVTBzUzBGQlN5eHBRa0ZCYVVJN1VVRkRNVUlzVDBGQlR5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMR2RDUVVGblFpeERRVUZETEVOQlFVTTdTVUZEZGtNc1EwRkJRenREUVVOR0lpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElDb2dZWE1nWm13Z1puSnZiU0FuWm1GemRHVnpkQzFzWlhabGJuTm9kR1ZwYmljN1hHNXBiWEJ2Y25RZ2UycGhjbTlYYVc1cmJHVnlmU0JtY205dElDZHFZWEp2TFhkcGJtdHNaWEl0ZEhsd1pYTmpjbWx3ZENjN1hHNXBiWEJ2Y25RZ2UwUnBjM1JoYm1ObFRXVjBjbWxqZlNCbWNtOXRJQ2RBWkdGMFlXZHliMnN0YkdsaWNtRnlhV1Z6TDNWMGFXeHpMM055WXk5MGVYQmxMV1JsWTJ4aGNtRjBhVzl1Y3ljN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JoYzNsdGJXVjBjbWxqUkdsemRHRnVZMlVzWEc0Z0lHSnlZWFZ1UW14aGJuRjFaWFJFYVhOMFlXNWpaU3hjYmlBZ1kyOXphVzVsUkdsemRHRnVZMlVzWEc0Z0lHUnBZMlZFYVhOMFlXNWpaU3hjYmlBZ1pYVmpiR2xrWldGdVJHbHpkR0Z1WTJVc1hHNGdJR2hoYlcxcGJtZEVhWE4wWVc1alpTeGNiaUFnYTNWc1kzcDVibk5yYVVScGMzUmhibU5sTEZ4dUlDQnRZME52Ym01aGRXZG9aWGxFYVhOMFlXNWpaU3hjYmlBZ2NtOW5iM1JIYjJ4a1ltVnlaMFJwYzNSaGJtTmxMRnh1SUNCeWRYTnpaV3hFYVhOMFlXNWpaU3hjYmlBZ2MyOXJZV3hFYVhOMFlXNWpaU3hjYmlBZ2RHRnVhVzF2ZEc5RWFYTjBZVzVqWlN4Y2JpQWdiblZ0WlhKcFkwUnBjM1JoYm1ObExGeHVJQ0IwWVc1cGJXOTBiMFJwYzNSaGJtTmxTVzUwUVhKeVlYa3NYRzU5SUdaeWIyMGdKeTR1TDJScGMzUmhibU5sTFcxbGRISnBZM010YldWMGFHOWtjeWM3WEc1Y2JtbHRjRzl5ZENCN1kyRnNZM1ZzWVhSbFJYVmpiR2xrWldGdVJHbHpkR0Z1WTJWOUlHWnliMjBnSjBCa1lYUmhaM0p2YXkxc2FXSnlZWEpwWlhNdmRYUnBiSE12YzNKakwzWmxZM1J2Y2kxdmNHVnlZWFJwYjI1ekp6dGNibWx0Y0c5eWRDQkNhWFJCY25KaGVTQm1jbTl0SUNkQVpHRjBZV2R5YjJzdGJHbGljbUZ5YVdWekwzVjBhV3h6TDNOeVl5OWlhWFF0WVhKeVlYa25PMXh1YVcxd2IzSjBJSHRXWldOMGIzSXNJRk4wY21sdVowUnBZM1JwYjI1aGNubDlJR1p5YjIwZ0owQmtZWFJoWjNKdmF5MXNhV0p5WVhKcFpYTXZkWFJwYkhNdmMzSmpMM1I1Y0dVdFpHVmpiR0Z5WVhScGIyNXpKenRjYm1sdGNHOXlkQ0I3YlcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1Y3l3Z1RXMUVhWE4wWVc1alpVWjFibU4wYVc5dWMwNWhiV1Z6ZlNCbWNtOXRJQ2N1TGk5dFlXTnliMjF2YkdWamRXeGxMV1JwYzNSaGJtTmxMV1oxYm1OMGFXOXVjeWM3WEc1cGJYQnZjblFnZTBScGMzUmhibU5sVFdWMGNtbGpjMU4xWW1wbFkzUnpMQ0JDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3l4Y2JpQWdVM1J5YVc1blRXVjBjbWxqYzA1aGJXVnpMQ0JXWldOMGIzSk5aWFJ5YVdOelRtRnRaWE1zSUU1MWJXSmxjazFsZEhKcFkzTk9ZVzFsY3l3Z1NXNTBRWEp5WVhsTlpYUnlhV056VG1GdFpYTjlJR1p5YjIwZ0p5NHZZMjl1YzNSekp6dGNibHh1WEc1bGVIQnZjblFnWTI5dWMzUWdkbVZqZEc5eVJHbHpkR0Z1WTJWTlpYUnlhV056VFdWMGFHOWtjem9nZXlCYmJtRnRaVG9nYzNSeWFXNW5YVG9nS0hnNklGWmxZM1J2Y2l3Z2VUb2dWbVZqZEc5eUtTQTlQaUJ1ZFcxaVpYSWdmU0E5SUh0Y2JpQWdXMVpsWTNSdmNrMWxkSEpwWTNOT1lXMWxjeTVGZFdOc2FXUmxZVzVkT2lCallXeGpkV3hoZEdWRmRXTnNhV1JsWVc1RWFYTjBZVzVqWlN4Y2JuMDdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQnpkSEpwYm1kRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpPaUI3SUZ0dVlXMWxPaUJ6ZEhKcGJtZGRPaUFvZURvZ2MzUnlhVzVuTENCNU9pQnpkSEpwYm1jcElEMCtJRzUxYldKbGNpQjlJRDBnZTF4dUlDQmJVM1J5YVc1blRXVjBjbWxqYzA1aGJXVnpMa3hsZG1WdWMyaDBaV2x1WFRvZ1ptd3VaR2x6ZEdGdVkyVXNYRzRnSUZ0VGRISnBibWROWlhSeWFXTnpUbUZ0WlhNdVNtRnliMWRwYm10c1pYSmRPaUJxWVhKdlYybHVhMnhsY2l4Y2JpQWdXMU4wY21sdVowMWxkSEpwWTNOT1lXMWxjeTVOWVc1b1lYUjBZVzVkT2lCdFlXNW9ZWFIwWVc1RWFYTjBZVzVqWlN4Y2JpQWdXMU4wY21sdVowMWxkSEpwWTNOT1lXMWxjeTVQYm1Wb2IzUmRPaUJqWVhSbFoyOXlhV05oYkVScGMzUmhibU5sTEZ4dWZUdGNibHh1Wlhod2IzSjBJR052Ym5OMElHSnBkRUZ5Y21GNVJHbHpkR0Z1WTJWTlpYUnlhV056VFdWMGFHOWtjem9nZXlCYmJtRnRaVG9nYzNSeWFXNW5YVG9nS0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2tnUFQ0Z2JuVnRZbVZ5SUgwZ1BTQjdYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NVVZVzVwYlc5MGIxMDZJSFJoYm1sdGIzUnZSR2x6ZEdGdVkyVXNYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUVhV05sWFRvZ1pHbGpaVVJwYzNSaGJtTmxMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVRWE41YlcxbGRISnBZMTA2SUdGemVXMXRaWFJ5YVdORWFYTjBZVzVqWlN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtKeVlYVnVRbXhoYm5GMVpYUmRPaUJpY21GMWJrSnNZVzV4ZFdWMFJHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1RGIzTnBibVZkT2lCamIzTnBibVZFYVhOMFlXNWpaU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMa3QxYkdONmVXNXphMmxkT2lCcmRXeGplbmx1YzJ0cFJHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1TlkwTnZibTVoZFdkb1pYbGRPaUJ0WTBOdmJtNWhkV2RvWlhsRWFYTjBZVzVqWlN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGxKdloyOTBSMjlzWkdKbGNtZGRPaUJ5YjJkdmRFZHZiR1JpWlhKblJHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1U2RYTnpaV3hkT2lCeWRYTnpaV3hFYVhOMFlXNWpaU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbE52YTJGc1hUb2djMjlyWVd4RWFYTjBZVzVqWlN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtoaGJXMXBibWRkT2lCb1lXMXRhVzVuUkdsemRHRnVZMlVzWEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVGZFdOc2FXUmxZVzVkT2lCbGRXTnNhV1JsWVc1RWFYTjBZVzVqWlN4Y2JuMDdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQnBiblJCY25KaGVVUnBjM1JoYm1ObFRXVjBjbWxqYzAxbGRHaHZaSE02SUhzZ1cyNWhiV1U2SUhOMGNtbHVaMTA2SUNoNE9pQlZhVzUwTXpKQmNuSmhlU3dnZVRvZ1ZXbHVkRE15UVhKeVlYa3BJRDArSUc1MWJXSmxjaUI5SUQwZ2UxeHVJQ0JiU1c1MFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVZHRnVhVzF2ZEc5SmJuUkJjbkpoZVYwNklIUmhibWx0YjNSdlJHbHpkR0Z1WTJWSmJuUkJjbkpoZVN4Y2JuMDdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQnVkVzFpWlhKRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpPaUI3SUZ0dVlXMWxPaUJ6ZEhKcGJtZGRPaUFvZURvZ2JuVnRZbVZ5TENCNU9pQnVkVzFpWlhJcElEMCtJRzUxYldKbGNpQjlJRDBnZTF4dUlDQmJUblZ0WW1WeVRXVjBjbWxqYzA1aGJXVnpMa1JwWm1abGNtVnVZMlZkT2lCdWRXMWxjbWxqUkdsemRHRnVZMlVzWEc1OU8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1FYWmhhV3hoWW14bFRXVjBjbWxqY3lBOUlIdGNiaUFnVzBScGMzUmhibU5sVFdWMGNtbGpjMU4xWW1wbFkzUnpMbFpsWTNSdmNsMDZJSHRjYmlBZ0lDQmJWbVZqZEc5eVRXVjBjbWxqYzA1aGJXVnpMa1YxWTJ4cFpHVmhibDA2SUhabFkzUnZja1JwYzNSaGJtTmxUV1YwY21samMwMWxkR2h2WkhOYlZtVmpkRzl5VFdWMGNtbGpjMDVoYldWekxrVjFZMnhwWkdWaGJsMHNYRzRnSUgwc1hHNGdJRnRFYVhOMFlXNWpaVTFsZEhKcFkzTlRkV0pxWldOMGN5NVRkSEpwYm1kZE9pQjdYRzRnSUNBZ1cxTjBjbWx1WjAxbGRISnBZM05PWVcxbGN5NU1aWFpsYm5Ob2RHVnBibDA2SUhOMGNtbHVaMFJwYzNSaGJtTmxUV1YwY21samMwMWxkR2h2WkhOYlUzUnlhVzVuVFdWMGNtbGpjMDVoYldWekxreGxkbVZ1YzJoMFpXbHVYU3hjYmlBZ0lDQmJVM1J5YVc1blRXVjBjbWxqYzA1aGJXVnpMa3BoY205WGFXNXJiR1Z5WFRvZ2MzUnlhVzVuUkdsemRHRnVZMlZOWlhSeWFXTnpUV1YwYUc5a2MxdFRkSEpwYm1kTlpYUnlhV056VG1GdFpYTXVTbUZ5YjFkcGJtdHNaWEpkTEZ4dUlDQWdJRnRUZEhKcGJtZE5aWFJ5YVdOelRtRnRaWE11VFdGdWFHRjBkR0Z1WFRvZ2MzUnlhVzVuUkdsemRHRnVZMlZOWlhSeWFXTnpUV1YwYUc5a2MxdFRkSEpwYm1kTlpYUnlhV056VG1GdFpYTXVUV0Z1YUdGMGRHRnVYU3hjYmlBZ0lDQmJVM1J5YVc1blRXVjBjbWxqYzA1aGJXVnpMazl1WldodmRGMDZJSE4wY21sdVowUnBjM1JoYm1ObFRXVjBjbWxqYzAxbGRHaHZaSE5iVTNSeWFXNW5UV1YwY21samMwNWhiV1Z6TGs5dVpXaHZkRjBzWEc0Z0lIMHNYRzRnSUZ0RWFYTjBZVzVqWlUxbGRISnBZM05UZFdKcVpXTjBjeTVDYVhSQmNuSmhlVjA2SUh0Y2JpQWdJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVZHRnVhVzF2ZEc5ZE9pQmlhWFJCY25KaGVVUnBjM1JoYm1ObFRXVjBjbWxqYzAxbGRHaHZaSE5iUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVZHRnVhVzF2ZEc5ZExGeHVJQ0FnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUVhV05sWFRvZ1ltbDBRWEp5WVhsRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtScFkyVmRMRnh1SUNBZ0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVCYzNsdGJXVjBjbWxqWFRvZ1ltbDBRWEp5WVhsRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtGemVXMXRaWFJ5YVdOZExGeHVJQ0FnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUNjbUYxYmtKc1lXNXhkV1YwWFRvZ1ltbDBRWEp5WVhsRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtKeVlYVnVRbXhoYm5GMVpYUmRMRnh1SUNBZ0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVEYjNOcGJtVmRPaUJpYVhSQmNuSmhlVVJwYzNSaGJtTmxUV1YwY21samMwMWxkR2h2WkhOYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVRMjl6YVc1bFhTeGNiaUFnSUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVTM1ZzWTNwNWJuTnJhVjA2SUdKcGRFRnljbUY1UkdsemRHRnVZMlZOWlhSeWFXTnpUV1YwYUc5a2MxdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVMZFd4amVubHVjMnRwWFN4Y2JpQWdJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVRXTkRiMjV1WVhWbmFHVjVYVG9nWW1sMFFYSnlZWGxFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSelcwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMazFqUTI5dWJtRjFaMmhsZVYwc1hHNGdJQ0FnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxsSnZaMjkwUjI5c1pHSmxjbWRkT2lCaWFYUkJjbkpoZVVScGMzUmhibU5sVFdWMGNtbGpjMDFsZEdodlpITmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11VW05bmIzUkhiMnhrWW1WeVoxMHNYRzRnSUNBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbEoxYzNObGJGMDZJR0pwZEVGeWNtRjVSR2x6ZEdGdVkyVk5aWFJ5YVdOelRXVjBhRzlrYzF0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NVNkWE56Wld4ZExGeHVJQ0FnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NVRiMnRoYkYwNklHSnBkRUZ5Y21GNVJHbHpkR0Z1WTJWTlpYUnlhV056VFdWMGFHOWtjMXRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1VGIydGhiRjBzWEc0Z0lIMHNYRzRnSUZ0RWFYTjBZVzVqWlUxbGRISnBZM05UZFdKcVpXTjBjeTVOWVdOeWIwMXZiR1ZqZFd4bFhUb2dleUF2THlCdmNIUnBiMjVoYkNCaGNtZHpJRzVsWldSbFpDQm1iM0lnYldGamNtOXRiMnhsWTNWc1pTQm1kVzVqZEdsdmJuTWdkMmhwWTJnZ2FXNXBkR2xoYkdsNlpTQjBhR1Z0WEc0Z0lDQWdXMDF0UkdsemRHRnVZMlZHZFc1amRHbHZibk5PWVcxbGN5NUlRVTFOU1U1SFhUb2diVzFFYVhOMFlXNWpaVVoxYm1OMGFXOXVjMXROYlVScGMzUmhibU5sUm5WdVkzUnBiMjV6VG1GdFpYTXVTRUZOVFVsT1IxMHNYRzRnSUNBZ1cwMXRSR2x6ZEdGdVkyVkdkVzVqZEdsdmJuTk9ZVzFsY3k1TVJWWkZUbE5JVkVWSlRsMDZJRzF0UkdsemRHRnVZMlZHZFc1amRHbHZibk5iVFcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1YzA1aGJXVnpMa3hGVmtWT1UwaFVSVWxPWFN4Y2JpQWdJQ0JiVFcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1YzA1aGJXVnpMazVGUlVSTVJVMUJUazVmVjFWT1UwTklYVG9nYlcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1YzF0TmJVUnBjM1JoYm1ObFJuVnVZM1JwYjI1elRtRnRaWE11VGtWRlJFeEZUVUZPVGw5WFZVNVRRMGhkTEZ4dUlDQWdJRnROYlVScGMzUmhibU5sUm5WdVkzUnBiMjV6VG1GdFpYTXVUVTlPVDAxRlVsOURTRVZOU1VOQlRGOUVTVk5VUVU1RFJWMDZYRzRnSUNBZ0lDQnRiVVJwYzNSaGJtTmxSblZ1WTNScGIyNXpXMDF0UkdsemRHRnVZMlZHZFc1amRHbHZibk5PWVcxbGN5NU5UMDVQVFVWU1gwTklSVTFKUTBGTVgwUkpVMVJCVGtORlhTeGNiaUFnZlN4Y2JpQWdXMFJwYzNSaGJtTmxUV1YwY21samMxTjFZbXBsWTNSekxrNTFiV0psY2wwNklIdGNiaUFnSUNCYlRuVnRZbVZ5VFdWMGNtbGpjMDVoYldWekxrUnBabVpsY21WdVkyVmRPaUJ1ZFcxaVpYSkVhWE4wWVc1alpVMWxkSEpwWTNOTlpYUm9iMlJ6VzA1MWJXSmxjazFsZEhKcFkzTk9ZVzFsY3k1RWFXWm1aWEpsYm1ObFhTeGNiaUFnZlN4Y2JpQWdXMFJwYzNSaGJtTmxUV1YwY21samMxTjFZbXBsWTNSekxrbHVkRUZ5Y21GNVhUb2dlMXh1SUNBZ0lGdEpiblJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVVWVc1cGJXOTBiMGx1ZEVGeWNtRjVYVG9nYVc1MFFYSnlZWGxFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSelcwbHVkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbFJoYm1sdGIzUnZTVzUwUVhKeVlYbGRMRnh1SUNCOVhHNTlPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdUV1YwY21salZHOUVZWFJoVkhsd1pUb2dVM1J5YVc1blJHbGpkR2x2Ym1GeWVTQTlJRTlpYW1WamRDNXJaWGx6S0VGMllXbHNZV0pzWlUxbGRISnBZM01wWEc0Z0lDNXlaV1IxWTJVb0tISmxkRG9nVTNSeWFXNW5SR2xqZEdsdmJtRnllU3dnYTJWNUtTQTlQaUI3WEc0Z0lDQWdabTl5SUNoamIyNXpkQ0IyWVd3Z2IyWWdUMkpxWldOMExtdGxlWE1vUVhaaGFXeGhZbXhsVFdWMGNtbGpjMXRyWlhrZ1lYTWdRWFpoYVd4aFlteGxSR0YwWVZSNWNHVnpYU2twWEc0Z0lDQWdJQ0J5WlhSYmRtRnNJR0Z6SUVGMllXbHNZV0pzWlVSaGRHRlVlWEJsYzEwZ1BTQnJaWGs3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjbVYwTzF4dUlDQjlMQ0I3ZlNrN1hHNWNibVY0Y0c5eWRDQjBlWEJsSUVGMllXbHNZV0pzWlVSaGRHRlVlWEJsY3lBOUlHdGxlVzltSUhSNWNHVnZaaUJCZG1GcGJHRmliR1ZOWlhSeWFXTnpPMXh1Wlhod2IzSjBJSFI1Y0dVZ1ZtVmpkRzl5VFdWMGNtbGpjeUE5SUd0bGVXOW1JSFI1Y0dWdlppQkJkbUZwYkdGaWJHVk5aWFJ5YVdOelcwUnBjM1JoYm1ObFRXVjBjbWxqYzFOMVltcGxZM1J6TGxabFkzUnZjbDA3WEc1bGVIQnZjblFnZEhsd1pTQlRkSEpwYm1kTlpYUnlhV056SUQwZ2EyVjViMllnZEhsd1pXOW1JRUYyWVdsc1lXSnNaVTFsZEhKcFkzTmJSR2x6ZEdGdVkyVk5aWFJ5YVdOelUzVmlhbVZqZEhNdVUzUnlhVzVuWFR0Y2JtVjRjRzl5ZENCMGVYQmxJRUpwZEVGeWNtRjVUV1YwY21samN5QTlJR3RsZVc5bUlIUjVjR1Z2WmlCQmRtRnBiR0ZpYkdWTlpYUnlhV056VzBScGMzUmhibU5sVFdWMGNtbGpjMU4xWW1wbFkzUnpMa0pwZEVGeWNtRjVYVHRjYm1WNGNHOXlkQ0IwZVhCbElFdHViM2R1VFdWMGNtbGpjeUE5SUZOMGNtbHVaMDFsZEhKcFkzTWdmQ0JDYVhSQmNuSmhlVTFsZEhKcFkzTWdmQ0JXWldOMGIzSk5aWFJ5YVdOeklIeGNiaUFnVFcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1YzA1aGJXVnpJSHdnVG5WdFltVnlUV1YwY21samMwNWhiV1Z6SUh3Z1NXNTBRWEp5WVhsTlpYUnlhV056VG1GdFpYTTdYRzVjYm1WNGNHOXlkQ0IwZVhCbElGWmhiR2xrVkhsd1pYTWdQVnh1SUNCN0lHUmhkR0U2SUhOMGNtbHVaMXRkTENCdFpYUnlhV002SUZOMGNtbHVaMDFsZEhKcFkzTWdmQ0JOYlVScGMzUmhibU5sUm5WdVkzUnBiMjV6VG1GdFpYTWdmU0I4WEc0Z0lIc2daR0YwWVRvZ1ZtVmpkRzl5VzEwc0lHMWxkSEpwWXpvZ1ZtVmpkRzl5VFdWMGNtbGpjeUI5SUh4Y2JpQWdleUJrWVhSaE9pQkNhWFJCY25KaGVWdGRMQ0J0WlhSeWFXTTZJRUpwZEVGeWNtRjVUV1YwY21samN5QjlJSHhjYmlBZ2V5QmtZWFJoT2lCdWRXMWlaWEpiWFN3Z2JXVjBjbWxqT2lCT2RXMWlaWEpOWlhSeWFXTnpUbUZ0WlhNZ2ZUdGNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2x6VTNSeWFXNW5UV1YwY21saktHNWhiV1U2SUV0dWIzZHVUV1YwY21samN5a2dlMXh1SUNCeVpYUjFjbTRnVFdWMGNtbGpWRzlFWVhSaFZIbHdaVnR1WVcxbFhTQTlQU0FuVTNSeWFXNW5KenRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHbHpRbWwwUVhKeVlYbE5aWFJ5YVdNb2JtRnRaVG9nUzI1dmQyNU5aWFJ5YVdOektTQjdYRzRnSUhKbGRIVnliaUJOWlhSeWFXTlViMFJoZEdGVWVYQmxXMjVoYldWZElEMDlJQ2RDYVhSQmNuSmhlU2M3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnBjMVpsWTNSdmNrMWxkSEpwWXlodVlXMWxPaUJMYm05M2JrMWxkSEpwWTNNcElIdGNiaUFnY21WMGRYSnVJRTFsZEhKcFkxUnZSR0YwWVZSNWNHVmJibUZ0WlYwZ1BUMGdKMVpsWTNSdmNpYzdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCcGMwMWhZM0p2VFc5c1pXTjFiR1ZOWlhSeWFXTW9ibUZ0WlRvZ1MyNXZkMjVOWlhSeWFXTnpLU0I3WEc0Z0lISmxkSFZ5YmlCTlpYUnlhV05VYjBSaGRHRlVlWEJsVzI1aGJXVmRJRDA5SUVScGMzUmhibU5sVFdWMGNtbGpjMU4xWW1wbFkzUnpMazFoWTNKdlRXOXNaV04xYkdVdWRHOVRkSEpwYm1jb0tUdGNibjFjYmx4dUx5b3FJRTFoYm1oaGRIUmhiaUJrYVhOMFlXNWpaU0JpWlhSM1pXVnVJSFIzYnlCelpYRjFaVzVqWlhNZ0tHMWhkR05vSUMwZ01Dd2diV2x6YldGMFkyZ2dMU0F4S1NCdWIzSnRZV3hwZW1Wa0lHWnZjaUJzWlc1bmRHZ3VJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYldGdWFHRjBkR0Z1UkdsemRHRnVZMlVvY3pFNklITjBjbWx1Wnl3Z2N6STZJSE4wY21sdVp5azZJRzUxYldKbGNpQjdYRzRnSUdsbUlDaHpNUzVzWlc1bmRHZ2dJVDA5SUhNeUxteGxibWQwYUNrZ2UxeHVJQ0FnSUhKbGRIVnliaUF4TzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUd4bGRDQmthWE4wT2lCdWRXMWlaWElnUFNBd08xeHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXhPeUJwSUR3Z2N6RXViR1Z1WjNSb095QnBLeXNwWEc0Z0lDQWdJQ0JrYVhOMElDczlJSE14VzJsZElEMDlJSE15VzJsZElEOGdNQ0E2SURFN1hHNGdJQ0FnY21WMGRYSnVJR1JwYzNRZ0x5QnpNUzVzWlc1bmRHZzdYRzRnSUgxY2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR05oZEdWbmIzSnBZMkZzUkdsemRHRnVZMlVvY3pFNklITjBjbWx1Wnl3Z2N6STZJSE4wY21sdVp5azZJRzUxYldKbGNpQjdYRzRnSUhKbGRIVnliaUJ6TVNBOVBUMGdjeklnUHlBd0lEb2dNVHRjYm4xY2JseHVMeW9xSUZWdWFXWnBaV1FnWTJ4aGMzTWdhVzF3YkdWdFpXNTBhVzVuSUdScFptWmxjbVZ1ZENCemRISnBibWNnYldWaGMzVnlaWE11SUNvdlhHNWxlSEJ2Y25RZ1kyeGhjM01nVFdWaGMzVnlaU0I3WEc0Z0lIQnliM1JsWTNSbFpDQnRaWFJvYjJRNklFdHViM2R1VFdWMGNtbGpjenRjYmlBZ2NISnZkR1ZqZEdWa0lHUmhkR0ZVZVhCbE9pQkJkbUZwYkdGaWJHVkVZWFJoVkhsd1pYTTdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFTnlaV0YwWlhNZ1lXNGdhVzV6ZEdGdVkyVWdiMllnVFdWaGMzVnlaU0IzYVhSb0lDNWNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUcxbGRHaHZaQ0JOWlhSb2IyUWdkRzhnWTJGc1kzVnNZWFJsSUdScGMzUmhibU5sSUdKbGRIZGxaVzRnYzNSeWFXNW5jeTVjYmlBZ0lDb2dRRzFsYldKbGNtOW1JRTFsWVhOMWNtVnlYRzRnSUNBcUwxeHVJQ0JqYjI1emRISjFZM1J2Y2lodFpYUm9iMlE2SUV0dWIzZHVUV1YwY21samN5a2dlMXh1SUNBZ0lIUm9hWE11YldWMGFHOWtJRDBnYldWMGFHOWtPMXh1SUNBZ0lIUm9hWE11WkdGMFlWUjVjR1VnUFNCTlpYUnlhV05VYjBSaGRHRlVlWEJsVzIxbGRHaHZaRjBnWVhNZ1FYWmhhV3hoWW14bFJHRjBZVlI1Y0dWek8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJuTWdZM1Z6ZEc5dElITjBjbWx1WnlCa2FYTjBZVzVqWlNCbWRXNWpkR2x2YmlCemNHVmphV1pwWldRdVhHNGdJQ0FxSUVCd1lYSmhiU0I3YjNCMGMzMGdiM0IwY3lCUGNIUnBiMjV6SUdadmNpQjBhR1VnYldWaGMzVnlaUzRnZFhObFpDQm1iM0lnYldGamNtOXRiMnhsWTNWc1pTQmthWE4wWVc1alpYTmNiaUFnSUNvZ1FISmxkSFZ5YmlCN1JHbHpkR0Z1WTJWTlpYUnlhV045SUVOaGJHeGlZV05ySUc5bUlIUm9aU0J0WldGemRYSmxJR05vYjNObGJpNWNiaUFnSUNvZ1FHMWxiV0psY205bUlFMWxZWE4xY21WeVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ1oyVjBUV1ZoYzNWeVpTaHZjSFJ6UHpvZ1lXNTVLVG9nUkdsemRHRnVZMlZOWlhSeWFXTWdlMXh1SUNBZ0lHTnZibk4wSUdScFkzUTZJSHNnVzJ0bGVUb2djM1J5YVc1blhUcGNiaUFnSUNBZ0lIdGJhMlY1TWpvZ2MzUnlhVzVuWFRvZ1JHbHpkR0Z1WTJWTlpYUnlhV01nZkNBb0tHOXdkSE02SUdGdWVTa2dQVDRnUkdsemRHRnVZMlZOWlhSeWFXTXBmVnh1SUNBZ0lIMGdQU0JCZG1GcGJHRmliR1ZOWlhSeWFXTnpPMXh1SUNBZ0lHbG1JQ2doWkdsamRDNW9ZWE5QZDI1UWNtOXdaWEowZVNoMGFHbHpMbVJoZEdGVWVYQmxLU0I4ZkNBaFpHbGpkRnQwYUdsekxtUmhkR0ZVZVhCbFhTNW9ZWE5QZDI1UWNtOXdaWEowZVNoMGFHbHpMbTFsZEdodlpDa3BYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1lGVnVhMjV2ZDI0Z2JXVmhjM1Z5WlNBa2UzUm9hWE11YldWMGFHOWtmU0JtYjNJZ1pHRjBZU0IwZVhCbElDUjdkR2hwY3k1a1lYUmhWSGx3WlgxZ0tUdGNiaUFnSUNCeVpYUjFjbTRnYVhOTllXTnliMDF2YkdWamRXeGxUV1YwY21saktIUm9hWE11YldWMGFHOWtLU0EvWEc0Z0lDQWdJQ0FvWkdsamRGdDBhR2x6TG1SaGRHRlVlWEJsWFZ0MGFHbHpMbTFsZEdodlpGMGdZWE1nS0NodmNIUnpPaUJoYm5rcElEMCtJRVJwYzNSaGJtTmxUV1YwY21saktTa29iM0IwY3lrZ09seHVJQ0FnSUNBZ1pHbGpkRnQwYUdsekxtUmhkR0ZVZVhCbFhWdDBhR2x6TG0xbGRHaHZaRjBnWVhNZ1JHbHpkR0Z1WTJWTlpYUnlhV003WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1Y3lCamRYTjBiMjBnYzNSeWFXNW5JR1JwYzNSaGJtTmxJR0o1SUhSb1pTQm5hWFpsYmlCa1lYUmhJSFI1Y0dVdVhHNGdJQ0FxSUVCd1lYSmhiU0I3UVhaaGFXeGhZbXhsUkdGMFlWUjVjR1Z6ZlNCa1lYUmhWSGx3WlNCTlpYUnlhV01uY3lCa1lYUmhJSFI1Y0dWY2JpQWdJQ29nUUhKbGRIVnliaUI3YzNSeWFXNW5XMTE5SUUxbGRISnBZeUJ1WVcxbGN5QjNhR2xqYUNCbGVIQmxZM1J6SUhSb1pTQm5hWFpsYmlCa1lYUmhJSFI1Y0dWY2JpQWdJQ29nUUcxbGJXSmxjbTltSUUxbFlYTjFjbVZ5WEc0Z0lDQXFMMXh1SUNCd2RXSnNhV01nYzNSaGRHbGpJR2RsZEUxbGRISnBZMEo1UkdGMFlWUjVjR1VvWkdGMFlWUjVjR1U2SUVGMllXbHNZV0pzWlVSaGRHRlVlWEJsY3lrNklITjBjbWx1WjF0ZElIdGNiaUFnSUNCeVpYUjFjbTRnVDJKcVpXTjBMbXRsZVhNb1FYWmhhV3hoWW14bFRXVjBjbWxqYzF0a1lYUmhWSGx3WlYwcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xSUZKbGRIVnlibk1nYldWMGNtbGpJRzVoYldWeklHRjJZV2xzWVdKc1pTNWNiaUFnSUNvZ1FHMWxiV0psY205bUlFMWxZWE4xY21WeVhHNGdJQ0FxTDF4dUlDQnpkR0YwYVdNZ1oyVjBJR0YyWVdsc1lXSnNaVTFsWVhOMWNtVnpLQ2s2SUhOMGNtbHVaMXRkSUh0Y2JpQWdJQ0J5WlhSMWNtNGdUMkpxWldOMExtdGxlWE1vUVhaaGFXeGhZbXhsVFdWMGNtbGpjeWs3WEc0Z0lIMWNibjFjYmlKZGZRPT0iLCJleHBvcnQgdmFyIERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzO1xuKGZ1bmN0aW9uIChEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kcykge1xuICAgIERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzW1wiRVVDTElERUFOXCJdID0gXCJFVUNMSURFQU5cIjtcbiAgICBEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kc1tcIk1BTkhBVFRBTlwiXSA9IFwiTUFOSEFUVEFOXCI7XG59KShEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kcyB8fCAoRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMgPSB7fSkpO1xuO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEhsd1pYTXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lKMGVYQmxjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeE5RVUZOTEVOQlFVNHNTVUZCV1N3d1FrRkhWRHRCUVVoSUxGZEJRVmtzTUVKQlFUQkNPMGxCUTJ4RExIRkVRVUYxUWl4RFFVRkJPMGxCUTNaQ0xIRkVRVUYxUWl4RFFVRkJPMEZCUTNwQ0xFTkJRVU1zUlVGSVV5d3dRa0ZCTUVJc1MwRkJNVUlzTUVKQlFUQkNMRkZCUjI1RE8wRkJRVUVzUTBGQlF5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbVY0Y0c5eWRDQmxiblZ0SUVScGMzUmhibU5sUVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlJ6SUh0Y2JpQWdJQ0JGVlVOTVNVUkZRVTRnUFNBblJWVkRURWxFUlVGT0p5eGNiaUFnSUNCTlFVNUlRVlJVUVU0Z1BTQW5UVUZPU0VGVVZFRk9KeXhjYmlBZ2ZUdGNibHh1Wlhod2IzSjBJSFI1Y0dVZ1JHbHpkR0Z1WTJWQloyZHlaV2RoZEdsdmJrMWxkR2h2WkNBOUlHdGxlVzltSUhSNWNHVnZaaUJFYVhOMFlXNWpaVUZuWjNKbFoyRjBhVzl1VFdWMGFHOWtjenRjYmlKZGZRPT0iLCJpbXBvcnQgeyBEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kcyB9IGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0IGNvbnN0IGlzTmlsID0gKHgpID0+IHggPT09IG51bGwgfHwgeCA9PT0gdW5kZWZpbmVkO1xuZXhwb3J0IGZ1bmN0aW9uIGluc2VydFNtYWxsZXIoZGlzdGFuY2VzQXIsIGluZGV4ZXMsIG51bSwgaW5kZXgpIHtcbiAgICBpZiAobnVtID4gZGlzdGFuY2VzQXJbZGlzdGFuY2VzQXIubGVuZ3RoIC0gMV0pXG4gICAgICAgIHJldHVybjtcbiAgICBjb25zdCBuZXdQb3NpdGlvbiA9IGRpc3RhbmNlc0FyLmZpbmRJbmRleCgodikgPT4gbnVtIDwgdik7XG4gICAgZGlzdGFuY2VzQXIucG9wKCk7XG4gICAgZGlzdGFuY2VzQXIuc3BsaWNlKG5ld1Bvc2l0aW9uLCAwLCBudW0pO1xuICAgIGluZGV4ZXMucG9wKCk7XG4gICAgaW5kZXhlcy5zcGxpY2UobmV3UG9zaXRpb24sIDAsIGluZGV4KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRMYXJnZXIoZGlzdGFuY2VzQXIsIGluZGV4ZXMsIG51bSwgaW5kZXgpIHtcbiAgICBpZiAobnVtIDwgZGlzdGFuY2VzQXJbZGlzdGFuY2VzQXIubGVuZ3RoIC0gMV0pXG4gICAgICAgIHJldHVybjtcbiAgICBjb25zdCBuZXdQb3NpdGlvbiA9IGRpc3RhbmNlc0FyLmZpbmRJbmRleCgodikgPT4gbnVtID4gdik7XG4gICAgZGlzdGFuY2VzQXIucG9wKCk7XG4gICAgZGlzdGFuY2VzQXIuc3BsaWNlKG5ld1Bvc2l0aW9uLCAwLCBudW0pO1xuICAgIGluZGV4ZXMucG9wKCk7XG4gICAgaW5kZXhlcy5zcGxpY2UobmV3UG9zaXRpb24sIDAsIGluZGV4KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRBZ2dyZWdhdGlvbkZ1bmN0aW9uKGFnZ3JlZ2F0aW9uTWV0aG9kLCB3ZWlnaHRzKSB7XG4gICAgc3dpdGNoIChhZ2dyZWdhdGlvbk1ldGhvZCkge1xuICAgICAgICBjYXNlIERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzLk1BTkhBVFRBTjpcbiAgICAgICAgICAgIHJldHVybiAodnMpID0+IHZzLnJlZHVjZSgoYWNjLCB2YWwsIGlkeCkgPT4gYWNjICsgdmFsICogd2VpZ2h0c1tpZHhdLCAwKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiAodnMpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBldWNsaWRlYW5cbiAgICAgICAgICAgICAgICBjb25zdCBzdW0gPSB2cy5yZWR1Y2UoKGFjYywgdmFsLCBpZHgpID0+IGFjYyArICh2YWwgKiB3ZWlnaHRzW2lkeF0pICoqIDIsIDApO1xuICAgICAgICAgICAgICAgIHJldHVybiBNYXRoLnNxcnQoc3VtKTtcbiAgICAgICAgICAgIH07XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZFhScGJITXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lKMWRHbHNjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeFBRVUZQTEVWQlFUUkNMREJDUVVFd1FpeEZRVUZETEUxQlFVMHNVMEZCVXl4RFFVRkRPMEZCUlRsRkxFMUJRVTBzUTBGQlF5eE5RVUZOTEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVUwc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eExRVUZMTEVsQlFVa3NTVUZCU1N4RFFVRkRMRXRCUVVzc1UwRkJVeXhEUVVGRE8wRkJSUzlFTEUxQlFVMHNWVUZCVlN4aFFVRmhMRU5CUVVNc1YwRkJjVUlzUlVGQlJTeFBRVUZwUWl4RlFVRkZMRWRCUVZjc1JVRkJSU3hMUVVGaE8wbEJRMmhITEVsQlFVa3NSMEZCUnl4SFFVRkhMRmRCUVZjc1EwRkJReXhYUVVGWExFTkJRVU1zVFVGQlRTeEhRVUZETEVOQlFVTXNRMEZCUXp0UlFVTjZReXhQUVVGUE8wbEJSVlFzVFVGQlRTeFhRVUZYTEVkQlFVY3NWMEZCVnl4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNSMEZCUnl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRekZFTEZkQlFWY3NRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJRenRKUVVOc1FpeFhRVUZYTEVOQlFVTXNUVUZCVFN4RFFVRkRMRmRCUVZjc1JVRkJSU3hEUVVGRExFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZEZUVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETzBsQlEyUXNUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJReXhYUVVGWExFVkJRVVVzUTBGQlF5eEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMEZCUTNoRExFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNXVUZCV1N4RFFVRkRMRmRCUVhGQ0xFVkJRVVVzVDBGQmFVSXNSVUZCUlN4SFFVRlhMRVZCUVVVc1MwRkJZVHRKUVVNdlJpeEpRVUZKTEVkQlFVY3NSMEZCUnl4WFFVRlhMRU5CUVVNc1YwRkJWeXhEUVVGRExFMUJRVTBzUjBGQlF5eERRVUZETEVOQlFVTTdVVUZEZWtNc1QwRkJUenRKUVVWVUxFMUJRVTBzVjBGQlZ5eEhRVUZITEZkQlFWY3NRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVNeFJDeFhRVUZYTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNN1NVRkRiRUlzVjBGQlZ5eERRVUZETEUxQlFVMHNRMEZCUXl4WFFVRlhMRVZCUVVVc1EwRkJReXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETzBsQlEzaERMRTlCUVU4c1EwRkJReXhIUVVGSExFVkJRVVVzUTBGQlF6dEpRVU5rTEU5QlFVOHNRMEZCUXl4TlFVRk5MRU5CUVVNc1YwRkJWeXhGUVVGRkxFTkJRVU1zUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0QlFVTjRReXhEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEhOQ1FVRnpRaXhEUVVOd1F5eHBRa0ZCTkVNc1JVRkJSU3hQUVVGcFFqdEpRVVV2UkN4UlFVRlJMR2xDUVVGcFFpeEZRVUZGTzFGQlEzcENMRXRCUVVzc01FSkJRVEJDTEVOQlFVTXNVMEZCVXp0WlFVTjJReXhQUVVGUExFTkJRVU1zUlVGQldTeEZRVUZGTEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRVZCUVVVc1JVRkJSU3hEUVVGRExFZEJRVWNzUjBGQlJ5eEhRVUZITEVkQlFVY3NUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEzSkdPMWxCUTBVc1QwRkJUeXhEUVVGRExFVkJRVmtzUlVGQlJTeEZRVUZGTzJkQ1FVTjBRaXhaUVVGWk8yZENRVU5hTEUxQlFVMHNSMEZCUnl4SFFVRkhMRVZCUVVVc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eEhRVUZITEVWQlFVVXNSMEZCUnl4RlFVRkZMRWRCUVVjc1JVRkJSU3hGUVVGRkxFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNSMEZCUnl4SFFVRkhMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRuUWtGRE4wVXNUMEZCVHl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFsQlEzaENMRU5CUVVNc1EwRkJRenRMUVVOTU8wRkJRMGdzUTBGQlF5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdSR2x6ZEdGdVkyVkJaMmR5WldkaGRHbHZiazFsZEdodlpDd2dSR2x6ZEdGdVkyVkJaMmR5WldkaGRHbHZiazFsZEdodlpITjlJR1p5YjIwZ0p5NHZkSGx3WlhNbk8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ2FYTk9hV3dnUFNBb2VEb2dZVzU1S1NBOVBpQjRJRDA5UFNCdWRXeHNJSHg4SUhnZ1BUMDlJSFZ1WkdWbWFXNWxaRHRjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdsdWMyVnlkRk50WVd4c1pYSW9aR2x6ZEdGdVkyVnpRWEk2SUc1MWJXSmxjbHRkTENCcGJtUmxlR1Z6T2lCdWRXMWlaWEpiWFN3Z2JuVnRPaUJ1ZFcxaVpYSXNJR2x1WkdWNE9pQnVkVzFpWlhJcElIdGNiaUFnYVdZZ0tHNTFiU0ErSUdScGMzUmhibU5sYzBGeVcyUnBjM1JoYm1ObGMwRnlMbXhsYm1kMGFDMHhYU2xjYmlBZ0lDQnlaWFIxY200N1hHNWNiaUFnWTI5dWMzUWdibVYzVUc5emFYUnBiMjRnUFNCa2FYTjBZVzVqWlhOQmNpNW1hVzVrU1c1a1pYZ29LSFlwSUQwK0lHNTFiU0E4SUhZcE8xeHVJQ0JrYVhOMFlXNWpaWE5CY2k1d2IzQW9LVHRjYmlBZ1pHbHpkR0Z1WTJWelFYSXVjM0JzYVdObEtHNWxkMUJ2YzJsMGFXOXVMQ0F3TENCdWRXMHBPMXh1SUNCcGJtUmxlR1Z6TG5CdmNDZ3BPMXh1SUNCcGJtUmxlR1Z6TG5Od2JHbGpaU2h1WlhkUWIzTnBkR2x2Yml3Z01Dd2dhVzVrWlhncE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYVc1elpYSjBUR0Z5WjJWeUtHUnBjM1JoYm1ObGMwRnlPaUJ1ZFcxaVpYSmJYU3dnYVc1a1pYaGxjem9nYm5WdFltVnlXMTBzSUc1MWJUb2diblZ0WW1WeUxDQnBibVJsZURvZ2JuVnRZbVZ5S1NCN1hHNGdJR2xtSUNodWRXMGdQQ0JrYVhOMFlXNWpaWE5CY2x0a2FYTjBZVzVqWlhOQmNpNXNaVzVuZEdndE1WMHBYRzRnSUNBZ2NtVjBkWEp1TzF4dVhHNGdJR052Ym5OMElHNWxkMUJ2YzJsMGFXOXVJRDBnWkdsemRHRnVZMlZ6UVhJdVptbHVaRWx1WkdWNEtDaDJLU0E5UGlCdWRXMGdQaUIyS1R0Y2JpQWdaR2x6ZEdGdVkyVnpRWEl1Y0c5d0tDazdYRzRnSUdScGMzUmhibU5sYzBGeUxuTndiR2xqWlNodVpYZFFiM05wZEdsdmJpd2dNQ3dnYm5WdEtUdGNiaUFnYVc1a1pYaGxjeTV3YjNBb0tUdGNiaUFnYVc1a1pYaGxjeTV6Y0d4cFkyVW9ibVYzVUc5emFYUnBiMjRzSURBc0lHbHVaR1Y0S1R0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2RsZEVGblozSmxaMkYwYVc5dVJuVnVZM1JwYjI0b1hHNGdJR0ZuWjNKbFoyRjBhVzl1VFdWMGFHOWtPaUJFYVhOMFlXNWpaVUZuWjNKbFoyRjBhVzl1VFdWMGFHOWtMQ0IzWldsbmFIUnpPaUJ1ZFcxaVpYSmJYVnh1S1RvZ0tIWmhiSFZsY3pvZ2JuVnRZbVZ5VzEwcElEMCtJRzUxYldKbGNpQjdYRzRnSUhOM2FYUmphQ0FvWVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlFwSUh0Y2JpQWdJQ0JqWVhObElFUnBjM1JoYm1ObFFXZG5jbVZuWVhScGIyNU5aWFJvYjJSekxrMUJUa2hCVkZSQlRqcGNiaUFnSUNBZ0lISmxkSFZ5YmlBb2RuTTZJRzUxYldKbGNsdGRLU0E5UGlCMmN5NXlaV1IxWTJVb0tHRmpZeXdnZG1Gc0xDQnBaSGdwSUQwK0lHRmpZeUFySUhaaGJDQXFJSGRsYVdkb2RITmJhV1I0WFN3Z01DazdYRzRnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUhKbGRIVnliaUFvZG5NNklHNTFiV0psY2x0ZEtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUM4dklHVjFZMnhwWkdWaGJseHVJQ0FnSUNBZ0lDQmpiMjV6ZENCemRXMGdQU0IyY3k1eVpXUjFZMlVvS0dGall5d2dkbUZzTENCcFpIZ3BJRDArSUdGall5QXJJQ2gyWVd3Z0tpQjNaV2xuYUhSelcybGtlRjBwSUNvcUlESXNJREFwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnVFdGMGFDNXpjWEowS0hOMWJTazdYRzRnSUNBZ0lDQjlPMXh1SUNCOVhHNTlYRzRpWFgwPSIsImV4cG9ydCBjbGFzcyBEaXN0YW5jZU1hdHJpeFNlcnZpY2Uge1xuICAgIF93b3JrZXJzO1xuICAgIF93b3JrZXJDb3VudDtcbiAgICBfdGVybWluYXRlT25Db21wbGV0ZTtcbiAgICBjb25zdHJ1Y3Rvcih1c2VDb25jdXJyZW50V29ya2VycyA9IHRydWUsIHRlcm1pbmF0ZU9uQ29tcGxldGUgPSB0cnVlKSB7XG4gICAgICAgIGNvbnN0IHRocmVhZENvdW50ID0gbmF2aWdhdG9yLmhhcmR3YXJlQ29uY3VycmVuY3k7XG4gICAgICAgIHRoaXMuX3dvcmtlckNvdW50ID0gdXNlQ29uY3VycmVudFdvcmtlcnMgPyBNYXRoLm1heCh0aHJlYWRDb3VudCAtIDIsIDEpIDogMTtcbiAgICAgICAgdGhpcy5fd29ya2VycyA9IG5ldyBBcnJheSh0aGlzLl93b3JrZXJDb3VudCkuZmlsbChudWxsKVxuICAgICAgICAgICAgLm1hcCgoKSA9PiBuZXcgV29ya2VyKG5ldyBVUkwoJy4vZGlzdGFuY2UtbWF0cml4LXdvcmtlcicsIGltcG9ydC5tZXRhLnVybCkpKTtcbiAgICAgICAgdGhpcy5fdGVybWluYXRlT25Db21wbGV0ZSA9IHRlcm1pbmF0ZU9uQ29tcGxldGU7XG4gICAgfVxuICAgIDtcbiAgICBhc3luYyBjYWxjKHZhbHVlcywgZm5OYW1lLCBub3JtYWxpemUgPSB0cnVlLCBvcHRzKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxlbiA9IHZhbHVlcy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJvbWlzZXMgPSBuZXcgQXJyYXkodGhpcy5fd29ya2VyQ291bnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRvdGFsTGVuZ3RoID0gbGVuICogKGxlbiAtIDEpIC8gMjsgLy8gc2l6ZSBvZiByZWR1Y2VkIGRpc3RhbmNlIG1hdHJpeFxuICAgICAgICAgICAgICAgIHRoaXMuX3dvcmtlckNvdW50ID0gTWF0aC5taW4odGhpcy5fd29ya2VyQ291bnQsIHRvdGFsTGVuZ3RoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBjaHVua1NpemUgPSB0b3RhbExlbmd0aCAvIHRoaXMuX3dvcmtlckNvdW50O1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlTWF0cml4ID0gbmV3IEZsb2F0MzJBcnJheSh0b3RhbExlbmd0aCk7XG4gICAgICAgICAgICAgICAgbGV0IGVuZFJvdyA9IDA7XG4gICAgICAgICAgICAgICAgbGV0IGVuZENvbCA9IDE7XG4gICAgICAgICAgICAgICAgLy8gbWlubWF4IGZvciBub3JtYWxpemF0aW9uXG4gICAgICAgICAgICAgICAgbGV0IGxtaW4gPSAwO1xuICAgICAgICAgICAgICAgIGxldCBsbWF4ID0gTnVtYmVyLk1JTl9WQUxVRTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuX3dvcmtlckNvdW50OyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSBNYXRoLmZsb29yKGkgKiBjaHVua1NpemUpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSAoaSA9PT0gdGhpcy5fd29ya2VyQ291bnQgLSAxKSA/IHRvdGFsTGVuZ3RoIDogTWF0aC5mbG9vcigoaSArIDEpICogY2h1bmtTaXplKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RhcnRSb3cgPSBlbmRSb3c7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0Q29sID0gZW5kQ29sO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaSAhPT0gdGhpcy5fd29ya2VyQ291bnQgLSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGVzZSBmb3JtdWxhcyBtYXAgdGhlIGxpbmVhciBpbmRleCB0byB0aGUgdXBwZXIgdHJpYW5ndWxhciBtYXRyaXggaW5kaWNlc1xuICAgICAgICAgICAgICAgICAgICAgICAgZW5kUm93ID0gbGVuIC0gMiAtIE1hdGguZmxvb3IoTWF0aC5zcXJ0KC04ICogZW5kICsgNCAqIGxlbiAqIChsZW4gLSAxKSAtIDcpIC8gMiAtIDAuNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbmRDb2wgPSBlbmQgLSBsZW4gKiBlbmRSb3cgKyBNYXRoLmZsb29yKChlbmRSb3cgKyAxKSAqIChlbmRSb3cgKyAyKSAvIDIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3dvcmtlcnNbaV0ucG9zdE1lc3NhZ2UoeyB2YWx1ZXMsIGZuTmFtZSwgc3RhcnRSb3csIHN0YXJ0Q29sLCBjaHVuY2tTaXplOiBlbmQgLSBzdGFydCwgb3B0cyB9KTtcbiAgICAgICAgICAgICAgICAgICAgcHJvbWlzZXNbaV0gPSBuZXcgUHJvbWlzZSgocmVzb2x2ZVdvcmtlciwgcmVqZWN0V29ya2VyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl93b3JrZXJzW2ldLm9ubWVzc2FnZSA9ICh7IGRhdGE6IHsgZXJyb3IsIGRpc3RhbmNlTWF0cml4RGF0YSwgbWluLCBtYXggfSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGVybWluYXRlT25Db21wbGV0ZSAmJiB0aGlzLl93b3JrZXJzW2ldLnRlcm1pbmF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWplY3RXb3JrZXIoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdGFuY2VNYXRyaXguc2V0KGRpc3RhbmNlTWF0cml4RGF0YSwgc3RhcnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobWluIDwgbG1pbilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxtaW4gPSBtaW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtYXggPiBsbWF4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG1heCA9IG1heDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZVdvcmtlcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcyk7XG4gICAgICAgICAgICAgICAgaWYgKG5vcm1hbGl6ZSlcbiAgICAgICAgICAgICAgICAgICAgZGlzdGFuY2VNYXRyaXguZm9yRWFjaCgodmFsdWUsIGluZGV4KSA9PiB7IGRpc3RhbmNlTWF0cml4W2luZGV4XSA9ICh2YWx1ZSAtIGxtaW4pIC8gKGxtYXggLSBsbWluKTsgfSk7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShkaXN0YW5jZU1hdHJpeCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHRlcm1pbmF0ZSgpIHtcbiAgICAgICAgdGhpcy5fd29ya2Vycy5mb3JFYWNoKCh3b3JrZXIpID0+IHdvcmtlci50ZXJtaW5hdGUoKSk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pWkdsemRHRnVZMlV0YldGMGNtbDRMWE5sY25acFkyVXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lKa2FYTjBZVzVqWlMxdFlYUnlhWGd0YzJWeWRtbGpaUzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGRlFTeE5RVUZOTEU5QlFVOHNjVUpCUVhGQ08wbEJRM1JDTEZGQlFWRXNRMEZCVnp0SlFVTnVRaXhaUVVGWkxFTkJRVk03U1VGRGNrSXNiMEpCUVc5Q0xFTkJRVlU3U1VGRGRFTXNXVUZCYlVJc2IwSkJRVzlDTEVkQlFVY3NTVUZCU1N4RlFVRkZMRzFDUVVGdFFpeEhRVUZITEVsQlFVazdVVUZEZUVVc1RVRkJUU3hYUVVGWExFZEJRVWNzVTBGQlV5eERRVUZETEcxQ1FVRnRRaXhEUVVGRE8xRkJRMnhFTEVsQlFVa3NRMEZCUXl4WlFVRlpMRWRCUVVjc2IwSkJRVzlDTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zVjBGQlZ5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlF6VkZMRWxCUVVrc1EwRkJReXhSUVVGUkxFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTTdZVUZEY0VRc1IwRkJSeXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEVsQlFVa3NUVUZCVFN4RFFVRkRMRWxCUVVrc1IwRkJSeXhEUVVGRExEQkNRVUV3UWl4RlFVRkZMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUXk5RkxFbEJRVWtzUTBGQlF5eHZRa0ZCYjBJc1IwRkJSeXh0UWtGQmJVSXNRMEZCUXp0SlFVTnNSQ3hEUVVGRE8wbEJRVUVzUTBGQlF6dEpRVVZMTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVrc1RVRkJLMElzUlVGQlJTeE5RVUZ2UWl4RlFVTjRSU3hUUVVGVExFZEJRVWNzU1VGQlNTeEZRVUZGTEVsQlFYbENPMUZCUXpORExFOUJRVThzU1VGQlNTeFBRVUZQTEVOQlFVTXNTMEZCU3l4RlFVRkZMRTlCUVU4c1JVRkJSU3hOUVVGTkxFVkJRVVVzUlVGQlJUdFpRVU16UXl4SlFVRkpPMmRDUVVOR0xFMUJRVTBzUjBGQlJ5eEhRVUZITEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNN1owSkJRekZDTEUxQlFVMHNVVUZCVVN4SFFVRkhMRWxCUVVrc1MwRkJTeXhEUVVGblFpeEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNN1owSkJRemRFTEUxQlFVMHNWMEZCVnl4SFFVRkhMRWRCUVVjc1IwRkJSeXhEUVVGRExFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhyUTBGQmEwTTdaMEpCUXpORkxFbEJRVWtzUTBGQlF5eFpRVUZaTEVkQlFVY3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zV1VGQldTeEZRVUZGTEZkQlFWY3NRMEZCUXl4RFFVRkRPMmRDUVVNM1JDeE5RVUZOTEZOQlFWTXNSMEZCUnl4WFFVRlhMRWRCUVVjc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF6dG5Ra0ZEYkVRc1RVRkJUU3hqUVVGakxFZEJRVWNzU1VGQlNTeFpRVUZaTEVOQlFVTXNWMEZCVnl4RFFVRkRMRU5CUVVNN1owSkJRM0pFTEVsQlFVa3NUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJRenRuUWtGRFppeEpRVUZKTEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNN1owSkJRMllzTWtKQlFUSkNPMmRDUVVNelFpeEpRVUZKTEVsQlFVa3NSMEZCUnl4RFFVRkRMRU5CUVVNN1owSkJRMklzU1VGQlNTeEpRVUZKTEVkQlFVY3NUVUZCVFN4RFFVRkRMRk5CUVZNc1EwRkJRenRuUWtGRE5VSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4WlFVRlpMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3YjBKQlF6RkRMRTFCUVUwc1MwRkJTeXhIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4SFFVRkhMRk5CUVZNc1EwRkJReXhEUVVGRE8yOUNRVU40UXl4TlFVRk5MRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUzBGQlN5eEpRVUZKTEVOQlFVTXNXVUZCV1N4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFhRVUZYTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1UwRkJVeXhEUVVGRExFTkJRVU03YjBKQlF6RkdMRTFCUVUwc1VVRkJVU3hIUVVGSExFMUJRVTBzUTBGQlF6dHZRa0ZEZUVJc1RVRkJUU3hSUVVGUkxFZEJRVWNzVFVGQlRTeERRVUZETzI5Q1FVTjRRaXhKUVVGSkxFTkJRVU1zUzBGQlN5eEpRVUZKTEVOQlFVTXNXVUZCV1N4SFFVRkhMRU5CUVVNc1JVRkJSVHQzUWtGREwwSXNOa1ZCUVRaRk8zZENRVU0zUlN4TlFVRk5MRWRCUVVjc1IwRkJSeXhIUVVGSExFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NSMEZCUnl4SFFVRkhMRU5CUVVNc1IwRkJSeXhIUVVGSExFZEJRVWNzUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRPM2RDUVVOMlJpeE5RVUZOTEVkQlFVY3NSMEZCUnl4SFFVRkhMRWRCUVVjc1IwRkJSeXhOUVVGTkxFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF6dHhRa0ZETTBVN2IwSkJRMFFzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhYUVVGWExFTkJRVU1zUlVGQlF5eE5RVUZOTEVWQlFVVXNUVUZCVFN4RlFVRkZMRkZCUVZFc1JVRkJSU3hSUVVGUkxFVkJRVVVzVlVGQlZTeEZRVUZGTEVkQlFVY3NSMEZCUnl4TFFVRkxMRVZCUVVVc1NVRkJTU3hGUVVGRExFTkJRVU1zUTBGQlF6dHZRa0ZEYkVjc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVsQlFVa3NUMEZCVHl4RFFVRkRMRU5CUVVNc1lVRkJZU3hGUVVGRkxGbEJRVmtzUlVGQlJTeEZRVUZGTzNkQ1FVTjRSQ3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRk5CUVZNc1IwRkJSeXhEUVVGRExFVkJRVU1zU1VGQlNTeEZRVUZGTEVWQlFVTXNTMEZCU3l4RlFVRkZMR3RDUVVGclFpeEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRVZCUVVNc1JVRkJReXhGUVVGUkxFVkJRVVU3TkVKQlEyNUdMRWxCUVVrc1EwRkJReXh2UWtGQmIwSXNTVUZCU1N4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPelJDUVVNeFJDeEpRVUZKTEV0QlFVc3NSVUZCUlR0blEwRkRWQ3haUVVGWkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdOa0pCUTNKQ08ybERRVUZOTzJkRFFVTk1MR05CUVdNc1EwRkJReXhIUVVGSExFTkJRVU1zYTBKQlFXdENMRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU03WjBOQlF6bERMRWxCUVVrc1IwRkJSeXhIUVVGSExFbEJRVWs3YjBOQlExb3NTVUZCU1N4SFFVRkhMRWRCUVVjc1EwRkJRenRuUTBGRFlpeEpRVUZKTEVkQlFVY3NSMEZCUnl4SlFVRkpPMjlEUVVOYUxFbEJRVWtzUjBGQlJ5eEhRVUZITEVOQlFVTTdaME5CUTJJc1lVRkJZU3hGUVVGRkxFTkJRVU03TmtKQlEycENPM2RDUVVOSUxFTkJRVU1zUTBGQlF6dHZRa0ZEU2l4RFFVRkRMRU5CUVVNc1EwRkJRenRwUWtGRFNqdG5Ra0ZEUkN4TlFVRk5MRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTTdaMEpCUXpWQ0xFbEJRVWtzVTBGQlV6dHZRa0ZEV0N4alFVRmpMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUzBGQlN5eEZRVUZGTEV0QlFVc3NSVUZCUlN4RlFVRkZMRWRCUVVjc1kwRkJZeXhEUVVGRExFdEJRVXNzUTBGQlF5eEhRVUZITEVOQlFVTXNTMEZCU3l4SFFVRkhMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03WjBKQlEzaEhMRTlCUVU4c1EwRkJReXhqUVVGakxFTkJRVU1zUTBGQlF6dGhRVU42UWp0WlFVRkRMRTlCUVU4c1EwRkJReXhGUVVGRk8yZENRVU5XTEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRoUVVOWU8xRkJRMGdzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEVEN4RFFVRkRPMGxCUlUwc1UwRkJVenRSUVVOa0xFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1RVRkJUU3hGUVVGRkxFVkJRVVVzUTBGQlF5eE5RVUZOTEVOQlFVTXNVMEZCVXl4RlFVRkZMRU5CUVVNc1EwRkJRenRKUVVONFJDeERRVUZETzBOQlEwb2lMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdlMHR1YjNkdVRXVjBjbWxqYzMwZ1puSnZiU0FuTGk0dmRIbHdaV1F0YldWMGNtbGpjeWM3WEc1Y2JtVjRjRzl5ZENCamJHRnpjeUJFYVhOMFlXNWpaVTFoZEhKcGVGTmxjblpwWTJVZ2UxeHVJQ0FnSUhCeWFYWmhkR1VnWDNkdmNtdGxjbk02SUZkdmNtdGxjbHRkTzF4dUlDQWdJSEJ5YVhaaGRHVWdYM2R2Y210bGNrTnZkVzUwT2lCdWRXMWlaWEk3WEc0Z0lDQWdjSEpwZG1GMFpTQmZkR1Z5YldsdVlYUmxUMjVEYjIxd2JHVjBaVG9nWW05dmJHVmhianRjYmlBZ0lDQndkV0pzYVdNZ1kyOXVjM1J5ZFdOMGIzSW9kWE5sUTI5dVkzVnljbVZ1ZEZkdmNtdGxjbk1nUFNCMGNuVmxMQ0IwWlhKdGFXNWhkR1ZQYmtOdmJYQnNaWFJsSUQwZ2RISjFaU2tnZTF4dUlDQWdJQ0FnWTI5dWMzUWdkR2h5WldGa1EyOTFiblFnUFNCdVlYWnBaMkYwYjNJdWFHRnlaSGRoY21WRGIyNWpkWEp5Wlc1amVUdGNiaUFnSUNBZ0lIUm9hWE11WDNkdmNtdGxja052ZFc1MElEMGdkWE5sUTI5dVkzVnljbVZ1ZEZkdmNtdGxjbk1nUHlCTllYUm9MbTFoZUNoMGFISmxZV1JEYjNWdWRDQXRJRElzSURFcElEb2dNVHRjYmlBZ0lDQWdJSFJvYVhNdVgzZHZjbXRsY25NZ1BTQnVaWGNnUVhKeVlYa29kR2hwY3k1ZmQyOXlhMlZ5UTI5MWJuUXBMbVpwYkd3b2JuVnNiQ2xjYmlBZ0lDQWdJQ0FnTG0xaGNDZ29LU0E5UGlCdVpYY2dWMjl5YTJWeUtHNWxkeUJWVWt3b0p5NHZaR2x6ZEdGdVkyVXRiV0YwY21sNExYZHZjbXRsY2ljc0lHbHRjRzl5ZEM1dFpYUmhMblZ5YkNrcEtUdGNiaUFnSUNBZ0lIUm9hWE11WDNSbGNtMXBibUYwWlU5dVEyOXRjR3hsZEdVZ1BTQjBaWEp0YVc1aGRHVlBia052YlhCc1pYUmxPMXh1SUNBZ0lIMDdYRzVjYmlBZ0lDQndkV0pzYVdNZ1lYTjVibU1nWTJGc1l6eFVQaWgyWVd4MVpYTTZJRUZ5Y21GNVBGUStJSHdnUVhKeVlYbE1hV3RsUEZRK0xDQm1iazVoYldVNklFdHViM2R1VFdWMGNtbGpjeXhjYmlBZ0lDQWdJRzV2Y20xaGJHbDZaU0E5SUhSeWRXVXNJRzl3ZEhNL09pQjdXMTg2SUhOMGNtbHVaMTA2SUdGdWVYMHBPaUJRY205dGFYTmxQRVpzYjJGME16SkJjbkpoZVQ0Z2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1bGR5QlFjbTl0YVhObEtHRnplVzVqSUNoeVpYTnZiSFpsTENCeVpXcGxZM1FwSUQwK0lIdGNiaUFnSUNBZ0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCc1pXNGdQU0IyWVd4MVpYTXViR1Z1WjNSb08xeHVJQ0FnSUNBZ0lDQWdJR052Ym5OMElIQnliMjFwYzJWeklEMGdibVYzSUVGeWNtRjVQRkJ5YjIxcGMyVThkbTlwWkQ0K0tIUm9hWE11WDNkdmNtdGxja052ZFc1MEtUdGNiaUFnSUNBZ0lDQWdJQ0JqYjI1emRDQjBiM1JoYkV4bGJtZDBhQ0E5SUd4bGJpQXFJQ2hzWlc0Z0xTQXhLU0F2SURJN0lDOHZJSE5wZW1VZ2IyWWdjbVZrZFdObFpDQmthWE4wWVc1alpTQnRZWFJ5YVhoY2JpQWdJQ0FnSUNBZ0lDQjBhR2x6TGw5M2IzSnJaWEpEYjNWdWRDQTlJRTFoZEdndWJXbHVLSFJvYVhNdVgzZHZjbXRsY2tOdmRXNTBMQ0IwYjNSaGJFeGxibWQwYUNrN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1kyaDFibXRUYVhwbElEMGdkRzkwWVd4TVpXNW5kR2dnTHlCMGFHbHpMbDkzYjNKclpYSkRiM1Z1ZER0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCa2FYTjBZVzVqWlUxaGRISnBlQ0E5SUc1bGR5QkdiRzloZERNeVFYSnlZWGtvZEc5MFlXeE1aVzVuZEdncE8xeHVJQ0FnSUNBZ0lDQWdJR3hsZENCbGJtUlNiM2NnUFNBd08xeHVJQ0FnSUNBZ0lDQWdJR3hsZENCbGJtUkRiMndnUFNBeE8xeHVJQ0FnSUNBZ0lDQWdJQzh2SUcxcGJtMWhlQ0JtYjNJZ2JtOXliV0ZzYVhwaGRHbHZibHh1SUNBZ0lDQWdJQ0FnSUd4bGRDQnNiV2x1SUQwZ01EdGNiaUFnSUNBZ0lDQWdJQ0JzWlhRZ2JHMWhlQ0E5SUU1MWJXSmxjaTVOU1U1ZlZrRk1WVVU3WEc0Z0lDQWdJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TGw5M2IzSnJaWEpEYjNWdWREc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQnpkR0Z5ZENBOUlFMWhkR2d1Wm14dmIzSW9hU0FxSUdOb2RXNXJVMmw2WlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmxibVFnUFNBb2FTQTlQVDBnZEdocGN5NWZkMjl5YTJWeVEyOTFiblFnTFNBeEtTQS9JSFJ2ZEdGc1RHVnVaM1JvSURvZ1RXRjBhQzVtYkc5dmNpZ29hU0FySURFcElDb2dZMmgxYm10VGFYcGxLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhOMFlYSjBVbTkzSUQwZ1pXNWtVbTkzTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ2MzUmhjblJEYjJ3Z1BTQmxibVJEYjJ3N1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2FTQWhQVDBnZEdocGN5NWZkMjl5YTJWeVEyOTFiblFnTFNBeEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJRlJvWlhObElHWnZjbTExYkdGeklHMWhjQ0IwYUdVZ2JHbHVaV0Z5SUdsdVpHVjRJSFJ2SUhSb1pTQjFjSEJsY2lCMGNtbGhibWQxYkdGeUlHMWhkSEpwZUNCcGJtUnBZMlZ6WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR1Z1WkZKdmR5QTlJR3hsYmlBdElESWdMU0JOWVhSb0xtWnNiMjl5S0UxaGRHZ3VjM0Z5ZENndE9DQXFJR1Z1WkNBcklEUWdLaUJzWlc0Z0tpQW9iR1Z1SUMwZ01Ta2dMU0EzS1NBdklESWdMU0F3TGpVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJtUkRiMndnUFNCbGJtUWdMU0JzWlc0Z0tpQmxibVJTYjNjZ0t5Qk5ZWFJvTG1ac2IyOXlLQ2hsYm1SU2IzY2dLeUF4S1NBcUlDaGxibVJTYjNjZ0t5QXlLU0F2SURJcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1ZmQyOXlhMlZ5YzF0cFhTNXdiM04wVFdWemMyRm5aU2g3ZG1Gc2RXVnpMQ0JtYms1aGJXVXNJSE4wWVhKMFVtOTNMQ0J6ZEdGeWRFTnZiQ3dnWTJoMWJtTnJVMmw2WlRvZ1pXNWtJQzBnYzNSaGNuUXNJRzl3ZEhOOUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhCeWIyMXBjMlZ6VzJsZElEMGdibVYzSUZCeWIyMXBjMlVvS0hKbGMyOXNkbVZYYjNKclpYSXNJSEpsYW1WamRGZHZjbXRsY2lrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TGw5M2IzSnJaWEp6VzJsZExtOXViV1Z6YzJGblpTQTlJQ2g3WkdGMFlUb2dlMlZ5Y205eUxDQmthWE4wWVc1alpVMWhkSEpwZUVSaGRHRXNJRzFwYml3Z2JXRjRmWDBwT2lCMmIybGtJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbDkwWlhKdGFXNWhkR1ZQYmtOdmJYQnNaWFJsSUNZbUlIUm9hWE11WDNkdmNtdGxjbk5iYVYwdWRHVnliV2x1WVhSbEtDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dWeWNtOXlLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpXcGxZM1JYYjNKclpYSW9aWEp5YjNJcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmthWE4wWVc1alpVMWhkSEpwZUM1elpYUW9aR2x6ZEdGdVkyVk5ZWFJ5YVhoRVlYUmhMQ0J6ZEdGeWRDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2JXbHVJRHdnYkcxcGJpbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYkcxcGJpQTlJRzFwYmp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h0WVhnZ1BpQnNiV0Y0S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnNiV0Y0SUQwZ2JXRjRPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WemIyeDJaVmR2Y210bGNpZ3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdmVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQmhkMkZwZENCUWNtOXRhWE5sTG1Gc2JDaHdjbTl0YVhObGN5azdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHNXZjbTFoYkdsNlpTbGNiaUFnSUNBZ0lDQWdJQ0FnSUdScGMzUmhibU5sVFdGMGNtbDRMbVp2Y2tWaFkyZ29LSFpoYkhWbExDQnBibVJsZUNrZ1BUNGdleUJrYVhOMFlXNWpaVTFoZEhKcGVGdHBibVJsZUYwZ1BTQW9kbUZzZFdVZ0xTQnNiV2x1S1NBdklDaHNiV0Y0SUMwZ2JHMXBiaWs3SUgwcE8xeHVJQ0FnSUNBZ0lDQWdJSEpsYzI5c2RtVW9aR2x6ZEdGdVkyVk5ZWFJ5YVhncE8xeHVJQ0FnSUNBZ0lDQjlJR05oZEdOb0lDaGxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVnFaV04wS0dVcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQndkV0pzYVdNZ2RHVnliV2x1WVhSbEtDazZJSFp2YVdRZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVmZDI5eWEyVnljeTVtYjNKRllXTm9LQ2gzYjNKclpYSXBJRDArSUhkdmNtdGxjaTUwWlhKdGFXNWhkR1VvS1NrN1hHNGdJQ0FnZlZ4dWZWeHVJbDE5IiwiLyoqXG4gKiBAbGljZW5zZVxuICpcbiAqIENvcHlyaWdodCAyMDE5IEdvb2dsZSBMTEMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKi9cbi8qKlxuICogU2ltcGxlIHJhbmRvbSBpbnRlZ2VyIGZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0YXVSYW5kSW50KG4sIHJhbmRvbSkge1xuICAgIHJldHVybiBNYXRoLmZsb29yKHJhbmRvbSgpICogbik7XG59XG4vKipcbiAqIFNpbXBsZSByYW5kb20gZmxvYXQgZnVuY3Rpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRhdVJhbmQocmFuZG9tKSB7XG4gICAgcmV0dXJuIHJhbmRvbSgpO1xufVxuLyoqXG4gKiBDb21wdXRlIHRoZSAoc3RhbmRhcmQgbDIpIG5vcm0gb2YgYSB2ZWN0b3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtKHZlYykge1xuICAgIGxldCByZXN1bHQgPSAwO1xuICAgIGZvciAobGV0IGl0ZW0gb2YgdmVjKSB7XG4gICAgICAgIHJlc3VsdCArPSBpdGVtICoqIDI7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnNxcnQocmVzdWx0KTtcbn1cbi8qKlxuICogQ3JlYXRlcyBhbiBlbXB0eSBhcnJheSAoZmlsbGVkIHdpdGggdW5kZWZpbmVkKVxuICovXG5leHBvcnQgZnVuY3Rpb24gZW1wdHkobikge1xuICAgIGNvbnN0IG91dHB1dCA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbjsgaSsrKSB7XG4gICAgICAgIG91dHB1dC5wdXNoKHVuZGVmaW5lZCk7XG4gICAgfVxuICAgIHJldHVybiBvdXRwdXQ7XG59XG4vKipcbiAqIENyZWF0ZXMgYW4gYXJyYXkgZmlsbGVkIHdpdGggaW5kZXggdmFsdWVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByYW5nZShuKSB7XG4gICAgcmV0dXJuIGVtcHR5KG4pLm1hcCgoXywgaSkgPT4gaSk7XG59XG4vKipcbiAqIENyZWF0ZXMgYW4gYXJyYXkgZmlsbGVkIHdpdGggYSBzcGVjaWZpYyB2YWx1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZmlsbGVkKG4sIHYpIHtcbiAgICByZXR1cm4gZW1wdHkobikubWFwKCgpID0+IHYpO1xufVxuLyoqXG4gKiBDcmVhdGVzIGFuIGFycmF5IGZpbGxlZCB3aXRoIHplcm9zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB6ZXJvcyhuKSB7XG4gICAgcmV0dXJuIGZpbGxlZChuLCAwKTtcbn1cbi8qKlxuICogQ3JlYXRlcyBhbiBhcnJheSBmaWxsZWQgd2l0aCBvbmVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvbmVzKG4pIHtcbiAgICByZXR1cm4gZmlsbGVkKG4sIDEpO1xufVxuLyoqXG4gKiBDcmVhdGVzIGFuIGFycmF5IGZyb20gYSB0byBiLCBvZiBsZW5ndGggbGVuLCBpbmNsdXNpdmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxpbmVhcihhLCBiLCBsZW4pIHtcbiAgICByZXR1cm4gZW1wdHkobGVuKS5tYXAoKF8sIGkpID0+IHtcbiAgICAgICAgcmV0dXJuIGEgKyBpICogKChiIC0gYSkgLyAobGVuIC0gMSkpO1xuICAgIH0pO1xufVxuLyoqXG4gKiBSZXR1cm5zIHRoZSBzdW0gb2YgYW4gYXJyYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN1bShpbnB1dCkge1xuICAgIHJldHVybiBpbnB1dC5yZWR1Y2UoKHN1bSwgdmFsKSA9PiBzdW0gKyB2YWwpO1xufVxuLyoqXG4gKiBSZXR1cm5zIHRoZSBtZWFuIG9mIGFuIGFycmF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZWFuKGlucHV0KSB7XG4gICAgcmV0dXJuIHN1bShpbnB1dCkgLyBpbnB1dC5sZW5ndGg7XG59XG4vKipcbiAqIFJldHVybnMgdGhlIG1heGltdW0gdmFsdWUgb2YgYW4gYXJyYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1heChpbnB1dCkge1xuICAgIGxldCBtYXggPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5wdXQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbWF4ID0gaW5wdXRbaV0gPiBtYXggPyBpbnB1dFtpXSA6IG1heDtcbiAgICB9XG4gICAgcmV0dXJuIG1heDtcbn1cbi8qKlxuICogUmV0dXJucyB0aGUgbWF4aW11bSB2YWx1ZSBvZiBhIDJkIGFycmF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXgyZChpbnB1dCkge1xuICAgIGxldCBtYXggPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5wdXQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBpbnB1dFtpXS5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgbWF4ID0gaW5wdXRbaV1bal0gPiBtYXggPyBpbnB1dFtpXVtqXSA6IG1heDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWF4O1xufVxuLyoqXG4gKiBHZW5lcmF0ZSBuU2FtcGxlcyBtYW55IGludGVnZXJzIGZyb20gMCB0byBwb29sU2l6ZSBzdWNoIHRoYXQgbm9cbiAqIGludGVnZXIgaXMgc2VsZWN0ZWQgdHdpY2UuIFRoZSBkdXBsaWNhdGlvbiBjb25zdHJhaW50IGlzIGFjaGlldmVkIHZpYVxuICogcmVqZWN0aW9uIHNhbXBsaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVqZWN0aW9uU2FtcGxlKG5TYW1wbGVzLCBwb29sU2l6ZSwgcmFuZG9tKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gemVyb3MoblNhbXBsZXMpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgblNhbXBsZXM7IGkrKykge1xuICAgICAgICBsZXQgcmVqZWN0U2FtcGxlID0gdHJ1ZTtcbiAgICAgICAgd2hpbGUgKHJlamVjdFNhbXBsZSkge1xuICAgICAgICAgICAgY29uc3QgaiA9IHRhdVJhbmRJbnQocG9vbFNpemUsIHJhbmRvbSk7XG4gICAgICAgICAgICBsZXQgYnJva2VuID0gZmFsc2U7XG4gICAgICAgICAgICBmb3IgKGxldCBrID0gMDsgayA8IGk7IGsrKykge1xuICAgICAgICAgICAgICAgIGlmIChqID09PSByZXN1bHRba10pIHtcbiAgICAgICAgICAgICAgICAgICAgYnJva2VuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFicm9rZW4pIHtcbiAgICAgICAgICAgICAgICByZWplY3RTYW1wbGUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlc3VsdFtpXSA9IGo7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbi8qKlxuICogUmVzaGFwZXMgYSAxZCBhcnJheSBpbnRvIGEgMkQgb2YgZ2l2ZW4gZGltZW5zaW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc2hhcGUyZCh4LCBhLCBiKSB7XG4gICAgY29uc3Qgcm93cyA9IFtdO1xuICAgIGxldCBjb3VudCA9IDA7XG4gICAgbGV0IGluZGV4ID0gMDtcbiAgICBpZiAoeC5sZW5ndGggIT09IGEgKiBiKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQXJyYXkgZGltZW5zaW9ucyBtdXN0IG1hdGNoIGlucHV0IGxlbmd0aC4nKTtcbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhOyBpKyspIHtcbiAgICAgICAgY29uc3QgY29sID0gW107XG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgYjsgaisrKSB7XG4gICAgICAgICAgICBjb2wucHVzaCh4W2luZGV4XSk7XG4gICAgICAgICAgICBpbmRleCArPSAxO1xuICAgICAgICB9XG4gICAgICAgIHJvd3MucHVzaChjb2wpO1xuICAgICAgICBjb3VudCArPSAxO1xuICAgIH1cbiAgICByZXR1cm4gcm93cztcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWRYUnBiSE11YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SjFkR2xzY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHM3T3pzN096czdPenM3T3pzN096czdSMEZwUWtjN1FVRkpTRHM3UjBGRlJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4VlFVRlZMRU5CUVVNc1EwRkJVeXhGUVVGRkxFMUJRV2RDTzBsQlEzQkVMRTlCUVU4c1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eE5RVUZOTEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVOc1F5eERRVUZETzBGQlJVUTdPMGRCUlVjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzVDBGQlR5eERRVUZETEUxQlFXZENPMGxCUTNSRExFOUJRVThzVFVGQlRTeEZRVUZGTEVOQlFVTTdRVUZEYkVJc1EwRkJRenRCUVVORU96dEhRVVZITzBGQlEwZ3NUVUZCVFN4VlFVRlZMRWxCUVVrc1EwRkJReXhIUVVGaE8wbEJRMmhETEVsQlFVa3NUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVObUxFdEJRVXNzU1VGQlNTeEpRVUZKTEVsQlFVa3NSMEZCUnl4RlFVRkZPMUZCUTNCQ0xFMUJRVTBzU1VGQlNTeEpRVUZKTEVsQlFVa3NRMEZCUXl4RFFVRkRPMHRCUTNKQ08wbEJRMFFzVDBGQlR5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8wRkJRek5DTEVOQlFVTTdRVUZGUkRzN1IwRkZSenRCUVVOSUxFMUJRVTBzVlVGQlZTeExRVUZMTEVOQlFVTXNRMEZCVXp0SlFVTTNRaXhOUVVGTkxFMUJRVTBzUjBGQlowSXNSVUZCUlN4RFFVRkRPMGxCUXk5Q0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdVVUZETVVJc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXp0TFFVTjRRanRKUVVORUxFOUJRVThzVFVGQlRTeERRVUZETzBGQlEyaENMRU5CUVVNN1FVRkZSRHM3UjBGRlJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4TFFVRkxMRU5CUVVNc1EwRkJVenRKUVVNM1FpeFBRVUZQTEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEJRVU51UXl4RFFVRkRPMEZCUlVRN08wZEJSVWM3UVVGRFNDeE5RVUZOTEZWQlFWVXNUVUZCVFN4RFFVRkRMRU5CUVZNc1JVRkJSU3hEUVVGVE8wbEJRM3BETEU5QlFVOHNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVNdlFpeERRVUZETzBGQlJVUTdPMGRCUlVjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzUzBGQlN5eERRVUZETEVOQlFWTTdTVUZETjBJc1QwRkJUeXhOUVVGTkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTNSQ0xFTkJRVU03UVVGRlJEczdSMEZGUnp0QlFVTklMRTFCUVUwc1ZVRkJWU3hKUVVGSkxFTkJRVU1zUTBGQlV6dEpRVU0xUWl4UFFVRlBMRTFCUVUwc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTTdRVUZEZEVJc1EwRkJRenRCUVVWRU96dEhRVVZITzBGQlEwZ3NUVUZCVFN4VlFVRlZMRTFCUVUwc1EwRkJReXhEUVVGVExFVkJRVVVzUTBGQlV5eEZRVUZGTEVkQlFWYzdTVUZEZEVRc1QwRkJUeXhMUVVGTExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzFGQlF6ZENMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRka01zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZEVEN4RFFVRkRPMEZCUlVRN08wZEJSVWM3UVVGRFNDeE5RVUZOTEZWQlFWVXNSMEZCUnl4RFFVRkRMRXRCUVdVN1NVRkRha01zVDBGQlR5eExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlJTeEZRVUZGTEVOQlFVTXNSMEZCUnl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRE8wRkJReTlETEVOQlFVTTdRVUZGUkRzN1IwRkZSenRCUVVOSUxFMUJRVTBzVlVGQlZTeEpRVUZKTEVOQlFVTXNTMEZCWlR0SlFVTnNReXhQUVVGUExFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVGRE8wRkJRMjVETEVOQlFVTTdRVUZGUkRzN1IwRkZSenRCUVVOSUxFMUJRVTBzVlVGQlZTeEhRVUZITEVOQlFVTXNTMEZCWlR0SlFVTnFReXhKUVVGSkxFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZEV2l4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NTMEZCU3l4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFJRVU55UXl4SFFVRkhMRWRCUVVjc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNN1MwRkRka003U1VGRFJDeFBRVUZQTEVkQlFVY3NRMEZCUXp0QlFVTmlMRU5CUVVNN1FVRkZSRHM3UjBGRlJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4TFFVRkxMRU5CUVVNc1MwRkJhVUk3U1VGRGNrTXNTVUZCU1N4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRMW9zUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1VVRkRja01zUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3V1VGRGVFTXNSMEZCUnl4SFFVRkhMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETzFOQlF6ZERPMHRCUTBZN1NVRkRSQ3hQUVVGUExFZEJRVWNzUTBGQlF6dEJRVU5pTEVOQlFVTTdRVUZGUkRzN096dEhRVWxITzBGQlEwZ3NUVUZCVFN4VlFVRlZMR1ZCUVdVc1EwRkROMElzVVVGQlowSXNSVUZEYUVJc1VVRkJaMElzUlVGRGFFSXNUVUZCWjBJN1NVRkZhRUlzVFVGQlRTeE5RVUZOTEVkQlFVY3NTMEZCU3l4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8wbEJReTlDTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFJRVUZSTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1VVRkRha01zU1VGQlNTeFpRVUZaTEVkQlFVY3NTVUZCU1N4RFFVRkRPMUZCUTNoQ0xFOUJRVThzV1VGQldTeEZRVUZGTzFsQlEyNUNMRTFCUVUwc1EwRkJReXhIUVVGSExGVkJRVlVzUTBGQlF5eFJRVUZSTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1dVRkRka01zU1VGQlNTeE5RVUZOTEVkQlFVY3NTMEZCU3l4RFFVRkRPMWxCUTI1Q0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdaMEpCUXpGQ0xFbEJRVWtzUTBGQlF5eExRVUZMTEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSVHR2UWtGRGJrSXNUVUZCVFN4SFFVRkhMRWxCUVVrc1EwRkJRenR2UWtGRFpDeE5RVUZOTzJsQ1FVTlFPMkZCUTBZN1dVRkRSQ3hKUVVGSkxFTkJRVU1zVFVGQlRTeEZRVUZGTzJkQ1FVTllMRmxCUVZrc1IwRkJSeXhMUVVGTExFTkJRVU03WVVGRGRFSTdXVUZEUkN4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFOQlEyWTdTMEZEUmp0SlFVTkVMRTlCUVU4c1RVRkJUU3hEUVVGRE8wRkJRMmhDTEVOQlFVTTdRVUZGUkRzN1IwRkZSenRCUVVOSUxFMUJRVTBzVlVGQlZTeFRRVUZUTEVOQlFVa3NRMEZCVFN4RlFVRkZMRU5CUVZNc1JVRkJSU3hEUVVGVE8wbEJRM1pFTEUxQlFVMHNTVUZCU1N4SFFVRlZMRVZCUVVVc1EwRkJRenRKUVVOMlFpeEpRVUZKTEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkRaQ3hKUVVGSkxFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZGWkN4SlFVRkpMRU5CUVVNc1EwRkJReXhOUVVGTkxFdEJRVXNzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlR0UlFVTjBRaXhOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETERKRFFVRXlReXhEUVVGRExFTkJRVU03UzBGRE9VUTdTVUZGUkN4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xRkJRekZDTEUxQlFVMHNSMEZCUnl4SFFVRlJMRVZCUVVVc1EwRkJRenRSUVVOd1FpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMWxCUXpGQ0xFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRGJrSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1EwRkJRenRUUVVOYU8xRkJRMFFzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVObUxFdEJRVXNzU1VGQlNTeERRVUZETEVOQlFVTTdTMEZEV2p0SlFVTkVMRTlCUVU4c1NVRkJTU3hEUVVGRE8wRkJRMlFzUTBGQlF5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxS2x4dUlDb2dRR3hwWTJWdWMyVmNiaUFxWEc0Z0tpQkRiM0I1Y21sbmFIUWdNakF4T1NCSGIyOW5iR1VnVEV4RExpQkJiR3dnVW1sbmFIUnpJRkpsYzJWeWRtVmtMbHh1SUNwY2JpQXFJRXhwWTJWdWMyVmtJSFZ1WkdWeUlIUm9aU0JCY0dGamFHVWdUR2xqWlc1elpTd2dWbVZ5YzJsdmJpQXlMakFnS0hSb1pTQmNJa3hwWTJWdWMyVmNJaWs3WEc0Z0tpQjViM1VnYldGNUlHNXZkQ0IxYzJVZ2RHaHBjeUJtYVd4bElHVjRZMlZ3ZENCcGJpQmpiMjF3YkdsaGJtTmxJSGRwZEdnZ2RHaGxJRXhwWTJWdWMyVXVYRzRnS2lCWmIzVWdiV0Y1SUc5aWRHRnBiaUJoSUdOdmNIa2diMllnZEdobElFeHBZMlZ1YzJVZ1lYUmNiaUFxWEc0Z0tpQWdJQ0FnYUhSMGNEb3ZMM2QzZHk1aGNHRmphR1V1YjNKbkwyeHBZMlZ1YzJWekwweEpRMFZPVTBVdE1pNHdYRzRnS2x4dUlDb2dWVzVzWlhOeklISmxjWFZwY21Wa0lHSjVJR0Z3Y0d4cFkyRmliR1VnYkdGM0lHOXlJR0ZuY21WbFpDQjBieUJwYmlCM2NtbDBhVzVuTENCemIyWjBkMkZ5WlZ4dUlDb2daR2x6ZEhKcFluVjBaV1FnZFc1a1pYSWdkR2hsSUV4cFkyVnVjMlVnYVhNZ1pHbHpkSEpwWW5WMFpXUWdiMjRnWVc0Z1hDSkJVeUJKVTF3aUlFSkJVMGxUTEZ4dUlDb2dWMGxVU0U5VlZDQlhRVkpTUVU1VVNVVlRJRTlTSUVOUFRrUkpWRWxQVGxNZ1QwWWdRVTVaSUV0SlRrUXNJR1ZwZEdobGNpQmxlSEJ5WlhOeklHOXlJR2x0Y0d4cFpXUXVYRzRnS2lCVFpXVWdkR2hsSUV4cFkyVnVjMlVnWm05eUlIUm9aU0J6Y0dWamFXWnBZeUJzWVc1bmRXRm5aU0JuYjNabGNtNXBibWNnY0dWeWJXbHpjMmx2Ym5NZ1lXNWtYRzRnS2lCc2FXMXBkR0YwYVc5dWN5QjFibVJsY2lCMGFHVWdUR2xqWlc1elpTNWNiaUFxSUQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVnh1SUNvdlhHNWNibWx0Y0c5eWRDQjdJRkpoYm1SdmJVWnVJSDBnWm5KdmJTQW5MaTkxYldGd0p6dGNibHh1THlvcVhHNGdLaUJUYVcxd2JHVWdjbUZ1Wkc5dElHbHVkR1ZuWlhJZ1puVnVZM1JwYjI1Y2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSFJoZFZKaGJtUkpiblFvYmpvZ2JuVnRZbVZ5TENCeVlXNWtiMjA2SUZKaGJtUnZiVVp1S1NCN1hHNGdJSEpsZEhWeWJpQk5ZWFJvTG1ac2IyOXlLSEpoYm1SdmJTZ3BJQ29nYmlrN1hHNTlYRzVjYmk4cUtseHVJQ29nVTJsdGNHeGxJSEpoYm1SdmJTQm1iRzloZENCbWRXNWpkR2x2Ymx4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdkR0YxVW1GdVpDaHlZVzVrYjIwNklGSmhibVJ2YlVadUtTQjdYRzRnSUhKbGRIVnliaUJ5WVc1a2IyMG9LVHRjYm4xY2JpOHFLbHh1SUNvZ1EyOXRjSFYwWlNCMGFHVWdLSE4wWVc1a1lYSmtJR3d5S1NCdWIzSnRJRzltSUdFZ2RtVmpkRzl5TGx4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdibTl5YlNoMlpXTTZJRzUxYldKbGNsdGRLU0I3WEc0Z0lHeGxkQ0J5WlhOMWJIUWdQU0F3TzF4dUlDQm1iM0lnS0d4bGRDQnBkR1Z0SUc5bUlIWmxZeWtnZTF4dUlDQWdJSEpsYzNWc2RDQXJQU0JwZEdWdElDb3FJREk3WEc0Z0lIMWNiaUFnY21WMGRYSnVJRTFoZEdndWMzRnlkQ2h5WlhOMWJIUXBPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFTnlaV0YwWlhNZ1lXNGdaVzF3ZEhrZ1lYSnlZWGtnS0dacGJHeGxaQ0IzYVhSb0lIVnVaR1ZtYVc1bFpDbGNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdWdGNIUjVLRzQ2SUc1MWJXSmxjaWs2SUhWdVpHVm1hVzVsWkZ0ZElIdGNiaUFnWTI5dWMzUWdiM1YwY0hWME9pQjFibVJsWm1sdVpXUmJYU0E5SUZ0ZE8xeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUc0N0lHa3JLeWtnZTF4dUlDQWdJRzkxZEhCMWRDNXdkWE5vS0hWdVpHVm1hVzVsWkNrN1hHNGdJSDFjYmlBZ2NtVjBkWEp1SUc5MWRIQjFkRHRjYm4xY2JseHVMeW9xWEc0Z0tpQkRjbVZoZEdWeklHRnVJR0Z5Y21GNUlHWnBiR3hsWkNCM2FYUm9JR2x1WkdWNElIWmhiSFZsYzF4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdjbUZ1WjJVb2Jqb2diblZ0WW1WeUtUb2diblZ0WW1WeVcxMGdlMXh1SUNCeVpYUjFjbTRnWlcxd2RIa29iaWt1YldGd0tDaGZMQ0JwS1NBOVBpQnBLVHRjYm4xY2JseHVMeW9xWEc0Z0tpQkRjbVZoZEdWeklHRnVJR0Z5Y21GNUlHWnBiR3hsWkNCM2FYUm9JR0VnYzNCbFkybG1hV01nZG1Gc2RXVmNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdacGJHeGxaQ2h1T2lCdWRXMWlaWElzSUhZNklHNTFiV0psY2lrNklHNTFiV0psY2x0ZElIdGNiaUFnY21WMGRYSnVJR1Z0Y0hSNUtHNHBMbTFoY0Nnb0tTQTlQaUIyS1R0Y2JuMWNibHh1THlvcVhHNGdLaUJEY21WaGRHVnpJR0Z1SUdGeWNtRjVJR1pwYkd4bFpDQjNhWFJvSUhwbGNtOXpYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCNlpYSnZjeWh1T2lCdWRXMWlaWElwT2lCdWRXMWlaWEpiWFNCN1hHNGdJSEpsZEhWeWJpQm1hV3hzWldRb2Jpd2dNQ2s3WEc1OVhHNWNiaThxS2x4dUlDb2dRM0psWVhSbGN5QmhiaUJoY25KaGVTQm1hV3hzWldRZ2QybDBhQ0J2Ym1WelhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ2Ym1WektHNDZJRzUxYldKbGNpazZJRzUxYldKbGNsdGRJSHRjYmlBZ2NtVjBkWEp1SUdacGJHeGxaQ2h1TENBeEtUdGNibjFjYmx4dUx5b3FYRzRnS2lCRGNtVmhkR1Z6SUdGdUlHRnljbUY1SUdaeWIyMGdZU0IwYnlCaUxDQnZaaUJzWlc1bmRHZ2diR1Z1TENCcGJtTnNkWE5wZG1WY2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR3hwYm1WaGNpaGhPaUJ1ZFcxaVpYSXNJR0k2SUc1MWJXSmxjaXdnYkdWdU9pQnVkVzFpWlhJcE9pQnVkVzFpWlhKYlhTQjdYRzRnSUhKbGRIVnliaUJsYlhCMGVTaHNaVzRwTG0xaGNDZ29YeXdnYVNrZ1BUNGdlMXh1SUNBZ0lISmxkSFZ5YmlCaElDc2dhU0FxSUNnb1lpQXRJR0VwSUM4Z0tHeGxiaUF0SURFcEtUdGNiaUFnZlNrN1hHNTlYRzVjYmk4cUtseHVJQ29nVW1WMGRYSnVjeUIwYUdVZ2MzVnRJRzltSUdGdUlHRnljbUY1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnpkVzBvYVc1d2RYUTZJRzUxYldKbGNsdGRLVG9nYm5WdFltVnlJSHRjYmlBZ2NtVjBkWEp1SUdsdWNIVjBMbkpsWkhWalpTZ29jM1Z0TENCMllXd3BJRDArSUhOMWJTQXJJSFpoYkNrN1hHNTlYRzVjYmk4cUtseHVJQ29nVW1WMGRYSnVjeUIwYUdVZ2JXVmhiaUJ2WmlCaGJpQmhjbkpoZVZ4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdiV1ZoYmlocGJuQjFkRG9nYm5WdFltVnlXMTBwT2lCdWRXMWlaWElnZTF4dUlDQnlaWFIxY200Z2MzVnRLR2x1Y0hWMEtTQXZJR2x1Y0hWMExteGxibWQwYUR0Y2JuMWNibHh1THlvcVhHNGdLaUJTWlhSMWNtNXpJSFJvWlNCdFlYaHBiWFZ0SUhaaGJIVmxJRzltSUdGdUlHRnljbUY1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnRZWGdvYVc1d2RYUTZJRzUxYldKbGNsdGRLVG9nYm5WdFltVnlJSHRjYmlBZ2JHVjBJRzFoZUNBOUlEQTdYRzRnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2FXNXdkWFF1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNCdFlYZ2dQU0JwYm5CMWRGdHBYU0ErSUcxaGVDQS9JR2x1Y0hWMFcybGRJRG9nYldGNE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCdFlYZzdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1VtVjBkWEp1Y3lCMGFHVWdiV0Y0YVcxMWJTQjJZV3gxWlNCdlppQmhJREprSUdGeWNtRjVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCdFlYZ3laQ2hwYm5CMWREb2diblZ0WW1WeVcxMWJYU2s2SUc1MWJXSmxjaUI3WEc0Z0lHeGxkQ0J0WVhnZ1BTQXdPMXh1SUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHbHVjSFYwTG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FpQTlJREE3SUdvZ1BDQnBibkIxZEZ0cFhTNXNaVzVuZEdnN0lHb3JLeWtnZTF4dUlDQWdJQ0FnYldGNElEMGdhVzV3ZFhSYmFWMWJhbDBnUGlCdFlYZ2dQeUJwYm5CMWRGdHBYVnRxWFNBNklHMWhlRHRjYmlBZ0lDQjlYRzRnSUgxY2JpQWdjbVYwZFhKdUlHMWhlRHRjYm4xY2JseHVMeW9xWEc0Z0tpQkhaVzVsY21GMFpTQnVVMkZ0Y0d4bGN5QnRZVzU1SUdsdWRHVm5aWEp6SUdaeWIyMGdNQ0IwYnlCd2IyOXNVMmw2WlNCemRXTm9JSFJvWVhRZ2JtOWNiaUFxSUdsdWRHVm5aWElnYVhNZ2MyVnNaV04wWldRZ2RIZHBZMlV1SUZSb1pTQmtkWEJzYVdOaGRHbHZiaUJqYjI1emRISmhhVzUwSUdseklHRmphR2xsZG1Wa0lIWnBZVnh1SUNvZ2NtVnFaV04wYVc5dUlITmhiWEJzYVc1bkxseHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnY21WcVpXTjBhVzl1VTJGdGNHeGxLRnh1SUNCdVUyRnRjR3hsY3pvZ2JuVnRZbVZ5TEZ4dUlDQndiMjlzVTJsNlpUb2diblZ0WW1WeUxGeHVJQ0J5WVc1a2IyMDZJRkpoYm1SdmJVWnVYRzRwT2lCdWRXMWlaWEpiWFNCN1hHNGdJR052Ym5OMElISmxjM1ZzZENBOUlIcGxjbTl6S0c1VFlXMXdiR1Z6S1R0Y2JpQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0J1VTJGdGNHeGxjenNnYVNzcktTQjdYRzRnSUNBZ2JHVjBJSEpsYW1WamRGTmhiWEJzWlNBOUlIUnlkV1U3WEc0Z0lDQWdkMmhwYkdVZ0tISmxhbVZqZEZOaGJYQnNaU2tnZTF4dUlDQWdJQ0FnWTI5dWMzUWdhaUE5SUhSaGRWSmhibVJKYm5Rb2NHOXZiRk5wZW1Vc0lISmhibVJ2YlNrN1hHNGdJQ0FnSUNCc1pYUWdZbkp2YTJWdUlEMGdabUZzYzJVN1hHNGdJQ0FnSUNCbWIzSWdLR3hsZENCcklEMGdNRHNnYXlBOElHazdJR3NyS3lrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYWlBOVBUMGdjbVZ6ZFd4MFcydGRLU0I3WEc0Z0lDQWdJQ0FnSUNBZ1luSnZhMlZ1SUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYVdZZ0tDRmljbTlyWlc0cElIdGNiaUFnSUNBZ0lDQWdjbVZxWldOMFUyRnRjR3hsSUQwZ1ptRnNjMlU3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0J5WlhOMWJIUmJhVjBnUFNCcU8xeHVJQ0FnSUgxY2JpQWdmVnh1SUNCeVpYUjFjbTRnY21WemRXeDBPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlGSmxjMmhoY0dWeklHRWdNV1FnWVhKeVlYa2dhVzUwYnlCaElESkVJRzltSUdkcGRtVnVJR1JwYldWdWMybHZibk11WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnlaWE5vWVhCbE1tUThWRDRvZURvZ1ZGdGRMQ0JoT2lCdWRXMWlaWElzSUdJNklHNTFiV0psY2lrNklGUmJYVnRkSUh0Y2JpQWdZMjl1YzNRZ2NtOTNjem9nVkZ0ZFcxMGdQU0JiWFR0Y2JpQWdiR1YwSUdOdmRXNTBJRDBnTUR0Y2JpQWdiR1YwSUdsdVpHVjRJRDBnTUR0Y2JseHVJQ0JwWmlBb2VDNXNaVzVuZEdnZ0lUMDlJR0VnS2lCaUtTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkQmNuSmhlU0JrYVcxbGJuTnBiMjV6SUcxMWMzUWdiV0YwWTJnZ2FXNXdkWFFnYkdWdVozUm9MaWNwTzF4dUlDQjlYRzVjYmlBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQmhPeUJwS3lzcElIdGNiaUFnSUNCamIyNXpkQ0JqYjJ3NklGUmJYU0E5SUZ0ZE8xeHVJQ0FnSUdadmNpQW9iR1YwSUdvZ1BTQXdPeUJxSUR3Z1lqc2dhaXNyS1NCN1hHNGdJQ0FnSUNCamIyd3VjSFZ6YUNoNFcybHVaR1Y0WFNrN1hHNGdJQ0FnSUNCcGJtUmxlQ0FyUFNBeE8xeHVJQ0FnSUgxY2JpQWdJQ0J5YjNkekxuQjFjMmdvWTI5c0tUdGNiaUFnSUNCamIzVnVkQ0FyUFNBeE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCeWIzZHpPMXh1ZlZ4dUlsMTkiLCIvKipcbiAqIEBsaWNlbnNlXG4gKlxuICogQ29weXJpZ2h0IDIwMTkgR29vZ2xlIExMQy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi91dGlscyc7XG4vKipcbiAqICBDb25zdHJ1Y3RvciBmb3IgdGhlIGhlYXAgb2JqZWN0cy4gVGhlIGhlYXBzIGFyZSB1c2VkXG4gKiBmb3IgYXBwcm94aW1hdGUgbmVhcmVzdCBuZWlnaGJvciBzZWFyY2gsIG1haW50YWluaW5nIGEgbGlzdCBvZiBwb3RlbnRpYWxcbiAqIG5laWdoYm9ycyBzb3J0ZWQgYnkgdGhlaXIgZGlzdGFuY2UuIFdlIGFsc28gZmxhZyBpZiBwb3RlbnRpYWwgbmVpZ2hib3JzXG4gKiBhcmUgbmV3bHkgYWRkZWQgdG8gdGhlIGxpc3Qgb3Igbm90LiBJbnRlcm5hbGx5IHRoaXMgaXMgc3RvcmVkIGFzXG4gKiBhIHNpbmdsZSBhcnJheTsgdGhlIGZpcnN0IGF4aXMgZGV0ZXJtaW5lcyB3aGV0aGVyIHdlIGFyZSBsb29raW5nIGF0IHRoZVxuICogYXJyYXkgb2YgY2FuZGlkYXRlIGluZGljZXMsIHRoZSBhcnJheSBvZiBkaXN0YW5jZXMsIG9yIHRoZSBmbGFnIGFycmF5IGZvclxuICogd2hldGhlciBlbGVtZW50cyBhcmUgbmV3IG9yIG5vdC4gRWFjaCBvZiB0aGVzZSBhcnJheXMgYXJlIG9mIHNoYXBlXG4gKiAoYGBuUG9pbnRzYGAsIGBgc2l6ZWBgKVxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFrZUhlYXAoblBvaW50cywgc2l6ZSkge1xuICAgIGNvbnN0IG1ha2VBcnJheXMgPSAoZmlsbFZhbHVlKSA9PiB7XG4gICAgICAgIHJldHVybiB1dGlscy5lbXB0eShuUG9pbnRzKS5tYXAoKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHV0aWxzLmZpbGxlZChzaXplLCBmaWxsVmFsdWUpO1xuICAgICAgICB9KTtcbiAgICB9O1xuICAgIGNvbnN0IGhlYXAgPSBbXTtcbiAgICBoZWFwLnB1c2gobWFrZUFycmF5cygtMSkpO1xuICAgIGhlYXAucHVzaChtYWtlQXJyYXlzKEluZmluaXR5KSk7XG4gICAgaGVhcC5wdXNoKG1ha2VBcnJheXMoMCkpO1xuICAgIHJldHVybiBoZWFwO1xufVxuLyoqXG4gKiBHZW5lcmF0ZSBuX3NhbXBsZXMgbWFueSBpbnRlZ2VycyBmcm9tIDAgdG8gcG9vbF9zaXplIHN1Y2ggdGhhdCBub1xuICogaW50ZWdlciBpcyBzZWxlY3RlZCB0d2ljZS4gVGhlIGR1cGxpY2F0aW9uIGNvbnN0cmFpbnQgaXMgYWNoaWV2ZWQgdmlhXG4gKiByZWplY3Rpb24gc2FtcGxpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWplY3Rpb25TYW1wbGUoblNhbXBsZXMsIHBvb2xTaXplLCByYW5kb20pIHtcbiAgICBjb25zdCByZXN1bHQgPSB1dGlscy56ZXJvcyhuU2FtcGxlcyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuU2FtcGxlczsgaSsrKSB7XG4gICAgICAgIGxldCByZWplY3RTYW1wbGUgPSB0cnVlO1xuICAgICAgICBsZXQgaiA9IDA7XG4gICAgICAgIHdoaWxlIChyZWplY3RTYW1wbGUpIHtcbiAgICAgICAgICAgIGogPSB1dGlscy50YXVSYW5kSW50KHBvb2xTaXplLCByYW5kb20pO1xuICAgICAgICAgICAgbGV0IGJyb2tlbiA9IGZhbHNlO1xuICAgICAgICAgICAgZm9yIChsZXQgayA9IDA7IGsgPCBpOyBrKyspIHtcbiAgICAgICAgICAgICAgICBpZiAoaiA9PT0gcmVzdWx0W2tdKSB7XG4gICAgICAgICAgICAgICAgICAgIGJyb2tlbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghYnJva2VuKVxuICAgICAgICAgICAgICAgIHJlamVjdFNhbXBsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJlc3VsdFtpXSA9IGo7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG4vKipcbiAqIFB1c2ggYSBuZXcgZWxlbWVudCBvbnRvIHRoZSBoZWFwLiBUaGUgaGVhcCBzdG9yZXMgcG90ZW50aWFsIG5laWdoYm9yc1xuICogZm9yIGVhY2ggZGF0YSBwb2ludC4gVGhlIGBgcm93YGAgcGFyYW1ldGVyIGRldGVybWluZXMgd2hpY2ggZGF0YSBwb2ludCB3ZVxuICogYXJlIGFkZHJlc3NpbmcsIHRoZSBgYHdlaWdodGBgIGRldGVybWluZXMgdGhlIGRpc3RhbmNlIChmb3IgaGVhcCBzb3J0aW5nKSxcbiAqIHRoZSBgYGluZGV4YGAgaXMgdGhlIGVsZW1lbnQgdG8gYWRkLCBhbmQgdGhlIGZsYWcgZGV0ZXJtaW5lcyB3aGV0aGVyIHRoaXNcbiAqIGlzIHRvIGJlIGNvbnNpZGVyZWQgYSBuZXcgYWRkaXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoZWFwUHVzaChoZWFwLCByb3csIHdlaWdodCwgaW5kZXgsIGZsYWcpIHtcbiAgICByb3cgPSBNYXRoLmZsb29yKHJvdyk7XG4gICAgY29uc3QgaW5kaWNlcyA9IGhlYXBbMF1bcm93XTtcbiAgICBjb25zdCB3ZWlnaHRzID0gaGVhcFsxXVtyb3ddO1xuICAgIGNvbnN0IGlzTmV3ID0gaGVhcFsyXVtyb3ddO1xuICAgIGlmICh3ZWlnaHQgPj0gd2VpZ2h0c1swXSkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgLy8gQnJlYWsgaWYgd2UgYWxyZWFkeSBoYXZlIHRoaXMgZWxlbWVudC5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGluZGljZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGluZGV4ID09PSBpbmRpY2VzW2ldKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5jaGVja2VkSGVhcFB1c2goaGVhcCwgcm93LCB3ZWlnaHQsIGluZGV4LCBmbGFnKTtcbn1cbi8qKlxuICogUHVzaCBhIG5ldyBlbGVtZW50IG9udG8gdGhlIGhlYXAuIFRoZSBoZWFwIHN0b3JlcyBwb3RlbnRpYWwgbmVpZ2hib3JzXG4gKiBmb3IgZWFjaCBkYXRhIHBvaW50LiBUaGUgYGByb3dgYCBwYXJhbWV0ZXIgZGV0ZXJtaW5lcyB3aGljaCBkYXRhIHBvaW50IHdlXG4gKiBhcmUgYWRkcmVzc2luZywgdGhlIGBgd2VpZ2h0YGAgZGV0ZXJtaW5lcyB0aGUgZGlzdGFuY2UgKGZvciBoZWFwIHNvcnRpbmcpLFxuICogdGhlIGBgaW5kZXhgYCBpcyB0aGUgZWxlbWVudCB0byBhZGQsIGFuZCB0aGUgZmxhZyBkZXRlcm1pbmVzIHdoZXRoZXIgdGhpc1xuICogaXMgdG8gYmUgY29uc2lkZXJlZCBhIG5ldyBhZGRpdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVuY2hlY2tlZEhlYXBQdXNoKGhlYXAsIHJvdywgd2VpZ2h0LCBpbmRleCwgZmxhZykge1xuICAgIGNvbnN0IGluZGljZXMgPSBoZWFwWzBdW3Jvd107XG4gICAgY29uc3Qgd2VpZ2h0cyA9IGhlYXBbMV1bcm93XTtcbiAgICBjb25zdCBpc05ldyA9IGhlYXBbMl1bcm93XTtcbiAgICBpZiAod2VpZ2h0ID49IHdlaWdodHNbMF0pIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIC8vIEluc2VydCB2YWwgYXQgcG9zaXRpb24gemVyb1xuICAgIHdlaWdodHNbMF0gPSB3ZWlnaHQ7XG4gICAgaW5kaWNlc1swXSA9IGluZGV4O1xuICAgIGlzTmV3WzBdID0gZmxhZztcbiAgICAvLyBEZXNjZW5kIHRoZSBoZWFwLCBzd2FwcGluZyB2YWx1ZXMgdW50aWwgdGhlIG1heCBoZWFwIGNyaXRlcmlvbiBpcyBtZXRcbiAgICBsZXQgaSA9IDA7XG4gICAgbGV0IGlTd2FwID0gMDtcbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICBjb25zdCBpYzEgPSAyICogaSArIDE7XG4gICAgICAgIGNvbnN0IGljMiA9IGljMSArIDE7XG4gICAgICAgIGNvbnN0IGhlYXBTaGFwZTIgPSBoZWFwWzBdWzBdLmxlbmd0aDtcbiAgICAgICAgaWYgKGljMSA+PSBoZWFwU2hhcGUyKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpYzIgPj0gaGVhcFNoYXBlMikge1xuICAgICAgICAgICAgaWYgKHdlaWdodHNbaWMxXSA+IHdlaWdodCkge1xuICAgICAgICAgICAgICAgIGlTd2FwID0gaWMxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAod2VpZ2h0c1tpYzFdID49IHdlaWdodHNbaWMyXSkge1xuICAgICAgICAgICAgaWYgKHdlaWdodCA8IHdlaWdodHNbaWMxXSkge1xuICAgICAgICAgICAgICAgIGlTd2FwID0gaWMxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAod2VpZ2h0IDwgd2VpZ2h0c1tpYzJdKSB7XG4gICAgICAgICAgICAgICAgaVN3YXAgPSBpYzI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB3ZWlnaHRzW2ldID0gd2VpZ2h0c1tpU3dhcF07XG4gICAgICAgIGluZGljZXNbaV0gPSBpbmRpY2VzW2lTd2FwXTtcbiAgICAgICAgaXNOZXdbaV0gPSBpc05ld1tpU3dhcF07XG4gICAgICAgIGkgPSBpU3dhcDtcbiAgICB9XG4gICAgd2VpZ2h0c1tpXSA9IHdlaWdodDtcbiAgICBpbmRpY2VzW2ldID0gaW5kZXg7XG4gICAgaXNOZXdbaV0gPSBmbGFnO1xuICAgIHJldHVybiAxO1xufVxuLyoqXG4gKiBCdWlsZCBhIGhlYXAgb2YgY2FuZGlkYXRlIG5laWdoYm9ycyBmb3IgbmVhcmVzdCBuZWlnaGJvciBkZXNjZW50LiBGb3JcbiAqIGVhY2ggdmVydGV4IHRoZSBjYW5kaWRhdGUgbmVpZ2hib3JzIGFyZSBhbnkgY3VycmVudCBuZWlnaGJvcnMsIGFuZCBhbnlcbiAqIHZlcnRpY2VzIHRoYXQgaGF2ZSB0aGUgdmVydGV4IGFzIG9uZSBvZiB0aGVpciBuZWFyZXN0IG5laWdoYm9ycy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQ2FuZGlkYXRlcyhjdXJyZW50R3JhcGgsIG5WZXJ0aWNlcywgbk5laWdoYm9ycywgbWF4Q2FuZGlkYXRlcywgcmFuZG9tKSB7XG4gICAgY29uc3QgY2FuZGlkYXRlTmVpZ2hib3JzID0gbWFrZUhlYXAoblZlcnRpY2VzLCBtYXhDYW5kaWRhdGVzKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5WZXJ0aWNlczsgaSsrKSB7XG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgbk5laWdoYm9yczsgaisrKSB7XG4gICAgICAgICAgICBpZiAoY3VycmVudEdyYXBoWzBdW2ldW2pdIDwgMCkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgaWR4ID0gY3VycmVudEdyYXBoWzBdW2ldW2pdO1xuICAgICAgICAgICAgY29uc3QgaXNuID0gY3VycmVudEdyYXBoWzJdW2ldW2pdO1xuICAgICAgICAgICAgY29uc3QgZCA9IHV0aWxzLnRhdVJhbmQocmFuZG9tKTtcbiAgICAgICAgICAgIGhlYXBQdXNoKGNhbmRpZGF0ZU5laWdoYm9ycywgaSwgZCwgaWR4LCBpc24pO1xuICAgICAgICAgICAgaGVhcFB1c2goY2FuZGlkYXRlTmVpZ2hib3JzLCBpZHgsIGQsIGksIGlzbik7XG4gICAgICAgICAgICBjdXJyZW50R3JhcGhbMl1baV1bal0gPSAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjYW5kaWRhdGVOZWlnaGJvcnM7XG59XG4vKipcbiAqIEdpdmVuIGFuIGFycmF5IG9mIGhlYXBzIChvZiBpbmRpY2VzIGFuZCB3ZWlnaHRzKSwgdW5wYWNrIHRoZSBoZWFwXG4gKiBvdXQgdG8gZ2l2ZSBhbmQgYXJyYXkgb2Ygc29ydGVkIGxpc3RzIG9mIGluZGljZXMgYW5kIHdlaWdodHMgYnkgaW5jcmVhc2luZ1xuICogd2VpZ2h0LiBUaGlzIGlzIGVmZmVjdGl2ZWx5IGp1c3QgdGhlIHNlY29uZCBoYWxmIG9mIGhlYXAgc29ydCAodGhlIGZpcnN0XG4gKiBoYWxmIG5vdCBiZWluZyByZXF1aXJlZCBzaW5jZSB3ZSBhbHJlYWR5IGhhdmUgdGhlIGRhdGEgaW4gYSBoZWFwKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlaGVhcFNvcnQoaGVhcCkge1xuICAgIGNvbnN0IGluZGljZXMgPSBoZWFwWzBdO1xuICAgIGNvbnN0IHdlaWdodHMgPSBoZWFwWzFdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5kaWNlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBpbmRIZWFwID0gaW5kaWNlc1tpXTtcbiAgICAgICAgY29uc3QgZGlzdEhlYXAgPSB3ZWlnaHRzW2ldO1xuICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGluZEhlYXAubGVuZ3RoIC0gMTsgaisrKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRIZWFwSW5kZXggPSBpbmRIZWFwLmxlbmd0aCAtIGogLSAxO1xuICAgICAgICAgICAgY29uc3QgZGlzdEhlYXBJbmRleCA9IGRpc3RIZWFwLmxlbmd0aCAtIGogLSAxO1xuICAgICAgICAgICAgY29uc3QgdGVtcDEgPSBpbmRIZWFwWzBdO1xuICAgICAgICAgICAgaW5kSGVhcFswXSA9IGluZEhlYXBbaW5kSGVhcEluZGV4XTtcbiAgICAgICAgICAgIGluZEhlYXBbaW5kSGVhcEluZGV4XSA9IHRlbXAxO1xuICAgICAgICAgICAgY29uc3QgdGVtcDIgPSBkaXN0SGVhcFswXTtcbiAgICAgICAgICAgIGRpc3RIZWFwWzBdID0gZGlzdEhlYXBbZGlzdEhlYXBJbmRleF07XG4gICAgICAgICAgICBkaXN0SGVhcFtkaXN0SGVhcEluZGV4XSA9IHRlbXAyO1xuICAgICAgICAgICAgc2lmdERvd24oZGlzdEhlYXAsIGluZEhlYXAsIGRpc3RIZWFwSW5kZXgsIDApO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7IGluZGljZXMsIHdlaWdodHMgfTtcbn1cbi8qKlxuICogUmVzdG9yZSB0aGUgaGVhcCBwcm9wZXJ0eSBmb3IgYSBoZWFwIHdpdGggYW4gb3V0IG9mIHBsYWNlIGVsZW1lbnRcbiAqIGF0IHBvc2l0aW9uIGBgZWx0YGAuIFRoaXMgd29ya3Mgd2l0aCBhIGhlYXAgcGFpciB3aGVyZSBoZWFwMSBjYXJyaWVzXG4gKiB0aGUgd2VpZ2h0cyBhbmQgaGVhcDIgaG9sZHMgdGhlIGNvcnJlc3BvbmRpbmcgZWxlbWVudHMuXG4gKi9cbmZ1bmN0aW9uIHNpZnREb3duKGhlYXAxLCBoZWFwMiwgY2VpbGluZywgZWx0KSB7XG4gICAgd2hpbGUgKGVsdCAqIDIgKyAxIDwgY2VpbGluZykge1xuICAgICAgICBjb25zdCBsZWZ0Q2hpbGQgPSBlbHQgKiAyICsgMTtcbiAgICAgICAgY29uc3QgcmlnaHRDaGlsZCA9IGxlZnRDaGlsZCArIDE7XG4gICAgICAgIGxldCBzd2FwID0gZWx0O1xuICAgICAgICBpZiAoaGVhcDFbc3dhcF0gPCBoZWFwMVtsZWZ0Q2hpbGRdKSB7XG4gICAgICAgICAgICBzd2FwID0gbGVmdENoaWxkO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyaWdodENoaWxkIDwgY2VpbGluZyAmJiBoZWFwMVtzd2FwXSA8IGhlYXAxW3JpZ2h0Q2hpbGRdKSB7XG4gICAgICAgICAgICBzd2FwID0gcmlnaHRDaGlsZDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3dhcCA9PT0gZWx0KSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHRlbXAxID0gaGVhcDFbZWx0XTtcbiAgICAgICAgICAgIGhlYXAxW2VsdF0gPSBoZWFwMVtzd2FwXTtcbiAgICAgICAgICAgIGhlYXAxW3N3YXBdID0gdGVtcDE7XG4gICAgICAgICAgICBjb25zdCB0ZW1wMiA9IGhlYXAyW2VsdF07XG4gICAgICAgICAgICBoZWFwMltlbHRdID0gaGVhcDJbc3dhcF07XG4gICAgICAgICAgICBoZWFwMltzd2FwXSA9IHRlbXAyO1xuICAgICAgICAgICAgZWx0ID0gc3dhcDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8qKlxuICogU2VhcmNoIHRoZSBoZWFwIGZvciB0aGUgc21hbGxlc3QgZWxlbWVudCB0aGF0IGlzIHN0aWxsIGZsYWdnZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzbWFsbGVzdEZsYWdnZWQoaGVhcCwgcm93KSB7XG4gICAgY29uc3QgaW5kID0gaGVhcFswXVtyb3ddO1xuICAgIGNvbnN0IGRpc3QgPSBoZWFwWzFdW3Jvd107XG4gICAgY29uc3QgZmxhZyA9IGhlYXBbMl1bcm93XTtcbiAgICBsZXQgbWluRGlzdCA9IEluZmluaXR5O1xuICAgIGxldCByZXN1bHRJbmRleCA9IC0xO1xuICAgIGZvciAobGV0IGkgPSAwOyBpID4gaW5kLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChmbGFnW2ldID09PSAxICYmIGRpc3RbaV0gPCBtaW5EaXN0KSB7XG4gICAgICAgICAgICBtaW5EaXN0ID0gZGlzdFtpXTtcbiAgICAgICAgICAgIHJlc3VsdEluZGV4ID0gaTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAocmVzdWx0SW5kZXggPj0gMCkge1xuICAgICAgICBmbGFnW3Jlc3VsdEluZGV4XSA9IDA7XG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKGluZFtyZXN1bHRJbmRleF0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWFHVmhjQzVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYkltaGxZWEF1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdPenM3T3pzN096czdPenM3T3pzN08wZEJhVUpITzBGQk1rTklMRTlCUVU4c1MwRkJTeXhMUVVGTExFMUJRVTBzVTBGQlV5eERRVUZETzBGQlNXcERPenM3T3pzN096czdSMEZUUnp0QlFVTklMRTFCUVUwc1ZVRkJWU3hSUVVGUkxFTkJRVU1zVDBGQlpTeEZRVUZGTEVsQlFWazdTVUZEY0VRc1RVRkJUU3hWUVVGVkxFZEJRVWNzUTBGQlF5eFRRVUZwUWl4RlFVRkZMRVZCUVVVN1VVRkRka01zVDBGQlR5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVWQlFVVTdXVUZEYmtNc1QwRkJUeXhMUVVGTExFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NSVUZCUlN4VFFVRlRMRU5CUVVNc1EwRkJRenRSUVVOMlF5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTk1MRU5CUVVNc1EwRkJRenRKUVVWR0xFMUJRVTBzU1VGQlNTeEhRVUZUTEVWQlFVVXNRMEZCUXp0SlFVTjBRaXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRE1VSXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTm9ReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRM3BDTEU5QlFVOHNTVUZCU1N4RFFVRkRPMEZCUTJRc1EwRkJRenRCUVVWRU96czdPMGRCU1VjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzWlVGQlpTeERRVU0zUWl4UlFVRm5RaXhGUVVOb1FpeFJRVUZuUWl4RlFVTm9RaXhOUVVGblFqdEpRVVZvUWl4TlFVRk5MRTFCUVUwc1IwRkJSeXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRPMGxCUTNKRExFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhSUVVGUkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdVVUZEYWtNc1NVRkJTU3haUVVGWkxFZEJRVWNzU1VGQlNTeERRVUZETzFGQlEzaENMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU5XTEU5QlFVOHNXVUZCV1N4RlFVRkZPMWxCUTI1Q0xFTkJRVU1zUjBGQlJ5eExRVUZMTEVOQlFVTXNWVUZCVlN4RFFVRkRMRkZCUVZFc1JVRkJSU3hOUVVGTkxFTkJRVU1zUTBGQlF6dFpRVU4yUXl4SlFVRkpMRTFCUVUwc1IwRkJSeXhMUVVGTExFTkJRVU03V1VGRGJrSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRuUWtGRE1VSXNTVUZCU1N4RFFVRkRMRXRCUVVzc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTzI5Q1FVTnVRaXhOUVVGTkxFZEJRVWNzU1VGQlNTeERRVUZETzI5Q1FVTmtMRTFCUVUwN2FVSkJRMUE3WVVGRFJqdFpRVU5FTEVsQlFVa3NRMEZCUXl4TlFVRk5PMmRDUVVGRkxGbEJRVmtzUjBGQlJ5eExRVUZMTEVOQlFVTTdVMEZEYmtNN1VVRkRSQ3hOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMHRCUTJZN1NVRkRSQ3hQUVVGUExFMUJRVTBzUTBGQlF6dEJRVU5vUWl4RFFVRkRPMEZCUlVRN096czdPenRIUVUxSE8wRkJRMGdzVFVGQlRTeFZRVUZWTEZGQlFWRXNRMEZEZEVJc1NVRkJWU3hGUVVOV0xFZEJRVmNzUlVGRFdDeE5RVUZqTEVWQlEyUXNTMEZCWVN4RlFVTmlMRWxCUVZrN1NVRkZXaXhIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVOMFFpeE5RVUZOTEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZETjBJc1RVRkJUU3hQUVVGUExFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRemRDTEUxQlFVMHNTMEZCU3l4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0SlFVVXpRaXhKUVVGSkxFMUJRVTBzU1VGQlNTeFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVN1VVRkRlRUlzVDBGQlR5eERRVUZETEVOQlFVTTdTMEZEVmp0SlFVVkVMSGxEUVVGNVF6dEpRVU42UXl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NUMEZCVHl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFJRVU4yUXl4SlFVRkpMRXRCUVVzc1MwRkJTeXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVTdXVUZEZUVJc1QwRkJUeXhEUVVGRExFTkJRVU03VTBGRFZqdExRVU5HTzBsQlJVUXNUMEZCVHl4cFFrRkJhVUlzUTBGQlF5eEpRVUZKTEVWQlFVVXNSMEZCUnl4RlFVRkZMRTFCUVUwc1JVRkJSU3hMUVVGTExFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTTdRVUZETTBRc1EwRkJRenRCUVVWRU96czdPenM3UjBGTlJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4cFFrRkJhVUlzUTBGREwwSXNTVUZCVlN4RlFVTldMRWRCUVZjc1JVRkRXQ3hOUVVGakxFVkJRMlFzUzBGQllTeEZRVU5pTEVsQlFWazdTVUZGV2l4TlFVRk5MRTlCUVU4c1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkROMElzVFVGQlRTeFBRVUZQTEVkQlFVY3NTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzBsQlF6ZENMRTFCUVUwc1MwRkJTeXhIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVVelFpeEpRVUZKTEUxQlFVMHNTVUZCU1N4UFFVRlBMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVU3VVVGRGVFSXNUMEZCVHl4RFFVRkRMRU5CUVVNN1MwRkRWanRKUVVWRUxEaENRVUU0UWp0SlFVTTVRaXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NUVUZCVFN4RFFVRkRPMGxCUTNCQ0xFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4TFFVRkxMRU5CUVVNN1NVRkRia0lzUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJRenRKUVVWb1FpeDNSVUZCZDBVN1NVRkRlRVVzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUTFZc1NVRkJTU3hMUVVGTExFZEJRVWNzUTBGQlF5eERRVUZETzBsQlEyUXNUMEZCVHl4SlFVRkpMRVZCUVVVN1VVRkRXQ3hOUVVGTkxFZEJRVWNzUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOMFFpeE5RVUZOTEVkQlFVY3NSMEZCUnl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRE8xRkJSWEJDTEUxQlFVMHNWVUZCVlN4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNN1VVRkRja01zU1VGQlNTeEhRVUZITEVsQlFVa3NWVUZCVlN4RlFVRkZPMWxCUTNKQ0xFMUJRVTA3VTBGRFVEdGhRVUZOTEVsQlFVa3NSMEZCUnl4SlFVRkpMRlZCUVZVc1JVRkJSVHRaUVVNMVFpeEpRVUZKTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhOUVVGTkxFVkJRVVU3WjBKQlEzcENMRXRCUVVzc1IwRkJSeXhIUVVGSExFTkJRVU03WVVGRFlqdHBRa0ZCVFR0blFrRkRUQ3hOUVVGTk8yRkJRMUE3VTBGRFJqdGhRVUZOTEVsQlFVa3NUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlR0WlFVTjJReXhKUVVGSkxFMUJRVTBzUjBGQlJ5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVN1owSkJRM3BDTEV0QlFVc3NSMEZCUnl4SFFVRkhMRU5CUVVNN1lVRkRZanRwUWtGQlRUdG5Ra0ZEVEN4TlFVRk5PMkZCUTFBN1UwRkRSanRoUVVGTk8xbEJRMHdzU1VGQlNTeE5RVUZOTEVkQlFVY3NUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRk8yZENRVU42UWl4TFFVRkxMRWRCUVVjc1IwRkJSeXhEUVVGRE8yRkJRMkk3YVVKQlFVMDdaMEpCUTB3c1RVRkJUVHRoUVVOUU8xTkJRMFk3VVVGRlJDeFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1QwRkJUeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzFGQlF6VkNMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eFBRVUZQTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkROVUlzUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dFJRVVY0UWl4RFFVRkRMRWRCUVVjc1MwRkJTeXhEUVVGRE8wdEJRMWc3U1VGRlJDeFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1RVRkJUU3hEUVVGRE8wbEJRM0JDTEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU03U1VGRGJrSXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF6dEpRVU5vUWl4UFFVRlBMRU5CUVVNc1EwRkJRenRCUVVOWUxFTkJRVU03UVVGRlJEczdPenRIUVVsSE8wRkJRMGdzVFVGQlRTeFZRVUZWTEdWQlFXVXNRMEZETjBJc1dVRkJhMElzUlVGRGJFSXNVMEZCYVVJc1JVRkRha0lzVlVGQmEwSXNSVUZEYkVJc1lVRkJjVUlzUlVGRGNrSXNUVUZCWjBJN1NVRkZhRUlzVFVGQlRTeHJRa0ZCYTBJc1IwRkJSeXhSUVVGUkxFTkJRVU1zVTBGQlV5eEZRVUZGTEdGQlFXRXNRMEZCUXl4RFFVRkRPMGxCUXpsRUxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhUUVVGVExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdVVUZEYkVNc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRlZCUVZVc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFpRVU51UXl4SlFVRkpMRmxCUVZrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVU3WjBKQlF6ZENMRk5CUVZNN1lVRkRWanRaUVVORUxFMUJRVTBzUjBGQlJ5eEhRVUZITEZsQlFWa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTnNReXhOUVVGTkxFZEJRVWNzUjBGQlJ5eFpRVUZaTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdXVUZEYkVNc1RVRkJUU3hEUVVGRExFZEJRVWNzUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRaUVVOb1F5eFJRVUZSTEVOQlFVTXNhMEpCUVd0Q0xFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGRE4wTXNVVUZCVVN4RFFVRkRMR3RDUVVGclFpeEZRVUZGTEVkQlFVY3NSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETzFsQlF6ZERMRmxCUVZrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03VTBGRE0wSTdTMEZEUmp0SlFVTkVMRTlCUVU4c2EwSkJRV3RDTEVOQlFVTTdRVUZETlVJc1EwRkJRenRCUVVWRU96czdPenRIUVV0SE8wRkJRMGdzVFVGQlRTeFZRVUZWTEZWQlFWVXNRMEZCUXl4SlFVRlZPMGxCUTI1RExFMUJRVTBzVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVONFFpeE5RVUZOTEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRmVFSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEU5QlFVOHNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3VVVGRGRrTXNUVUZCVFN4UFFVRlBMRWRCUVVjc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlF6TkNMRTFCUVUwc1VVRkJVU3hIUVVGSExFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVVTFRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1QwRkJUeXhEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1dVRkRNME1zVFVGQlRTeFpRVUZaTEVkQlFVY3NUMEZCVHl4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFsQlF6VkRMRTFCUVUwc1lVRkJZU3hIUVVGSExGRkJRVkVzUTBGQlF5eE5RVUZOTEVkQlFVY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRaUVVVNVF5eE5RVUZOTEV0QlFVc3NSMEZCUnl4UFFVRlBMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRGVrSXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFOUJRVThzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0WlFVTnVReXhQUVVGUExFTkJRVU1zV1VGQldTeERRVUZETEVkQlFVY3NTMEZCU3l4RFFVRkRPMWxCUlRsQ0xFMUJRVTBzUzBGQlN5eEhRVUZITEZGQlFWRXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVNeFFpeFJRVUZSTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1VVRkJVU3hEUVVGRExHRkJRV0VzUTBGQlF5eERRVUZETzFsQlEzUkRMRkZCUVZFc1EwRkJReXhoUVVGaExFTkJRVU1zUjBGQlJ5eExRVUZMTEVOQlFVTTdXVUZGYUVNc1VVRkJVU3hEUVVGRExGRkJRVkVzUlVGQlJTeFBRVUZQTEVWQlFVVXNZVUZCWVN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8xTkJReTlETzB0QlEwWTdTVUZEUkN4UFFVRlBMRVZCUVVVc1QwRkJUeXhGUVVGRkxFOUJRVThzUlVGQlJTeERRVUZETzBGQlF6bENMRU5CUVVNN1FVRkZSRHM3T3p0SFFVbEhPMEZCUTBnc1UwRkJVeXhSUVVGUkxFTkJRMllzUzBGQlpTeEZRVU5tTEV0QlFXVXNSVUZEWml4UFFVRmxMRVZCUTJZc1IwRkJWenRKUVVWWUxFOUJRVThzUjBGQlJ5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1QwRkJUeXhGUVVGRk8xRkJRelZDTEUxQlFVMHNVMEZCVXl4SFFVRkhMRWRCUVVjc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlF6bENMRTFCUVUwc1ZVRkJWU3hIUVVGSExGTkJRVk1zUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZEYWtNc1NVRkJTU3hKUVVGSkxFZEJRVWNzUjBGQlJ5eERRVUZETzFGQlJXWXNTVUZCU1N4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUzBGQlN5eERRVUZETEZOQlFWTXNRMEZCUXl4RlFVRkZPMWxCUTJ4RExFbEJRVWtzUjBGQlJ5eFRRVUZUTEVOQlFVTTdVMEZEYkVJN1VVRkRSQ3hKUVVGSkxGVkJRVlVzUjBGQlJ5eFBRVUZQTEVsQlFVa3NTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF5eFZRVUZWTEVOQlFVTXNSVUZCUlR0WlFVTXpSQ3hKUVVGSkxFZEJRVWNzVlVGQlZTeERRVUZETzFOQlEyNUNPMUZCUlVRc1NVRkJTU3hKUVVGSkxFdEJRVXNzUjBGQlJ5eEZRVUZGTzFsQlEyaENMRTFCUVUwN1UwRkRVRHRoUVVGTk8xbEJRMHdzVFVGQlRTeExRVUZMTEVkQlFVY3NTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRM3BDTEV0QlFVc3NRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdXVUZEZWtJc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEV0QlFVc3NRMEZCUXp0WlFVVndRaXhOUVVGTkxFdEJRVXNzUjBGQlJ5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1dVRkRla0lzUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRXRCUVVzc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dFpRVU42UWl4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUzBGQlN5eERRVUZETzFsQlEzQkNMRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU03VTBGRFdqdExRVU5HTzBGQlEwZ3NRMEZCUXp0QlFVVkVPenRIUVVWSE8wRkJRMGdzVFVGQlRTeFZRVUZWTEdWQlFXVXNRMEZCUXl4SlFVRlZMRVZCUVVVc1IwRkJWenRKUVVOeVJDeE5RVUZOTEVkQlFVY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZEZWtJc1RVRkJUU3hKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRekZDTEUxQlFVMHNTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0SlFVVXhRaXhKUVVGSkxFOUJRVThzUjBGQlJ5eFJRVUZSTEVOQlFVTTdTVUZEZGtJc1NVRkJTU3hYUVVGWExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZGY2tJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdVVUZEYmtNc1NVRkJTU3hKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eFBRVUZQTEVWQlFVVTdXVUZEZEVNc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTnNRaXhYUVVGWExFZEJRVWNzUTBGQlF5eERRVUZETzFOQlEycENPMHRCUTBZN1NVRkZSQ3hKUVVGSkxGZEJRVmNzU1VGQlNTeERRVUZETEVWQlFVVTdVVUZEY0VJc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTjBRaXhQUVVGUExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRmRCUVZjc1EwRkJReXhEUVVGRExFTkJRVU03UzBGRGNrTTdVMEZCVFR0UlFVTk1MRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU03UzBGRFdEdEJRVU5JTEVOQlFVTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2S2lwY2JpQXFJRUJzYVdObGJuTmxYRzRnS2x4dUlDb2dRMjl3ZVhKcFoyaDBJREl3TVRrZ1IyOXZaMnhsSUV4TVF5NGdRV3hzSUZKcFoyaDBjeUJTWlhObGNuWmxaQzVjYmlBcVhHNGdLaUJNYVdObGJuTmxaQ0IxYm1SbGNpQjBhR1VnUVhCaFkyaGxJRXhwWTJWdWMyVXNJRlpsY25OcGIyNGdNaTR3SUNoMGFHVWdYQ0pNYVdObGJuTmxYQ0lwTzF4dUlDb2dlVzkxSUcxaGVTQnViM1FnZFhObElIUm9hWE1nWm1sc1pTQmxlR05sY0hRZ2FXNGdZMjl0Y0d4cFlXNWpaU0IzYVhSb0lIUm9aU0JNYVdObGJuTmxMbHh1SUNvZ1dXOTFJRzFoZVNCdlluUmhhVzRnWVNCamIzQjVJRzltSUhSb1pTQk1hV05sYm5ObElHRjBYRzRnS2x4dUlDb2dJQ0FnSUdoMGRIQTZMeTkzZDNjdVlYQmhZMmhsTG05eVp5OXNhV05sYm5ObGN5OU1TVU5GVGxORkxUSXVNRnh1SUNwY2JpQXFJRlZ1YkdWemN5QnlaWEYxYVhKbFpDQmllU0JoY0hCc2FXTmhZbXhsSUd4aGR5QnZjaUJoWjNKbFpXUWdkRzhnYVc0Z2QzSnBkR2x1Wnl3Z2MyOW1kSGRoY21WY2JpQXFJR1JwYzNSeWFXSjFkR1ZrSUhWdVpHVnlJSFJvWlNCTWFXTmxibk5sSUdseklHUnBjM1J5YVdKMWRHVmtJRzl1SUdGdUlGd2lRVk1nU1ZOY0lpQkNRVk5KVXl4Y2JpQXFJRmRKVkVoUFZWUWdWMEZTVWtGT1ZFbEZVeUJQVWlCRFQwNUVTVlJKVDA1VElFOUdJRUZPV1NCTFNVNUVMQ0JsYVhSb1pYSWdaWGh3Y21WemN5QnZjaUJwYlhCc2FXVmtMbHh1SUNvZ1UyVmxJSFJvWlNCTWFXTmxibk5sSUdadmNpQjBhR1VnYzNCbFkybG1hV01nYkdGdVozVmhaMlVnWjI5MlpYSnVhVzVuSUhCbGNtMXBjM05wYjI1eklHRnVaRnh1SUNvZ2JHbHRhWFJoZEdsdmJuTWdkVzVrWlhJZ2RHaGxJRXhwWTJWdWMyVXVYRzRnS2lBOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDFjYmlBcUwxeHVYRzR2S2lwY2JpQXFJRlJvYVhNZ2FYTWdZU0JLWVhaaFUyTnlhWEIwSUhKbGFXMXdiR1Z0Wlc1MFlYUnBiMjRnYjJZZ1ZVMUJVQ0FvYjNKcFoybHVZV3dnYkdsalpXNXpaU0JpWld4dmR5a3NJR1p5YjIxY2JpQXFJSFJvWlNCd2VYUm9iMjRnYVcxd2JHVnRaVzUwWVhScGIyNGdabTkxYm1RZ1lYUWdhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMMnh0WTJsdWJtVnpMM1Z0WVhBdVhHNGdLbHh1SUNvZ1FHRjFkR2h2Y2lCaGJtUjVZMjlsYm1WdVFHZHZiMmRzWlM1amIyMGdLRUZ1WkhrZ1EyOWxibVZ1S1Z4dUlDb3ZYRzVjYmk4cUtseHVJQ29nUUd4cFkyVnVjMlZjYmlBcUlFSlRSQ0F6TFVOc1lYVnpaU0JNYVdObGJuTmxYRzRnS2x4dUlDb2dRMjl3ZVhKcFoyaDBJQ2hqS1NBeU1ERTNMQ0JNWld4aGJtUWdUV05KYm01bGMxeHVJQ29nUVd4c0lISnBaMmgwY3lCeVpYTmxjblpsWkM1Y2JpQXFYRzRnS2lCU1pXUnBjM1J5YVdKMWRHbHZiaUJoYm1RZ2RYTmxJR2x1SUhOdmRYSmpaU0JoYm1RZ1ltbHVZWEo1SUdadmNtMXpMQ0IzYVhSb0lHOXlJSGRwZEdodmRYUmNiaUFxSUcxdlpHbG1hV05oZEdsdmJpd2dZWEpsSUhCbGNtMXBkSFJsWkNCd2NtOTJhV1JsWkNCMGFHRjBJSFJvWlNCbWIyeHNiM2RwYm1jZ1kyOXVaR2wwYVc5dWN5QmhjbVVnYldWME9seHVJQ3BjYmlBcUlDb2dVbVZrYVhOMGNtbGlkWFJwYjI1eklHOW1JSE52ZFhKalpTQmpiMlJsSUcxMWMzUWdjbVYwWVdsdUlIUm9aU0JoWW05MlpTQmpiM0I1Y21sbmFIUWdibTkwYVdObExDQjBhR2x6WEc0Z0tpQWdJR3hwYzNRZ2IyWWdZMjl1WkdsMGFXOXVjeUJoYm1RZ2RHaGxJR1p2Ykd4dmQybHVaeUJrYVhOamJHRnBiV1Z5TGx4dUlDcGNiaUFxSUNvZ1VtVmthWE4wY21saWRYUnBiMjV6SUdsdUlHSnBibUZ5ZVNCbWIzSnRJRzExYzNRZ2NtVndjbTlrZFdObElIUm9aU0JoWW05MlpTQmpiM0I1Y21sbmFIUWdibTkwYVdObExGeHVJQ29nSUNCMGFHbHpJR3hwYzNRZ2IyWWdZMjl1WkdsMGFXOXVjeUJoYm1RZ2RHaGxJR1p2Ykd4dmQybHVaeUJrYVhOamJHRnBiV1Z5SUdsdUlIUm9aU0JrYjJOMWJXVnVkR0YwYVc5dVhHNGdLaUFnSUdGdVpDOXZjaUJ2ZEdobGNpQnRZWFJsY21saGJITWdjSEp2ZG1sa1pXUWdkMmwwYUNCMGFHVWdaR2x6ZEhKcFluVjBhVzl1TGx4dUlDcGNiaUFxSUNvZ1RtVnBkR2hsY2lCMGFHVWdibUZ0WlNCdlppQjBhR1VnWTI5d2VYSnBaMmgwSUdodmJHUmxjaUJ1YjNJZ2RHaGxJRzVoYldWeklHOW1JR2wwYzF4dUlDb2dJQ0JqYjI1MGNtbGlkWFJ2Y25NZ2JXRjVJR0psSUhWelpXUWdkRzhnWlc1a2IzSnpaU0J2Y2lCd2NtOXRiM1JsSUhCeWIyUjFZM1J6SUdSbGNtbDJaV1FnWm5KdmJWeHVJQ29nSUNCMGFHbHpJSE52Wm5SM1lYSmxJSGRwZEdodmRYUWdjM0JsWTJsbWFXTWdjSEpwYjNJZ2QzSnBkSFJsYmlCd1pYSnRhWE56YVc5dUxseHVJQ3BjYmlBcUlGUklTVk1nVTA5R1ZGZEJVa1VnU1ZNZ1VGSlBWa2xFUlVRZ1Fsa2dWRWhGSUVOUFVGbFNTVWRJVkNCSVQweEVSVkpUSUVGT1JDQkRUMDVVVWtsQ1ZWUlBVbE1nWENKQlV5QkpVMXdpWEc0Z0tpQkJUa1FnUVU1WklFVllVRkpGVTFNZ1QxSWdTVTFRVEVsRlJDQlhRVkpTUVU1VVNVVlRMQ0JKVGtOTVZVUkpUa2NzSUVKVlZDQk9UMVFnVEVsTlNWUkZSQ0JVVHl3Z1ZFaEZYRzRnS2lCSlRWQk1TVVZFSUZkQlVsSkJUbFJKUlZNZ1QwWWdUVVZTUTBoQlRsUkJRa2xNU1ZSWklFRk9SQ0JHU1ZST1JWTlRJRVpQVWlCQklGQkJVbFJKUTFWTVFWSWdVRlZTVUU5VFJTQkJVa1ZjYmlBcUlFUkpVME5NUVVsTlJVUXVJRWxPSUU1UElFVldSVTVVSUZOSVFVeE1JRlJJUlNCRFQxQlpVa2xIU0ZRZ1NFOU1SRVZTSUU5U0lFTlBUbFJTU1VKVlZFOVNVeUJDUlNCTVNVRkNURVZjYmlBcUlFWlBVaUJCVGxrZ1JFbFNSVU5VTENCSlRrUkpVa1ZEVkN3Z1NVNURTVVJGVGxSQlRDd2dVMUJGUTBsQlRDd2dSVmhGVFZCTVFWSlpMQ0JQVWlCRFQwNVRSVkZWUlU1VVNVRk1YRzRnS2lCRVFVMUJSMFZUSUNoSlRrTk1WVVJKVGtjc0lFSlZWQ0JPVDFRZ1RFbE5TVlJGUkNCVVR5d2dVRkpQUTFWU1JVMUZUbFFnVDBZZ1UxVkNVMVJKVkZWVVJTQkhUMDlFVXlCUFVseHVJQ29nVTBWU1ZrbERSVk03SUV4UFUxTWdUMFlnVlZORkxDQkVRVlJCTENCUFVpQlFVazlHU1ZSVE95QlBVaUJDVlZOSlRrVlRVeUJKVGxSRlVsSlZVRlJKVDA0cElFaFBWMFZXUlZKY2JpQXFJRU5CVlZORlJDQkJUa1FnVDA0Z1FVNVpJRlJJUlU5U1dTQlBSaUJNU1VGQ1NVeEpWRmtzSUZkSVJWUklSVklnU1U0Z1EwOU9WRkpCUTFRc0lGTlVVa2xEVkNCTVNVRkNTVXhKVkZrc1hHNGdLaUJQVWlCVVQxSlVJQ2hKVGtOTVZVUkpUa2NnVGtWSFRFbEhSVTVEUlNCUFVpQlBWRWhGVWxkSlUwVXBJRUZTU1ZOSlRrY2dTVTRnUVU1WklGZEJXU0JQVlZRZ1QwWWdWRWhGSUZWVFJWeHVJQ29nVDBZZ1ZFaEpVeUJUVDBaVVYwRlNSU3dnUlZaRlRpQkpSaUJCUkZaSlUwVkVJRTlHSUZSSVJTQlFUMU5UU1VKSlRFbFVXU0JQUmlCVFZVTklJRVJCVFVGSFJTNWNiaUFxTDF4dVhHNXBiWEJ2Y25RZ2V5QlNZVzVrYjIxR2JpQjlJR1p5YjIwZ0p5NHZkVzFoY0NjN1hHNXBiWEJ2Y25RZ0tpQmhjeUIxZEdsc2N5Qm1jbTl0SUNjdUwzVjBhV3h6Snp0Y2JseHVaWGh3YjNKMElIUjVjR1VnU0dWaGNDQTlJRzUxYldKbGNsdGRXMTFiWFR0Y2JseHVMeW9xWEc0Z0tpQWdRMjl1YzNSeWRXTjBiM0lnWm05eUlIUm9aU0JvWldGd0lHOWlhbVZqZEhNdUlGUm9aU0JvWldGd2N5QmhjbVVnZFhObFpGeHVJQ29nWm05eUlHRndjSEp2ZUdsdFlYUmxJRzVsWVhKbGMzUWdibVZwWjJoaWIzSWdjMlZoY21Ob0xDQnRZV2x1ZEdGcGJtbHVaeUJoSUd4cGMzUWdiMllnY0c5MFpXNTBhV0ZzWEc0Z0tpQnVaV2xuYUdKdmNuTWdjMjl5ZEdWa0lHSjVJSFJvWldseUlHUnBjM1JoYm1ObExpQlhaU0JoYkhOdklHWnNZV2NnYVdZZ2NHOTBaVzUwYVdGc0lHNWxhV2RvWW05eWMxeHVJQ29nWVhKbElHNWxkMng1SUdGa1pHVmtJSFJ2SUhSb1pTQnNhWE4wSUc5eUlHNXZkQzRnU1c1MFpYSnVZV3hzZVNCMGFHbHpJR2x6SUhOMGIzSmxaQ0JoYzF4dUlDb2dZU0J6YVc1bmJHVWdZWEp5WVhrN0lIUm9aU0JtYVhKemRDQmhlR2x6SUdSbGRHVnliV2x1WlhNZ2QyaGxkR2hsY2lCM1pTQmhjbVVnYkc5dmEybHVaeUJoZENCMGFHVmNiaUFxSUdGeWNtRjVJRzltSUdOaGJtUnBaR0YwWlNCcGJtUnBZMlZ6TENCMGFHVWdZWEp5WVhrZ2IyWWdaR2x6ZEdGdVkyVnpMQ0J2Y2lCMGFHVWdabXhoWnlCaGNuSmhlU0JtYjNKY2JpQXFJSGRvWlhSb1pYSWdaV3hsYldWdWRITWdZWEpsSUc1bGR5QnZjaUJ1YjNRdUlFVmhZMmdnYjJZZ2RHaGxjMlVnWVhKeVlYbHpJR0Z5WlNCdlppQnphR0Z3WlZ4dUlDb2dLR0JnYmxCdmFXNTBjMkJnTENCZ1lITnBlbVZnWUNsY2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRzFoYTJWSVpXRndLRzVRYjJsdWRITTZJRzUxYldKbGNpd2djMmw2WlRvZ2JuVnRZbVZ5S1RvZ1NHVmhjQ0I3WEc0Z0lHTnZibk4wSUcxaGEyVkJjbkpoZVhNZ1BTQW9abWxzYkZaaGJIVmxPaUJ1ZFcxaVpYSXBJRDArSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkWFJwYkhNdVpXMXdkSGtvYmxCdmFXNTBjeWt1YldGd0tDZ3BJRDArSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUIxZEdsc2N5NW1hV3hzWldRb2MybDZaU3dnWm1sc2JGWmhiSFZsS1R0Y2JpQWdJQ0I5S1R0Y2JpQWdmVHRjYmx4dUlDQmpiMjV6ZENCb1pXRndPaUJJWldGd0lEMGdXMTA3WEc0Z0lHaGxZWEF1Y0hWemFDaHRZV3RsUVhKeVlYbHpLQzB4S1NrN1hHNGdJR2hsWVhBdWNIVnphQ2h0WVd0bFFYSnlZWGx6S0VsdVptbHVhWFI1S1NrN1hHNGdJR2hsWVhBdWNIVnphQ2h0WVd0bFFYSnlZWGx6S0RBcEtUdGNiaUFnY21WMGRYSnVJR2hsWVhBN1hHNTlYRzVjYmk4cUtseHVJQ29nUjJWdVpYSmhkR1VnYmw5ellXMXdiR1Z6SUcxaGJua2dhVzUwWldkbGNuTWdabkp2YlNBd0lIUnZJSEJ2YjJ4ZmMybDZaU0J6ZFdOb0lIUm9ZWFFnYm05Y2JpQXFJR2x1ZEdWblpYSWdhWE1nYzJWc1pXTjBaV1FnZEhkcFkyVXVJRlJvWlNCa2RYQnNhV05oZEdsdmJpQmpiMjV6ZEhKaGFXNTBJR2x6SUdGamFHbGxkbVZrSUhacFlWeHVJQ29nY21WcVpXTjBhVzl1SUhOaGJYQnNhVzVuTGx4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdjbVZxWldOMGFXOXVVMkZ0Y0d4bEtGeHVJQ0J1VTJGdGNHeGxjem9nYm5WdFltVnlMRnh1SUNCd2IyOXNVMmw2WlRvZ2JuVnRZbVZ5TEZ4dUlDQnlZVzVrYjIwNklGSmhibVJ2YlVadVhHNHBJSHRjYmlBZ1kyOXVjM1FnY21WemRXeDBJRDBnZFhScGJITXVlbVZ5YjNNb2JsTmhiWEJzWlhNcE8xeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUc1VFlXMXdiR1Z6T3lCcEt5c3BJSHRjYmlBZ0lDQnNaWFFnY21WcVpXTjBVMkZ0Y0d4bElEMGdkSEoxWlR0Y2JpQWdJQ0JzWlhRZ2FpQTlJREE3WEc0Z0lDQWdkMmhwYkdVZ0tISmxhbVZqZEZOaGJYQnNaU2tnZTF4dUlDQWdJQ0FnYWlBOUlIVjBhV3h6TG5SaGRWSmhibVJKYm5Rb2NHOXZiRk5wZW1Vc0lISmhibVJ2YlNrN1hHNGdJQ0FnSUNCc1pYUWdZbkp2YTJWdUlEMGdabUZzYzJVN1hHNGdJQ0FnSUNCbWIzSWdLR3hsZENCcklEMGdNRHNnYXlBOElHazdJR3NyS3lrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYWlBOVBUMGdjbVZ6ZFd4MFcydGRLU0I3WEc0Z0lDQWdJQ0FnSUNBZ1luSnZhMlZ1SUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYVdZZ0tDRmljbTlyWlc0cElISmxhbVZqZEZOaGJYQnNaU0E5SUdaaGJITmxPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYTjFiSFJiYVYwZ1BTQnFPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQnlaWE4xYkhRN1hHNTlYRzVjYmk4cUtseHVJQ29nVUhWemFDQmhJRzVsZHlCbGJHVnRaVzUwSUc5dWRHOGdkR2hsSUdobFlYQXVJRlJvWlNCb1pXRndJSE4wYjNKbGN5QndiM1JsYm5ScFlXd2dibVZwWjJoaWIzSnpYRzRnS2lCbWIzSWdaV0ZqYUNCa1lYUmhJSEJ2YVc1MExpQlVhR1VnWUdCeWIzZGdZQ0J3WVhKaGJXVjBaWElnWkdWMFpYSnRhVzVsY3lCM2FHbGphQ0JrWVhSaElIQnZhVzUwSUhkbFhHNGdLaUJoY21VZ1lXUmtjbVZ6YzJsdVp5d2dkR2hsSUdCZ2QyVnBaMmgwWUdBZ1pHVjBaWEp0YVc1bGN5QjBhR1VnWkdsemRHRnVZMlVnS0dadmNpQm9aV0Z3SUhOdmNuUnBibWNwTEZ4dUlDb2dkR2hsSUdCZ2FXNWtaWGhnWUNCcGN5QjBhR1VnWld4bGJXVnVkQ0IwYnlCaFpHUXNJR0Z1WkNCMGFHVWdabXhoWnlCa1pYUmxjbTFwYm1WeklIZG9aWFJvWlhJZ2RHaHBjMXh1SUNvZ2FYTWdkRzhnWW1VZ1kyOXVjMmxrWlhKbFpDQmhJRzVsZHlCaFpHUnBkR2x2Ymk1Y2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2hsWVhCUWRYTm9LRnh1SUNCb1pXRndPaUJJWldGd0xGeHVJQ0J5YjNjNklHNTFiV0psY2l4Y2JpQWdkMlZwWjJoME9pQnVkVzFpWlhJc1hHNGdJR2x1WkdWNE9pQnVkVzFpWlhJc1hHNGdJR1pzWVdjNklHNTFiV0psY2x4dUtUb2diblZ0WW1WeUlIdGNiaUFnY205M0lEMGdUV0YwYUM1bWJHOXZjaWh5YjNjcE8xeHVJQ0JqYjI1emRDQnBibVJwWTJWeklEMGdhR1ZoY0Zzd1hWdHliM2RkTzF4dUlDQmpiMjV6ZENCM1pXbG5hSFJ6SUQwZ2FHVmhjRnN4WFZ0eWIzZGRPMXh1SUNCamIyNXpkQ0JwYzA1bGR5QTlJR2hsWVhCYk1sMWJjbTkzWFR0Y2JseHVJQ0JwWmlBb2QyVnBaMmgwSUQ0OUlIZGxhV2RvZEhOYk1GMHBJSHRjYmlBZ0lDQnlaWFIxY200Z01EdGNiaUFnZlZ4dVhHNGdJQzh2SUVKeVpXRnJJR2xtSUhkbElHRnNjbVZoWkhrZ2FHRjJaU0IwYUdseklHVnNaVzFsYm5RdVhHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnYVc1a2FXTmxjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUdsbUlDaHBibVJsZUNBOVBUMGdhVzVrYVdObGMxdHBYU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJREE3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSFZ1WTJobFkydGxaRWhsWVhCUWRYTm9LR2hsWVhBc0lISnZkeXdnZDJWcFoyaDBMQ0JwYm1SbGVDd2dabXhoWnlrN1hHNTlYRzVjYmk4cUtseHVJQ29nVUhWemFDQmhJRzVsZHlCbGJHVnRaVzUwSUc5dWRHOGdkR2hsSUdobFlYQXVJRlJvWlNCb1pXRndJSE4wYjNKbGN5QndiM1JsYm5ScFlXd2dibVZwWjJoaWIzSnpYRzRnS2lCbWIzSWdaV0ZqYUNCa1lYUmhJSEJ2YVc1MExpQlVhR1VnWUdCeWIzZGdZQ0J3WVhKaGJXVjBaWElnWkdWMFpYSnRhVzVsY3lCM2FHbGphQ0JrWVhSaElIQnZhVzUwSUhkbFhHNGdLaUJoY21VZ1lXUmtjbVZ6YzJsdVp5d2dkR2hsSUdCZ2QyVnBaMmgwWUdBZ1pHVjBaWEp0YVc1bGN5QjBhR1VnWkdsemRHRnVZMlVnS0dadmNpQm9aV0Z3SUhOdmNuUnBibWNwTEZ4dUlDb2dkR2hsSUdCZ2FXNWtaWGhnWUNCcGN5QjBhR1VnWld4bGJXVnVkQ0IwYnlCaFpHUXNJR0Z1WkNCMGFHVWdabXhoWnlCa1pYUmxjbTFwYm1WeklIZG9aWFJvWlhJZ2RHaHBjMXh1SUNvZ2FYTWdkRzhnWW1VZ1kyOXVjMmxrWlhKbFpDQmhJRzVsZHlCaFpHUnBkR2x2Ymk1Y2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSFZ1WTJobFkydGxaRWhsWVhCUWRYTm9LRnh1SUNCb1pXRndPaUJJWldGd0xGeHVJQ0J5YjNjNklHNTFiV0psY2l4Y2JpQWdkMlZwWjJoME9pQnVkVzFpWlhJc1hHNGdJR2x1WkdWNE9pQnVkVzFpWlhJc1hHNGdJR1pzWVdjNklHNTFiV0psY2x4dUtUb2diblZ0WW1WeUlIdGNiaUFnWTI5dWMzUWdhVzVrYVdObGN5QTlJR2hsWVhCYk1GMWJjbTkzWFR0Y2JpQWdZMjl1YzNRZ2QyVnBaMmgwY3lBOUlHaGxZWEJiTVYxYmNtOTNYVHRjYmlBZ1kyOXVjM1FnYVhOT1pYY2dQU0JvWldGd1d6SmRXM0p2ZDEwN1hHNWNiaUFnYVdZZ0tIZGxhV2RvZENBK1BTQjNaV2xuYUhSeld6QmRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlEQTdYRzRnSUgxY2JseHVJQ0F2THlCSmJuTmxjblFnZG1Gc0lHRjBJSEJ2YzJsMGFXOXVJSHBsY205Y2JpQWdkMlZwWjJoMGMxc3dYU0E5SUhkbGFXZG9kRHRjYmlBZ2FXNWthV05sYzFzd1hTQTlJR2x1WkdWNE8xeHVJQ0JwYzA1bGQxc3dYU0E5SUdac1lXYzdYRzVjYmlBZ0x5OGdSR1Z6WTJWdVpDQjBhR1VnYUdWaGNDd2djM2RoY0hCcGJtY2dkbUZzZFdWeklIVnVkR2xzSUhSb1pTQnRZWGdnYUdWaGNDQmpjbWwwWlhKcGIyNGdhWE1nYldWMFhHNGdJR3hsZENCcElEMGdNRHRjYmlBZ2JHVjBJR2xUZDJGd0lEMGdNRHRjYmlBZ2QyaHBiR1VnS0hSeWRXVXBJSHRjYmlBZ0lDQmpiMjV6ZENCcFl6RWdQU0F5SUNvZ2FTQXJJREU3WEc0Z0lDQWdZMjl1YzNRZ2FXTXlJRDBnYVdNeElDc2dNVHRjYmx4dUlDQWdJR052Ym5OMElHaGxZWEJUYUdGd1pUSWdQU0JvWldGd1d6QmRXekJkTG14bGJtZDBhRHRjYmlBZ0lDQnBaaUFvYVdNeElENDlJR2hsWVhCVGFHRndaVElwSUh0Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9hV015SUQ0OUlHaGxZWEJUYUdGd1pUSXBJSHRjYmlBZ0lDQWdJR2xtSUNoM1pXbG5hSFJ6VzJsak1WMGdQaUIzWldsbmFIUXBJSHRjYmlBZ0lDQWdJQ0FnYVZOM1lYQWdQU0JwWXpFN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSGRsYVdkb2RITmJhV014WFNBK1BTQjNaV2xuYUhSelcybGpNbDBwSUh0Y2JpQWdJQ0FnSUdsbUlDaDNaV2xuYUhRZ1BDQjNaV2xuYUhSelcybGpNVjBwSUh0Y2JpQWdJQ0FnSUNBZ2FWTjNZWEFnUFNCcFl6RTdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdhV1lnS0hkbGFXZG9kQ0E4SUhkbGFXZG9kSE5iYVdNeVhTa2dlMXh1SUNBZ0lDQWdJQ0JwVTNkaGNDQTlJR2xqTWp0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lIZGxhV2RvZEhOYmFWMGdQU0IzWldsbmFIUnpXMmxUZDJGd1hUdGNiaUFnSUNCcGJtUnBZMlZ6VzJsZElEMGdhVzVrYVdObGMxdHBVM2RoY0YwN1hHNGdJQ0FnYVhOT1pYZGJhVjBnUFNCcGMwNWxkMXRwVTNkaGNGMDdYRzVjYmlBZ0lDQnBJRDBnYVZOM1lYQTdYRzRnSUgxY2JseHVJQ0IzWldsbmFIUnpXMmxkSUQwZ2QyVnBaMmgwTzF4dUlDQnBibVJwWTJWelcybGRJRDBnYVc1a1pYZzdYRzRnSUdselRtVjNXMmxkSUQwZ1pteGhaenRjYmlBZ2NtVjBkWEp1SURFN1hHNTlYRzVjYmk4cUtseHVJQ29nUW5WcGJHUWdZU0JvWldGd0lHOW1JR05oYm1ScFpHRjBaU0J1WldsbmFHSnZjbk1nWm05eUlHNWxZWEpsYzNRZ2JtVnBaMmhpYjNJZ1pHVnpZMlZ1ZEM0Z1JtOXlYRzRnS2lCbFlXTm9JSFpsY25SbGVDQjBhR1VnWTJGdVpHbGtZWFJsSUc1bGFXZG9ZbTl5Y3lCaGNtVWdZVzU1SUdOMWNuSmxiblFnYm1WcFoyaGliM0p6TENCaGJtUWdZVzU1WEc0Z0tpQjJaWEowYVdObGN5QjBhR0YwSUdoaGRtVWdkR2hsSUhabGNuUmxlQ0JoY3lCdmJtVWdiMllnZEdobGFYSWdibVZoY21WemRDQnVaV2xuYUdKdmNuTXVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCaWRXbHNaRU5oYm1ScFpHRjBaWE1vWEc0Z0lHTjFjbkpsYm5SSGNtRndhRG9nU0dWaGNDeGNiaUFnYmxabGNuUnBZMlZ6T2lCdWRXMWlaWElzWEc0Z0lHNU9aV2xuYUdKdmNuTTZJRzUxYldKbGNpeGNiaUFnYldGNFEyRnVaR2xrWVhSbGN6b2diblZ0WW1WeUxGeHVJQ0J5WVc1a2IyMDZJRkpoYm1SdmJVWnVYRzRwSUh0Y2JpQWdZMjl1YzNRZ1kyRnVaR2xrWVhSbFRtVnBaMmhpYjNKeklEMGdiV0ZyWlVobFlYQW9ibFpsY25ScFkyVnpMQ0J0WVhoRFlXNWthV1JoZEdWektUdGNiaUFnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCdVZtVnlkR2xqWlhNN0lHa3JLeWtnZTF4dUlDQWdJR1p2Y2lBb2JHVjBJR29nUFNBd095QnFJRHdnYms1bGFXZG9ZbTl5Y3pzZ2Fpc3JLU0I3WEc0Z0lDQWdJQ0JwWmlBb1kzVnljbVZ1ZEVkeVlYQm9XekJkVzJsZFcycGRJRHdnTUNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjUwYVc1MVpUdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHTnZibk4wSUdsa2VDQTlJR04xY25KbGJuUkhjbUZ3YUZzd1hWdHBYVnRxWFR0Y2JpQWdJQ0FnSUdOdmJuTjBJR2x6YmlBOUlHTjFjbkpsYm5SSGNtRndhRnN5WFZ0cFhWdHFYVHRjYmlBZ0lDQWdJR052Ym5OMElHUWdQU0IxZEdsc2N5NTBZWFZTWVc1a0tISmhibVJ2YlNrN1hHNGdJQ0FnSUNCb1pXRndVSFZ6YUNoallXNWthV1JoZEdWT1pXbG5hR0p2Y25Nc0lHa3NJR1FzSUdsa2VDd2dhWE51S1R0Y2JpQWdJQ0FnSUdobFlYQlFkWE5vS0dOaGJtUnBaR0YwWlU1bGFXZG9ZbTl5Y3l3Z2FXUjRMQ0JrTENCcExDQnBjMjRwTzF4dUlDQWdJQ0FnWTNWeWNtVnVkRWR5WVhCb1d6SmRXMmxkVzJwZElEMGdNRHRjYmlBZ0lDQjlYRzRnSUgxY2JpQWdjbVYwZFhKdUlHTmhibVJwWkdGMFpVNWxhV2RvWW05eWN6dGNibjFjYmx4dUx5b3FYRzRnS2lCSGFYWmxiaUJoYmlCaGNuSmhlU0J2WmlCb1pXRndjeUFvYjJZZ2FXNWthV05sY3lCaGJtUWdkMlZwWjJoMGN5a3NJSFZ1Y0dGamF5QjBhR1VnYUdWaGNGeHVJQ29nYjNWMElIUnZJR2RwZG1VZ1lXNWtJR0Z5Y21GNUlHOW1JSE52Y25SbFpDQnNhWE4wY3lCdlppQnBibVJwWTJWeklHRnVaQ0IzWldsbmFIUnpJR0o1SUdsdVkzSmxZWE5wYm1kY2JpQXFJSGRsYVdkb2RDNGdWR2hwY3lCcGN5QmxabVpsWTNScGRtVnNlU0JxZFhOMElIUm9aU0J6WldOdmJtUWdhR0ZzWmlCdlppQm9aV0Z3SUhOdmNuUWdLSFJvWlNCbWFYSnpkRnh1SUNvZ2FHRnNaaUJ1YjNRZ1ltVnBibWNnY21WeGRXbHlaV1FnYzJsdVkyVWdkMlVnWVd4eVpXRmtlU0JvWVhabElIUm9aU0JrWVhSaElHbHVJR0VnYUdWaGNDa3VYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCa1pXaGxZWEJUYjNKMEtHaGxZWEE2SUVobFlYQXBJSHRjYmlBZ1kyOXVjM1FnYVc1a2FXTmxjeUE5SUdobFlYQmJNRjA3WEc0Z0lHTnZibk4wSUhkbGFXZG9kSE1nUFNCb1pXRndXekZkTzF4dVhHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnYVc1a2FXTmxjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUdOdmJuTjBJR2x1WkVobFlYQWdQU0JwYm1ScFkyVnpXMmxkTzF4dUlDQWdJR052Ym5OMElHUnBjM1JJWldGd0lEMGdkMlZwWjJoMGMxdHBYVHRjYmx4dUlDQWdJR1p2Y2lBb2JHVjBJR29nUFNBd095QnFJRHdnYVc1a1NHVmhjQzVzWlc1bmRHZ2dMU0F4T3lCcUt5c3BJSHRjYmlBZ0lDQWdJR052Ym5OMElHbHVaRWhsWVhCSmJtUmxlQ0E5SUdsdVpFaGxZWEF1YkdWdVozUm9JQzBnYWlBdElERTdYRzRnSUNBZ0lDQmpiMjV6ZENCa2FYTjBTR1ZoY0VsdVpHVjRJRDBnWkdsemRFaGxZWEF1YkdWdVozUm9JQzBnYWlBdElERTdYRzVjYmlBZ0lDQWdJR052Ym5OMElIUmxiWEF4SUQwZ2FXNWtTR1ZoY0Zzd1hUdGNiaUFnSUNBZ0lHbHVaRWhsWVhCYk1GMGdQU0JwYm1SSVpXRndXMmx1WkVobFlYQkpibVJsZUYwN1hHNGdJQ0FnSUNCcGJtUklaV0Z3VzJsdVpFaGxZWEJKYm1SbGVGMGdQU0IwWlcxd01UdGNibHh1SUNBZ0lDQWdZMjl1YzNRZ2RHVnRjRElnUFNCa2FYTjBTR1ZoY0Zzd1hUdGNiaUFnSUNBZ0lHUnBjM1JJWldGd1d6QmRJRDBnWkdsemRFaGxZWEJiWkdsemRFaGxZWEJKYm1SbGVGMDdYRzRnSUNBZ0lDQmthWE4wU0dWaGNGdGthWE4wU0dWaGNFbHVaR1Y0WFNBOUlIUmxiWEF5TzF4dVhHNGdJQ0FnSUNCemFXWjBSRzkzYmloa2FYTjBTR1ZoY0N3Z2FXNWtTR1ZoY0N3Z1pHbHpkRWhsWVhCSmJtUmxlQ3dnTUNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzRnSUhKbGRIVnliaUI3SUdsdVpHbGpaWE1zSUhkbGFXZG9kSE1nZlR0Y2JuMWNibHh1THlvcVhHNGdLaUJTWlhOMGIzSmxJSFJvWlNCb1pXRndJSEJ5YjNCbGNuUjVJR1p2Y2lCaElHaGxZWEFnZDJsMGFDQmhiaUJ2ZFhRZ2IyWWdjR3hoWTJVZ1pXeGxiV1Z1ZEZ4dUlDb2dZWFFnY0c5emFYUnBiMjRnWUdCbGJIUmdZQzRnVkdocGN5QjNiM0pyY3lCM2FYUm9JR0VnYUdWaGNDQndZV2x5SUhkb1pYSmxJR2hsWVhBeElHTmhjbkpwWlhOY2JpQXFJSFJvWlNCM1pXbG5hSFJ6SUdGdVpDQm9aV0Z3TWlCb2IyeGtjeUIwYUdVZ1kyOXljbVZ6Y0c5dVpHbHVaeUJsYkdWdFpXNTBjeTVjYmlBcUwxeHVablZ1WTNScGIyNGdjMmxtZEVSdmQyNG9YRzRnSUdobFlYQXhPaUJ1ZFcxaVpYSmJYU3hjYmlBZ2FHVmhjREk2SUc1MWJXSmxjbHRkTEZ4dUlDQmpaV2xzYVc1bk9pQnVkVzFpWlhJc1hHNGdJR1ZzZERvZ2JuVnRZbVZ5WEc0cElIdGNiaUFnZDJocGJHVWdLR1ZzZENBcUlESWdLeUF4SUR3Z1kyVnBiR2x1WnlrZ2UxeHVJQ0FnSUdOdmJuTjBJR3hsWm5SRGFHbHNaQ0E5SUdWc2RDQXFJRElnS3lBeE8xeHVJQ0FnSUdOdmJuTjBJSEpwWjJoMFEyaHBiR1FnUFNCc1pXWjBRMmhwYkdRZ0t5QXhPMXh1SUNBZ0lHeGxkQ0J6ZDJGd0lEMGdaV3gwTzF4dVhHNGdJQ0FnYVdZZ0tHaGxZWEF4VzNOM1lYQmRJRHdnYUdWaGNERmJiR1ZtZEVOb2FXeGtYU2tnZTF4dUlDQWdJQ0FnYzNkaGNDQTlJR3hsWm5SRGFHbHNaRHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLSEpwWjJoMFEyaHBiR1FnUENCalpXbHNhVzVuSUNZbUlHaGxZWEF4VzNOM1lYQmRJRHdnYUdWaGNERmJjbWxuYUhSRGFHbHNaRjBwSUh0Y2JpQWdJQ0FnSUhOM1lYQWdQU0J5YVdkb2RFTm9hV3hrTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoemQyRndJRDA5UFNCbGJIUXBJSHRjYmlBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQjBaVzF3TVNBOUlHaGxZWEF4VzJWc2RGMDdYRzRnSUNBZ0lDQm9aV0Z3TVZ0bGJIUmRJRDBnYUdWaGNERmJjM2RoY0YwN1hHNGdJQ0FnSUNCb1pXRndNVnR6ZDJGd1hTQTlJSFJsYlhBeE8xeHVYRzRnSUNBZ0lDQmpiMjV6ZENCMFpXMXdNaUE5SUdobFlYQXlXMlZzZEYwN1hHNGdJQ0FnSUNCb1pXRndNbHRsYkhSZElEMGdhR1ZoY0RKYmMzZGhjRjA3WEc0Z0lDQWdJQ0JvWldGd01sdHpkMkZ3WFNBOUlIUmxiWEF5TzF4dUlDQWdJQ0FnWld4MElEMGdjM2RoY0R0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmx4dUx5b3FYRzRnS2lCVFpXRnlZMmdnZEdobElHaGxZWEFnWm05eUlIUm9aU0J6YldGc2JHVnpkQ0JsYkdWdFpXNTBJSFJvWVhRZ2FYTWdjM1JwYkd3Z1pteGhaMmRsWkM1Y2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSE50WVd4c1pYTjBSbXhoWjJkbFpDaG9aV0Z3T2lCSVpXRndMQ0J5YjNjNklHNTFiV0psY2lrZ2UxeHVJQ0JqYjI1emRDQnBibVFnUFNCb1pXRndXekJkVzNKdmQxMDdYRzRnSUdOdmJuTjBJR1JwYzNRZ1BTQm9aV0Z3V3pGZFczSnZkMTA3WEc0Z0lHTnZibk4wSUdac1lXY2dQU0JvWldGd1d6SmRXM0p2ZDEwN1hHNWNiaUFnYkdWMElHMXBia1JwYzNRZ1BTQkpibVpwYm1sMGVUdGNiaUFnYkdWMElISmxjM1ZzZEVsdVpHVjRJRDBnTFRFN1hHNWNiaUFnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUGlCcGJtUXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0JwWmlBb1pteGhaMXRwWFNBOVBUMGdNU0FtSmlCa2FYTjBXMmxkSUR3Z2JXbHVSR2x6ZENrZ2UxeHVJQ0FnSUNBZ2JXbHVSR2x6ZENBOUlHUnBjM1JiYVYwN1hHNGdJQ0FnSUNCeVpYTjFiSFJKYm1SbGVDQTlJR2s3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnYVdZZ0tISmxjM1ZzZEVsdVpHVjRJRDQ5SURBcElIdGNiaUFnSUNCbWJHRm5XM0psYzNWc2RFbHVaR1Y0WFNBOUlEQTdYRzRnSUNBZ2NtVjBkWEp1SUUxaGRHZ3VabXh2YjNJb2FXNWtXM0psYzNWc2RFbHVaR1Y0WFNrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2NtVjBkWEp1SUMweE8xeHVJQ0I5WEc1OVhHNGlYWDA9IiwiLyoqXG4gKiBAbGljZW5zZVxuICpcbiAqIENvcHlyaWdodCAyMDE5IEdvb2dsZSBMTEMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKi9cbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuLyoqXG4gKiBJbnRlcm5hbCAyLWRpbWVuc2lvbmFsIHNwYXJzZSBtYXRyaXggY2xhc3NcbiAqL1xuZXhwb3J0IGNsYXNzIFNwYXJzZU1hdHJpeCB7XG4gICAgZW50cmllcyA9IG5ldyBNYXAoKTtcbiAgICBuUm93cyA9IDA7XG4gICAgbkNvbHMgPSAwO1xuICAgIGNvbnN0cnVjdG9yKHJvd3MsIGNvbHMsIHZhbHVlcywgZGltcykge1xuICAgICAgICBpZiAocm93cy5sZW5ndGggIT09IGNvbHMubGVuZ3RoIHx8IHJvd3MubGVuZ3RoICE9PSB2YWx1ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3Jvd3MsIGNvbHMgYW5kIHZhbHVlcyBhcnJheXMgbXVzdCBhbGwgaGF2ZSB0aGUgc2FtZSBsZW5ndGgnKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBUT0RPOiBBc3NlcnQgdGhhdCBkaW1zIGFyZSBsZWdpdC5cbiAgICAgICAgdGhpcy5uUm93cyA9IGRpbXNbMF07XG4gICAgICAgIHRoaXMubkNvbHMgPSBkaW1zWzFdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgcm93ID0gcm93c1tpXTtcbiAgICAgICAgICAgIGNvbnN0IGNvbCA9IGNvbHNbaV07XG4gICAgICAgICAgICB0aGlzLmNoZWNrRGltcyhyb3csIGNvbCk7XG4gICAgICAgICAgICBjb25zdCBrZXkgPSB0aGlzLm1ha2VLZXkocm93LCBjb2wpO1xuICAgICAgICAgICAgdGhpcy5lbnRyaWVzLnNldChrZXksIHsgdmFsdWU6IHZhbHVlc1tpXSwgcm93LCBjb2wgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbWFrZUtleShyb3csIGNvbCkge1xuICAgICAgICByZXR1cm4gYCR7cm93fToke2NvbH1gO1xuICAgIH1cbiAgICBjaGVja0RpbXMocm93LCBjb2wpIHtcbiAgICAgICAgY29uc3Qgd2l0aGluQm91bmRzID0gcm93IDwgdGhpcy5uUm93cyAmJiBjb2wgPCB0aGlzLm5Db2xzO1xuICAgICAgICBpZiAoIXdpdGhpbkJvdW5kcykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdyb3cgYW5kL29yIGNvbCBzcGVjaWZpZWQgb3V0c2lkZSBvZiBtYXRyaXggZGltZW5zaW9ucycpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHNldChyb3csIGNvbCwgdmFsdWUpIHtcbiAgICAgICAgdGhpcy5jaGVja0RpbXMocm93LCBjb2wpO1xuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLm1ha2VLZXkocm93LCBjb2wpO1xuICAgICAgICBpZiAoIXRoaXMuZW50cmllcy5oYXMoa2V5KSkge1xuICAgICAgICAgICAgdGhpcy5lbnRyaWVzLnNldChrZXksIHsgdmFsdWUsIHJvdywgY29sIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lbnRyaWVzLmdldChrZXkpLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0KHJvdywgY29sLCBkZWZhdWx0VmFsdWUgPSAwKSB7XG4gICAgICAgIC8vdGhpcy5jaGVja0RpbXMocm93LCBjb2wpO1xuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLm1ha2VLZXkocm93LCBjb2wpO1xuICAgICAgICBpZiAodGhpcy5lbnRyaWVzLmhhcyhrZXkpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5lbnRyaWVzLmdldChrZXkpLnZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXRBbGwob3JkZXJlZCA9IHRydWUpIHtcbiAgICAgICAgY29uc3Qgcm93Q29sVmFsdWVzID0gbmV3IEFycmF5KHRoaXMuZW50cmllcy5zaXplKS5maWxsKG51bGwpO1xuICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgIHRoaXMuZW50cmllcy5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgICAgICAgIHJvd0NvbFZhbHVlc1tpKytdID0gdmFsdWU7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAob3JkZXJlZCkge1xuICAgICAgICAgICAgLy8gT3JkZXJpbmcgdGhlIHJlc3VsdCBpc24ndCByZXF1aXJlZCBmb3IgcHJvY2Vzc2luZyBidXQgaXQgZG9lcyBtYWtlIGl0IGVhc2llciB0byB3cml0ZSB0ZXN0c1xuICAgICAgICAgICAgcm93Q29sVmFsdWVzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYS5yb3cgPT09IGIucm93KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhLmNvbCAtIGIuY29sO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEucm93IC0gYi5yb3c7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJvd0NvbFZhbHVlcztcbiAgICB9XG4gICAgZ2V0RGltcygpIHtcbiAgICAgICAgcmV0dXJuIFt0aGlzLm5Sb3dzLCB0aGlzLm5Db2xzXTtcbiAgICB9XG4gICAgZ2V0Um93cygpIHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5lbnRyaWVzLCAoW2tleSwgdmFsdWVdKSA9PiB2YWx1ZS5yb3cpO1xuICAgICAgICAvLyByZXR1cm4gdGhpcy5yb3dzIGFzIHVua25vd24gYXMgbnVtYmVyW107XG4gICAgfVxuICAgIGdldENvbHMoKSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZW50cmllcywgKFtrZXksIHZhbHVlXSkgPT4gdmFsdWUuY29sKTtcbiAgICAgICAgLy8gcmV0dXJuIHRoaXMuY29scyBhcyB1bmtub3duIGFzIG51bWJlcltdO1xuICAgIH1cbiAgICBnZXRWYWx1ZXMoKSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZW50cmllcywgKFtrZXksIHZhbHVlXSkgPT4gdmFsdWUudmFsdWUpO1xuICAgICAgICAvL3JldHVybiB0aGlzLnZhbHVlcyBhcyB1bmtub3duIGFzIG51bWJlcltdO1xuICAgIH1cbiAgICBmb3JFYWNoKGZuKSB7XG4gICAgICAgIHRoaXMuZW50cmllcy5mb3JFYWNoKHZhbHVlID0+IGZuKHZhbHVlLnZhbHVlLCB2YWx1ZS5yb3csIHZhbHVlLmNvbCkpO1xuICAgIH1cbiAgICBtYXAoZm4pIHtcbiAgICAgICAgY29uc3QgdmFscyA9IG5ldyBGbG9hdDMyQXJyYXkodGhpcy5lbnRyaWVzLnNpemUpO1xuICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgIHRoaXMuZW50cmllcy5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgICAgICAgIHZhbHNbaSsrXSA9IGZuKHZhbHVlLnZhbHVlLCB2YWx1ZS5yb3csIHZhbHVlLmNvbCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkaW1zID0gW3RoaXMublJvd3MsIHRoaXMubkNvbHNdO1xuICAgICAgICByZXR1cm4gbmV3IFNwYXJzZU1hdHJpeCh0aGlzLmdldFJvd3MoKSwgdGhpcy5nZXRDb2xzKCksIHZhbHMsIGRpbXMpO1xuICAgIH1cbiAgICB0b0FycmF5KCkge1xuICAgICAgICBjb25zdCByb3dzID0gdXRpbHMuZW1wdHkodGhpcy5uUm93cyk7XG4gICAgICAgIGNvbnN0IG91dHB1dCA9IHJvd3MubWFwKCgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB1dGlscy56ZXJvcyh0aGlzLm5Db2xzKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZW50cmllcy5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgICAgICAgIG91dHB1dFt2YWx1ZS5yb3ddW3ZhbHVlLmNvbF0gPSB2YWx1ZS52YWx1ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBvdXRwdXQ7XG4gICAgfVxufVxuLyoqXG4gKiBUcmFuc3Bvc2UgYSBzcGFyc2UgbWF0cml4XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc3Bvc2UobWF0cml4KSB7XG4gICAgY29uc3Qgb2xkUm93cyA9IG1hdHJpeC5nZXRSb3dzKCk7XG4gICAgY29uc3Qgb2xkQ29scyA9IG1hdHJpeC5nZXRDb2xzKCk7XG4gICAgY29uc3Qgb2xkVmFscyA9IG1hdHJpeC5nZXRWYWx1ZXMoKTtcbiAgICBjb25zdCBtYXRsZW4gPSBvbGRDb2xzLmxlbmd0aDtcbiAgICBjb25zdCBjb2xzID0gbmV3IEludDMyQXJyYXkobWF0bGVuKTtcbiAgICBjb25zdCByb3dzID0gbmV3IEludDMyQXJyYXkobWF0bGVuKTtcbiAgICBjb25zdCB2YWxzID0gbmV3IEZsb2F0MzJBcnJheShtYXRsZW4pO1xuICAgIGNvbHMuc2V0KG9sZFJvd3MpO1xuICAgIHJvd3Muc2V0KG9sZENvbHMpO1xuICAgIHZhbHMuc2V0KG9sZFZhbHMpO1xuICAgIGNvbnN0IGRpbXMgPSBbbWF0cml4Lm5Db2xzLCBtYXRyaXgublJvd3NdO1xuICAgIHJldHVybiBuZXcgU3BhcnNlTWF0cml4KHJvd3MsIGNvbHMsIHZhbHMsIGRpbXMpO1xufVxuLyoqXG4gKiBDb25zdHJ1Y3QgYSBzcGFyc2UgaWRlbnRpdHkgbWF0cml4XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpZGVudGl0eShzaXplKSB7XG4gICAgY29uc3QgW3Jvd3NdID0gc2l6ZTtcbiAgICBjb25zdCBtYXRyaXggPSBuZXcgU3BhcnNlTWF0cml4KFtdLCBbXSwgW10sIHNpemUpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcm93czsgaSsrKSB7XG4gICAgICAgIG1hdHJpeC5zZXQoaSwgaSwgMSk7XG4gICAgfVxuICAgIHJldHVybiBtYXRyaXg7XG59XG4vKipcbiAqIEVsZW1lbnQtd2lzZSBtdWx0aXBsaWNhdGlvbiBvZiB0d28gbWF0cmljZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhaXJ3aXNlTXVsdGlwbHkoYSwgYikge1xuICAgIHJldHVybiBlbGVtZW50V2lzZShhLCBiLCAoeCwgeSkgPT4geCAqIHkpO1xufVxuLyoqXG4gKiBFbGVtZW50LXdpc2UgYWRkaXRpb24gb2YgdHdvIG1hdHJpY2VzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGQoYSwgYikge1xuICAgIHJldHVybiBlbGVtZW50V2lzZShhLCBiLCAoeCwgeSkgPT4geCArIHkpO1xufVxuLyoqXG4gKiBFbGVtZW50LXdpc2Ugc3VidHJhY3Rpb24gb2YgdHdvIG1hdHJpY2VzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdWJ0cmFjdChhLCBiKSB7XG4gICAgcmV0dXJuIGVsZW1lbnRXaXNlKGEsIGIsICh4LCB5KSA9PiB4IC0geSk7XG59XG4vKipcbiAqIEVsZW1lbnQtd2lzZSBtYXhpbXVtIG9mIHR3byBtYXRyaWNlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbWF4aW11bShhLCBiKSB7XG4gICAgcmV0dXJuIGVsZW1lbnRXaXNlKGEsIGIsICh4LCB5KSA9PiAoeCA+IHkgPyB4IDogeSkpO1xufVxuLyoqXG4gKiBTY2FsYXIgbXVsdGlwbGljYXRpb24gb2YgdHdvIG1hdHJpY2VzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtdWx0aXBseVNjYWxhcihhLCBzY2FsYXIpIHtcbiAgICByZXR1cm4gYS5tYXAoKHZhbHVlKSA9PiB7XG4gICAgICAgIHJldHVybiB2YWx1ZSAqIHNjYWxhcjtcbiAgICB9KTtcbn1cbi8qKlxuICogUmV0dXJucyBhIG5ldyBtYXRyaXggd2l0aCB6ZXJvIGVudHJpZXMgcmVtb3ZlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVsaW1pbmF0ZVplcm9zKG0pIHtcbiAgICBjb25zdCB6ZXJvSW5kaWNlcyA9IG5ldyBTZXQoKTtcbiAgICBjb25zdCB2YWx1ZXMgPSBtLmdldFZhbHVlcygpO1xuICAgIGNvbnN0IHJvd3MgPSBtLmdldFJvd3MoKTtcbiAgICBjb25zdCBjb2xzID0gbS5nZXRDb2xzKCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKHZhbHVlc1tpXSA9PT0gMCkge1xuICAgICAgICAgICAgemVyb0luZGljZXMuYWRkKGkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHJlbW92ZUJ5WmVyb0luZGV4ID0gKF8sIGluZGV4KSA9PiAhemVyb0luZGljZXMuaGFzKGluZGV4KTtcbiAgICBjb25zdCBuZXh0VmFsdWVzID0gdmFsdWVzLmZpbHRlcihyZW1vdmVCeVplcm9JbmRleCk7XG4gICAgY29uc3QgbmV4dFJvd3MgPSByb3dzLmZpbHRlcihyZW1vdmVCeVplcm9JbmRleCk7XG4gICAgY29uc3QgbmV4dENvbHMgPSBjb2xzLmZpbHRlcihyZW1vdmVCeVplcm9JbmRleCk7XG4gICAgcmV0dXJuIG5ldyBTcGFyc2VNYXRyaXgobmV4dFJvd3MsIG5leHRDb2xzLCBuZXh0VmFsdWVzLCBtLmdldERpbXMoKSk7XG59XG4vKipcbiAqIE5vcm1hbGl6YXRpb24gb2YgYSBzcGFyc2UgbWF0cml4LlxuICovXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplKG0sIG5vcm1UeXBlID0gXCJsMlwiIC8qIE5vcm1UeXBlLmwyICovKSB7XG4gICAgY29uc3Qgbm9ybUZuID0gbm9ybUZuc1tub3JtVHlwZV07XG4gICAgY29uc3QgY29sc0J5Um93ID0gbmV3IE1hcCgpO1xuICAgIG0uZm9yRWFjaCgoXywgcm93LCBjb2wpID0+IHtcbiAgICAgICAgY29uc3QgY29scyA9IGNvbHNCeVJvdy5nZXQocm93KSB8fCBbXTtcbiAgICAgICAgY29scy5wdXNoKGNvbCk7XG4gICAgICAgIGNvbHNCeVJvdy5zZXQocm93LCBjb2xzKTtcbiAgICB9KTtcbiAgICBjb25zdCBuZXh0TWF0cml4ID0gbmV3IFNwYXJzZU1hdHJpeChbXSwgW10sIFtdLCBtLmdldERpbXMoKSk7XG4gICAgZm9yIChsZXQgcm93IG9mIGNvbHNCeVJvdy5rZXlzKCkpIHtcbiAgICAgICAgY29uc3QgY29scyA9IGNvbHNCeVJvdy5nZXQocm93KS5zb3J0KCk7XG4gICAgICAgIGNvbnN0IHZhbHMgPSBjb2xzLm1hcChjb2wgPT4gbS5nZXQocm93LCBjb2wpKTtcbiAgICAgICAgY29uc3Qgbm9ybSA9IG5vcm1Gbih2YWxzKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBub3JtLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBuZXh0TWF0cml4LnNldChyb3csIGNvbHNbaV0sIG5vcm1baV0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXh0TWF0cml4O1xufVxuY29uc3Qgbm9ybUZucyA9IHtcbiAgICBbXCJtYXhcIiAvKiBOb3JtVHlwZS5tYXggKi9dOiAoeHMpID0+IHtcbiAgICAgICAgbGV0IG1heCA9IC1JbmZpbml0eTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB4cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgbWF4ID0geHNbaV0gPiBtYXggPyB4c1tpXSA6IG1heDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geHMubWFwKHggPT4geCAvIG1heCk7XG4gICAgfSxcbiAgICBbXCJsMVwiIC8qIE5vcm1UeXBlLmwxICovXTogKHhzKSA9PiB7XG4gICAgICAgIGxldCBzdW0gPSAwO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHhzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBzdW0gKz0geHNbaV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHhzLm1hcCh4ID0+IHggLyBzdW0pO1xuICAgIH0sXG4gICAgW1wibDJcIiAvKiBOb3JtVHlwZS5sMiAqL106ICh4cykgPT4ge1xuICAgICAgICBsZXQgc3VtID0gMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB4cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgc3VtICs9IHhzW2ldICoqIDI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHhzLm1hcCh4ID0+IE1hdGguc3FydCh4ICoqIDIgLyBzdW0pKTtcbiAgICB9LFxufTtcbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIGZvciBlbGVtZW50LXdpc2Ugb3BlcmF0aW9ucy5cbiAqL1xuZnVuY3Rpb24gZWxlbWVudFdpc2UoYSwgYiwgb3ApIHtcbiAgICBjb25zdCB2aXNpdGVkID0gbmV3IFNldCgpO1xuICAgIGNvbnN0IHJvd3MgPSBbXTtcbiAgICBjb25zdCBjb2xzID0gW107XG4gICAgY29uc3QgdmFscyA9IFtdO1xuICAgIGNvbnN0IG9wZXJhdGUgPSAocm93LCBjb2wpID0+IHtcbiAgICAgICAgcm93cy5wdXNoKHJvdyk7XG4gICAgICAgIGNvbHMucHVzaChjb2wpO1xuICAgICAgICBjb25zdCBuZXh0VmFsdWUgPSBvcChhLmdldChyb3csIGNvbCksIGIuZ2V0KHJvdywgY29sKSk7XG4gICAgICAgIHZhbHMucHVzaChuZXh0VmFsdWUpO1xuICAgIH07XG4gICAgY29uc3QgdmFsdWVzQSA9IGEuZ2V0VmFsdWVzKCk7XG4gICAgY29uc3Qgcm93c0EgPSBhLmdldFJvd3MoKTtcbiAgICBjb25zdCBjb2xzQSA9IGEuZ2V0Q29scygpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmFsdWVzQS5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCByb3cgPSByb3dzQVtpXTtcbiAgICAgICAgY29uc3QgY29sID0gY29sc0FbaV07XG4gICAgICAgIGNvbnN0IGtleSA9IGAke3Jvd306JHtjb2x9YDtcbiAgICAgICAgdmlzaXRlZC5hZGQoa2V5KTtcbiAgICAgICAgb3BlcmF0ZShyb3csIGNvbCk7XG4gICAgfVxuICAgIGNvbnN0IHZhbHVlc0IgPSBiLmdldFZhbHVlcygpO1xuICAgIGNvbnN0IHJvd3NCID0gYi5nZXRSb3dzKCk7XG4gICAgY29uc3QgY29sc0IgPSBiLmdldENvbHMoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlc0IubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3Qgcm93ID0gcm93c0JbaV07XG4gICAgICAgIGNvbnN0IGNvbCA9IGNvbHNCW2ldO1xuICAgICAgICBjb25zdCBrZXkgPSBgJHtyb3d9OiR7Y29sfWA7XG4gICAgICAgIGlmICh2aXNpdGVkLmhhcyhrZXkpKVxuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIG9wZXJhdGUocm93LCBjb2wpO1xuICAgIH1cbiAgICBjb25zdCBkaW1zID0gW2EublJvd3MsIGEubkNvbHNdO1xuICAgIHJldHVybiBuZXcgU3BhcnNlTWF0cml4KHJvd3MsIGNvbHMsIHZhbHMsIGRpbXMpO1xufVxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gZm9yIGdldHRpbmcgZGF0YSwgaW5kaWNlcywgYW5kIGlucHRyIGFycmF5cyBmcm9tIGEgc3BhcnNlXG4gKiBtYXRyaXggdG8gZm9sbG93IGNzciBtYXRyaXggY29udmVudGlvbnMuIFN1cGVyIGluZWZmaWNpZW50IChhbmQga2luZCBvZlxuICogZGVmZWF0cyB0aGUgcHVycG9zZSBvZiB0aGlzIGNvbnZlbnRpb24pIGJ1dCBhIGxvdCBvZiB0aGUgcG9ydGVkIHB5dGhvbiB0cmVlXG4gKiBzZWFyY2ggbG9naWMgZGVwZW5kcyBvbiB0aGlzIGRhdGEgZm9ybWF0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q1NSKHgpIHtcbiAgICBjb25zdCBlbnRyaWVzID0gW107XG4gICAgeC5mb3JFYWNoKCh2YWx1ZSwgcm93LCBjb2wpID0+IHtcbiAgICAgICAgZW50cmllcy5wdXNoKHsgdmFsdWUsIHJvdywgY29sIH0pO1xuICAgIH0pO1xuICAgIGVudHJpZXMuc29ydCgoYSwgYikgPT4ge1xuICAgICAgICBpZiAoYS5yb3cgPT09IGIucm93KSB7XG4gICAgICAgICAgICByZXR1cm4gYS5jb2wgLSBiLmNvbDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBhLnJvdyAtIGIucm93O1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaW5kaWNlcyA9IFtdO1xuICAgIGNvbnN0IHZhbHVlcyA9IFtdO1xuICAgIGNvbnN0IGluZHB0ciA9IFtdO1xuICAgIGxldCBjdXJyZW50Um93ID0gLTE7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbnRyaWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHsgcm93LCBjb2wsIHZhbHVlIH0gPSBlbnRyaWVzW2ldO1xuICAgICAgICBpZiAocm93ICE9PSBjdXJyZW50Um93KSB7XG4gICAgICAgICAgICBjdXJyZW50Um93ID0gcm93O1xuICAgICAgICAgICAgaW5kcHRyLnB1c2goaSk7XG4gICAgICAgIH1cbiAgICAgICAgaW5kaWNlcy5wdXNoKGNvbCk7XG4gICAgICAgIHZhbHVlcy5wdXNoKHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHsgaW5kaWNlcywgdmFsdWVzLCBpbmRwdHIgfTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWJXRjBjbWw0TG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2liV0YwY21sNExuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCT3pzN096czdPenM3T3pzN096czdPenRIUVdsQ1J6dEJRVVZJTEU5QlFVOHNTMEZCU3l4TFFVRkxMRTFCUVUwc1UwRkJVeXhEUVVGRE8wRkJTV3BET3p0SFFVVkhPMEZCUTBnc1RVRkJUU3hQUVVGUExGbEJRVms3U1VGRFppeFBRVUZQTEVkQlFVY3NTVUZCU1N4SFFVRkhMRVZCUVdsQ0xFTkJRVU03U1VGRmJFTXNTMEZCU3l4SFFVRlhMRU5CUVVNc1EwRkJRenRKUVVOc1FpeExRVUZMTEVkQlFWY3NRMEZCUXl4RFFVRkRPMGxCUlROQ0xGbEJRMFVzU1VGQk1rSXNSVUZETTBJc1NVRkJNa0lzUlVGRE0wSXNUVUZCSzBJc1JVRkRMMElzU1VGQll6dFJRVVZrTEVsQlFVa3NTVUZCU1N4RFFVRkRMRTFCUVUwc1MwRkJTeXhKUVVGSkxFTkJRVU1zVFVGQlRTeEpRVUZKTEVsQlFVa3NRMEZCUXl4TlFVRk5MRXRCUVVzc1RVRkJUU3hEUVVGRExFMUJRVTBzUlVGQlJUdFpRVU5vUlN4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVOaUxEUkVRVUUwUkN4RFFVTTNSQ3hEUVVGRE8xTkJRMGc3VVVGRlJDeHZRMEZCYjBNN1VVRkRjRU1zU1VGQlNTeERRVUZETEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGNrSXNTVUZCU1N4RFFVRkRMRXRCUVVzc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEY2tJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdXVUZEZEVNc1RVRkJUU3hIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUTNCQ0xFMUJRVTBzUjBGQlJ5eEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVOd1FpeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF6dFpRVU42UWl4TlFVRk5MRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJRenRaUVVOdVF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVWQlFVVXNRMEZCUXl4RFFVRkRPMU5CUTNaRU8wbEJRMGdzUTBGQlF6dEpRVVZQTEU5QlFVOHNRMEZCUXl4SFFVRlhMRVZCUVVVc1IwRkJWenRSUVVOMFF5eFBRVUZQTEVkQlFVY3NSMEZCUnl4SlFVRkpMRWRCUVVjc1JVRkJSU3hEUVVGRE8wbEJRM3BDTEVOQlFVTTdTVUZGVHl4VFFVRlRMRU5CUVVNc1IwRkJWeXhGUVVGRkxFZEJRVmM3VVVGRGVFTXNUVUZCVFN4WlFVRlpMRWRCUVVjc1IwRkJSeXhIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVsQlFVa3NSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU03VVVGRE1VUXNTVUZCU1N4RFFVRkRMRmxCUVZrc1JVRkJSVHRaUVVOcVFpeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMSFZFUVVGMVJDeERRVUZETEVOQlFVTTdVMEZETVVVN1NVRkRTQ3hEUVVGRE8wbEJSVVFzUjBGQlJ5eERRVUZETEVkQlFWY3NSVUZCUlN4SFFVRlhMRVZCUVVVc1MwRkJZVHRSUVVONlF5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU42UWl4TlFVRk5MRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOdVF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVTdXVUZETVVJc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RlFVRkZMRVZCUVVVc1MwRkJTeXhGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVWQlFVVXNRMEZCUXl4RFFVRkRPMU5CUXpWRE8yRkJRVTA3V1VGRFRDeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFTkJRVVVzUTBGQlF5eExRVUZMTEVkQlFVY3NTMEZCU3l4RFFVRkRPMU5CUTNSRE8wbEJRMGdzUTBGQlF6dEpRVVZFTEVkQlFVY3NRMEZCUXl4SFFVRlhMRVZCUVVVc1IwRkJWeXhGUVVGRkxGbEJRVmtzUjBGQlJ5eERRVUZETzFGQlF6VkRMREpDUVVFeVFqdFJRVU16UWl4TlFVRk5MRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOdVF5eEpRVUZKTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTzFsQlEzcENMRTlCUVU4c1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkZMRU5CUVVNc1MwRkJTeXhEUVVGRE8xTkJRM0pETzJGQlFVMDdXVUZEVEN4UFFVRlBMRmxCUVZrc1EwRkJRenRUUVVOeVFqdEpRVU5JTEVOQlFVTTdTVUZGUkN4TlFVRk5MRU5CUVVNc1QwRkJUeXhIUVVGSExFbEJRVWs3VVVGRGJrSXNUVUZCVFN4WlFVRlpMRWRCUVZrc1NVRkJTU3hMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdVVUZEZEVVc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlExWXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhQUVVGUExFTkJRVU1zUzBGQlN5eERRVUZETEVWQlFVVTdXVUZETTBJc1dVRkJXU3hEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NTMEZCU3l4RFFVRkRPMUZCUXpWQ0xFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEwZ3NTVUZCU1N4UFFVRlBMRVZCUVVVN1dVRkRXQ3c0UmtGQk9FWTdXVUZET1VZc1dVRkJXU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRuUWtGRGVrSXNTVUZCU1N4RFFVRkRMRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU1zUTBGQlF5eEhRVUZITEVWQlFVVTdiMEpCUTI1Q0xFOUJRVThzUTBGQlF5eERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRE8ybENRVU4wUWp0eFFrRkJUVHR2UWtGRFRDeFBRVUZQTEVOQlFVTXNRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF6dHBRa0ZEZEVJN1dVRkRTQ3hEUVVGRExFTkJRVU1zUTBGQlF6dFRRVU5LTzFGQlEwUXNUMEZCVHl4WlFVRlpMRU5CUVVNN1NVRkRkRUlzUTBGQlF6dEpRVVZFTEU5QlFVODdVVUZEVEN4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUlVGQlJTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1NVRkRiRU1zUTBGQlF6dEpRVVZFTEU5QlFVODdVVUZEVGl4UFFVRlBMRXRCUVVzc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFdEJRVXNzUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRE4wUXNNa05CUVRKRE8wbEJRelZETEVOQlFVTTdTVUZGUkN4UFFVRlBPMUZCUTA0c1QwRkJUeXhMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJReXhEUVVGRExFZEJRVWNzUlVGQlJTeExRVUZMTEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlF6ZEVMREpEUVVFeVF6dEpRVU0xUXl4RFFVRkRPMGxCUlVRc1UwRkJVenRSUVVOVUxFOUJRVThzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU1zUTBGQlF5eEhRVUZITEVWQlFVVXNTMEZCU3l4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0UlFVTXZSQ3cwUTBGQk5FTTdTVUZETlVNc1EwRkJRenRKUVVWRUxFOUJRVThzUTBGQlF5eEZRVUZ4UkR0UlFVTXpSQ3hKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEU5QlFVOHNRMEZCUXl4TFFVRkxMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eExRVUZMTEVOQlFVTXNTMEZCU3l4RlFVRkZMRXRCUVVzc1EwRkJReXhIUVVGSExFVkJRVVVzUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRka1VzUTBGQlF6dEpRVVZFTEVkQlFVY3NRMEZCUXl4RlFVRjFSRHRSUVVONlJDeE5RVUZOTEVsQlFVa3NSMEZCUnl4SlFVRkpMRmxCUVZrc1EwRkJReXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUTJwRUxFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUVR0UlFVTlVMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zVDBGQlR5eERRVUZETEV0QlFVc3NRMEZCUXl4RlFVRkZPMWxCUXpOQ0xFbEJRVWtzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJReXhMUVVGTExFTkJRVU1zUzBGQlN5eEZRVUZGTEV0QlFVc3NRMEZCUXl4SFFVRkhMRVZCUVVVc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlEzQkVMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRMGdzVFVGQlRTeEpRVUZKTEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhGUVVGRkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0UlFVTjBReXhQUVVGUExFbEJRVWtzV1VGQldTeERRVUZETEVsQlFVa3NRMEZCUXl4UFFVRlBMRVZCUVVVc1JVRkJSU3hKUVVGSkxFTkJRVU1zVDBGQlR5eEZRVUZGTEVWQlFVVXNTVUZCTWtJc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU0zUml4RFFVRkRPMGxCUlVRc1QwRkJUenRSUVVOTUxFMUJRVTBzU1VGQlNTeEhRVUZuUWl4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0UlFVTnNSQ3hOUVVGTkxFMUJRVTBzUjBGQlJ5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1JVRkJSVHRaUVVNelFpeFBRVUZQTEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzFGQlEycERMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRMGdzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4UFFVRlBMRU5CUVVNc1MwRkJTeXhEUVVGRExFVkJRVVU3V1VGRE0wSXNUVUZCVFN4RFFVRkRMRXRCUVVzc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF6dFJRVU0zUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOSUxFOUJRVThzVFVGQlRTeERRVUZETzBsQlEyaENMRU5CUVVNN1EwRkRSanRCUVVWRU96dEhRVVZITzBGQlEwZ3NUVUZCVFN4VlFVRlZMRk5CUVZNc1EwRkJReXhOUVVGdlFqdEpRVU0xUXl4TlFVRk5MRTlCUVU4c1IwRkJSeXhOUVVGTkxFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdTVUZEYWtNc1RVRkJUU3hQUVVGUExFZEJRVWNzVFVGQlRTeERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRPMGxCUTJwRExFMUJRVTBzVDBGQlR5eEhRVUZITEUxQlFVMHNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJRenRKUVVOdVF5eE5RVUZOTEUxQlFVMHNSMEZCUnl4UFFVRlBMRU5CUVVNc1RVRkJUU3hEUVVGRE8wbEJRemxDTEUxQlFVMHNTVUZCU1N4SFFVRkhMRWxCUVVrc1ZVRkJWU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBsQlEzQkRMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzVlVGQlZTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMGxCUTNCRExFMUJRVTBzU1VGQlNTeEhRVUZITEVsQlFVa3NXVUZCV1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8wbEJSWFJETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03U1VGRGJFSXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dEpRVU5zUWl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzBsQlEyeENMRTFCUVUwc1NVRkJTU3hIUVVGSExFTkJRVU1zVFVGQlRTeERRVUZETEV0QlFVc3NSVUZCUlN4TlFVRk5MRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03U1VGRE1VTXNUMEZCVHl4SlFVRkpMRmxCUVZrc1EwRkJReXhKUVVGSkxFVkJRVVVzU1VGQlNTeEZRVUZGTEVsQlFVa3NSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRenRCUVVOc1JDeERRVUZETzBGQlJVUTdPMGRCUlVjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzVVVGQlVTeERRVUZETEVsQlFXTTdTVUZEY2tNc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXp0SlFVTndRaXhOUVVGTkxFMUJRVTBzUjBGQlJ5eEpRVUZKTEZsQlFWa3NRMEZCUXl4RlFVRkZMRVZCUVVVc1JVRkJSU3hGUVVGRkxFVkJRVVVzUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXp0SlFVTnNSQ3hMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1NVRkJTU3hGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzFGQlF6ZENMRTFCUVUwc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRMUVVOeVFqdEpRVU5FTEU5QlFVOHNUVUZCVFN4RFFVRkRPMEZCUTJoQ0xFTkJRVU03UVVGRlJEczdSMEZGUnp0QlFVTklMRTFCUVUwc1ZVRkJWU3huUWtGQlowSXNRMEZET1VJc1EwRkJaU3hGUVVObUxFTkJRV1U3U1VGRlppeFBRVUZQTEZkQlFWY3NRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlF6VkRMRU5CUVVNN1FVRkZSRHM3UjBGRlJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4SFFVRkhMRU5CUVVNc1EwRkJaU3hGUVVGRkxFTkJRV1U3U1VGRGJFUXNUMEZCVHl4WFFVRlhMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXp0QlFVTTFReXhEUVVGRE8wRkJSVVE3TzBkQlJVYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1VVRkJVU3hEUVVGRExFTkJRV1VzUlVGQlJTeERRVUZsTzBsQlEzWkVMRTlCUVU4c1YwRkJWeXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkROVU1zUTBGQlF6dEJRVVZFT3p0SFFVVkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxFOUJRVThzUTBGQlF5eERRVUZsTEVWQlFVVXNRMEZCWlR0SlFVTjBSQ3hQUVVGUExGZEJRVmNzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRGRFUXNRMEZCUXp0QlFVVkVPenRIUVVWSE8wRkJRMGdzVFVGQlRTeFZRVUZWTEdOQlFXTXNRMEZCUXl4RFFVRmxMRVZCUVVVc1RVRkJZenRKUVVNMVJDeFBRVUZQTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhMUVVGaExFVkJRVVVzUlVGQlJUdFJRVU0zUWl4UFFVRlBMRXRCUVVzc1IwRkJSeXhOUVVGTkxFTkJRVU03U1VGRGVFSXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRUQ3hEUVVGRE8wRkJSVVE3TzBkQlJVYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1kwRkJZeXhEUVVGRExFTkJRV1U3U1VGRE5VTXNUVUZCVFN4WFFVRlhMRWRCUVVjc1NVRkJTU3hIUVVGSExFVkJRVVVzUTBGQlF6dEpRVU01UWl4TlFVRk5MRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zVTBGQlV5eEZRVUZGTEVOQlFVTTdTVUZETjBJc1RVRkJUU3hKUVVGSkxFZEJRVWNzUTBGQlF5eERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRPMGxCUTNwQ0xFMUJRVTBzU1VGQlNTeEhRVUZITEVOQlFVTXNRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRKUVVONlFpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVFVGQlRTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRSUVVOMFF5eEpRVUZKTEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1MwRkJTeXhEUVVGRExFVkJRVVU3V1VGRGJrSXNWMEZCVnl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFRRVU53UWp0TFFVTkdPMGxCUTBRc1RVRkJUU3hwUWtGQmFVSXNSMEZCUnl4RFFVRkRMRU5CUVUwc1JVRkJSU3hMUVVGaExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNWMEZCVnl4RFFVRkRMRWRCUVVjc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dEpRVU0zUlN4TlFVRk5MRlZCUVZVc1IwRkJSeXhOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETEdsQ1FVRnBRaXhEUVVGRExFTkJRVU03U1VGRGNFUXNUVUZCVFN4UlFVRlJMRWRCUVVjc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhEUVVGRE8wbEJRMmhFTEUxQlFVMHNVVUZCVVN4SFFVRkhMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1EwRkJRenRKUVVWb1JDeFBRVUZQTEVsQlFVa3NXVUZCV1N4RFFVRkRMRkZCUVZFc1JVRkJSU3hSUVVGUkxFVkJRVVVzVlVGQlZTeEZRVUZGTEVOQlFVTXNRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJReXhEUVVGRE8wRkJRM1pGTEVOQlFVTTdRVUZGUkRzN1IwRkZSenRCUVVOSUxFMUJRVTBzVlVGQlZTeFRRVUZUTEVOQlFVTXNRMEZCWlN4RlFVRkZMRkZCUVZFc2VVSkJRV003U1VGREwwUXNUVUZCVFN4TlFVRk5MRWRCUVVjc1QwRkJUeXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzBsQlJXcERMRTFCUVUwc1UwRkJVeXhIUVVGSExFbEJRVWtzUjBGQlJ5eEZRVUZ2UWl4RFFVRkRPMGxCUXpsRExFTkJRVU1zUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlJTeEZRVUZGTzFGQlEzaENMRTFCUVUwc1NVRkJTU3hIUVVGSExGTkJRVk1zUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRE8xRkJRM1JETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRFppeFRRVUZUTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU16UWl4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVWSUxFMUJRVTBzVlVGQlZTeEhRVUZITEVsQlFVa3NXVUZCV1N4RFFVRkRMRVZCUVVVc1JVRkJSU3hGUVVGRkxFVkJRVVVzUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJReXhEUVVGRE8wbEJSVGRFTEV0QlFVc3NTVUZCU1N4SFFVRkhMRWxCUVVrc1UwRkJVeXhEUVVGRExFbEJRVWtzUlVGQlJTeEZRVUZGTzFGQlEyaERMRTFCUVUwc1NVRkJTU3hIUVVGSExGTkJRVk1zUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkZMRU5CUVVNc1NVRkJTU3hGUVVGRkxFTkJRVU03VVVGRmVFTXNUVUZCVFN4SlFVRkpMRWRCUVVjc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRPVU1zVFVGQlRTeEpRVUZKTEVkQlFVY3NUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRekZDTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xbEJRM0JETEZWQlFWVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFRRVU4yUXp0TFFVTkdPMGxCUlVRc1QwRkJUeXhWUVVGVkxFTkJRVU03UVVGRGNFSXNRMEZCUXp0QlFVMUVMRTFCUVUwc1QwRkJUeXhIUVVGWk8wbEJRM1pDTERCQ1FVRmpMRVZCUVVVc1EwRkJReXhGUVVGWkxFVkJRVVVzUlVGQlJUdFJRVU12UWl4SlFVRkpMRWRCUVVjc1IwRkJSeXhEUVVGRExGRkJRVkVzUTBGQlF6dFJRVU53UWl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFpRVU5zUXl4SFFVRkhMRWRCUVVjc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNN1UwRkRha003VVVGRFJDeFBRVUZQTEVWQlFVVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkRPVUlzUTBGQlF6dEpRVU5FTEhkQ1FVRmhMRVZCUVVVc1EwRkJReXhGUVVGWkxFVkJRVVVzUlVGQlJUdFJRVU01UWl4SlFVRkpMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRFdpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVOc1F5eEhRVUZITEVsQlFVa3NSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xTkJRMlE3VVVGRFJDeFBRVUZQTEVWQlFVVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkRPVUlzUTBGQlF6dEpRVU5FTEhkQ1FVRmhMRVZCUVVVc1EwRkJReXhGUVVGWkxFVkJRVVVzUlVGQlJUdFJRVU01UWl4SlFVRkpMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRFdpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVOc1F5eEhRVUZITEVsQlFVa3NSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dFRRVU51UWp0UlFVTkVMRTlCUVU4c1JVRkJSU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRemxETEVOQlFVTTdRMEZEUml4RFFVRkRPMEZCVVVZN08wZEJSVWM3UVVGRFNDeFRRVUZUTEZkQlFWY3NRMEZEYkVJc1EwRkJaU3hGUVVObUxFTkJRV1VzUlVGRFppeEZRVUZ2UXp0SlFVVndReXhOUVVGTkxFOUJRVThzUjBGQlJ5eEpRVUZKTEVkQlFVY3NSVUZCVlN4RFFVRkRPMGxCUTJ4RExFMUJRVTBzU1VGQlNTeEhRVUZoTEVWQlFVVXNRMEZCUXp0SlFVTXhRaXhOUVVGTkxFbEJRVWtzUjBGQllTeEZRVUZGTEVOQlFVTTdTVUZETVVJc1RVRkJUU3hKUVVGSkxFZEJRV0VzUlVGQlJTeERRVUZETzBsQlJURkNMRTFCUVUwc1QwRkJUeXhIUVVGSExFTkJRVU1zUjBGQlZ5eEZRVUZGTEVkQlFWY3NSVUZCUlN4RlFVRkZPMUZCUXpORExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRaaXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUTJZc1RVRkJUU3hUUVVGVExFZEJRVWNzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEZGtRc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXp0SlFVTjJRaXhEUVVGRExFTkJRVU03U1VGRFJpeE5RVUZOTEU5QlFVOHNSMEZCUnl4RFFVRkRMRU5CUVVNc1UwRkJVeXhGUVVGRkxFTkJRVU03U1VGRE9VSXNUVUZCVFN4TFFVRkxMRWRCUVVjc1EwRkJReXhEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETzBsQlF6RkNMRTFCUVUwc1MwRkJTeXhIUVVGSExFTkJRVU1zUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0SlFVTXhRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1QwRkJUeXhEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0UlFVTjJReXhOUVVGTkxFZEJRVWNzUjBGQlJ5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRja0lzVFVGQlRTeEhRVUZITEVkQlFVY3NTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRM0pDTEUxQlFVMHNSMEZCUnl4SFFVRkhMRWRCUVVjc1IwRkJSeXhKUVVGSkxFZEJRVWNzUlVGQlJTeERRVUZETzFGQlF6VkNMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZEYWtJc1QwRkJUeXhEUVVGRExFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0TFFVTnVRanRKUVVWRUxFMUJRVTBzVDBGQlR5eEhRVUZITEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJRenRKUVVNNVFpeE5RVUZOTEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU03U1VGRE1VSXNUVUZCVFN4TFFVRkxMRWRCUVVjc1EwRkJReXhEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETzBsQlF6RkNMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4UFFVRlBMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzFGQlEzWkRMRTFCUVUwc1IwRkJSeXhIUVVGSExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTnlRaXhOUVVGTkxFZEJRVWNzUjBGQlJ5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRja0lzVFVGQlRTeEhRVUZITEVkQlFVY3NSMEZCUnl4SFFVRkhMRWxCUVVrc1IwRkJSeXhGUVVGRkxFTkJRVU03VVVGRE5VSXNTVUZCU1N4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF6dFpRVUZGTEZOQlFWTTdVVUZETDBJc1QwRkJUeXhEUVVGRExFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0TFFVTnVRanRKUVVWRUxFMUJRVTBzU1VGQlNTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRXRCUVVzc1JVRkJSU3hEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdTVUZEYUVNc1QwRkJUeXhKUVVGSkxGbEJRVmtzUTBGQlF5eEpRVUZKTEVWQlFVVXNTVUZCU1N4RlFVRkZMRWxCUVVrc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF6dEJRVU5zUkN4RFFVRkRPMEZCUlVRN096czdPMGRCUzBjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzVFVGQlRTeERRVUZETEVOQlFXVTdTVUZEY0VNc1RVRkJUU3hQUVVGUExFZEJRVmtzUlVGQlJTeERRVUZETzBsQlJUVkNMRU5CUVVNc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eExRVUZMTEVWQlFVVXNSMEZCUnl4RlFVRkZMRWRCUVVjc1JVRkJSU3hGUVVGRk8xRkJRelZDTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJSU3hMUVVGTExFVkJRVVVzUjBGQlJ5eEZRVUZGTEVkQlFVY3NSVUZCUlN4RFFVRkRMRU5CUVVNN1NVRkRjRU1zUTBGQlF5eERRVUZETEVOQlFVTTdTVUZGU0N4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMUZCUTNCQ0xFbEJRVWtzUTBGQlF5eERRVUZETEVkQlFVY3NTMEZCU3l4RFFVRkRMRU5CUVVNc1IwRkJSeXhGUVVGRk8xbEJRMjVDTEU5QlFVOHNRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETzFOQlEzUkNPMkZCUVUwN1dVRkRUQ3hQUVVGUExFTkJRVU1zUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJRenRUUVVOMFFqdEpRVU5JTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUlVnc1RVRkJUU3hQUVVGUExFZEJRV0VzUlVGQlJTeERRVUZETzBsQlF6ZENMRTFCUVUwc1RVRkJUU3hIUVVGaExFVkJRVVVzUTBGQlF6dEpRVU0xUWl4TlFVRk5MRTFCUVUwc1IwRkJZU3hGUVVGRkxFTkJRVU03U1VGRk5VSXNTVUZCU1N4VlFVRlZMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGNFSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEU5QlFVOHNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3VVVGRGRrTXNUVUZCVFN4RlFVRkZMRWRCUVVjc1JVRkJSU3hIUVVGSExFVkJRVVVzUzBGQlN5eEZRVUZGTEVkQlFVY3NUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRM1pETEVsQlFVa3NSMEZCUnl4TFFVRkxMRlZCUVZVc1JVRkJSVHRaUVVOMFFpeFZRVUZWTEVkQlFVY3NSMEZCUnl4RFFVRkRPMWxCUTJwQ0xFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1UwRkRhRUk3VVVGRFJDeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xRkJRMnhDTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03UzBGRGNFSTdTVUZGUkN4UFFVRlBMRVZCUVVVc1QwRkJUeXhGUVVGRkxFMUJRVTBzUlVGQlJTeE5RVUZOTEVWQlFVVXNRMEZCUXp0QlFVTnlReXhEUVVGRElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeW9xWEc0Z0tpQkFiR2xqWlc1elpWeHVJQ3BjYmlBcUlFTnZjSGx5YVdkb2RDQXlNREU1SUVkdmIyZHNaU0JNVEVNdUlFRnNiQ0JTYVdkb2RITWdVbVZ6WlhKMlpXUXVYRzRnS2x4dUlDb2dUR2xqWlc1elpXUWdkVzVrWlhJZ2RHaGxJRUZ3WVdOb1pTQk1hV05sYm5ObExDQldaWEp6YVc5dUlESXVNQ0FvZEdobElGd2lUR2xqWlc1elpWd2lLVHRjYmlBcUlIbHZkU0J0WVhrZ2JtOTBJSFZ6WlNCMGFHbHpJR1pwYkdVZ1pYaGpaWEIwSUdsdUlHTnZiWEJzYVdGdVkyVWdkMmwwYUNCMGFHVWdUR2xqWlc1elpTNWNiaUFxSUZsdmRTQnRZWGtnYjJKMFlXbHVJR0VnWTI5d2VTQnZaaUIwYUdVZ1RHbGpaVzV6WlNCaGRGeHVJQ3BjYmlBcUlDQWdJQ0JvZEhSd09pOHZkM2QzTG1Gd1lXTm9aUzV2Y21jdmJHbGpaVzV6WlhNdlRFbERSVTVUUlMweUxqQmNiaUFxWEc0Z0tpQlZibXhsYzNNZ2NtVnhkV2x5WldRZ1lua2dZWEJ3YkdsallXSnNaU0JzWVhjZ2IzSWdZV2R5WldWa0lIUnZJR2x1SUhkeWFYUnBibWNzSUhOdlpuUjNZWEpsWEc0Z0tpQmthWE4wY21saWRYUmxaQ0IxYm1SbGNpQjBhR1VnVEdsalpXNXpaU0JwY3lCa2FYTjBjbWxpZFhSbFpDQnZiaUJoYmlCY0lrRlRJRWxUWENJZ1FrRlRTVk1zWEc0Z0tpQlhTVlJJVDFWVUlGZEJVbEpCVGxSSlJWTWdUMUlnUTA5T1JFbFVTVTlPVXlCUFJpQkJUbGtnUzBsT1JDd2daV2wwYUdWeUlHVjRjSEpsYzNNZ2IzSWdhVzF3YkdsbFpDNWNiaUFxSUZObFpTQjBhR1VnVEdsalpXNXpaU0JtYjNJZ2RHaGxJSE53WldOcFptbGpJR3hoYm1kMVlXZGxJR2R2ZG1WeWJtbHVaeUJ3WlhKdGFYTnphVzl1Y3lCaGJtUmNiaUFxSUd4cGJXbDBZWFJwYjI1eklIVnVaR1Z5SUhSb1pTQk1hV05sYm5ObExseHVJQ29nUFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlYRzRnS2k5Y2JseHVhVzF3YjNKMElDb2dZWE1nZFhScGJITWdabkp2YlNBbkxpOTFkR2xzY3ljN1hHNWNiblI1Y0dVZ1JXNTBjbmtnUFNCN0lIWmhiSFZsT2lCdWRXMWlaWEk3SUhKdmR6b2diblZ0WW1WeU95QmpiMnc2SUc1MWJXSmxjaUI5TzF4dVhHNHZLaXBjYmlBcUlFbHVkR1Z5Ym1Gc0lESXRaR2x0Wlc1emFXOXVZV3dnYzNCaGNuTmxJRzFoZEhKcGVDQmpiR0Z6YzF4dUlDb3ZYRzVsZUhCdmNuUWdZMnhoYzNNZ1UzQmhjbk5sVFdGMGNtbDRJSHRjYmlBZ2NISnBkbUYwWlNCbGJuUnlhV1Z6SUQwZ2JtVjNJRTFoY0R4emRISnBibWNzSUVWdWRISjVQaWdwTzF4dVhHNGdJSEpsWVdSdmJteDVJRzVTYjNkek9pQnVkVzFpWlhJZ1BTQXdPMXh1SUNCeVpXRmtiMjVzZVNCdVEyOXNjem9nYm5WdFltVnlJRDBnTUR0Y2JseHVJQ0JqYjI1emRISjFZM1J2Y2loY2JpQWdJQ0J5YjNkek9pQnVkVzFpWlhKYlhTQjhJRWx1ZERNeVFYSnlZWGtzWEc0Z0lDQWdZMjlzY3pvZ2JuVnRZbVZ5VzEwZ2ZDQkpiblF6TWtGeWNtRjVMRnh1SUNBZ0lIWmhiSFZsY3pvZ2JuVnRZbVZ5VzEwZ2ZDQkdiRzloZERNeVFYSnlZWGtzWEc0Z0lDQWdaR2x0Y3pvZ2JuVnRZbVZ5VzExY2JpQWdLU0I3WEc0Z0lDQWdhV1lnS0hKdmQzTXViR1Z1WjNSb0lDRTlQU0JqYjJ4ekxteGxibWQwYUNCOGZDQnliM2R6TG14bGJtZDBhQ0FoUFQwZ2RtRnNkV1Z6TG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLRnh1SUNBZ0lDQWdJQ0FuY205M2N5d2dZMjlzY3lCaGJtUWdkbUZzZFdWeklHRnljbUY1Y3lCdGRYTjBJR0ZzYkNCb1lYWmxJSFJvWlNCellXMWxJR3hsYm1kMGFDZGNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdWRTlFVHpvZ1FYTnpaWEowSUhSb1lYUWdaR2x0Y3lCaGNtVWdiR1ZuYVhRdVhHNGdJQ0FnZEdocGN5NXVVbTkzY3lBOUlHUnBiWE5iTUYwN1hHNGdJQ0FnZEdocGN5NXVRMjlzY3lBOUlHUnBiWE5iTVYwN1hHNGdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCMllXeDFaWE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lHTnZibk4wSUhKdmR5QTlJSEp2ZDNOYmFWMDdYRzRnSUNBZ0lDQmpiMjV6ZENCamIyd2dQU0JqYjJ4elcybGRPMXh1SUNBZ0lDQWdkR2hwY3k1amFHVmphMFJwYlhNb2NtOTNMQ0JqYjJ3cE8xeHVJQ0FnSUNBZ1kyOXVjM1FnYTJWNUlEMGdkR2hwY3k1dFlXdGxTMlY1S0hKdmR5d2dZMjlzS1R0Y2JpQWdJQ0FnSUhSb2FYTXVaVzUwY21sbGN5NXpaWFFvYTJWNUxDQjdJSFpoYkhWbE9pQjJZV3gxWlhOYmFWMHNJSEp2ZHl3Z1kyOXNJSDBwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnYldGclpVdGxlU2h5YjNjNklHNTFiV0psY2l3Z1kyOXNPaUJ1ZFcxaVpYSXBPaUJ6ZEhKcGJtY2dlMXh1SUNBZ0lISmxkSFZ5YmlCZ0pIdHliM2Q5T2lSN1kyOXNmV0E3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUdOb1pXTnJSR2x0Y3loeWIzYzZJRzUxYldKbGNpd2dZMjlzT2lCdWRXMWlaWElwSUh0Y2JpQWdJQ0JqYjI1emRDQjNhWFJvYVc1Q2IzVnVaSE1nUFNCeWIzY2dQQ0IwYUdsekxtNVNiM2R6SUNZbUlHTnZiQ0E4SUhSb2FYTXVia052YkhNN1hHNGdJQ0FnYVdZZ0tDRjNhWFJvYVc1Q2IzVnVaSE1wSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduY205M0lHRnVaQzl2Y2lCamIyd2djM0JsWTJsbWFXVmtJRzkxZEhOcFpHVWdiMllnYldGMGNtbDRJR1JwYldWdWMybHZibk1uS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCelpYUW9jbTkzT2lCdWRXMWlaWElzSUdOdmJEb2diblZ0WW1WeUxDQjJZV3gxWlRvZ2JuVnRZbVZ5S1NCN1hHNGdJQ0FnZEdocGN5NWphR1ZqYTBScGJYTW9jbTkzTENCamIyd3BPMXh1SUNBZ0lHTnZibk4wSUd0bGVTQTlJSFJvYVhNdWJXRnJaVXRsZVNoeWIzY3NJR052YkNrN1hHNGdJQ0FnYVdZZ0tDRjBhR2x6TG1WdWRISnBaWE11YUdGektHdGxlU2twSUh0Y2JpQWdJQ0FnSUhSb2FYTXVaVzUwY21sbGN5NXpaWFFvYTJWNUxDQjdJSFpoYkhWbExDQnliM2NzSUdOdmJDQjlLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVsYm5SeWFXVnpMbWRsZENoclpYa3BJUzUyWVd4MVpTQTlJSFpoYkhWbE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHZGxkQ2h5YjNjNklHNTFiV0psY2l3Z1kyOXNPaUJ1ZFcxaVpYSXNJR1JsWm1GMWJIUldZV3gxWlNBOUlEQXBJSHRjYmlBZ0lDQXZMM1JvYVhNdVkyaGxZMnRFYVcxektISnZkeXdnWTI5c0tUdGNiaUFnSUNCamIyNXpkQ0JyWlhrZ1BTQjBhR2x6TG0xaGEyVkxaWGtvY205M0xDQmpiMndwTzF4dUlDQWdJR2xtSUNoMGFHbHpMbVZ1ZEhKcFpYTXVhR0Z6S0d0bGVTa3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG1WdWRISnBaWE11WjJWMEtHdGxlU2toTG5aaGJIVmxPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWkdWbVlYVnNkRlpoYkhWbE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHZGxkRUZzYkNodmNtUmxjbVZrSUQwZ2RISjFaU2s2SUhzZ2RtRnNkV1U2SUc1MWJXSmxjanNnY205M09pQnVkVzFpWlhJN0lHTnZiRG9nYm5WdFltVnlJSDFiWFNCN1hHNGdJQ0FnWTI5dWMzUWdjbTkzUTI5c1ZtRnNkV1Z6T2lCRmJuUnllVnRkSUQwZ2JtVjNJRUZ5Y21GNUtIUm9hWE11Wlc1MGNtbGxjeTV6YVhwbEtTNW1hV3hzS0c1MWJHd3BPMXh1SUNBZ0lHeGxkQ0JwSUQwZ01EdGNiaUFnSUNCMGFHbHpMbVZ1ZEhKcFpYTXVabTl5UldGamFDaDJZV3gxWlNBOVBpQjdYRzRnSUNBZ0lDQnliM2REYjJ4V1lXeDFaWE5iYVNzclhTQTlJSFpoYkhWbE8xeHVJQ0FnSUgwcE8xeHVJQ0FnSUdsbUlDaHZjbVJsY21Wa0tTQjdYRzRnSUNBZ0lDQXZMeUJQY21SbGNtbHVaeUIwYUdVZ2NtVnpkV3gwSUdsemJpZDBJSEpsY1hWcGNtVmtJR1p2Y2lCd2NtOWpaWE56YVc1bklHSjFkQ0JwZENCa2IyVnpJRzFoYTJVZ2FYUWdaV0Z6YVdWeUlIUnZJSGR5YVhSbElIUmxjM1J6WEc0Z0lDQWdJQ0J5YjNkRGIyeFdZV3gxWlhNdWMyOXlkQ2dvWVN3Z1lpa2dQVDRnZTF4dUlDQWdJQ0FnSUNCcFppQW9ZUzV5YjNjZ1BUMDlJR0l1Y205M0tTQjdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR0V1WTI5c0lDMGdZaTVqYjJ3N1hHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHRXVjbTkzSUMwZ1lpNXliM2M3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdjbTkzUTI5c1ZtRnNkV1Z6TzF4dUlDQjlYRzVjYmlBZ1oyVjBSR2x0Y3lncE9pQnVkVzFpWlhKYlhTQjdYRzRnSUNBZ2NtVjBkWEp1SUZ0MGFHbHpMbTVTYjNkekxDQjBhR2x6TG01RGIyeHpYVHRjYmlBZ2ZWeHVYRzRnSUdkbGRGSnZkM01vS1RvZ2JuVnRZbVZ5VzEwZ2UxeHVJQ0FnY21WMGRYSnVJRUZ5Y21GNUxtWnliMjBvZEdocGN5NWxiblJ5YVdWekxDQW9XMnRsZVN3Z2RtRnNkV1ZkS1NBOVBpQjJZV3gxWlM1eWIzY3BPMXh1SUNBZ0x5OGdjbVYwZFhKdUlIUm9hWE11Y205M2N5QmhjeUIxYm10dWIzZHVJR0Z6SUc1MWJXSmxjbHRkTzF4dUlDQjlYRzVjYmlBZ1oyVjBRMjlzY3lncE9pQnVkVzFpWlhKYlhYdGNiaUFnSUhKbGRIVnliaUJCY25KaGVTNW1jbTl0S0hSb2FYTXVaVzUwY21sbGN5d2dLRnRyWlhrc0lIWmhiSFZsWFNrZ1BUNGdkbUZzZFdVdVkyOXNLVHRjYmlBZ0lDOHZJSEpsZEhWeWJpQjBhR2x6TG1OdmJITWdZWE1nZFc1cmJtOTNiaUJoY3lCdWRXMWlaWEpiWFR0Y2JpQWdmVnh1WEc0Z0lHZGxkRlpoYkhWbGN5Z3BPaUJ1ZFcxaVpYSmJYU0I3WEc0Z0lISmxkSFZ5YmlCQmNuSmhlUzVtY205dEtIUm9hWE11Wlc1MGNtbGxjeXdnS0Z0clpYa3NJSFpoYkhWbFhTa2dQVDRnZG1Gc2RXVXVkbUZzZFdVcE8xeHVJQ0F2TDNKbGRIVnliaUIwYUdsekxuWmhiSFZsY3lCaGN5QjFibXR1YjNkdUlHRnpJRzUxYldKbGNsdGRPMXh1SUNCOVhHNWNiaUFnWm05eVJXRmphQ2htYmpvZ0tIWmhiSFZsT2lCdWRXMWlaWElzSUhKdmR6b2diblZ0WW1WeUxDQmpiMnc2SUc1MWJXSmxjaWtnUFQ0Z2RtOXBaQ2s2SUhadmFXUWdlMXh1SUNBZ0lIUm9hWE11Wlc1MGNtbGxjeTVtYjNKRllXTm9LSFpoYkhWbElEMCtJR1p1S0haaGJIVmxMblpoYkhWbExDQjJZV3gxWlM1eWIzY3NJSFpoYkhWbExtTnZiQ2twTzF4dUlDQjlYRzVjYmlBZ2JXRndLR1p1T2lBb2RtRnNkV1U2SUc1MWJXSmxjaXdnY205M09pQnVkVzFpWlhJc0lHTnZiRG9nYm5WdFltVnlLU0E5UGlCdWRXMWlaWElwT2lCVGNHRnljMlZOWVhSeWFYZ2dlMXh1SUNBZ0lHTnZibk4wSUhaaGJITWdQU0J1WlhjZ1JteHZZWFF6TWtGeWNtRjVLSFJvYVhNdVpXNTBjbWxsY3k1emFYcGxLVHRjYmlBZ0lDQnNaWFFnYVNBOUlEQmNiaUFnSUNCMGFHbHpMbVZ1ZEhKcFpYTXVabTl5UldGamFDaDJZV3gxWlNBOVBpQjdYRzRnSUNBZ0lDQjJZV3h6VzJrcksxMGdQU0JtYmloMllXeDFaUzUyWVd4MVpTd2dkbUZzZFdVdWNtOTNMQ0IyWVd4MVpTNWpiMndwTzF4dUlDQWdJSDBwTzF4dUlDQWdJR052Ym5OMElHUnBiWE1nUFNCYmRHaHBjeTV1VW05M2N5d2dkR2hwY3k1dVEyOXNjMTA3WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJUY0dGeWMyVk5ZWFJ5YVhnb2RHaHBjeTVuWlhSU2IzZHpLQ2tzSUhSb2FYTXVaMlYwUTI5c2N5Z3BMQ0IyWVd4eklHRnpJSFZ1YTI1dmQyNGdZWE1nYm5WdFltVnlXMTBzSUdScGJYTXBPMXh1SUNCOVhHNWNiaUFnZEc5QmNuSmhlU2dwSUh0Y2JpQWdJQ0JqYjI1emRDQnliM2R6T2lCMWJtUmxabWx1WldSYlhTQTlJSFYwYVd4ekxtVnRjSFI1S0hSb2FYTXVibEp2ZDNNcE8xeHVJQ0FnSUdOdmJuTjBJRzkxZEhCMWRDQTlJSEp2ZDNNdWJXRndLQ2dwSUQwK0lIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMWRHbHNjeTU2WlhKdmN5aDBhR2x6TG01RGIyeHpLVHRjYmlBZ0lDQjlLVHRjYmlBZ0lDQjBhR2x6TG1WdWRISnBaWE11Wm05eVJXRmphQ2gyWVd4MVpTQTlQaUI3WEc0Z0lDQWdJQ0J2ZFhSd2RYUmJkbUZzZFdVdWNtOTNYVnQyWVd4MVpTNWpiMnhkSUQwZ2RtRnNkV1V1ZG1Gc2RXVTdYRzRnSUNBZ2ZTazdYRzRnSUNBZ2NtVjBkWEp1SUc5MWRIQjFkRHRjYmlBZ2ZWeHVmVnh1WEc0dktpcGNiaUFxSUZSeVlXNXpjRzl6WlNCaElITndZWEp6WlNCdFlYUnlhWGhjYmlBcUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlIUnlZVzV6Y0c5elpTaHRZWFJ5YVhnNklGTndZWEp6WlUxaGRISnBlQ2s2SUZOd1lYSnpaVTFoZEhKcGVDQjdYRzRnSUdOdmJuTjBJRzlzWkZKdmQzTWdQU0J0WVhSeWFYZ3VaMlYwVW05M2N5Z3BPMXh1SUNCamIyNXpkQ0J2YkdSRGIyeHpJRDBnYldGMGNtbDRMbWRsZEVOdmJITW9LVHRjYmlBZ1kyOXVjM1FnYjJ4a1ZtRnNjeUE5SUcxaGRISnBlQzVuWlhSV1lXeDFaWE1vS1R0Y2JpQWdZMjl1YzNRZ2JXRjBiR1Z1SUQwZ2IyeGtRMjlzY3k1c1pXNW5kR2c3WEc0Z0lHTnZibk4wSUdOdmJITWdQU0J1WlhjZ1NXNTBNekpCY25KaGVTaHRZWFJzWlc0cE8xeHVJQ0JqYjI1emRDQnliM2R6SUQwZ2JtVjNJRWx1ZERNeVFYSnlZWGtvYldGMGJHVnVLVHRjYmlBZ1kyOXVjM1FnZG1Gc2N5QTlJRzVsZHlCR2JHOWhkRE15UVhKeVlYa29iV0YwYkdWdUtUdGNibHh1SUNCamIyeHpMbk5sZENodmJHUlNiM2R6S1R0Y2JpQWdjbTkzY3k1elpYUW9iMnhrUTI5c2N5azdYRzRnSUhaaGJITXVjMlYwS0c5c1pGWmhiSE1wTzF4dUlDQmpiMjV6ZENCa2FXMXpJRDBnVzIxaGRISnBlQzV1UTI5c2N5d2diV0YwY21sNExtNVNiM2R6WFR0Y2JpQWdjbVYwZFhKdUlHNWxkeUJUY0dGeWMyVk5ZWFJ5YVhnb2NtOTNjeXdnWTI5c2N5d2dkbUZzY3l3Z1pHbHRjeWs3WEc1OVhHNWNiaThxS2x4dUlDb2dRMjl1YzNSeWRXTjBJR0VnYzNCaGNuTmxJR2xrWlc1MGFYUjVJRzFoZEhKcGVGeHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYVdSbGJuUnBkSGtvYzJsNlpUb2diblZ0WW1WeVcxMHBPaUJUY0dGeWMyVk5ZWFJ5YVhnZ2UxeHVJQ0JqYjI1emRDQmJjbTkzYzEwZ1BTQnphWHBsTzF4dUlDQmpiMjV6ZENCdFlYUnlhWGdnUFNCdVpYY2dVM0JoY25ObFRXRjBjbWw0S0Z0ZExDQmJYU3dnVzEwc0lITnBlbVVwTzF4dUlDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJSEp2ZDNNN0lHa3JLeWtnZTF4dUlDQWdJRzFoZEhKcGVDNXpaWFFvYVN3Z2FTd2dNU2s3WEc0Z0lIMWNiaUFnY21WMGRYSnVJRzFoZEhKcGVEdGNibjFjYmx4dUx5b3FYRzRnS2lCRmJHVnRaVzUwTFhkcGMyVWdiWFZzZEdsd2JHbGpZWFJwYjI0Z2IyWWdkSGR2SUcxaGRISnBZMlZ6WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQndZV2x5ZDJselpVMTFiSFJwY0d4NUtGeHVJQ0JoT2lCVGNHRnljMlZOWVhSeWFYZ3NYRzRnSUdJNklGTndZWEp6WlUxaGRISnBlRnh1S1RvZ1UzQmhjbk5sVFdGMGNtbDRJSHRjYmlBZ2NtVjBkWEp1SUdWc1pXMWxiblJYYVhObEtHRXNJR0lzSUNoNExDQjVLU0E5UGlCNElDb2dlU2s3WEc1OVhHNWNiaThxS2x4dUlDb2dSV3hsYldWdWRDMTNhWE5sSUdGa1pHbDBhVzl1SUc5bUlIUjNieUJ0WVhSeWFXTmxjMXh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1lXUmtLR0U2SUZOd1lYSnpaVTFoZEhKcGVDd2dZam9nVTNCaGNuTmxUV0YwY21sNEtUb2dVM0JoY25ObFRXRjBjbWw0SUh0Y2JpQWdjbVYwZFhKdUlHVnNaVzFsYm5SWGFYTmxLR0VzSUdJc0lDaDRMQ0I1S1NBOVBpQjRJQ3NnZVNrN1hHNTlYRzVjYmk4cUtseHVJQ29nUld4bGJXVnVkQzEzYVhObElITjFZblJ5WVdOMGFXOXVJRzltSUhSM2J5QnRZWFJ5YVdObGMxeHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYzNWaWRISmhZM1FvWVRvZ1UzQmhjbk5sVFdGMGNtbDRMQ0JpT2lCVGNHRnljMlZOWVhSeWFYZ3BPaUJUY0dGeWMyVk5ZWFJ5YVhnZ2UxeHVJQ0J5WlhSMWNtNGdaV3hsYldWdWRGZHBjMlVvWVN3Z1lpd2dLSGdzSUhrcElEMCtJSGdnTFNCNUtUdGNibjFjYmx4dUx5b3FYRzRnS2lCRmJHVnRaVzUwTFhkcGMyVWdiV0Y0YVcxMWJTQnZaaUIwZDI4Z2JXRjBjbWxqWlhOY2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRzFoZUdsdGRXMG9ZVG9nVTNCaGNuTmxUV0YwY21sNExDQmlPaUJUY0dGeWMyVk5ZWFJ5YVhncE9pQlRjR0Z5YzJWTllYUnlhWGdnZTF4dUlDQnlaWFIxY200Z1pXeGxiV1Z1ZEZkcGMyVW9ZU3dnWWl3Z0tIZ3NJSGtwSUQwK0lDaDRJRDRnZVNBL0lIZ2dPaUI1S1NrN1hHNTlYRzVjYmk4cUtseHVJQ29nVTJOaGJHRnlJRzExYkhScGNHeHBZMkYwYVc5dUlHOW1JSFIzYnlCdFlYUnlhV05sYzF4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdiWFZzZEdsd2JIbFRZMkZzWVhJb1lUb2dVM0JoY25ObFRXRjBjbWw0TENCelkyRnNZWEk2SUc1MWJXSmxjaWs2SUZOd1lYSnpaVTFoZEhKcGVDQjdYRzRnSUhKbGRIVnliaUJoTG0xaGNDZ29kbUZzZFdVNklHNTFiV0psY2lrZ1BUNGdlMXh1SUNBZ0lISmxkSFZ5YmlCMllXeDFaU0FxSUhOallXeGhjanRjYmlBZ2ZTazdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1VtVjBkWEp1Y3lCaElHNWxkeUJ0WVhSeWFYZ2dkMmwwYUNCNlpYSnZJR1Z1ZEhKcFpYTWdjbVZ0YjNabFpDNWNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdWc2FXMXBibUYwWlZwbGNtOXpLRzA2SUZOd1lYSnpaVTFoZEhKcGVDa2dlMXh1SUNCamIyNXpkQ0I2WlhKdlNXNWthV05sY3lBOUlHNWxkeUJUWlhRb0tUdGNiaUFnWTI5dWMzUWdkbUZzZFdWeklEMGdiUzVuWlhSV1lXeDFaWE1vS1R0Y2JpQWdZMjl1YzNRZ2NtOTNjeUE5SUcwdVoyVjBVbTkzY3lncE8xeHVJQ0JqYjI1emRDQmpiMnh6SUQwZ2JTNW5aWFJEYjJ4ektDazdYRzRnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2RtRnNkV1Z6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ2FXWWdLSFpoYkhWbGMxdHBYU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdlbVZ5YjBsdVpHbGpaWE11WVdSa0tHa3BPMXh1SUNBZ0lIMWNiaUFnZlZ4dUlDQmpiMjV6ZENCeVpXMXZkbVZDZVZwbGNtOUpibVJsZUNBOUlDaGZPaUJoYm5rc0lHbHVaR1Y0T2lCdWRXMWlaWElwSUQwK0lDRjZaWEp2U1c1a2FXTmxjeTVvWVhNb2FXNWtaWGdwTzF4dUlDQmpiMjV6ZENCdVpYaDBWbUZzZFdWeklEMGdkbUZzZFdWekxtWnBiSFJsY2loeVpXMXZkbVZDZVZwbGNtOUpibVJsZUNrN1hHNGdJR052Ym5OMElHNWxlSFJTYjNkeklEMGdjbTkzY3k1bWFXeDBaWElvY21WdGIzWmxRbmxhWlhKdlNXNWtaWGdwTzF4dUlDQmpiMjV6ZENCdVpYaDBRMjlzY3lBOUlHTnZiSE11Wm1sc2RHVnlLSEpsYlc5MlpVSjVXbVZ5YjBsdVpHVjRLVHRjYmx4dUlDQnlaWFIxY200Z2JtVjNJRk53WVhKelpVMWhkSEpwZUNodVpYaDBVbTkzY3l3Z2JtVjRkRU52YkhNc0lHNWxlSFJXWVd4MVpYTXNJRzB1WjJWMFJHbHRjeWdwS1R0Y2JuMWNibHh1THlvcVhHNGdLaUJPYjNKdFlXeHBlbUYwYVc5dUlHOW1JR0VnYzNCaGNuTmxJRzFoZEhKcGVDNWNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUc1dmNtMWhiR2w2WlNodE9pQlRjR0Z5YzJWTllYUnlhWGdzSUc1dmNtMVVlWEJsSUQwZ1RtOXliVlI1Y0dVdWJESXBJSHRjYmlBZ1kyOXVjM1FnYm05eWJVWnVJRDBnYm05eWJVWnVjMXR1YjNKdFZIbHdaVjA3WEc1Y2JpQWdZMjl1YzNRZ1kyOXNjMEo1VW05M0lEMGdibVYzSUUxaGNEeHVkVzFpWlhJc0lHNTFiV0psY2x0ZFBpZ3BPMXh1SUNCdExtWnZja1ZoWTJnb0tGOHNJSEp2ZHl3Z1kyOXNLU0E5UGlCN1hHNGdJQ0FnWTI5dWMzUWdZMjlzY3lBOUlHTnZiSE5DZVZKdmR5NW5aWFFvY205M0tTQjhmQ0JiWFR0Y2JpQWdJQ0JqYjJ4ekxuQjFjMmdvWTI5c0tUdGNiaUFnSUNCamIyeHpRbmxTYjNjdWMyVjBLSEp2ZHl3Z1kyOXNjeWs3WEc0Z0lIMHBPMXh1WEc0Z0lHTnZibk4wSUc1bGVIUk5ZWFJ5YVhnZ1BTQnVaWGNnVTNCaGNuTmxUV0YwY21sNEtGdGRMQ0JiWFN3Z1cxMHNJRzB1WjJWMFJHbHRjeWdwS1R0Y2JseHVJQ0JtYjNJZ0tHeGxkQ0J5YjNjZ2IyWWdZMjlzYzBKNVVtOTNMbXRsZVhNb0tTa2dlMXh1SUNBZ0lHTnZibk4wSUdOdmJITWdQU0JqYjJ4elFubFNiM2N1WjJWMEtISnZkeWtoTG5OdmNuUW9LVHRjYmx4dUlDQWdJR052Ym5OMElIWmhiSE1nUFNCamIyeHpMbTFoY0NoamIyd2dQVDRnYlM1blpYUW9jbTkzTENCamIyd3BLVHRjYmlBZ0lDQmpiMjV6ZENCdWIzSnRJRDBnYm05eWJVWnVLSFpoYkhNcE8xeHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2JtOXliUzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2JtVjRkRTFoZEhKcGVDNXpaWFFvY205M0xDQmpiMnh6VzJsZExDQnViM0p0VzJsZEtUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2JtVjRkRTFoZEhKcGVEdGNibjFjYmx4dUx5b3FYRzRnS2lCV1pXTjBiM0lnYm05eWJXRnNhWHBoZEdsdmJpQm1kVzVqZEdsdmJuTmNiaUFxTDF4dWRIbHdaU0JPYjNKdFJtNXpJRDBnZXlCYmEyVjVJR2x1SUU1dmNtMVVlWEJsWFRvZ0tIWTZJRzUxYldKbGNsdGRLU0E5UGlCdWRXMWlaWEpiWFNCOU8xeHVZMjl1YzNRZ2JtOXliVVp1Y3pvZ1RtOXliVVp1Y3lBOUlIdGNiaUFnVzA1dmNtMVVlWEJsTG0xaGVGMDZJQ2g0Y3pvZ2JuVnRZbVZ5VzEwcElEMCtJSHRjYmlBZ0lDQnNaWFFnYldGNElEMGdMVWx1Wm1sdWFYUjVPMXh1SUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dlSE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lHMWhlQ0E5SUhoelcybGRJRDRnYldGNElEOGdlSE5iYVYwZ09pQnRZWGc3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCNGN5NXRZWEFvZUNBOVBpQjRJQzhnYldGNEtUdGNiaUFnZlN4Y2JpQWdXMDV2Y20xVWVYQmxMbXd4WFRvZ0tIaHpPaUJ1ZFcxaVpYSmJYU2tnUFQ0Z2UxeHVJQ0FnSUd4bGRDQnpkVzBnUFNBd08xeHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2VITXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhOMWJTQXJQU0I0YzF0cFhUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSGh6TG0xaGNDaDRJRDArSUhnZ0x5QnpkVzBwTzF4dUlDQjlMRnh1SUNCYlRtOXliVlI1Y0dVdWJESmRPaUFvZUhNNklHNTFiV0psY2x0ZEtTQTlQaUI3WEc0Z0lDQWdiR1YwSUhOMWJTQTlJREE3WEc0Z0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0I0Y3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdjM1Z0SUNzOUlIaHpXMmxkSUNvcUlESTdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUI0Y3k1dFlYQW9lQ0E5UGlCTllYUm9Mbk54Y25Rb2VDQXFLaUF5SUM4Z2MzVnRLU2s3WEc0Z0lIMHNYRzU5TzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnWlc1MWJTQk9iM0p0Vkhsd1pTQjdYRzRnSUcxaGVDQTlJQ2R0WVhnbkxGeHVJQ0JzTVNBOUlDZHNNU2NzWEc0Z0lHd3lJRDBnSjJ3eUp5eGNibjFjYmx4dUx5b3FYRzRnS2lCSVpXeHdaWElnWm5WdVkzUnBiMjRnWm05eUlHVnNaVzFsYm5RdGQybHpaU0J2Y0dWeVlYUnBiMjV6TGx4dUlDb3ZYRzVtZFc1amRHbHZiaUJsYkdWdFpXNTBWMmx6WlNoY2JpQWdZVG9nVTNCaGNuTmxUV0YwY21sNExGeHVJQ0JpT2lCVGNHRnljMlZOWVhSeWFYZ3NYRzRnSUc5d09pQW9lRG9nYm5WdFltVnlMQ0I1T2lCdWRXMWlaWElwSUQwK0lHNTFiV0psY2x4dUtUb2dVM0JoY25ObFRXRjBjbWw0SUh0Y2JpQWdZMjl1YzNRZ2RtbHphWFJsWkNBOUlHNWxkeUJUWlhROGMzUnlhVzVuUGlncE8xeHVJQ0JqYjI1emRDQnliM2R6T2lCdWRXMWlaWEpiWFNBOUlGdGRPMXh1SUNCamIyNXpkQ0JqYjJ4ek9pQnVkVzFpWlhKYlhTQTlJRnRkTzF4dUlDQmpiMjV6ZENCMllXeHpPaUJ1ZFcxaVpYSmJYU0E5SUZ0ZE8xeHVYRzRnSUdOdmJuTjBJRzl3WlhKaGRHVWdQU0FvY205M09pQnVkVzFpWlhJc0lHTnZiRG9nYm5WdFltVnlLU0E5UGlCN1hHNGdJQ0FnY205M2N5NXdkWE5vS0hKdmR5azdYRzRnSUNBZ1kyOXNjeTV3ZFhOb0tHTnZiQ2s3WEc0Z0lDQWdZMjl1YzNRZ2JtVjRkRlpoYkhWbElEMGdiM0FvWVM1blpYUW9jbTkzTENCamIyd3BMQ0JpTG1kbGRDaHliM2NzSUdOdmJDa3BPMXh1SUNBZ0lIWmhiSE11Y0hWemFDaHVaWGgwVm1Gc2RXVXBPMXh1SUNCOU8xeHVJQ0JqYjI1emRDQjJZV3gxWlhOQklEMGdZUzVuWlhSV1lXeDFaWE1vS1R0Y2JpQWdZMjl1YzNRZ2NtOTNjMEVnUFNCaExtZGxkRkp2ZDNNb0tUdGNiaUFnWTI5dWMzUWdZMjlzYzBFZ1BTQmhMbWRsZEVOdmJITW9LVHRjYmlBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQjJZV3gxWlhOQkxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdZMjl1YzNRZ2NtOTNJRDBnY205M2MwRmJhVjA3WEc0Z0lDQWdZMjl1YzNRZ1kyOXNJRDBnWTI5c2MwRmJhVjA3WEc0Z0lDQWdZMjl1YzNRZ2EyVjVJRDBnWUNSN2NtOTNmVG9rZTJOdmJIMWdPMXh1SUNBZ0lIWnBjMmwwWldRdVlXUmtLR3RsZVNrN1hHNGdJQ0FnYjNCbGNtRjBaU2h5YjNjc0lHTnZiQ2s3WEc0Z0lIMWNibHh1SUNCamIyNXpkQ0IyWVd4MVpYTkNJRDBnWWk1blpYUldZV3gxWlhNb0tUdGNiaUFnWTI5dWMzUWdjbTkzYzBJZ1BTQmlMbWRsZEZKdmQzTW9LVHRjYmlBZ1kyOXVjM1FnWTI5c2MwSWdQU0JpTG1kbGRFTnZiSE1vS1R0Y2JpQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0IyWVd4MVpYTkNMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnWTI5dWMzUWdjbTkzSUQwZ2NtOTNjMEpiYVYwN1hHNGdJQ0FnWTI5dWMzUWdZMjlzSUQwZ1kyOXNjMEpiYVYwN1hHNGdJQ0FnWTI5dWMzUWdhMlY1SUQwZ1lDUjdjbTkzZlRva2UyTnZiSDFnTzF4dUlDQWdJR2xtSUNoMmFYTnBkR1ZrTG1oaGN5aHJaWGtwS1NCamIyNTBhVzUxWlR0Y2JpQWdJQ0J2Y0dWeVlYUmxLSEp2ZHl3Z1kyOXNLVHRjYmlBZ2ZWeHVYRzRnSUdOdmJuTjBJR1JwYlhNZ1BTQmJZUzV1VW05M2N5d2dZUzV1UTI5c2MxMDdYRzRnSUhKbGRIVnliaUJ1WlhjZ1UzQmhjbk5sVFdGMGNtbDRLSEp2ZDNNc0lHTnZiSE1zSUhaaGJITXNJR1JwYlhNcE8xeHVmVnh1WEc0dktpcGNiaUFxSUVobGJIQmxjaUJtZFc1amRHbHZiaUJtYjNJZ1oyVjBkR2x1WnlCa1lYUmhMQ0JwYm1ScFkyVnpMQ0JoYm1RZ2FXNXdkSElnWVhKeVlYbHpJR1p5YjIwZ1lTQnpjR0Z5YzJWY2JpQXFJRzFoZEhKcGVDQjBieUJtYjJ4c2IzY2dZM055SUcxaGRISnBlQ0JqYjI1MlpXNTBhVzl1Y3k0Z1UzVndaWElnYVc1bFptWnBZMmxsYm5RZ0tHRnVaQ0JyYVc1a0lHOW1YRzRnS2lCa1pXWmxZWFJ6SUhSb1pTQndkWEp3YjNObElHOW1JSFJvYVhNZ1kyOXVkbVZ1ZEdsdmJpa2dZblYwSUdFZ2JHOTBJRzltSUhSb1pTQndiM0owWldRZ2NIbDBhRzl1SUhSeVpXVmNiaUFxSUhObFlYSmphQ0JzYjJkcFl5QmtaWEJsYm1SeklHOXVJSFJvYVhNZ1pHRjBZU0JtYjNKdFlYUXVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCblpYUkRVMUlvZURvZ1UzQmhjbk5sVFdGMGNtbDRLU0I3WEc0Z0lHTnZibk4wSUdWdWRISnBaWE02SUVWdWRISjVXMTBnUFNCYlhUdGNibHh1SUNCNExtWnZja1ZoWTJnb0tIWmhiSFZsTENCeWIzY3NJR052YkNrZ1BUNGdlMXh1SUNBZ0lHVnVkSEpwWlhNdWNIVnphQ2g3SUhaaGJIVmxMQ0J5YjNjc0lHTnZiQ0I5S1R0Y2JpQWdmU2s3WEc1Y2JpQWdaVzUwY21sbGN5NXpiM0owS0NoaExDQmlLU0E5UGlCN1hHNGdJQ0FnYVdZZ0tHRXVjbTkzSUQwOVBTQmlMbkp2ZHlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdFdVkyOXNJQzBnWWk1amIydzdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJoTG5KdmR5QXRJR0l1Y205M08xeHVJQ0FnSUgxY2JpQWdmU2s3WEc1Y2JpQWdZMjl1YzNRZ2FXNWthV05sY3pvZ2JuVnRZbVZ5VzEwZ1BTQmJYVHRjYmlBZ1kyOXVjM1FnZG1Gc2RXVnpPaUJ1ZFcxaVpYSmJYU0E5SUZ0ZE8xeHVJQ0JqYjI1emRDQnBibVJ3ZEhJNklHNTFiV0psY2x0ZElEMGdXMTA3WEc1Y2JpQWdiR1YwSUdOMWNuSmxiblJTYjNjZ1BTQXRNVHRjYmlBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQmxiblJ5YVdWekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdZMjl1YzNRZ2V5QnliM2NzSUdOdmJDd2dkbUZzZFdVZ2ZTQTlJR1Z1ZEhKcFpYTmJhVjA3WEc0Z0lDQWdhV1lnS0hKdmR5QWhQVDBnWTNWeWNtVnVkRkp2ZHlrZ2UxeHVJQ0FnSUNBZ1kzVnljbVZ1ZEZKdmR5QTlJSEp2ZHp0Y2JpQWdJQ0FnSUdsdVpIQjBjaTV3ZFhOb0tHa3BPMXh1SUNBZ0lIMWNiaUFnSUNCcGJtUnBZMlZ6TG5CMWMyZ29ZMjlzS1R0Y2JpQWdJQ0IyWVd4MVpYTXVjSFZ6YUNoMllXeDFaU2s3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnZXlCcGJtUnBZMlZ6TENCMllXeDFaWE1zSUdsdVpIQjBjaUI5TzF4dWZWeHVJbDE5IiwiLyoqXG4gKiBAbGljZW5zZVxuICpcbiAqIENvcHlyaWdodCAyMDE5IEdvb2dsZSBMTEMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKi9cbi8qKlxuICogVGhpcyBpcyBhIEphdmFTY3JpcHQgcmVpbXBsZW1lbnRhdGlvbiBvZiBVTUFQIChvcmlnaW5hbCBsaWNlbnNlIGJlbG93KSwgZnJvbVxuICogdGhlIHB5dGhvbiBpbXBsZW1lbnRhdGlvbiBmb3VuZCBhdCBodHRwczovL2dpdGh1Yi5jb20vbG1jaW5uZXMvdW1hcC5cbiAqXG4gKiBAYXV0aG9yIGFuZHljb2VuZW5AZ29vZ2xlLmNvbSAoQW5keSBDb2VuZW4pXG4gKi9cbi8qKlxuICogQGxpY2Vuc2VcbiAqIEJTRCAzLUNsYXVzZSBMaWNlbnNlXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDE3LCBMZWxhbmQgTWNJbm5lc1xuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXRcbiAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OlxuICpcbiAqICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzXG4gKiAgIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLlxuICpcbiAqICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLFxuICogICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uXG4gKiAgIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLlxuICpcbiAqICogTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0c1xuICogICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbVxuICogICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLlxuICpcbiAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgXCJBUyBJU1wiXG4gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFXG4gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkVcbiAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEVcbiAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMXG4gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUlxuICogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVJcbiAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksXG4gKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRVxuICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS5cbiAqL1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5leHBvcnQgY2xhc3MgRmxhdFRyZWUge1xuICAgIGh5cGVycGxhbmVzO1xuICAgIG9mZnNldHM7XG4gICAgY2hpbGRyZW47XG4gICAgaW5kaWNlcztcbiAgICBjb25zdHJ1Y3RvcihoeXBlcnBsYW5lcywgb2Zmc2V0cywgY2hpbGRyZW4sIGluZGljZXMpIHtcbiAgICAgICAgdGhpcy5oeXBlcnBsYW5lcyA9IGh5cGVycGxhbmVzO1xuICAgICAgICB0aGlzLm9mZnNldHMgPSBvZmZzZXRzO1xuICAgICAgICB0aGlzLmNoaWxkcmVuID0gY2hpbGRyZW47XG4gICAgICAgIHRoaXMuaW5kaWNlcyA9IGluZGljZXM7XG4gICAgfVxufVxuLyoqXG4gKiBCdWlsZCBhIHJhbmRvbSBwcm9qZWN0aW9uIGZvcmVzdCB3aXRoIGBgblRyZWVzYGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYWtlRm9yZXN0KGRhdGEsIG5OZWlnaGJvcnMsIG5UcmVlcywgcmFuZG9tKSB7XG4gICAgY29uc3QgbGVhZlNpemUgPSBNYXRoLm1heCgxMCwgbk5laWdoYm9ycyk7XG4gICAgY29uc3QgdHJlZXMgPSB1dGlsc1xuICAgICAgICAucmFuZ2UoblRyZWVzKVxuICAgICAgICAubWFwKChfLCBpKSA9PiBtYWtlVHJlZShkYXRhLCBsZWFmU2l6ZSwgaSwgcmFuZG9tKSk7XG4gICAgY29uc3QgZm9yZXN0ID0gdHJlZXMubWFwKHRyZWUgPT4gZmxhdHRlblRyZWUodHJlZSwgbGVhZlNpemUpKTtcbiAgICByZXR1cm4gZm9yZXN0O1xufVxuLyoqXG4gKiBDb25zdHJ1Y3QgYSByYW5kb20gcHJvamVjdGlvbiB0cmVlIGJhc2VkIG9uIGBgZGF0YWBgIHdpdGggbGVhdmVzXG4gKiBvZiBzaXplIGF0IG1vc3QgYGBsZWFmU2l6ZWBgXG4gKi9cbmZ1bmN0aW9uIG1ha2VUcmVlKGRhdGEsIGxlYWZTaXplID0gMzAsIG4sIHJhbmRvbSkge1xuICAgIGNvbnN0IGluZGljZXMgPSB1dGlscy5yYW5nZShkYXRhLmxlbmd0aCk7XG4gICAgY29uc3QgdHJlZSA9IG1ha2VFdWNsaWRlYW5UcmVlKGRhdGEsIGluZGljZXMsIGxlYWZTaXplLCBuLCByYW5kb20pO1xuICAgIHJldHVybiB0cmVlO1xufVxuZnVuY3Rpb24gbWFrZUV1Y2xpZGVhblRyZWUoZGF0YSwgaW5kaWNlcywgbGVhZlNpemUgPSAzMCwgcSwgcmFuZG9tKSB7XG4gICAgaWYgKGluZGljZXMubGVuZ3RoID4gbGVhZlNpemUpIHtcbiAgICAgICAgY29uc3Qgc3BsaXRSZXN1bHRzID0gZXVjbGlkZWFuUmFuZG9tUHJvamVjdGlvblNwbGl0KGRhdGEsIGluZGljZXMsIHJhbmRvbSk7XG4gICAgICAgIGNvbnN0IHsgaW5kaWNlc0xlZnQsIGluZGljZXNSaWdodCwgaHlwZXJwbGFuZSwgb2Zmc2V0IH0gPSBzcGxpdFJlc3VsdHM7XG4gICAgICAgIGNvbnN0IGxlZnRDaGlsZCA9IG1ha2VFdWNsaWRlYW5UcmVlKGRhdGEsIGluZGljZXNMZWZ0LCBsZWFmU2l6ZSwgcSArIDEsIHJhbmRvbSk7XG4gICAgICAgIGNvbnN0IHJpZ2h0Q2hpbGQgPSBtYWtlRXVjbGlkZWFuVHJlZShkYXRhLCBpbmRpY2VzUmlnaHQsIGxlYWZTaXplLCBxICsgMSwgcmFuZG9tKTtcbiAgICAgICAgY29uc3Qgbm9kZSA9IHsgbGVmdENoaWxkLCByaWdodENoaWxkLCBpc0xlYWY6IGZhbHNlLCBoeXBlcnBsYW5lLCBvZmZzZXQgfTtcbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBub2RlID0geyBpbmRpY2VzLCBpc0xlYWY6IHRydWUgfTtcbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfVxufVxuLyoqXG4gKiBHaXZlbiBhIHNldCBvZiBgYGluZGljZXNgYCBmb3IgZGF0YSBwb2ludHMgZnJvbSBgYGRhdGFgYCwgY3JlYXRlXG4gKiBhIHJhbmRvbSBoeXBlcnBsYW5lIHRvIHNwbGl0IHRoZSBkYXRhLCByZXR1cm5pbmcgdHdvIGFycmF5cyBpbmRpY2VzXG4gKiB0aGF0IGZhbGwgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGh5cGVycGxhbmUuIFRoaXMgaXMgdGhlIGJhc2lzIGZvciBhXG4gKiByYW5kb20gcHJvamVjdGlvbiB0cmVlLCB3aGljaCBzaW1wbHkgdXNlcyB0aGlzIHNwbGl0dGluZyByZWN1cnNpdmVseS5cbiAqIFRoaXMgcGFydGljdWxhciBzcGxpdCB1c2VzIGV1Y2xpZGVhbiBkaXN0YW5jZSB0byBkZXRlcm1pbmUgdGhlIGh5cGVycGxhbmVcbiAqIGFuZCB3aGljaCBzaWRlIGVhY2ggZGF0YSBzYW1wbGUgZmFsbHMgb24uXG4gKi9cbmZ1bmN0aW9uIGV1Y2xpZGVhblJhbmRvbVByb2plY3Rpb25TcGxpdChkYXRhLCBpbmRpY2VzLCByYW5kb20pIHtcbiAgICBjb25zdCBkaW0gPSAxO1xuICAgIC8vIFNlbGVjdCB0d28gcmFuZG9tIHBvaW50cywgc2V0IHRoZSBoeXBlcnBsYW5lIGJldHdlZW4gdGhlbVxuICAgIGxldCBsZWZ0SW5kZXggPSB1dGlscy50YXVSYW5kSW50KGluZGljZXMubGVuZ3RoLCByYW5kb20pO1xuICAgIGxldCByaWdodEluZGV4ID0gdXRpbHMudGF1UmFuZEludChpbmRpY2VzLmxlbmd0aCwgcmFuZG9tKTtcbiAgICByaWdodEluZGV4ICs9IGxlZnRJbmRleCA9PT0gcmlnaHRJbmRleCA/IDEgOiAwO1xuICAgIHJpZ2h0SW5kZXggPSByaWdodEluZGV4ICUgaW5kaWNlcy5sZW5ndGg7XG4gICAgY29uc3QgbGVmdCA9IGluZGljZXNbbGVmdEluZGV4XTtcbiAgICBjb25zdCByaWdodCA9IGluZGljZXNbcmlnaHRJbmRleF07XG4gICAgLy8gQ29tcHV0ZSB0aGUgbm9ybWFsIHZlY3RvciB0byB0aGUgaHlwZXJwbGFuZSAodGhlIHZlY3RvciBiZXR3ZWVuIHRoZSB0d29cbiAgICAvLyBwb2ludHMpIGFuZCB0aGUgb2Zmc2V0IGZyb20gdGhlIG9yaWdpblxuICAgIGxldCBoeXBlcnBsYW5lT2Zmc2V0ID0gMDtcbiAgICBsZXQgaHlwZXJwbGFuZVZlY3RvciA9IDA7XG4gICAgaHlwZXJwbGFuZVZlY3RvciA9IGRhdGFbbGVmdF0gLSBkYXRhW3JpZ2h0XTtcbiAgICBoeXBlcnBsYW5lT2Zmc2V0IC09XG4gICAgICAgIChoeXBlcnBsYW5lVmVjdG9yICogKGRhdGFbbGVmdF0gKyBkYXRhW3JpZ2h0XSkpIC8gMi4wO1xuICAgIC8vIEZvciBlYWNoIHBvaW50IGNvbXB1dGUgdGhlIG1hcmdpbiAocHJvamVjdCBpbnRvIG5vcm1hbCB2ZWN0b3IpXG4gICAgLy8gSWYgd2UgYXJlIG9uIGxvd2VyIHNpZGUgb2YgdGhlIGh5cGVycGxhbmUgcHV0IGluIG9uZSBwaWxlLCBvdGhlcndpc2VcbiAgICAvLyBwdXQgaXQgaW4gdGhlIG90aGVyIHBpbGUgKGlmIHdlIGhpdCBoeXBlcnBsYW5lIG9uIHRoZSBub3NlLCBmbGlwIGEgY29pbilcbiAgICBsZXQgbkxlZnQgPSAwO1xuICAgIGxldCBuUmlnaHQgPSAwO1xuICAgIGNvbnN0IHNpZGUgPSB1dGlscy56ZXJvcyhpbmRpY2VzLmxlbmd0aCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbmRpY2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGxldCBtYXJnaW4gPSBoeXBlcnBsYW5lT2Zmc2V0O1xuICAgICAgICBtYXJnaW4gKz0gaHlwZXJwbGFuZVZlY3RvciAqIGRhdGFbaW5kaWNlc1tpXV07XG4gICAgICAgIGlmIChtYXJnaW4gPT09IDApIHtcbiAgICAgICAgICAgIHNpZGVbaV0gPSB1dGlscy50YXVSYW5kSW50KDIsIHJhbmRvbSk7XG4gICAgICAgICAgICBpZiAoc2lkZVtpXSA9PT0gMCkge1xuICAgICAgICAgICAgICAgIG5MZWZ0ICs9IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBuUmlnaHQgKz0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChtYXJnaW4gPiAwKSB7XG4gICAgICAgICAgICBzaWRlW2ldID0gMDtcbiAgICAgICAgICAgIG5MZWZ0ICs9IDE7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzaWRlW2ldID0gMTtcbiAgICAgICAgICAgIG5SaWdodCArPSAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIE5vdyB0aGF0IHdlIGhhdmUgdGhlIGNvdW50cywgYWxsb2NhdGUgYXJyYXlzXG4gICAgY29uc3QgaW5kaWNlc0xlZnQgPSB1dGlscy56ZXJvcyhuTGVmdCk7XG4gICAgY29uc3QgaW5kaWNlc1JpZ2h0ID0gdXRpbHMuemVyb3MoblJpZ2h0KTtcbiAgICAvLyBQb3B1bGF0ZSB0aGUgYXJyYXlzIHdpdGggaW5kaWNlcyBhY2NvcmRpbmcgdG8gd2hpY2ggc2lkZSB0aGV5IGZlbGwgb25cbiAgICBuTGVmdCA9IDA7XG4gICAgblJpZ2h0ID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNpZGUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKHNpZGVbaV0gPT09IDApIHtcbiAgICAgICAgICAgIGluZGljZXNMZWZ0W25MZWZ0XSA9IGluZGljZXNbaV07XG4gICAgICAgICAgICBuTGVmdCArPSAxO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaW5kaWNlc1JpZ2h0W25SaWdodF0gPSBpbmRpY2VzW2ldO1xuICAgICAgICAgICAgblJpZ2h0ICs9IDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaW5kaWNlc0xlZnQsXG4gICAgICAgIGluZGljZXNSaWdodCxcbiAgICAgICAgaHlwZXJwbGFuZTogaHlwZXJwbGFuZVZlY3RvcixcbiAgICAgICAgb2Zmc2V0OiBoeXBlcnBsYW5lT2Zmc2V0LFxuICAgIH07XG59XG5mdW5jdGlvbiBmbGF0dGVuVHJlZSh0cmVlLCBsZWFmU2l6ZSkge1xuICAgIGNvbnN0IG5Ob2RlcyA9IG51bU5vZGVzKHRyZWUpO1xuICAgIGNvbnN0IG5MZWF2ZXMgPSBudW1MZWF2ZXModHJlZSk7XG4gICAgLy8gVE9ETzogVmVyaWZ5IHRoYXQgc3BhcnNlIGNvZGUgaXMgbm90IHJlbGV2YW50Li4uXG4gICAgY29uc3QgaHlwZXJwbGFuZXMgPSB1dGlsc1xuICAgICAgICAucmFuZ2Uobk5vZGVzKVxuICAgICAgICAubWFwKCgpID0+IHRyZWUuaHlwZXJwbGFuZSA/IDEgOiAwKTtcbiAgICBjb25zdCBvZmZzZXRzID0gdXRpbHMuemVyb3Mobk5vZGVzKTtcbiAgICBjb25zdCBjaGlsZHJlbiA9IHV0aWxzLnJhbmdlKG5Ob2RlcykubWFwKCgpID0+IFstMSwgLTFdKTtcbiAgICBjb25zdCBpbmRpY2VzID0gdXRpbHNcbiAgICAgICAgLnJhbmdlKG5MZWF2ZXMpXG4gICAgICAgIC5tYXAoKCkgPT4gdXRpbHMucmFuZ2UobGVhZlNpemUpLm1hcCgoKSA9PiAtMSkpO1xuICAgIHJlY3Vyc2l2ZUZsYXR0ZW4odHJlZSwgaHlwZXJwbGFuZXMsIG9mZnNldHMsIGNoaWxkcmVuLCBpbmRpY2VzLCAwLCAwKTtcbiAgICByZXR1cm4gbmV3IEZsYXRUcmVlKGh5cGVycGxhbmVzLCBvZmZzZXRzLCBjaGlsZHJlbiwgaW5kaWNlcyk7XG59XG5mdW5jdGlvbiByZWN1cnNpdmVGbGF0dGVuKHRyZWUsIGh5cGVycGxhbmVzLCBvZmZzZXRzLCBjaGlsZHJlbiwgaW5kaWNlcywgbm9kZU51bSwgbGVhZk51bSkge1xuICAgIGlmICh0cmVlLmlzTGVhZikge1xuICAgICAgICBjaGlsZHJlbltub2RlTnVtXVswXSA9IC1sZWFmTnVtO1xuICAgICAgICAvLyBUT0RPOiBUcmlwbGUgY2hlY2sgdGhpcyBvcGVyYXRpb24gY29ycmVzcG9uZHMgdG9cbiAgICAgICAgLy8gaW5kaWNlc1tsZWFmTnVtIDogdHJlZS5pbmRpY2VzLnNoYXBlWzBdXSA9IHRyZWUuaW5kaWNlc1xuICAgICAgICBpbmRpY2VzW2xlYWZOdW1dLnNwbGljZSgwLCB0cmVlLmluZGljZXMubGVuZ3RoLCAuLi50cmVlLmluZGljZXMpO1xuICAgICAgICBsZWFmTnVtICs9IDE7XG4gICAgICAgIHJldHVybiB7IG5vZGVOdW0sIGxlYWZOdW0gfTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGh5cGVycGxhbmVzW25vZGVOdW1dID0gdHJlZS5oeXBlcnBsYW5lO1xuICAgICAgICBvZmZzZXRzW25vZGVOdW1dID0gdHJlZS5vZmZzZXQ7XG4gICAgICAgIGNoaWxkcmVuW25vZGVOdW1dWzBdID0gbm9kZU51bSArIDE7XG4gICAgICAgIGNvbnN0IG9sZE5vZGVOdW0gPSBub2RlTnVtO1xuICAgICAgICBsZXQgcmVzID0gcmVjdXJzaXZlRmxhdHRlbih0cmVlLmxlZnRDaGlsZCwgaHlwZXJwbGFuZXMsIG9mZnNldHMsIGNoaWxkcmVuLCBpbmRpY2VzLCBub2RlTnVtICsgMSwgbGVhZk51bSk7XG4gICAgICAgIG5vZGVOdW0gPSByZXMubm9kZU51bTtcbiAgICAgICAgbGVhZk51bSA9IHJlcy5sZWFmTnVtO1xuICAgICAgICBjaGlsZHJlbltvbGROb2RlTnVtXVsxXSA9IG5vZGVOdW0gKyAxO1xuICAgICAgICByZXMgPSByZWN1cnNpdmVGbGF0dGVuKHRyZWUucmlnaHRDaGlsZCwgaHlwZXJwbGFuZXMsIG9mZnNldHMsIGNoaWxkcmVuLCBpbmRpY2VzLCBub2RlTnVtICsgMSwgbGVhZk51bSk7XG4gICAgICAgIHJldHVybiB7IG5vZGVOdW06IHJlcy5ub2RlTnVtLCBsZWFmTnVtOiByZXMubGVhZk51bSB9O1xuICAgIH1cbn1cbmZ1bmN0aW9uIG51bU5vZGVzKHRyZWUpIHtcbiAgICBpZiAodHJlZS5pc0xlYWYpIHtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gMSArIG51bU5vZGVzKHRyZWUubGVmdENoaWxkKSArIG51bU5vZGVzKHRyZWUucmlnaHRDaGlsZCk7XG4gICAgfVxufVxuZnVuY3Rpb24gbnVtTGVhdmVzKHRyZWUpIHtcbiAgICBpZiAodHJlZS5pc0xlYWYpIHtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gbnVtTGVhdmVzKHRyZWUubGVmdENoaWxkKSArIG51bUxlYXZlcyh0cmVlLnJpZ2h0Q2hpbGQpO1xuICAgIH1cbn1cbi8qKlxuICogR2VuZXJhdGUgYW4gYXJyYXkgb2Ygc2V0cyBvZiBjYW5kaWRhdGUgbmVhcmVzdCBuZWlnaGJvcnMgYnlcbiAqIGNvbnN0cnVjdGluZyBhIHJhbmRvbSBwcm9qZWN0aW9uIGZvcmVzdCBhbmQgdGFraW5nIHRoZSBsZWF2ZXMgb2YgYWxsIHRoZVxuICogdHJlZXMuIEFueSBnaXZlbiB0cmVlIGhhcyBsZWF2ZXMgdGhhdCBhcmUgYSBzZXQgb2YgcG90ZW50aWFsIG5lYXJlc3RcbiAqIG5laWdoYm9ycy4gR2l2ZW4gZW5vdWdoIHRyZWVzIHRoZSBzZXQgb2YgYWxsIHN1Y2ggbGVhdmVzIGdpdmVzIGEgZ29vZFxuICogbGlrZWxpaG9vZCBvZiBnZXR0aW5nIGEgZ29vZCBzZXQgb2YgbmVhcmVzdCBuZWlnaGJvcnMgaW4gY29tcG9zaXRlLiBTaW5jZVxuICogc3VjaCBhIHJhbmRvbSBwcm9qZWN0aW9uIGZvcmVzdCBpcyBpbmV4cGVuc2l2ZSB0byBjb21wdXRlLCB0aGlzIGNhbiBiZSBhXG4gKiB1c2VmdWwgbWVhbnMgb2Ygc2VlZGluZyBvdGhlciBuZWFyZXN0IG5laWdoYm9yIGFsZ29yaXRobXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYWtlTGVhZkFycmF5KHJwRm9yZXN0KSB7XG4gICAgaWYgKHJwRm9yZXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3Qgb3V0cHV0ID0gW107XG4gICAgICAgIGZvciAobGV0IHRyZWUgb2YgcnBGb3Jlc3QpIHtcbiAgICAgICAgICAgIG91dHB1dC5wdXNoKC4uLnRyZWUuaW5kaWNlcyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG91dHB1dDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBbWy0xXV07XG4gICAgfVxufVxuLyoqXG4gKiBTZWxlY3RzIHRoZSBzaWRlIG9mIHRoZSB0cmVlIHRvIHNlYXJjaCBkdXJpbmcgZmxhdCB0cmVlIHNlYXJjaC5cbiAqL1xuZnVuY3Rpb24gc2VsZWN0U2lkZShoeXBlcnBsYW5lLCBvZmZzZXQsIHBvaW50LCByYW5kb20pIHtcbiAgICBsZXQgbWFyZ2luID0gb2Zmc2V0O1xuICAgIG1hcmdpbiArPSBoeXBlcnBsYW5lICogcG9pbnQ7XG4gICAgaWYgKG1hcmdpbiA9PT0gMCkge1xuICAgICAgICBjb25zdCBzaWRlID0gdXRpbHMudGF1UmFuZEludCgyLCByYW5kb20pO1xuICAgICAgICByZXR1cm4gc2lkZTtcbiAgICB9XG4gICAgZWxzZSBpZiAobWFyZ2luID4gMCkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbn1cbi8qKlxuICogU2VhcmNoZXMgYSBmbGF0dGVuZWQgcnAtdHJlZSBmb3IgYSBwb2ludC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlYXJjaEZsYXRUcmVlKHBvaW50LCB0cmVlLCByYW5kb20pIHtcbiAgICBsZXQgbm9kZSA9IDA7XG4gICAgd2hpbGUgKHRyZWUuY2hpbGRyZW5bbm9kZV1bMF0gPiAwKSB7XG4gICAgICAgIGNvbnN0IHNpZGUgPSBzZWxlY3RTaWRlKHRyZWUuaHlwZXJwbGFuZXNbbm9kZV0sIHRyZWUub2Zmc2V0c1tub2RlXSwgcG9pbnQsIHJhbmRvbSk7XG4gICAgICAgIGlmIChzaWRlID09PSAwKSB7XG4gICAgICAgICAgICBub2RlID0gdHJlZS5jaGlsZHJlbltub2RlXVswXTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIG5vZGUgPSB0cmVlLmNoaWxkcmVuW25vZGVdWzFdO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGluZGV4ID0gLTEgKiB0cmVlLmNoaWxkcmVuW25vZGVdWzBdO1xuICAgIHJldHVybiB0cmVlLmluZGljZXNbaW5kZXhdO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEhKbFpTNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSW5SeVpXVXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN096czdPenM3T3pzN096czdPenM3TzBkQmFVSkhPMEZCUlVnN096czdPMGRCUzBjN1FVRkZTRHM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3p0SFFTdENSenRCUVVWSUxFOUJRVThzUzBGQlN5eExRVUZMTEUxQlFVMHNVMEZCVXl4RFFVRkRPMEZCWldwRExFMUJRVTBzVDBGQlR5eFJRVUZSTzBsQlJWWTdTVUZEUVR0SlFVTkJPMGxCUTBFN1NVRktWQ3haUVVOVExGZEJRWEZDTEVWQlEzSkNMRTlCUVdsQ0xFVkJRMnBDTEZGQlFXOUNMRVZCUTNCQ0xFOUJRVzFDTzFGQlNHNUNMR2RDUVVGWExFZEJRVmdzVjBGQlZ5eERRVUZWTzFGQlEzSkNMRmxCUVU4c1IwRkJVQ3hQUVVGUExFTkJRVlU3VVVGRGFrSXNZVUZCVVN4SFFVRlNMRkZCUVZFc1EwRkJXVHRSUVVOd1FpeFpRVUZQTEVkQlFWQXNUMEZCVHl4RFFVRlpPMGxCUTNwQ0xFTkJRVU03UTBGRFREdEJRVVZFT3p0SFFVVkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxGVkJRVlVzUTBGRGVFSXNTVUZCV1N4RlFVTmFMRlZCUVd0Q0xFVkJRMnhDTEUxQlFXTXNSVUZEWkN4TlFVRm5RanRKUVVWb1FpeE5RVUZOTEZGQlFWRXNSMEZCUnl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUlVGQlJTeFZRVUZWTEVOQlFVTXNRMEZCUXp0SlFVVXhReXhOUVVGTkxFdEJRVXNzUjBGQlJ5eExRVUZMTzFOQlEyaENMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU03VTBGRFlpeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eFJRVUZSTEVOQlFVTXNTVUZCU1N4RlFVRkZMRkZCUVZFc1JVRkJSU3hEUVVGRExFVkJRVVVzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTjBSQ3hOUVVGTkxFMUJRVTBzUjBGQlJ5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhGUVVGRkxFTkJRVU1zVjBGQlZ5eERRVUZETEVsQlFVa3NSVUZCUlN4UlFVRlJMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJSVGxFTEU5QlFVOHNUVUZCVFN4RFFVRkRPMEZCUTJoQ0xFTkJRVU03UVVGRlJEczdPMGRCUjBjN1FVRkRTQ3hUUVVGVExGRkJRVkVzUTBGRFppeEpRVUZaTEVWQlExb3NVVUZCVVN4SFFVRkhMRVZCUVVVc1JVRkRZaXhEUVVGVExFVkJRMVFzVFVGQlowSTdTVUZGYUVJc1RVRkJUU3hQUVVGUExFZEJRVWNzUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03U1VGRGVrTXNUVUZCVFN4SlFVRkpMRWRCUVVjc2FVSkJRV2xDTEVOQlFVTXNTVUZCU1N4RlFVRkZMRTlCUVU4c1JVRkJSU3hSUVVGUkxFVkJRVVVzUTBGQlF5eEZRVUZGTEUxQlFVMHNRMEZCUXl4RFFVRkRPMGxCUTI1RkxFOUJRVThzU1VGQlNTeERRVUZETzBGQlEyUXNRMEZCUXp0QlFVVkVMRk5CUVZNc2FVSkJRV2xDTEVOQlEzaENMRWxCUVZrc1JVRkRXaXhQUVVGcFFpeEZRVU5xUWl4UlFVRlJMRWRCUVVjc1JVRkJSU3hGUVVOaUxFTkJRVk1zUlVGRFZDeE5RVUZuUWp0SlFVVm9RaXhKUVVGSkxFOUJRVThzUTBGQlF5eE5RVUZOTEVkQlFVY3NVVUZCVVN4RlFVRkZPMUZCUXpkQ0xFMUJRVTBzV1VGQldTeEhRVUZITERoQ1FVRTRRaXhEUVVGRExFbEJRVWtzUlVGQlJTeFBRVUZQTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1VVRkRNMFVzVFVGQlRTeEZRVUZGTEZkQlFWY3NSVUZCUlN4WlFVRlpMRVZCUVVVc1ZVRkJWU3hGUVVGRkxFMUJRVTBzUlVGQlJTeEhRVUZITEZsQlFWa3NRMEZCUXp0UlFVVjJSU3hOUVVGTkxGTkJRVk1zUjBGQlJ5eHBRa0ZCYVVJc1EwRkRha01zU1VGQlNTeEZRVU5LTEZkQlFWY3NSVUZEV0N4UlFVRlJMRVZCUTFJc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGRFRDeE5RVUZOTEVOQlExQXNRMEZCUXp0UlFVTkdMRTFCUVUwc1ZVRkJWU3hIUVVGSExHbENRVUZwUWl4RFFVTnNReXhKUVVGSkxFVkJRMG9zV1VGQldTeEZRVU5hTEZGQlFWRXNSVUZEVWl4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVOTUxFMUJRVTBzUTBGRFVDeERRVUZETzFGQlJVWXNUVUZCVFN4SlFVRkpMRWRCUVVjc1JVRkJSU3hUUVVGVExFVkJRVVVzVlVGQlZTeEZRVUZGTEUxQlFVMHNSVUZCUlN4TFFVRkxMRVZCUVVVc1ZVRkJWU3hGUVVGRkxFMUJRVTBzUlVGQlJTeERRVUZETzFGQlF6RkZMRTlCUVU4c1NVRkJTU3hEUVVGRE8wdEJRMkk3VTBGQlRUdFJRVU5NTEUxQlFVMHNTVUZCU1N4SFFVRkhMRVZCUVVVc1QwRkJUeXhGUVVGRkxFMUJRVTBzUlVGQlJTeEpRVUZKTEVWQlFVVXNRMEZCUXp0UlFVTjJReXhQUVVGUExFbEJRVWtzUTBGQlF6dExRVU5pTzBGQlEwZ3NRMEZCUXp0QlFVVkVPenM3T3pzN08wZEJUMGM3UVVGRFNDeFRRVUZUTERoQ1FVRTRRaXhEUVVOeVF5eEpRVUZaTEVWQlExb3NUMEZCYVVJc1JVRkRha0lzVFVGQlowSTdTVUZGYUVJc1RVRkJUU3hIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETzBsQlJXUXNORVJCUVRSRU8wbEJRelZFTEVsQlFVa3NVMEZCVXl4SFFVRkhMRXRCUVVzc1EwRkJReXhWUVVGVkxFTkJRVU1zVDBGQlR5eERRVUZETEUxQlFVMHNSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRKUVVONlJDeEpRVUZKTEZWQlFWVXNSMEZCUnl4TFFVRkxMRU5CUVVNc1ZVRkJWU3hEUVVGRExFOUJRVThzUTBGQlF5eE5RVUZOTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1NVRkRNVVFzVlVGQlZTeEpRVUZKTEZOQlFWTXNTMEZCU3l4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUXk5RExGVkJRVlVzUjBGQlJ5eFZRVUZWTEVkQlFVY3NUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJRenRKUVVONlF5eE5RVUZOTEVsQlFVa3NSMEZCUnl4UFFVRlBMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU03U1VGRGFFTXNUVUZCVFN4TFFVRkxMRWRCUVVjc1QwRkJUeXhEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETzBsQlJXeERMREJGUVVFd1JUdEpRVU14UlN4NVEwRkJlVU03U1VGRGVrTXNTVUZCU1N4blFrRkJaMElzUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZEZWtJc1NVRkJTU3huUWtGQlowSXNSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkhla0lzWjBKQlFXZENMRWRCUVVjc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRKUVVNMVF5eG5Ra0ZCWjBJN1VVRkRaQ3hEUVVGRExHZENRVUZuUWl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUjBGQlJ5eERRVUZETzBsQlIzaEVMR2xGUVVGcFJUdEpRVU5xUlN4MVJVRkJkVVU3U1VGRGRrVXNNa1ZCUVRKRk8wbEJRek5GTEVsQlFVa3NTMEZCU3l4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVOa0xFbEJRVWtzVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXp0SlFVTm1MRTFCUVUwc1NVRkJTU3hIUVVGSExFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8wbEJRM3BETEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xRkJRM1pETEVsQlFVa3NUVUZCVFN4SFFVRkhMR2RDUVVGblFpeERRVUZETzFGQlJUVkNMRTFCUVUwc1NVRkJTU3huUWtGQlowSXNSMEZCUnl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVVUZGYUVRc1NVRkJTU3hOUVVGTkxFdEJRVXNzUTBGQlF5eEZRVUZGTzFsQlEyaENMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eExRVUZMTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hOUVVGTkxFTkJRVU1zUTBGQlF6dFpRVU4wUXl4SlFVRkpMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEVWQlFVVTdaMEpCUTJwQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVOQlFVTTdZVUZEV2p0cFFrRkJUVHRuUWtGRFRDeE5RVUZOTEVsQlFVa3NRMEZCUXl4RFFVRkRPMkZCUTJJN1UwRkRSanRoUVVGTkxFbEJRVWtzVFVGQlRTeEhRVUZITEVOQlFVTXNSVUZCUlR0WlFVTnlRaXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMWxCUTFvc1MwRkJTeXhKUVVGSkxFTkJRVU1zUTBGQlF6dFRRVU5hTzJGQlFVMDdXVUZEVEN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFsQlExb3NUVUZCVFN4SlFVRkpMRU5CUVVNc1EwRkJRenRUUVVOaU8wdEJRMFk3U1VGRlJDd3JRMEZCSzBNN1NVRkRMME1zVFVGQlRTeFhRVUZYTEVkQlFVY3NTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dEpRVU4yUXl4TlFVRk5MRmxCUVZrc1IwRkJSeXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMGxCUlhwRExIZEZRVUYzUlR0SlFVTjRSU3hMUVVGTExFZEJRVWNzUTBGQlF5eERRVUZETzBsQlExWXNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVOWUxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMUZCUTNCRExFbEJRVWtzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1JVRkJSVHRaUVVOcVFpeFhRVUZYTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlEyaERMRXRCUVVzc1NVRkJTU3hEUVVGRExFTkJRVU03VTBGRFdqdGhRVUZOTzFsQlEwd3NXVUZCV1N4RFFVRkRMRTFCUVUwc1EwRkJReXhIUVVGSExFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTnNReXhOUVVGTkxFbEJRVWtzUTBGQlF5eERRVUZETzFOQlEySTdTMEZEUmp0SlFVVkVMRTlCUVU4N1VVRkRUQ3hYUVVGWE8xRkJRMWdzV1VGQldUdFJRVU5hTEZWQlFWVXNSVUZCUlN4blFrRkJaMEk3VVVGRE5VSXNUVUZCVFN4RlFVRkZMR2RDUVVGblFqdExRVU42UWl4RFFVRkRPMEZCUTBvc1EwRkJRenRCUVVWRUxGTkJRVk1zVjBGQlZ5eERRVUZETEVsQlFUaENMRVZCUVVVc1VVRkJaMEk3U1VGRGJrVXNUVUZCVFN4TlFVRk5MRWRCUVVjc1VVRkJVU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzBsQlF6bENMRTFCUVUwc1QwRkJUeXhIUVVGSExGTkJRVk1zUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0SlFVVm9ReXh0UkVGQmJVUTdTVUZEYmtRc1RVRkJUU3hYUVVGWExFZEJRVWNzUzBGQlN6dFRRVU4wUWl4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVGRE8xTkJRMklzUjBGQlJ5eERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRmRFTXNUVUZCVFN4UFFVRlBMRWRCUVVjc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0SlFVTndReXhOUVVGTkxGRkJRVkVzUjBGQlJ5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTjZSQ3hOUVVGTkxFOUJRVThzUjBGQlJ5eExRVUZMTzFOQlEyeENMRXRCUVVzc1EwRkJReXhQUVVGUExFTkJRVU03VTBGRFpDeEhRVUZITEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTJ4RUxHZENRVUZuUWl4RFFVRkRMRWxCUVVrc1JVRkJSU3hYUVVGWExFVkJRVVVzVDBGQlR5eEZRVUZGTEZGQlFWRXNSVUZCUlN4UFFVRlBMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETzBsQlEzUkZMRTlCUVU4c1NVRkJTU3hSUVVGUkxFTkJRVU1zVjBGQlZ5eEZRVUZGTEU5QlFVOHNSVUZCUlN4UlFVRlJMRVZCUVVVc1QwRkJUeXhEUVVGRExFTkJRVU03UVVGREwwUXNRMEZCUXp0QlFVVkVMRk5CUVZNc1owSkJRV2RDTEVOQlEzWkNMRWxCUVRoQ0xFVkJRemxDTEZkQlFYRkNMRVZCUTNKQ0xFOUJRV2xDTEVWQlEycENMRkZCUVc5Q0xFVkJRM0JDTEU5QlFXMUNMRVZCUTI1Q0xFOUJRV1VzUlVGRFppeFBRVUZsTzBsQlJXWXNTVUZCU1N4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVGRk8xRkJRMllzVVVGQlVTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETzFGQlJXaERMRzFFUVVGdFJEdFJRVU51UkN3d1JFRkJNRVE3VVVGRE1VUXNUMEZCVHl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMRTlCUVZFc1EwRkJReXhOUVVGTkxFVkJRVVVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUMEZCVVN4RFFVRkRMRU5CUVVNN1VVRkRia1VzVDBGQlR5eEpRVUZKTEVOQlFVTXNRMEZCUXp0UlFVTmlMRTlCUVU4c1JVRkJSU3hQUVVGUExFVkJRVVVzVDBGQlR5eEZRVUZGTEVOQlFVTTdTMEZETjBJN1UwRkJUVHRSUVVOTUxGZEJRVmNzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1ZVRkJWeXhEUVVGRE8xRkJRM2hETEU5QlFVOHNRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlR5eERRVUZETzFGQlEyaERMRkZCUVZFc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4UFFVRlBMRWRCUVVjc1EwRkJReXhEUVVGRE8xRkJRMjVETEUxQlFVMHNWVUZCVlN4SFFVRkhMRTlCUVU4c1EwRkJRenRSUVVVelFpeEpRVUZKTEVkQlFVY3NSMEZCUnl4blFrRkJaMElzUTBGRGVFSXNTVUZCU1N4RFFVRkRMRk5CUVZVc1JVRkRaaXhYUVVGWExFVkJRMWdzVDBGQlR5eEZRVU5RTEZGQlFWRXNSVUZEVWl4UFFVRlBMRVZCUTFBc1QwRkJUeXhIUVVGSExFTkJRVU1zUlVGRFdDeFBRVUZQTEVOQlExSXNRMEZCUXp0UlFVTkdMRTlCUVU4c1IwRkJSeXhIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETzFGQlEzUkNMRTlCUVU4c1IwRkJSeXhIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETzFGQlJYUkNMRkZCUVZFc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4UFFVRlBMRWRCUVVjc1EwRkJReXhEUVVGRE8xRkJSWFJETEVkQlFVY3NSMEZCUnl4blFrRkJaMElzUTBGRGNFSXNTVUZCU1N4RFFVRkRMRlZCUVZjc1JVRkRhRUlzVjBGQlZ5eEZRVU5ZTEU5QlFVOHNSVUZEVUN4UlFVRlJMRVZCUTFJc1QwRkJUeXhGUVVOUUxFOUJRVThzUjBGQlJ5eERRVUZETEVWQlExZ3NUMEZCVHl4RFFVTlNMRU5CUVVNN1VVRkRSaXhQUVVGUExFVkJRVVVzVDBGQlR5eEZRVUZGTEVkQlFVY3NRMEZCUXl4UFFVRlBMRVZCUVVVc1QwRkJUeXhGUVVGRkxFZEJRVWNzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXp0TFFVTjJSRHRCUVVOSUxFTkJRVU03UVVGRlJDeFRRVUZUTEZGQlFWRXNRMEZCUXl4SlFVRTRRanRKUVVNNVF5eEpRVUZKTEVsQlFVa3NRMEZCUXl4TlFVRk5MRVZCUVVVN1VVRkRaaXhQUVVGUExFTkJRVU1zUTBGQlF6dExRVU5XTzFOQlFVMDdVVUZEVEN4UFFVRlBMRU5CUVVNc1IwRkJSeXhSUVVGUkxFTkJRVU1zU1VGQlNTeERRVUZETEZOQlFWVXNRMEZCUXl4SFFVRkhMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU1zVlVGQlZ5eERRVUZETEVOQlFVTTdTMEZEYmtVN1FVRkRTQ3hEUVVGRE8wRkJSVVFzVTBGQlV5eFRRVUZUTEVOQlFVTXNTVUZCT0VJN1NVRkRMME1zU1VGQlNTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RlFVRkZPMUZCUTJZc1QwRkJUeXhEUVVGRExFTkJRVU03UzBGRFZqdFRRVUZOTzFGQlEwd3NUMEZCVHl4VFFVRlRMRU5CUVVNc1NVRkJTU3hEUVVGRExGTkJRVlVzUTBGQlF5eEhRVUZITEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1ZVRkJWeXhEUVVGRExFTkJRVU03UzBGRGFrVTdRVUZEU0N4RFFVRkRPMEZCUlVRN096czdPenM3TzBkQlVVYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1lVRkJZU3hEUVVGRExGRkJRVzlDTzBsQlEyaEVMRWxCUVVrc1VVRkJVU3hEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETEVWQlFVVTdVVUZEZGtJc1RVRkJUU3hOUVVGTkxFZEJRV1VzUlVGQlJTeERRVUZETzFGQlF6bENMRXRCUVVzc1NVRkJTU3hKUVVGSkxFbEJRVWtzVVVGQlVTeEZRVUZGTzFsQlEzcENMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNUMEZCVVN4RFFVRkRMRU5CUVVNN1UwRkRMMEk3VVVGRFJDeFBRVUZQTEUxQlFVMHNRMEZCUXp0TFFVTm1PMU5CUVUwN1VVRkRUQ3hQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1MwRkRaanRCUVVOSUxFTkJRVU03UVVGRlJEczdSMEZGUnp0QlFVTklMRk5CUVZNc1ZVRkJWU3hEUVVOcVFpeFZRVUZyUWl4RlFVTnNRaXhOUVVGakxFVkJRMlFzUzBGQllTeEZRVU5pTEUxQlFXZENPMGxCUldoQ0xFbEJRVWtzVFVGQlRTeEhRVUZITEUxQlFVMHNRMEZCUXp0SlFVVnNRaXhOUVVGTkxFbEJRVWtzVlVGQlZTeEhRVUZITEV0QlFVc3NRMEZCUXp0SlFVY3ZRaXhKUVVGSkxFMUJRVTBzUzBGQlN5eERRVUZETEVWQlFVVTdVVUZEYUVJc1RVRkJUU3hKUVVGSkxFZEJRVWNzUzBGQlN5eERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03VVVGRGVrTXNUMEZCVHl4SlFVRkpMRU5CUVVNN1MwRkRZanRUUVVGTkxFbEJRVWtzVFVGQlRTeEhRVUZITEVOQlFVTXNSVUZCUlR0UlFVTnlRaXhQUVVGUExFTkJRVU1zUTBGQlF6dExRVU5XTzFOQlFVMDdVVUZEVEN4UFFVRlBMRU5CUVVNc1EwRkJRenRMUVVOV08wRkJRMGdzUTBGQlF6dEJRVVZFT3p0SFFVVkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxHTkJRV01zUTBGRE5VSXNTMEZCWVN4RlFVTmlMRWxCUVdNc1JVRkRaQ3hOUVVGblFqdEpRVVZvUWl4SlFVRkpMRWxCUVVrc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRFlpeFBRVUZQTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZPMUZCUTJwRExFMUJRVTBzU1VGQlNTeEhRVUZITEZWQlFWVXNRMEZEY2tJc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZEZEVJc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZEYkVJc1MwRkJTeXhGUVVOTUxFMUJRVTBzUTBGRFVDeERRVUZETzFGQlEwWXNTVUZCU1N4SlFVRkpMRXRCUVVzc1EwRkJReXhGUVVGRk8xbEJRMlFzU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVMEZETDBJN1lVRkJUVHRaUVVOTUxFbEJRVWtzUjBGQlJ5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFOQlF5OUNPMHRCUTBZN1NVRkZSQ3hOUVVGTkxFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUXpGRExFOUJRVThzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRCUVVNM1FpeERRVUZESWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5b3FYRzRnS2lCQWJHbGpaVzV6WlZ4dUlDcGNiaUFxSUVOdmNIbHlhV2RvZENBeU1ERTVJRWR2YjJkc1pTQk1URU11SUVGc2JDQlNhV2RvZEhNZ1VtVnpaWEoyWldRdVhHNGdLbHh1SUNvZ1RHbGpaVzV6WldRZ2RXNWtaWElnZEdobElFRndZV05vWlNCTWFXTmxibk5sTENCV1pYSnphVzl1SURJdU1DQW9kR2hsSUZ3aVRHbGpaVzV6WlZ3aUtUdGNiaUFxSUhsdmRTQnRZWGtnYm05MElIVnpaU0IwYUdseklHWnBiR1VnWlhoalpYQjBJR2x1SUdOdmJYQnNhV0Z1WTJVZ2QybDBhQ0IwYUdVZ1RHbGpaVzV6WlM1Y2JpQXFJRmx2ZFNCdFlYa2diMkowWVdsdUlHRWdZMjl3ZVNCdlppQjBhR1VnVEdsalpXNXpaU0JoZEZ4dUlDcGNiaUFxSUNBZ0lDQm9kSFJ3T2k4dmQzZDNMbUZ3WVdOb1pTNXZjbWN2YkdsalpXNXpaWE12VEVsRFJVNVRSUzB5TGpCY2JpQXFYRzRnS2lCVmJteGxjM01nY21WeGRXbHlaV1FnWW5rZ1lYQndiR2xqWVdKc1pTQnNZWGNnYjNJZ1lXZHlaV1ZrSUhSdklHbHVJSGR5YVhScGJtY3NJSE52Wm5SM1lYSmxYRzRnS2lCa2FYTjBjbWxpZFhSbFpDQjFibVJsY2lCMGFHVWdUR2xqWlc1elpTQnBjeUJrYVhOMGNtbGlkWFJsWkNCdmJpQmhiaUJjSWtGVElFbFRYQ0lnUWtGVFNWTXNYRzRnS2lCWFNWUklUMVZVSUZkQlVsSkJUbFJKUlZNZ1QxSWdRMDlPUkVsVVNVOU9VeUJQUmlCQlRsa2dTMGxPUkN3Z1pXbDBhR1Z5SUdWNGNISmxjM01nYjNJZ2FXMXdiR2xsWkM1Y2JpQXFJRk5sWlNCMGFHVWdUR2xqWlc1elpTQm1iM0lnZEdobElITndaV05wWm1saklHeGhibWQxWVdkbElHZHZkbVZ5Ym1sdVp5QndaWEp0YVhOemFXOXVjeUJoYm1SY2JpQXFJR3hwYldsMFlYUnBiMjV6SUhWdVpHVnlJSFJvWlNCTWFXTmxibk5sTGx4dUlDb2dQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVhHNGdLaTljYmx4dUx5b3FYRzRnS2lCVWFHbHpJR2x6SUdFZ1NtRjJZVk5qY21sd2RDQnlaV2x0Y0d4bGJXVnVkR0YwYVc5dUlHOW1JRlZOUVZBZ0tHOXlhV2RwYm1Gc0lHeHBZMlZ1YzJVZ1ltVnNiM2NwTENCbWNtOXRYRzRnS2lCMGFHVWdjSGwwYUc5dUlHbHRjR3hsYldWdWRHRjBhVzl1SUdadmRXNWtJR0YwSUdoMGRIQnpPaTh2WjJsMGFIVmlMbU52YlM5c2JXTnBibTVsY3k5MWJXRndMbHh1SUNwY2JpQXFJRUJoZFhSb2IzSWdZVzVrZVdOdlpXNWxia0JuYjI5bmJHVXVZMjl0SUNoQmJtUjVJRU52Wlc1bGJpbGNiaUFxTDF4dVhHNHZLaXBjYmlBcUlFQnNhV05sYm5ObFhHNGdLaUJDVTBRZ015MURiR0YxYzJVZ1RHbGpaVzV6WlZ4dUlDcGNiaUFxSUVOdmNIbHlhV2RvZENBb1l5a2dNakF4Tnl3Z1RHVnNZVzVrSUUxalNXNXVaWE5jYmlBcUlFRnNiQ0J5YVdkb2RITWdjbVZ6WlhKMlpXUXVYRzRnS2x4dUlDb2dVbVZrYVhOMGNtbGlkWFJwYjI0Z1lXNWtJSFZ6WlNCcGJpQnpiM1Z5WTJVZ1lXNWtJR0pwYm1GeWVTQm1iM0p0Y3l3Z2QybDBhQ0J2Y2lCM2FYUm9iM1YwWEc0Z0tpQnRiMlJwWm1sallYUnBiMjRzSUdGeVpTQndaWEp0YVhSMFpXUWdjSEp2ZG1sa1pXUWdkR2hoZENCMGFHVWdabTlzYkc5M2FXNW5JR052Ym1ScGRHbHZibk1nWVhKbElHMWxkRHBjYmlBcVhHNGdLaUFxSUZKbFpHbHpkSEpwWW5WMGFXOXVjeUJ2WmlCemIzVnlZMlVnWTI5a1pTQnRkWE4wSUhKbGRHRnBiaUIwYUdVZ1lXSnZkbVVnWTI5d2VYSnBaMmgwSUc1dmRHbGpaU3dnZEdocGMxeHVJQ29nSUNCc2FYTjBJRzltSUdOdmJtUnBkR2x2Ym5NZ1lXNWtJSFJvWlNCbWIyeHNiM2RwYm1jZ1pHbHpZMnhoYVcxbGNpNWNiaUFxWEc0Z0tpQXFJRkpsWkdsemRISnBZblYwYVc5dWN5QnBiaUJpYVc1aGNua2dabTl5YlNCdGRYTjBJSEpsY0hKdlpIVmpaU0IwYUdVZ1lXSnZkbVVnWTI5d2VYSnBaMmgwSUc1dmRHbGpaU3hjYmlBcUlDQWdkR2hwY3lCc2FYTjBJRzltSUdOdmJtUnBkR2x2Ym5NZ1lXNWtJSFJvWlNCbWIyeHNiM2RwYm1jZ1pHbHpZMnhoYVcxbGNpQnBiaUIwYUdVZ1pHOWpkVzFsYm5SaGRHbHZibHh1SUNvZ0lDQmhibVF2YjNJZ2IzUm9aWElnYldGMFpYSnBZV3h6SUhCeWIzWnBaR1ZrSUhkcGRHZ2dkR2hsSUdScGMzUnlhV0oxZEdsdmJpNWNiaUFxWEc0Z0tpQXFJRTVsYVhSb1pYSWdkR2hsSUc1aGJXVWdiMllnZEdobElHTnZjSGx5YVdkb2RDQm9iMnhrWlhJZ2JtOXlJSFJvWlNCdVlXMWxjeUJ2WmlCcGRITmNiaUFxSUNBZ1kyOXVkSEpwWW5WMGIzSnpJRzFoZVNCaVpTQjFjMlZrSUhSdklHVnVaRzl5YzJVZ2IzSWdjSEp2Ylc5MFpTQndjbTlrZFdOMGN5QmtaWEpwZG1Wa0lHWnliMjFjYmlBcUlDQWdkR2hwY3lCemIyWjBkMkZ5WlNCM2FYUm9iM1YwSUhOd1pXTnBabWxqSUhCeWFXOXlJSGR5YVhSMFpXNGdjR1Z5YldsemMybHZiaTVjYmlBcVhHNGdLaUJVU0VsVElGTlBSbFJYUVZKRklFbFRJRkJTVDFaSlJFVkVJRUpaSUZSSVJTQkRUMUJaVWtsSFNGUWdTRTlNUkVWU1V5QkJUa1FnUTA5T1ZGSkpRbFZVVDFKVElGd2lRVk1nU1ZOY0lseHVJQ29nUVU1RUlFRk9XU0JGV0ZCU1JWTlRJRTlTSUVsTlVFeEpSVVFnVjBGU1VrRk9WRWxGVXl3Z1NVNURURlZFU1U1SExDQkNWVlFnVGs5VUlFeEpUVWxVUlVRZ1ZFOHNJRlJJUlZ4dUlDb2dTVTFRVEVsRlJDQlhRVkpTUVU1VVNVVlRJRTlHSUUxRlVrTklRVTVVUVVKSlRFbFVXU0JCVGtRZ1JrbFVUa1ZUVXlCR1QxSWdRU0JRUVZKVVNVTlZURUZTSUZCVlVsQlBVMFVnUVZKRlhHNGdLaUJFU1ZORFRFRkpUVVZFTGlCSlRpQk9UeUJGVmtWT1ZDQlRTRUZNVENCVVNFVWdRMDlRV1ZKSlIwaFVJRWhQVEVSRlVpQlBVaUJEVDA1VVVrbENWVlJQVWxNZ1FrVWdURWxCUWt4RlhHNGdLaUJHVDFJZ1FVNVpJRVJKVWtWRFZDd2dTVTVFU1ZKRlExUXNJRWxPUTBsRVJVNVVRVXdzSUZOUVJVTkpRVXdzSUVWWVJVMVFURUZTV1N3Z1QxSWdRMDlPVTBWUlZVVk9WRWxCVEZ4dUlDb2dSRUZOUVVkRlV5QW9TVTVEVEZWRVNVNUhMQ0JDVlZRZ1RrOVVJRXhKVFVsVVJVUWdWRThzSUZCU1QwTlZVa1ZOUlU1VUlFOUdJRk5WUWxOVVNWUlZWRVVnUjA5UFJGTWdUMUpjYmlBcUlGTkZVbFpKUTBWVE95Qk1UMU5USUU5R0lGVlRSU3dnUkVGVVFTd2dUMUlnVUZKUFJrbFVVenNnVDFJZ1FsVlRTVTVGVTFNZ1NVNVVSVkpTVlZCVVNVOU9LU0JJVDFkRlZrVlNYRzRnS2lCRFFWVlRSVVFnUVU1RUlFOU9JRUZPV1NCVVNFVlBVbGtnVDBZZ1RFbEJRa2xNU1ZSWkxDQlhTRVZVU0VWU0lFbE9JRU5QVGxSU1FVTlVMQ0JUVkZKSlExUWdURWxCUWtsTVNWUlpMRnh1SUNvZ1QxSWdWRTlTVkNBb1NVNURURlZFU1U1SElFNUZSMHhKUjBWT1EwVWdUMUlnVDFSSVJWSlhTVk5GS1NCQlVrbFRTVTVISUVsT0lFRk9XU0JYUVZrZ1QxVlVJRTlHSUZSSVJTQlZVMFZjYmlBcUlFOUdJRlJJU1ZNZ1UwOUdWRmRCVWtVc0lFVldSVTRnU1VZZ1FVUldTVk5GUkNCUFJpQlVTRVVnVUU5VFUwbENTVXhKVkZrZ1QwWWdVMVZEU0NCRVFVMUJSMFV1WEc0Z0tpOWNibHh1YVcxd2IzSjBJQ29nWVhNZ2RYUnBiSE1nWm5KdmJTQW5MaTkxZEdsc2N5YzdYRzVwYlhCdmNuUWdleUJTWVc1a2IyMUdiaXdnVm1WamRHOXlMQ0JXWldOMGIzSnpJSDBnWm5KdmJTQW5MaTkxYldGd0p6dGNibHh1THlvcVhHNGdLaUJVY21WbElHWjFibU4wYVc5dVlXeHBkSGtnWm05eUlHRndjSEp2ZUdsdFlYUnBibWNnYm1WaGNtVnpkQ0J1WldsbmFHSnZjbk5jYmlBcUwxeHVhVzUwWlhKbVlXTmxJRkpoYm1SdmJWQnliMnBsWTNScGIyNVVjbVZsVG05a1pTQjdYRzRnSUdselRHVmhaam9nWW05dmJHVmhianRjYmlBZ2FXNWthV05sY3o4NklHNTFiV0psY2x0ZE8xeHVJQ0JzWldaMFEyaHBiR1EvT2lCU1lXNWtiMjFRY205cVpXTjBhVzl1VkhKbFpVNXZaR1U3WEc0Z0lISnBaMmgwUTJocGJHUS9PaUJTWVc1a2IyMVFjbTlxWldOMGFXOXVWSEpsWlU1dlpHVTdYRzRnSUdoNWNHVnljR3hoYm1VL09pQnVkVzFpWlhJN1hHNGdJRzltWm5ObGREODZJRzUxYldKbGNqdGNibjFjYmx4dVpYaHdiM0owSUdOc1lYTnpJRVpzWVhSVWNtVmxJSHRjYmlBZ1kyOXVjM1J5ZFdOMGIzSW9YRzRnSUNBZ2NIVmliR2xqSUdoNWNHVnljR3hoYm1Wek9pQnVkVzFpWlhKYlhTeGNiaUFnSUNCd2RXSnNhV01nYjJabWMyVjBjem9nYm5WdFltVnlXMTBzWEc0Z0lDQWdjSFZpYkdsaklHTm9hV3hrY21WdU9pQnVkVzFpWlhKYlhWdGRMRnh1SUNBZ0lIQjFZbXhwWXlCcGJtUnBZMlZ6T2lCdWRXMWlaWEpiWFZ0ZFhHNGdJQ2tnZTMxY2JuMWNibHh1THlvcVhHNGdLaUJDZFdsc1pDQmhJSEpoYm1SdmJTQndjbTlxWldOMGFXOXVJR1p2Y21WemRDQjNhWFJvSUdCZ2JsUnlaV1Z6WUdBdVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ0WVd0bFJtOXlaWE4wS0Z4dUlDQmtZWFJoT2lCV1pXTjBiM0lzWEc0Z0lHNU9aV2xuYUdKdmNuTTZJRzUxYldKbGNpeGNiaUFnYmxSeVpXVnpPaUJ1ZFcxaVpYSXNYRzRnSUhKaGJtUnZiVG9nVW1GdVpHOXRSbTVjYmlrZ2UxeHVJQ0JqYjI1emRDQnNaV0ZtVTJsNlpTQTlJRTFoZEdndWJXRjRLREV3TENCdVRtVnBaMmhpYjNKektUdGNibHh1SUNCamIyNXpkQ0IwY21WbGN5QTlJSFYwYVd4elhHNGdJQ0FnTG5KaGJtZGxLRzVVY21WbGN5bGNiaUFnSUNBdWJXRndLQ2hmTENCcEtTQTlQaUJ0WVd0bFZISmxaU2hrWVhSaExDQnNaV0ZtVTJsNlpTd2dhU3dnY21GdVpHOXRLU2s3WEc0Z0lHTnZibk4wSUdadmNtVnpkQ0E5SUhSeVpXVnpMbTFoY0NoMGNtVmxJRDArSUdac1lYUjBaVzVVY21WbEtIUnlaV1VzSUd4bFlXWlRhWHBsS1NrN1hHNWNiaUFnY21WMGRYSnVJR1p2Y21WemREdGNibjFjYmx4dUx5b3FYRzRnS2lCRGIyNXpkSEoxWTNRZ1lTQnlZVzVrYjIwZ2NISnZhbVZqZEdsdmJpQjBjbVZsSUdKaGMyVmtJRzl1SUdCZ1pHRjBZV0JnSUhkcGRHZ2diR1ZoZG1WelhHNGdLaUJ2WmlCemFYcGxJR0YwSUcxdmMzUWdZR0JzWldGbVUybDZaV0JnWEc0Z0tpOWNibVoxYm1OMGFXOXVJRzFoYTJWVWNtVmxLRnh1SUNCa1lYUmhPaUJXWldOMGIzSXNYRzRnSUd4bFlXWlRhWHBsSUQwZ016QXNYRzRnSUc0NklHNTFiV0psY2l4Y2JpQWdjbUZ1Wkc5dE9pQlNZVzVrYjIxR2JseHVLVG9nVW1GdVpHOXRVSEp2YW1WamRHbHZibFJ5WldWT2IyUmxJSHRjYmlBZ1kyOXVjM1FnYVc1a2FXTmxjeUE5SUhWMGFXeHpMbkpoYm1kbEtHUmhkR0V1YkdWdVozUm9LVHRjYmlBZ1kyOXVjM1FnZEhKbFpTQTlJRzFoYTJWRmRXTnNhV1JsWVc1VWNtVmxLR1JoZEdFc0lHbHVaR2xqWlhNc0lHeGxZV1pUYVhwbExDQnVMQ0J5WVc1a2IyMHBPMXh1SUNCeVpYUjFjbTRnZEhKbFpUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2JXRnJaVVYxWTJ4cFpHVmhibFJ5WldVb1hHNGdJR1JoZEdFNklGWmxZM1J2Y2l4Y2JpQWdhVzVrYVdObGN6b2diblZ0WW1WeVcxMHNYRzRnSUd4bFlXWlRhWHBsSUQwZ016QXNYRzRnSUhFNklHNTFiV0psY2l4Y2JpQWdjbUZ1Wkc5dE9pQlNZVzVrYjIxR2JseHVLVG9nVW1GdVpHOXRVSEp2YW1WamRHbHZibFJ5WldWT2IyUmxJSHRjYmlBZ2FXWWdLR2x1WkdsalpYTXViR1Z1WjNSb0lENGdiR1ZoWmxOcGVtVXBJSHRjYmlBZ0lDQmpiMjV6ZENCemNHeHBkRkpsYzNWc2RITWdQU0JsZFdOc2FXUmxZVzVTWVc1a2IyMVFjbTlxWldOMGFXOXVVM0JzYVhRb1pHRjBZU3dnYVc1a2FXTmxjeXdnY21GdVpHOXRLVHRjYmlBZ0lDQmpiMjV6ZENCN0lHbHVaR2xqWlhOTVpXWjBMQ0JwYm1ScFkyVnpVbWxuYUhRc0lHaDVjR1Z5Y0d4aGJtVXNJRzltWm5ObGRDQjlJRDBnYzNCc2FYUlNaWE4xYkhSek8xeHVYRzRnSUNBZ1kyOXVjM1FnYkdWbWRFTm9hV3hrSUQwZ2JXRnJaVVYxWTJ4cFpHVmhibFJ5WldVb1hHNGdJQ0FnSUNCa1lYUmhMRnh1SUNBZ0lDQWdhVzVrYVdObGMweGxablFzWEc0Z0lDQWdJQ0JzWldGbVUybDZaU3hjYmlBZ0lDQWdJSEVnS3lBeExGeHVJQ0FnSUNBZ2NtRnVaRzl0WEc0Z0lDQWdLVHRjYmlBZ0lDQmpiMjV6ZENCeWFXZG9kRU5vYVd4a0lEMGdiV0ZyWlVWMVkyeHBaR1ZoYmxSeVpXVW9YRzRnSUNBZ0lDQmtZWFJoTEZ4dUlDQWdJQ0FnYVc1a2FXTmxjMUpwWjJoMExGeHVJQ0FnSUNBZ2JHVmhabE5wZW1Vc1hHNGdJQ0FnSUNCeElDc2dNU3hjYmlBZ0lDQWdJSEpoYm1SdmJWeHVJQ0FnSUNrN1hHNWNiaUFnSUNCamIyNXpkQ0J1YjJSbElEMGdleUJzWldaMFEyaHBiR1FzSUhKcFoyaDBRMmhwYkdRc0lHbHpUR1ZoWmpvZ1ptRnNjMlVzSUdoNWNHVnljR3hoYm1Vc0lHOW1abk5sZENCOU8xeHVJQ0FnSUhKbGRIVnliaUJ1YjJSbE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHTnZibk4wSUc1dlpHVWdQU0I3SUdsdVpHbGpaWE1zSUdselRHVmhaam9nZEhKMVpTQjlPMXh1SUNBZ0lISmxkSFZ5YmlCdWIyUmxPMXh1SUNCOVhHNTlYRzVjYmk4cUtseHVJQ29nUjJsMlpXNGdZU0J6WlhRZ2IyWWdZR0JwYm1ScFkyVnpZR0FnWm05eUlHUmhkR0VnY0c5cGJuUnpJR1p5YjIwZ1lHQmtZWFJoWUdBc0lHTnlaV0YwWlZ4dUlDb2dZU0J5WVc1a2IyMGdhSGx3WlhKd2JHRnVaU0IwYnlCemNHeHBkQ0IwYUdVZ1pHRjBZU3dnY21WMGRYSnVhVzVuSUhSM2J5QmhjbkpoZVhNZ2FXNWthV05sYzF4dUlDb2dkR2hoZENCbVlXeHNJRzl1SUdWcGRHaGxjaUJ6YVdSbElHOW1JSFJvWlNCb2VYQmxjbkJzWVc1bExpQlVhR2x6SUdseklIUm9aU0JpWVhOcGN5Qm1iM0lnWVZ4dUlDb2djbUZ1Wkc5dElIQnliMnBsWTNScGIyNGdkSEpsWlN3Z2QyaHBZMmdnYzJsdGNHeDVJSFZ6WlhNZ2RHaHBjeUJ6Y0d4cGRIUnBibWNnY21WamRYSnphWFpsYkhrdVhHNGdLaUJVYUdseklIQmhjblJwWTNWc1lYSWdjM0JzYVhRZ2RYTmxjeUJsZFdOc2FXUmxZVzRnWkdsemRHRnVZMlVnZEc4Z1pHVjBaWEp0YVc1bElIUm9aU0JvZVhCbGNuQnNZVzVsWEc0Z0tpQmhibVFnZDJocFkyZ2djMmxrWlNCbFlXTm9JR1JoZEdFZ2MyRnRjR3hsSUdaaGJHeHpJRzl1TGx4dUlDb3ZYRzVtZFc1amRHbHZiaUJsZFdOc2FXUmxZVzVTWVc1a2IyMVFjbTlxWldOMGFXOXVVM0JzYVhRb1hHNGdJR1JoZEdFNklGWmxZM1J2Y2l4Y2JpQWdhVzVrYVdObGN6b2diblZ0WW1WeVcxMHNYRzRnSUhKaGJtUnZiVG9nVW1GdVpHOXRSbTVjYmlrZ2UxeHVJQ0JqYjI1emRDQmthVzBnUFNBeE8xeHVYRzRnSUM4dklGTmxiR1ZqZENCMGQyOGdjbUZ1Wkc5dElIQnZhVzUwY3l3Z2MyVjBJSFJvWlNCb2VYQmxjbkJzWVc1bElHSmxkSGRsWlc0Z2RHaGxiVnh1SUNCc1pYUWdiR1ZtZEVsdVpHVjRJRDBnZFhScGJITXVkR0YxVW1GdVpFbHVkQ2hwYm1ScFkyVnpMbXhsYm1kMGFDd2djbUZ1Wkc5dEtUdGNiaUFnYkdWMElISnBaMmgwU1c1a1pYZ2dQU0IxZEdsc2N5NTBZWFZTWVc1a1NXNTBLR2x1WkdsalpYTXViR1Z1WjNSb0xDQnlZVzVrYjIwcE8xeHVJQ0J5YVdkb2RFbHVaR1Y0SUNzOUlHeGxablJKYm1SbGVDQTlQVDBnY21sbmFIUkpibVJsZUNBL0lERWdPaUF3TzF4dUlDQnlhV2RvZEVsdVpHVjRJRDBnY21sbmFIUkpibVJsZUNBbElHbHVaR2xqWlhNdWJHVnVaM1JvTzF4dUlDQmpiMjV6ZENCc1pXWjBJRDBnYVc1a2FXTmxjMXRzWldaMFNXNWtaWGhkTzF4dUlDQmpiMjV6ZENCeWFXZG9kQ0E5SUdsdVpHbGpaWE5iY21sbmFIUkpibVJsZUYwN1hHNWNiaUFnTHk4Z1EyOXRjSFYwWlNCMGFHVWdibTl5YldGc0lIWmxZM1J2Y2lCMGJ5QjBhR1VnYUhsd1pYSndiR0Z1WlNBb2RHaGxJSFpsWTNSdmNpQmlaWFIzWldWdUlIUm9aU0IwZDI5Y2JpQWdMeThnY0c5cGJuUnpLU0JoYm1RZ2RHaGxJRzltWm5ObGRDQm1jbTl0SUhSb1pTQnZjbWxuYVc1Y2JpQWdiR1YwSUdoNWNHVnljR3hoYm1WUFptWnpaWFFnUFNBd08xeHVJQ0JzWlhRZ2FIbHdaWEp3YkdGdVpWWmxZM1J2Y2lBOUlEQTdYRzVjYmlBZ1hHNGdJR2g1Y0dWeWNHeGhibVZXWldOMGIzSWdQU0JrWVhSaFcyeGxablJkSUMwZ1pHRjBZVnR5YVdkb2RGMDdYRzRnSUdoNWNHVnljR3hoYm1WUFptWnpaWFFnTFQxY2JpQWdJQ0FvYUhsd1pYSndiR0Z1WlZabFkzUnZjaUFxSUNoa1lYUmhXMnhsWm5SZElDc2daR0YwWVZ0eWFXZG9kRjBwS1NBdklESXVNRHRjYmlBZ1hHNWNiaUFnTHk4Z1JtOXlJR1ZoWTJnZ2NHOXBiblFnWTI5dGNIVjBaU0IwYUdVZ2JXRnlaMmx1SUNod2NtOXFaV04wSUdsdWRHOGdibTl5YldGc0lIWmxZM1J2Y2lsY2JpQWdMeThnU1dZZ2QyVWdZWEpsSUc5dUlHeHZkMlZ5SUhOcFpHVWdiMllnZEdobElHaDVjR1Z5Y0d4aGJtVWdjSFYwSUdsdUlHOXVaU0J3YVd4bExDQnZkR2hsY25kcGMyVmNiaUFnTHk4Z2NIVjBJR2wwSUdsdUlIUm9aU0J2ZEdobGNpQndhV3hsSUNocFppQjNaU0JvYVhRZ2FIbHdaWEp3YkdGdVpTQnZiaUIwYUdVZ2JtOXpaU3dnWm14cGNDQmhJR052YVc0cFhHNGdJR3hsZENCdVRHVm1kQ0E5SURBN1hHNGdJR3hsZENCdVVtbG5hSFFnUFNBd08xeHVJQ0JqYjI1emRDQnphV1JsSUQwZ2RYUnBiSE11ZW1WeWIzTW9hVzVrYVdObGN5NXNaVzVuZEdncE8xeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUdsdVpHbGpaWE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNCc1pYUWdiV0Z5WjJsdUlEMGdhSGx3WlhKd2JHRnVaVTltWm5ObGREdGNiaUFnSUNCY2JpQWdJQ0FnSUcxaGNtZHBiaUFyUFNCb2VYQmxjbkJzWVc1bFZtVmpkRzl5SUNvZ1pHRjBZVnRwYm1ScFkyVnpXMmxkWFR0Y2JpQWdJQ0JjYmlBZ0lDQnBaaUFvYldGeVoybHVJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnphV1JsVzJsZElEMGdkWFJwYkhNdWRHRjFVbUZ1WkVsdWRDZ3lMQ0J5WVc1a2IyMHBPMXh1SUNBZ0lDQWdhV1lnS0hOcFpHVmJhVjBnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnYmt4bFpuUWdLejBnTVR0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUc1U2FXZG9kQ0FyUFNBeE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JXRnlaMmx1SUQ0Z01Da2dlMXh1SUNBZ0lDQWdjMmxrWlZ0cFhTQTlJREE3WEc0Z0lDQWdJQ0J1VEdWbWRDQXJQU0F4TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnphV1JsVzJsZElEMGdNVHRjYmlBZ0lDQWdJRzVTYVdkb2RDQXJQU0F4TzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUM4dklFNXZkeUIwYUdGMElIZGxJR2hoZG1VZ2RHaGxJR052ZFc1MGN5d2dZV3hzYjJOaGRHVWdZWEp5WVhselhHNGdJR052Ym5OMElHbHVaR2xqWlhOTVpXWjBJRDBnZFhScGJITXVlbVZ5YjNNb2JreGxablFwTzF4dUlDQmpiMjV6ZENCcGJtUnBZMlZ6VW1sbmFIUWdQU0IxZEdsc2N5NTZaWEp2Y3lodVVtbG5hSFFwTzF4dVhHNGdJQzh2SUZCdmNIVnNZWFJsSUhSb1pTQmhjbkpoZVhNZ2QybDBhQ0JwYm1ScFkyVnpJR0ZqWTI5eVpHbHVaeUIwYnlCM2FHbGphQ0J6YVdSbElIUm9aWGtnWm1Wc2JDQnZibHh1SUNCdVRHVm1kQ0E5SURBN1hHNGdJRzVTYVdkb2RDQTlJREE3WEc0Z0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2djMmxrWlM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lHbG1JQ2h6YVdSbFcybGRJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnBibVJwWTJWelRHVm1kRnR1VEdWbWRGMGdQU0JwYm1ScFkyVnpXMmxkTzF4dUlDQWdJQ0FnYmt4bFpuUWdLejBnTVR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdhVzVrYVdObGMxSnBaMmgwVzI1U2FXZG9kRjBnUFNCcGJtUnBZMlZ6VzJsZE8xeHVJQ0FnSUNBZ2JsSnBaMmgwSUNzOUlERTdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlIdGNiaUFnSUNCcGJtUnBZMlZ6VEdWbWRDeGNiaUFnSUNCcGJtUnBZMlZ6VW1sbmFIUXNYRzRnSUNBZ2FIbHdaWEp3YkdGdVpUb2dhSGx3WlhKd2JHRnVaVlpsWTNSdmNpeGNiaUFnSUNCdlptWnpaWFE2SUdoNWNHVnljR3hoYm1WUFptWnpaWFFzWEc0Z0lIMDdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHWnNZWFIwWlc1VWNtVmxLSFJ5WldVNklGSmhibVJ2YlZCeWIycGxZM1JwYjI1VWNtVmxUbTlrWlN3Z2JHVmhabE5wZW1VNklHNTFiV0psY2lrZ2UxeHVJQ0JqYjI1emRDQnVUbTlrWlhNZ1BTQnVkVzFPYjJSbGN5aDBjbVZsS1R0Y2JpQWdZMjl1YzNRZ2JreGxZWFpsY3lBOUlHNTFiVXhsWVhabGN5aDBjbVZsS1R0Y2JseHVJQ0F2THlCVVQwUlBPaUJXWlhKcFpua2dkR2hoZENCemNHRnljMlVnWTI5a1pTQnBjeUJ1YjNRZ2NtVnNaWFpoYm5RdUxpNWNiaUFnWTI5dWMzUWdhSGx3WlhKd2JHRnVaWE1nUFNCMWRHbHNjMXh1SUNBZ0lDNXlZVzVuWlNodVRtOWtaWE1wWEc0Z0lDQWdMbTFoY0Nnb0tTQTlQaUIwY21WbExtaDVjR1Z5Y0d4aGJtVWdQeUF4SURvZ01DazdYRzVjYmlBZ1kyOXVjM1FnYjJabWMyVjBjeUE5SUhWMGFXeHpMbnBsY205ektHNU9iMlJsY3lrN1hHNGdJR052Ym5OMElHTm9hV3hrY21WdUlEMGdkWFJwYkhNdWNtRnVaMlVvYms1dlpHVnpLUzV0WVhBb0tDa2dQVDRnV3kweExDQXRNVjBwTzF4dUlDQmpiMjV6ZENCcGJtUnBZMlZ6SUQwZ2RYUnBiSE5jYmlBZ0lDQXVjbUZ1WjJVb2JreGxZWFpsY3lsY2JpQWdJQ0F1YldGd0tDZ3BJRDArSUhWMGFXeHpMbkpoYm1kbEtHeGxZV1pUYVhwbEtTNXRZWEFvS0NrZ1BUNGdMVEVwS1R0Y2JpQWdjbVZqZFhKemFYWmxSbXhoZEhSbGJpaDBjbVZsTENCb2VYQmxjbkJzWVc1bGN5d2diMlptYzJWMGN5d2dZMmhwYkdSeVpXNHNJR2x1WkdsalpYTXNJREFzSURBcE8xeHVJQ0J5WlhSMWNtNGdibVYzSUVac1lYUlVjbVZsS0doNWNHVnljR3hoYm1WekxDQnZabVp6WlhSekxDQmphR2xzWkhKbGJpd2dhVzVrYVdObGN5azdYRzU5WEc1Y2JtWjFibU4wYVc5dUlISmxZM1Z5YzJsMlpVWnNZWFIwWlc0b1hHNGdJSFJ5WldVNklGSmhibVJ2YlZCeWIycGxZM1JwYjI1VWNtVmxUbTlrWlN4Y2JpQWdhSGx3WlhKd2JHRnVaWE02SUc1MWJXSmxjbHRkTEZ4dUlDQnZabVp6WlhSek9pQnVkVzFpWlhKYlhTeGNiaUFnWTJocGJHUnlaVzQ2SUc1MWJXSmxjbHRkVzEwc1hHNGdJR2x1WkdsalpYTTZJRzUxYldKbGNsdGRXMTBzWEc0Z0lHNXZaR1ZPZFcwNklHNTFiV0psY2l4Y2JpQWdiR1ZoWms1MWJUb2diblZ0WW1WeVhHNHBPaUI3SUc1dlpHVk9kVzA2SUc1MWJXSmxjanNnYkdWaFprNTFiVG9nYm5WdFltVnlJSDBnZTF4dUlDQnBaaUFvZEhKbFpTNXBjMHhsWVdZcElIdGNiaUFnSUNCamFHbHNaSEpsYmx0dWIyUmxUblZ0WFZzd1hTQTlJQzFzWldGbVRuVnRPMXh1WEc0Z0lDQWdMeThnVkU5RVR6b2dWSEpwY0d4bElHTm9aV05ySUhSb2FYTWdiM0JsY21GMGFXOXVJR052Y25KbGMzQnZibVJ6SUhSdlhHNGdJQ0FnTHk4Z2FXNWthV05sYzF0c1pXRm1UblZ0SURvZ2RISmxaUzVwYm1ScFkyVnpMbk5vWVhCbFd6QmRYU0E5SUhSeVpXVXVhVzVrYVdObGMxeHVJQ0FnSUdsdVpHbGpaWE5iYkdWaFprNTFiVjB1YzNCc2FXTmxLREFzSUhSeVpXVXVhVzVrYVdObGN5RXViR1Z1WjNSb0xDQXVMaTUwY21WbExtbHVaR2xqWlhNaEtUdGNiaUFnSUNCc1pXRm1UblZ0SUNzOUlERTdYRzRnSUNBZ2NtVjBkWEp1SUhzZ2JtOWtaVTUxYlN3Z2JHVmhaazUxYlNCOU8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHaDVjR1Z5Y0d4aGJtVnpXMjV2WkdWT2RXMWRJRDBnZEhKbFpTNW9lWEJsY25Cc1lXNWxJVHRjYmlBZ0lDQnZabVp6WlhSelcyNXZaR1ZPZFcxZElEMGdkSEpsWlM1dlptWnpaWFFoTzF4dUlDQWdJR05vYVd4a2NtVnVXMjV2WkdWT2RXMWRXekJkSUQwZ2JtOWtaVTUxYlNBcklERTdYRzRnSUNBZ1kyOXVjM1FnYjJ4a1RtOWtaVTUxYlNBOUlHNXZaR1ZPZFcwN1hHNWNiaUFnSUNCc1pYUWdjbVZ6SUQwZ2NtVmpkWEp6YVhabFJteGhkSFJsYmloY2JpQWdJQ0FnSUhSeVpXVXViR1ZtZEVOb2FXeGtJU3hjYmlBZ0lDQWdJR2g1Y0dWeWNHeGhibVZ6TEZ4dUlDQWdJQ0FnYjJabWMyVjBjeXhjYmlBZ0lDQWdJR05vYVd4a2NtVnVMRnh1SUNBZ0lDQWdhVzVrYVdObGN5eGNiaUFnSUNBZ0lHNXZaR1ZPZFcwZ0t5QXhMRnh1SUNBZ0lDQWdiR1ZoWms1MWJWeHVJQ0FnSUNrN1hHNGdJQ0FnYm05a1pVNTFiU0E5SUhKbGN5NXViMlJsVG5WdE8xeHVJQ0FnSUd4bFlXWk9kVzBnUFNCeVpYTXViR1ZoWms1MWJUdGNibHh1SUNBZ0lHTm9hV3hrY21WdVcyOXNaRTV2WkdWT2RXMWRXekZkSUQwZ2JtOWtaVTUxYlNBcklERTdYRzVjYmlBZ0lDQnlaWE1nUFNCeVpXTjFjbk5wZG1WR2JHRjBkR1Z1S0Z4dUlDQWdJQ0FnZEhKbFpTNXlhV2RvZEVOb2FXeGtJU3hjYmlBZ0lDQWdJR2g1Y0dWeWNHeGhibVZ6TEZ4dUlDQWdJQ0FnYjJabWMyVjBjeXhjYmlBZ0lDQWdJR05vYVd4a2NtVnVMRnh1SUNBZ0lDQWdhVzVrYVdObGN5eGNiaUFnSUNBZ0lHNXZaR1ZPZFcwZ0t5QXhMRnh1SUNBZ0lDQWdiR1ZoWms1MWJWeHVJQ0FnSUNrN1hHNGdJQ0FnY21WMGRYSnVJSHNnYm05a1pVNTFiVG9nY21WekxtNXZaR1ZPZFcwc0lHeGxZV1pPZFcwNklISmxjeTVzWldGbVRuVnRJSDA3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2JuVnRUbTlrWlhNb2RISmxaVG9nVW1GdVpHOXRVSEp2YW1WamRHbHZibFJ5WldWT2IyUmxLVG9nYm5WdFltVnlJSHRjYmlBZ2FXWWdLSFJ5WldVdWFYTk1aV0ZtS1NCN1hHNGdJQ0FnY21WMGRYSnVJREU3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnY21WMGRYSnVJREVnS3lCdWRXMU9iMlJsY3loMGNtVmxMbXhsWm5SRGFHbHNaQ0VwSUNzZ2JuVnRUbTlrWlhNb2RISmxaUzV5YVdkb2RFTm9hV3hrSVNrN1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdiblZ0VEdWaGRtVnpLSFJ5WldVNklGSmhibVJ2YlZCeWIycGxZM1JwYjI1VWNtVmxUbTlrWlNrNklHNTFiV0psY2lCN1hHNGdJR2xtSUNoMGNtVmxMbWx6VEdWaFppa2dlMXh1SUNBZ0lISmxkSFZ5YmlBeE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lISmxkSFZ5YmlCdWRXMU1aV0YyWlhNb2RISmxaUzVzWldaMFEyaHBiR1FoS1NBcklHNTFiVXhsWVhabGN5aDBjbVZsTG5KcFoyaDBRMmhwYkdRaEtUdGNiaUFnZlZ4dWZWeHVYRzR2S2lwY2JpQXFJRWRsYm1WeVlYUmxJR0Z1SUdGeWNtRjVJRzltSUhObGRITWdiMllnWTJGdVpHbGtZWFJsSUc1bFlYSmxjM1FnYm1WcFoyaGliM0p6SUdKNVhHNGdLaUJqYjI1emRISjFZM1JwYm1jZ1lTQnlZVzVrYjIwZ2NISnZhbVZqZEdsdmJpQm1iM0psYzNRZ1lXNWtJSFJoYTJsdVp5QjBhR1VnYkdWaGRtVnpJRzltSUdGc2JDQjBhR1ZjYmlBcUlIUnlaV1Z6TGlCQmJua2daMmwyWlc0Z2RISmxaU0JvWVhNZ2JHVmhkbVZ6SUhSb1lYUWdZWEpsSUdFZ2MyVjBJRzltSUhCdmRHVnVkR2xoYkNCdVpXRnlaWE4wWEc0Z0tpQnVaV2xuYUdKdmNuTXVJRWRwZG1WdUlHVnViM1ZuYUNCMGNtVmxjeUIwYUdVZ2MyVjBJRzltSUdGc2JDQnpkV05vSUd4bFlYWmxjeUJuYVhabGN5QmhJR2R2YjJSY2JpQXFJR3hwYTJWc2FXaHZiMlFnYjJZZ1oyVjBkR2x1WnlCaElHZHZiMlFnYzJWMElHOW1JRzVsWVhKbGMzUWdibVZwWjJoaWIzSnpJR2x1SUdOdmJYQnZjMmwwWlM0Z1UybHVZMlZjYmlBcUlITjFZMmdnWVNCeVlXNWtiMjBnY0hKdmFtVmpkR2x2YmlCbWIzSmxjM1FnYVhNZ2FXNWxlSEJsYm5OcGRtVWdkRzhnWTI5dGNIVjBaU3dnZEdocGN5QmpZVzRnWW1VZ1lWeHVJQ29nZFhObFpuVnNJRzFsWVc1eklHOW1JSE5sWldScGJtY2diM1JvWlhJZ2JtVmhjbVZ6ZENCdVpXbG5hR0p2Y2lCaGJHZHZjbWwwYUcxekxseHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYldGclpVeGxZV1pCY25KaGVTaHljRVp2Y21WemREb2dSbXhoZEZSeVpXVmJYU2s2SUc1MWJXSmxjbHRkVzEwZ2UxeHVJQ0JwWmlBb2NuQkdiM0psYzNRdWJHVnVaM1JvSUQ0Z01Da2dlMXh1SUNBZ0lHTnZibk4wSUc5MWRIQjFkRG9nYm5WdFltVnlXMTFiWFNBOUlGdGRPMXh1SUNBZ0lHWnZjaUFvYkdWMElIUnlaV1VnYjJZZ2NuQkdiM0psYzNRcElIdGNiaUFnSUNBZ0lHOTFkSEIxZEM1d2RYTm9LQzR1TG5SeVpXVXVhVzVrYVdObGN5RXBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnYjNWMGNIVjBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSEpsZEhWeWJpQmJXeTB4WFYwN1hHNGdJSDFjYm4xY2JseHVMeW9xWEc0Z0tpQlRaV3hsWTNSeklIUm9aU0J6YVdSbElHOW1JSFJvWlNCMGNtVmxJSFJ2SUhObFlYSmphQ0JrZFhKcGJtY2dabXhoZENCMGNtVmxJSE5sWVhKamFDNWNiaUFxTDF4dVpuVnVZM1JwYjI0Z2MyVnNaV04wVTJsa1pTaGNiaUFnYUhsd1pYSndiR0Z1WlRvZ2JuVnRZbVZ5TEZ4dUlDQnZabVp6WlhRNklHNTFiV0psY2l4Y2JpQWdjRzlwYm5RNklHNTFiV0psY2l4Y2JpQWdjbUZ1Wkc5dE9pQlNZVzVrYjIxR2JseHVLU0I3WEc0Z0lHeGxkQ0J0WVhKbmFXNGdQU0J2Wm1aelpYUTdYRzVjYmlBZ0lDQnRZWEpuYVc0Z0t6MGdhSGx3WlhKd2JHRnVaU0FxSUhCdmFXNTBPMXh1SUNCY2JseHVJQ0JwWmlBb2JXRnlaMmx1SUQwOVBTQXdLU0I3WEc0Z0lDQWdZMjl1YzNRZ2MybGtaU0E5SUhWMGFXeHpMblJoZFZKaGJtUkpiblFvTWl3Z2NtRnVaRzl0S1R0Y2JpQWdJQ0J5WlhSMWNtNGdjMmxrWlR0Y2JpQWdmU0JsYkhObElHbG1JQ2h0WVhKbmFXNGdQaUF3S1NCN1hHNGdJQ0FnY21WMGRYSnVJREE3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnY21WMGRYSnVJREU3WEc0Z0lIMWNibjFjYmx4dUx5b3FYRzRnS2lCVFpXRnlZMmhsY3lCaElHWnNZWFIwWlc1bFpDQnljQzEwY21WbElHWnZjaUJoSUhCdmFXNTBMbHh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2MyVmhjbU5vUm14aGRGUnlaV1VvWEc0Z0lIQnZhVzUwT2lCdWRXMWlaWElzWEc0Z0lIUnlaV1U2SUVac1lYUlVjbVZsTEZ4dUlDQnlZVzVrYjIwNklGSmhibVJ2YlVadVhHNHBJSHRjYmlBZ2JHVjBJRzV2WkdVZ1BTQXdPMXh1SUNCM2FHbHNaU0FvZEhKbFpTNWphR2xzWkhKbGJsdHViMlJsWFZzd1hTQStJREFwSUh0Y2JpQWdJQ0JqYjI1emRDQnphV1JsSUQwZ2MyVnNaV04wVTJsa1pTaGNiaUFnSUNBZ0lIUnlaV1V1YUhsd1pYSndiR0Z1WlhOYmJtOWtaVjBzWEc0Z0lDQWdJQ0IwY21WbExtOW1abk5sZEhOYmJtOWtaVjBzWEc0Z0lDQWdJQ0J3YjJsdWRDeGNiaUFnSUNBZ0lISmhibVJ2YlZ4dUlDQWdJQ2s3WEc0Z0lDQWdhV1lnS0hOcFpHVWdQVDA5SURBcElIdGNiaUFnSUNBZ0lHNXZaR1VnUFNCMGNtVmxMbU5vYVd4a2NtVnVXMjV2WkdWZFd6QmRPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCdWIyUmxJRDBnZEhKbFpTNWphR2xzWkhKbGJsdHViMlJsWFZzeFhUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQmpiMjV6ZENCcGJtUmxlQ0E5SUMweElDb2dkSEpsWlM1amFHbHNaSEpsYmx0dWIyUmxYVnN3WFR0Y2JpQWdjbVYwZFhKdUlIUnlaV1V1YVc1a2FXTmxjMXRwYm1SbGVGMDdYRzU5WEc0aVhYMD0iLCIvKipcbiAqIEBsaWNlbnNlXG4gKlxuICogQ29weXJpZ2h0IDIwMTkgR29vZ2xlIExMQy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xuLyoqXG4gKiBUaGlzIGlzIGEgSmF2YVNjcmlwdCByZWltcGxlbWVudGF0aW9uIG9mIFVNQVAgKG9yaWdpbmFsIGxpY2Vuc2UgYmVsb3cpLCBmcm9tXG4gKiB0aGUgcHl0aG9uIGltcGxlbWVudGF0aW9uIGZvdW5kIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9sbWNpbm5lcy91bWFwLlxuICpcbiAqIEBhdXRob3IgYW5keWNvZW5lbkBnb29nbGUuY29tIChBbmR5IENvZW5lbilcbiAqL1xuLyoqXG4gKiBAbGljZW5zZVxuICogQlNEIDMtQ2xhdXNlIExpY2Vuc2VcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTcsIExlbGFuZCBNY0lubmVzXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6XG4gKlxuICogKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXNcbiAqICAgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuXG4gKlxuICogKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsXG4gKiAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb25cbiAqICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uXG4gKlxuICogKiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzXG4gKiAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tXG4gKiAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uXG4gKlxuICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyBcIkFTIElTXCJcbiAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEVcbiAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRVxuICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRVxuICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUxcbiAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SXG4gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUlxuICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSxcbiAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFXG4gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxuICovXG5pbXBvcnQgKiBhcyBoZWFwIGZyb20gJy4vaGVhcCc7XG5pbXBvcnQgKiBhcyBtYXRyaXggZnJvbSAnLi9tYXRyaXgnO1xuaW1wb3J0ICogYXMgbm5EZXNjZW50IGZyb20gJy4vbm5fZGVzY2VudCc7XG5pbXBvcnQgKiBhcyB0cmVlIGZyb20gJy4vdHJlZSc7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBMTSBmcm9tICdtbC1sZXZlbmJlcmctbWFycXVhcmR0JztcbmNvbnN0IFNNT09USF9LX1RPTEVSQU5DRSA9IDFlLTU7XG5jb25zdCBNSU5fS19ESVNUX1NDQUxFID0gMWUtMztcbi8qKlxuICogVU1BUCBwcm9qZWN0aW9uIHN5c3RlbSwgYmFzZWQgb24gdGhlIHB5dGhvbiBpbXBsZW1lbnRhdGlvbiBmcm9tIE1jSW5uZXMsIEwsXG4gKiBIZWFseSwgSiwgVU1BUDogVW5pZm9ybSBNYW5pZm9sZCBBcHByb3hpbWF0aW9uIGFuZCBQcm9qZWN0aW9uIGZvciBEaW1lbnNpb25cbiAqIFJlZHVjdGlvbiAoaHR0cHM6Ly9naXRodWIuY29tL2xtY2lubmVzL3VtYXApLlxuICpcbiAqIFRoaXMgaW1wbGVtZW50YXRpb24gZGlmZmVycyBpbiBhIGZldyByZWdhcmRzOlxuICogYSkgVGhlIGluaXRpYWxpemF0aW9uIG9mIHRoZSBlbWJlZGRpbmcgZm9yIG9wdGltaXphdGlvbiBpcyBub3QgY29tcHV0ZWQgdXNpbmdcbiAqICAgIGEgc3BlY3RyYWwgbWV0aG9kLCByYXRoZXIgaXQgaXMgaW5pdGlhbGl6ZWQgcmFuZG9tbHkuIFRoaXMgYXZvaWRzIHNvbWVcbiAqICAgIGNvbXB1dGF0aW9uYWxseSBpbnRlbnNpdmUgbWF0cml4IGVpZ2VuIGNvbXB1dGF0aW9ucyB0aGF0IGFyZW4ndCBlYXNpbHlcbiAqICAgIHBvcnRlZCB0byBKYXZhU2NyaXB0LlxuICogYikgQSBsb3Qgb2YgXCJleHRyYVwiIGZ1bmN0aW9uYWxpdHkgaGFzIGJlZW4gb21pdHRlZCBmcm9tIHRoaXMgaW1wbGVtZW50YXRpb24sXG4gKiAgICBtb3N0IG5vdGFibHkgYSBncmVhdCBkZWFsIG9mIGFsdGVybmF0ZSBkaXN0YW5jZSBmdW5jdGlvbnMuXG4gKlxuICogVGhpcyBpbXBsZW1lbnRhdGlvbiBwcm92aWRlcyB0aHJlZSBtZXRob2RzIG9mIHJlZHVjaW5nIGRpbWVuc2lvbmFsaXR5OlxuICogMSkgZml0OiBmaXQgdGhlIGRhdGEgc3luY2hyb25vdXNseVxuICogMikgZml0QXN5bmM6IGZpdCB0aGUgZGF0YSBhc3luY2hyb25vdXNseSwgd2l0aCBhIGNhbGxiYWNrIGZ1bmN0aW9uIHByb3ZpZGVkXG4gKiAgICAgIHRoYXQgaXMgaW52b2tlZCBvbiBlYWNoIG9wdGltaXphdGlvbiBzdGVwLlxuICogMykgaW5pdGlhbGl6ZUZpdCAvIHN0ZXA6IG1hbnVhbGx5IGluaXRpYWxpemUgdGhlIGFsZ29yaXRobSB0aGVuIGV4cGxpY3RseVxuICogICAgICBzdGVwIHRocm91Z2ggZWFjaCBlcG9jaCBvZiB0aGUgU0dEIG9wdGltaXphdGlvblxuICovXG5leHBvcnQgY2xhc3MgVU1BUCB7XG4gICAgbGVhcm5pbmdSYXRlID0gMS4wO1xuICAgIGxvY2FsQ29ubmVjdGl2aXR5ID0gMS4wO1xuICAgIG1pbkRpc3QgPSAwLjE7XG4gICAgbkNvbXBvbmVudHMgPSAyO1xuICAgIG5FcG9jaHMgPSAwO1xuICAgIG5OZWlnaGJvcnMgPSAxNTtcbiAgICBuZWdhdGl2ZVNhbXBsZVJhdGUgPSA1O1xuICAgIHJhbmRvbSA9IE1hdGgucmFuZG9tO1xuICAgIHJlcHVsc2lvblN0cmVuZ3RoID0gMS4wO1xuICAgIHNldE9wTWl4UmF0aW8gPSAxLjA7XG4gICAgc3ByZWFkID0gMS4wO1xuICAgIHRyYW5zZm9ybVF1ZXVlU2l6ZSA9IDQuMDtcbiAgICAvLyBTdXBlcnZpc2VkIHByb2plY3Rpb24gcGFyYW1zXG4gICAgdGFyZ2V0TWV0cmljID0gXCJjYXRlZ29yaWNhbFwiIC8qIFRhcmdldE1ldHJpYy5jYXRlZ29yaWNhbCAqLztcbiAgICB0YXJnZXRXZWlnaHQgPSAwLjU7XG4gICAgdGFyZ2V0Tk5laWdoYm9ycyA9IHRoaXMubk5laWdoYm9ycztcbiAgICBkaXN0YW5jZUZuID0gbnVtZXJpYztcbiAgICAvLyBLTk4gc3RhdGUgKGNhbiBiZSBwcmVjb21wdXRlZCBhbmQgc3VwcGxpZWQgdmlhIGluaXRpYWxpemVGaXQpXG4gICAga25uSW5kaWNlcztcbiAgICBrbm5EaXN0YW5jZXM7XG4gICAgLy8gSW50ZXJuYWwgZ3JhcGggY29ubmVjdGl2aXR5IHJlcHJlc2VudGF0aW9uXG4gICAgZ3JhcGg7XG4gICAgWDtcbiAgICBpc0luaXRpYWxpemVkID0gZmFsc2U7XG4gICAgcnBGb3Jlc3QgPSBbXTtcbiAgICBpbml0RnJvbVJhbmRvbTtcbiAgICBpbml0RnJvbVRyZWU7XG4gICAgc2VhcmNoO1xuICAgIHNlYXJjaEdyYXBoO1xuICAgIC8vIFN1cGVydmlzZWQgcHJvamVjdGlvbiBsYWJlbHMgLyB0YXJnZXRzXG4gICAgWTtcbiAgICAvLyBQcm9qZWN0ZWQgZW1iZWRkaW5nXG4gICAgZW1iZWRkaW5nID0gW107XG4gICAgb3B0aW1pemF0aW9uU3RhdGUgPSBuZXcgT3B0aW1pemF0aW9uU3RhdGUoKTtcbiAgICBnZXQgbmVpZ2hib3JzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5uTmVpZ2hib3JzO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihwYXJhbXMgPSB7fSkge1xuICAgICAgICBjb25zdCBzZXRQYXJhbSA9IChrZXkpID0+IHtcbiAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICAgICAgaWYgKHBhcmFtc1trZXldICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgdGhpc1trZXldID0gcGFyYW1zW2tleV07XG4gICAgICAgIH07XG4gICAgICAgIHNldFBhcmFtKCdkaXN0YW5jZUZuJyk7XG4gICAgICAgIHNldFBhcmFtKCdsZWFybmluZ1JhdGUnKTtcbiAgICAgICAgc2V0UGFyYW0oJ2xvY2FsQ29ubmVjdGl2aXR5Jyk7XG4gICAgICAgIHNldFBhcmFtKCdtaW5EaXN0Jyk7XG4gICAgICAgIHNldFBhcmFtKCduQ29tcG9uZW50cycpO1xuICAgICAgICBzZXRQYXJhbSgnbkVwb2NocycpO1xuICAgICAgICBzZXRQYXJhbSgnbk5laWdoYm9ycycpO1xuICAgICAgICBzZXRQYXJhbSgnbmVnYXRpdmVTYW1wbGVSYXRlJyk7XG4gICAgICAgIHNldFBhcmFtKCdyYW5kb20nKTtcbiAgICAgICAgc2V0UGFyYW0oJ3JlcHVsc2lvblN0cmVuZ3RoJyk7XG4gICAgICAgIHNldFBhcmFtKCdzZXRPcE1peFJhdGlvJyk7XG4gICAgICAgIHNldFBhcmFtKCdzcHJlYWQnKTtcbiAgICAgICAgc2V0UGFyYW0oJ3RyYW5zZm9ybVF1ZXVlU2l6ZScpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBGaXQgdGhlIGRhdGEgdG8gYSBwcm9qZWN0ZWQgZW1iZWRkaW5nIHNwYWNlIHN5bmNocm9ub3VzbHkuXG4gICAgICovXG4gICAgZml0KFgpIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplRml0KFgpO1xuICAgICAgICB0aGlzLm9wdGltaXplTGF5b3V0KCk7XG4gICAgICAgIHJldHVybiB0aGlzLmVtYmVkZGluZztcbiAgICB9XG4gICAgLyoqXG4gICAgICogRml0IHRoZSBkYXRhIHRvIGEgcHJvamVjdGVkIGVtYmVkZGluZyBzcGFjZSBhc3luY2hyb25vdXNseSwgd2l0aCBhIGNhbGxiYWNrXG4gICAgICogZnVuY3Rpb24gaW52b2tlZCBvbiBldmVyeSBlcG9jaCBvZiBvcHRpbWl6YXRpb24uXG4gICAgICovXG4gICAgYXN5bmMgZml0QXN5bmMoWCwgY2FsbGJhY2sgPSAoKSA9PiB0cnVlKSB7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZUZpdChYKTtcbiAgICAgICAgYXdhaXQgdGhpcy5vcHRpbWl6ZUxheW91dEFzeW5jKGNhbGxiYWNrKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW1iZWRkaW5nO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplcyBwYXJhbWV0ZXJzIG5lZWRlZCBmb3Igc3VwZXJ2aXNlZCBwcm9qZWN0aW9uLlxuICAgICAqL1xuICAgIHNldFN1cGVydmlzZWRQcm9qZWN0aW9uKFksIHBhcmFtcyA9IHt9KSB7XG4gICAgICAgIHRoaXMuWSA9IFk7XG4gICAgICAgIHRoaXMudGFyZ2V0TWV0cmljID0gcGFyYW1zLnRhcmdldE1ldHJpYyB8fCB0aGlzLnRhcmdldE1ldHJpYztcbiAgICAgICAgdGhpcy50YXJnZXRXZWlnaHQgPSBwYXJhbXMudGFyZ2V0V2VpZ2h0IHx8IHRoaXMudGFyZ2V0V2VpZ2h0O1xuICAgICAgICB0aGlzLnRhcmdldE5OZWlnaGJvcnMgPSBwYXJhbXMudGFyZ2V0Tk5laWdoYm9ycyB8fCB0aGlzLnRhcmdldE5OZWlnaGJvcnM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEluaXRpYWxpemVzIHVtYXAgd2l0aCBwcmVjb21wdXRlZCBLTk4gaW5kaWNlcyBhbmQgZGlzdGFuY2VzLlxuICAgICAqL1xuICAgIHNldFByZWNvbXB1dGVkS05OKGtubkluZGljZXMsIGtubkRpc3RhbmNlcykge1xuICAgICAgICB0aGlzLmtubkluZGljZXMgPSBrbm5JbmRpY2VzO1xuICAgICAgICB0aGlzLmtubkRpc3RhbmNlcyA9IGtubkRpc3RhbmNlcztcbiAgICB9XG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZXMgZml0IGJ5IGNvbXB1dGluZyBLTk4gYW5kIGEgZnV6enkgc2ltcGxpY2lhbCBzZXQsIGFzIHdlbGwgYXNcbiAgICAgKiBpbml0aWFsaXppbmcgdGhlIHByb2plY3RlZCBlbWJlZGRpbmdzLiBTZXRzIHRoZSBvcHRpbWl6YXRpb24gc3RhdGUgYWhlYWRcbiAgICAgKiBvZiBvcHRpbWl6YXRpb24gc3RlcHMuIFJldHVybnMgdGhlIG51bWJlciBvZiBlcG9jaHMgdG8gYmUgdXNlZCBmb3IgdGhlXG4gICAgICogU0dEIG9wdGltaXphdGlvbi5cbiAgICAgKi9cbiAgICBpbml0aWFsaXplRml0KFgpIHtcbiAgICAgICAgaWYgKFgubGVuZ3RoIDw9IHRoaXMubk5laWdoYm9ycykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBOb3QgZW5vdWdoIGRhdGEgcG9pbnRzICgke1gubGVuZ3RofSkgdG8gY3JlYXRlIG5OZWlnaGJvcnM6ICR7dGhpcy5uTmVpZ2hib3JzfS4gIEFkZCBtb3JlIGRhdGEgcG9pbnRzIG9yIGFkanVzdCB0aGUgY29uZmlndXJhdGlvbi5gKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBXZSBkb24ndCBuZWVkIHRvIHJlaW5pdGlhbGl6ZSBpZiB3ZSd2ZSBhbHJlYWR5IGluaXRpYWxpemVkIGZvciB0aGlzIGRhdGEuXG4gICAgICAgIGlmICh0aGlzLlggPT09IFggJiYgdGhpcy5pc0luaXRpYWxpemVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRORXBvY2hzKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5YID0gWDtcbiAgICAgICAgaWYgKCF0aGlzLmtubkluZGljZXMgJiYgIXRoaXMua25uRGlzdGFuY2VzKSB7XG4gICAgICAgICAgICBjb25zdCBrbm5SZXN1bHRzID0gdGhpcy5uZWFyZXN0TmVpZ2hib3JzKFgpO1xuICAgICAgICAgICAgdGhpcy5rbm5JbmRpY2VzID0ga25uUmVzdWx0cy5rbm5JbmRpY2VzO1xuICAgICAgICAgICAgdGhpcy5rbm5EaXN0YW5jZXMgPSBrbm5SZXN1bHRzLmtubkRpc3RhbmNlcztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmdyYXBoID0gdGhpcy5mdXp6eVNpbXBsaWNpYWxTZXQoWCwgdGhpcy5uTmVpZ2hib3JzLCB0aGlzLnNldE9wTWl4UmF0aW8pO1xuICAgICAgICAvLyBTZXQgdXAgdGhlIHNlYXJjaCBncmFwaCBmb3Igc3Vic2VxdWVudCB0cmFuc2Zvcm1hdGlvbi5cbiAgICAgICAgdGhpcy5tYWtlU2VhcmNoRm5zKCk7XG4gICAgICAgIHRoaXMuc2VhcmNoR3JhcGggPSB0aGlzLm1ha2VTZWFyY2hHcmFwaChYKTtcbiAgICAgICAgLy8gQ2hlY2sgaWYgc3VwZXJ2aXNlZCBwcm9qZWN0aW9uLCB0aGVuIGFkanVzdCB0aGUgZ3JhcGguXG4gICAgICAgIHRoaXMucHJvY2Vzc0dyYXBoRm9yU3VwZXJ2aXNlZFByb2plY3Rpb24oKTtcbiAgICAgICAgY29uc3QgeyBoZWFkLCB0YWlsLCBlcG9jaHNQZXJTYW1wbGUsIH0gPSB0aGlzLmluaXRpYWxpemVTaW1wbGljaWFsU2V0RW1iZWRkaW5nKCk7XG4gICAgICAgIC8vIFNldCB0aGUgb3B0aW1pemF0aW9uIHJvdXRpbmUgc3RhdGVcbiAgICAgICAgdGhpcy5vcHRpbWl6YXRpb25TdGF0ZS5oZWFkID0gaGVhZDtcbiAgICAgICAgdGhpcy5vcHRpbWl6YXRpb25TdGF0ZS50YWlsID0gdGFpbDtcbiAgICAgICAgdGhpcy5vcHRpbWl6YXRpb25TdGF0ZS5lcG9jaHNQZXJTYW1wbGUgPSBlcG9jaHNQZXJTYW1wbGU7XG4gICAgICAgIC8vIE5vdywgaW5pdGlhbGl6ZSB0aGUgb3B0aW1pemF0aW9uIHN0ZXBzXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZU9wdGltaXphdGlvbigpO1xuICAgICAgICB0aGlzLnByZXBhcmVGb3JPcHRpbWl6YXRpb25Mb29wKCk7XG4gICAgICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgIHJldHVybiB0aGlzLmdldE5FcG9jaHMoKTtcbiAgICB9XG4gICAgbWFrZVNlYXJjaEZucygpIHtcbiAgICAgICAgY29uc3QgeyBpbml0RnJvbVRyZWUsIGluaXRGcm9tUmFuZG9tIH0gPSBubkRlc2NlbnQubWFrZUluaXRpYWxpemF0aW9ucyh0aGlzLmRpc3RhbmNlRm4pO1xuICAgICAgICB0aGlzLmluaXRGcm9tVHJlZSA9IGluaXRGcm9tVHJlZTtcbiAgICAgICAgdGhpcy5pbml0RnJvbVJhbmRvbSA9IGluaXRGcm9tUmFuZG9tO1xuICAgICAgICB0aGlzLnNlYXJjaCA9IG5uRGVzY2VudC5tYWtlSW5pdGlhbGl6ZWROTlNlYXJjaCh0aGlzLmRpc3RhbmNlRm4pO1xuICAgIH1cbiAgICBtYWtlU2VhcmNoR3JhcGgoWCkge1xuICAgICAgICBjb25zdCBrbm5JbmRpY2VzID0gdGhpcy5rbm5JbmRpY2VzO1xuICAgICAgICBjb25zdCBrbm5EaXN0YW5jZXMgPSB0aGlzLmtubkRpc3RhbmNlcztcbiAgICAgICAgY29uc3QgZGltcyA9IFtYLmxlbmd0aCwgWC5sZW5ndGhdO1xuICAgICAgICBjb25zdCBzZWFyY2hHcmFwaCA9IG5ldyBtYXRyaXguU3BhcnNlTWF0cml4KFtdLCBbXSwgW10sIGRpbXMpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGtubkluZGljZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGtubiA9IGtubkluZGljZXNbaV07XG4gICAgICAgICAgICBjb25zdCBkaXN0YW5jZXMgPSBrbm5EaXN0YW5jZXNbaV07XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGtubi5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5laWdoYm9yID0ga25uW2pdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlID0gZGlzdGFuY2VzW2pdO1xuICAgICAgICAgICAgICAgIGlmIChkaXN0YW5jZSA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgc2VhcmNoR3JhcGguc2V0KGksIG5laWdoYm9yLCBkaXN0YW5jZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRyYW5zcG9zZSA9IG1hdHJpeC50cmFuc3Bvc2Uoc2VhcmNoR3JhcGgpO1xuICAgICAgICByZXR1cm4gbWF0cml4Lm1heGltdW0oc2VhcmNoR3JhcGgsIHRyYW5zcG9zZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFRyYW5zZm9ybXMgZGF0YSB0byB0aGUgZXhpc3RpbmcgZW1iZWRkaW5nIHNwYWNlLlxuICAgICAqL1xuICAgIHRyYW5zZm9ybSh0b1RyYW5zZm9ybSkge1xuICAgICAgICAvLyBVc2UgdGhlIHByZXZpb3VzIHJhd0RhdGFcbiAgICAgICAgY29uc3QgcmF3RGF0YSA9IHRoaXMuWDtcbiAgICAgICAgaWYgKHJhd0RhdGEgPT09IHVuZGVmaW5lZCB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBkYXRhIGhhcyBiZWVuIGZpdC4nKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgbk5laWdoYm9ycyA9IE1hdGguZmxvb3IodGhpcy5uTmVpZ2hib3JzICogdGhpcy50cmFuc2Zvcm1RdWV1ZVNpemUpO1xuICAgICAgICBuTmVpZ2hib3JzID0gTWF0aC5taW4ocmF3RGF0YS5sZW5ndGgsIG5OZWlnaGJvcnMpO1xuICAgICAgICBjb25zdCBpbml0ID0gbm5EZXNjZW50LmluaXRpYWxpemVTZWFyY2godGhpcy5ycEZvcmVzdCwgcmF3RGF0YSwgdG9UcmFuc2Zvcm0sIG5OZWlnaGJvcnMsIHRoaXMuaW5pdEZyb21SYW5kb20sIHRoaXMuaW5pdEZyb21UcmVlLCB0aGlzLnJhbmRvbSk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuc2VhcmNoKHJhd0RhdGEsIHRoaXMuc2VhcmNoR3JhcGgsIGluaXQsIHRvVHJhbnNmb3JtKTtcbiAgICAgICAgbGV0IHsgaW5kaWNlcywgd2VpZ2h0czogZGlzdGFuY2VzIH0gPSBoZWFwLmRlaGVhcFNvcnQocmVzdWx0KTtcbiAgICAgICAgaW5kaWNlcyA9IGluZGljZXMubWFwKHggPT4geC5zbGljZSgwLCB0aGlzLm5OZWlnaGJvcnMpKTtcbiAgICAgICAgZGlzdGFuY2VzID0gZGlzdGFuY2VzLm1hcCh4ID0+IHguc2xpY2UoMCwgdGhpcy5uTmVpZ2hib3JzKSk7XG4gICAgICAgIGNvbnN0IGFkanVzdGVkTG9jYWxDb25uZWN0aXZpdHkgPSBNYXRoLm1heCgwLCB0aGlzLmxvY2FsQ29ubmVjdGl2aXR5IC0gMSk7XG4gICAgICAgIGNvbnN0IHsgc2lnbWFzLCByaG9zIH0gPSB0aGlzLnNtb290aEtOTkRpc3RhbmNlKGRpc3RhbmNlcywgdGhpcy5uTmVpZ2hib3JzLCBhZGp1c3RlZExvY2FsQ29ubmVjdGl2aXR5KTtcbiAgICAgICAgY29uc3QgeyByb3dzLCBjb2xzLCB2YWxzIH0gPSB0aGlzLmNvbXB1dGVNZW1iZXJzaGlwU3RyZW5ndGhzKGluZGljZXMsIGRpc3RhbmNlcywgc2lnbWFzLCByaG9zKTtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IFt0b1RyYW5zZm9ybS5sZW5ndGgsIHJhd0RhdGEubGVuZ3RoXTtcbiAgICAgICAgbGV0IGdyYXBoID0gbmV3IG1hdHJpeC5TcGFyc2VNYXRyaXgocm93cywgY29scywgdmFscywgc2l6ZSk7XG4gICAgICAgIC8vIFRoaXMgd2FzIGEgdmVyeSBzcGVjaWFsbHkgY29uc3RydWN0ZWQgZ3JhcGggd2l0aCBjb25zdGFudCBkZWdyZWUuXG4gICAgICAgIC8vIFRoYXQgbGV0cyB1cyBkbyBmYW5jeSB1bnBhY2tpbmcgYnkgcmVzaGFwaW5nIHRoZSBjc3IgbWF0cml4IGluZGljZXNcbiAgICAgICAgLy8gYW5kIGRhdGEuIERvaW5nIHNvIHJlbGllcyBvbiB0aGUgY29uc3RhbnQgZGVncmVlIGFzc3VtcHRpb24hXG4gICAgICAgIGNvbnN0IG5vcm1lZCA9IG1hdHJpeC5ub3JtYWxpemUoZ3JhcGgsIFwibDFcIiAvKiBtYXRyaXguTm9ybVR5cGUubDEgKi8pO1xuICAgICAgICBjb25zdCBjc3JNYXRyaXggPSBtYXRyaXguZ2V0Q1NSKG5vcm1lZCk7XG4gICAgICAgIGNvbnN0IG5Qb2ludHMgPSB0b1RyYW5zZm9ybS5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGVJbmRpY2VzID0gdXRpbHMucmVzaGFwZTJkKGNzck1hdHJpeC5pbmRpY2VzLCBuUG9pbnRzLCB0aGlzLm5OZWlnaGJvcnMpO1xuICAgICAgICBjb25zdCBlV2VpZ2h0cyA9IHV0aWxzLnJlc2hhcGUyZChjc3JNYXRyaXgudmFsdWVzLCBuUG9pbnRzLCB0aGlzLm5OZWlnaGJvcnMpO1xuICAgICAgICBjb25zdCBlbWJlZGRpbmcgPSBpbml0VHJhbnNmb3JtKGVJbmRpY2VzLCBlV2VpZ2h0cywgdGhpcy5lbWJlZGRpbmcpO1xuICAgICAgICBjb25zdCBuRXBvY2hzID0gdGhpcy5uRXBvY2hzXG4gICAgICAgICAgICA/IHRoaXMubkVwb2NocyAvIDNcbiAgICAgICAgICAgIDogZ3JhcGgublJvd3MgPD0gMTAwMDBcbiAgICAgICAgICAgICAgICA/IDEwMFxuICAgICAgICAgICAgICAgIDogMzA7XG4gICAgICAgIGNvbnN0IGdyYXBoTWF4ID0gZ3JhcGhcbiAgICAgICAgICAgIC5nZXRWYWx1ZXMoKVxuICAgICAgICAgICAgLnJlZHVjZSgobWF4LCB2YWwpID0+ICh2YWwgPiBtYXggPyB2YWwgOiBtYXgpLCAwKTtcbiAgICAgICAgZ3JhcGggPSBncmFwaC5tYXAodmFsdWUgPT4gKHZhbHVlIDwgZ3JhcGhNYXggLyBuRXBvY2hzID8gMCA6IHZhbHVlKSk7XG4gICAgICAgIGdyYXBoID0gbWF0cml4LmVsaW1pbmF0ZVplcm9zKGdyYXBoKTtcbiAgICAgICAgY29uc3QgZXBvY2hzUGVyU2FtcGxlID0gdGhpcy5tYWtlRXBvY2hzUGVyU2FtcGxlKGdyYXBoLmdldFZhbHVlcygpLCBuRXBvY2hzKTtcbiAgICAgICAgY29uc3QgaGVhZCA9IGdyYXBoLmdldFJvd3MoKTtcbiAgICAgICAgY29uc3QgdGFpbCA9IGdyYXBoLmdldENvbHMoKTtcbiAgICAgICAgLy8gSW5pdGlhbGl6ZSBvcHRpbWl6YXRpb24gc2xpZ2h0bHkgZGlmZmVyZW50bHkgdGhhbiB0aGUgZml0IG1ldGhvZC5cbiAgICAgICAgdGhpcy5hc3NpZ25PcHRpbWl6YXRpb25TdGF0ZVBhcmFtZXRlcnMoe1xuICAgICAgICAgICAgaGVhZEVtYmVkZGluZzogZW1iZWRkaW5nLFxuICAgICAgICAgICAgdGFpbEVtYmVkZGluZzogdGhpcy5lbWJlZGRpbmcsXG4gICAgICAgICAgICBoZWFkLFxuICAgICAgICAgICAgdGFpbCxcbiAgICAgICAgICAgIGN1cnJlbnRFcG9jaDogMCxcbiAgICAgICAgICAgIG5FcG9jaHMsXG4gICAgICAgICAgICBuVmVydGljZXM6IGdyYXBoLmdldERpbXMoKVsxXSxcbiAgICAgICAgICAgIGVwb2Noc1BlclNhbXBsZSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucHJlcGFyZUZvck9wdGltaXphdGlvbkxvb3AoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW1pemVMYXlvdXQoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHdlJ3JlIHVzaW5nIHN1cGVydmlzZWQgcHJvamVjdGlvbiwgdGhlbiBwcm9jZXNzIHRoZSBncmFwaFxuICAgICAqIGFjY29yZGluZ2x5LlxuICAgICAqL1xuICAgIHByb2Nlc3NHcmFwaEZvclN1cGVydmlzZWRQcm9qZWN0aW9uKCkge1xuICAgICAgICBjb25zdCB7IFksIFggfSA9IHRoaXM7XG4gICAgICAgIGlmIChZKSB7XG4gICAgICAgICAgICBpZiAoWS5sZW5ndGggIT09IFgubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdMZW5ndGggb2YgWCBhbmQgeSBtdXN0IGJlIGVxdWFsJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy50YXJnZXRNZXRyaWMgPT09IFwiY2F0ZWdvcmljYWxcIiAvKiBUYXJnZXRNZXRyaWMuY2F0ZWdvcmljYWwgKi8pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsdCA9IHRoaXMudGFyZ2V0V2VpZ2h0IDwgMS4wO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZhckRpc3QgPSBsdCA/IDIuNSAqICgxLjAgLyAoMS4wIC0gdGhpcy50YXJnZXRXZWlnaHQpKSA6IDEuMGUxMjtcbiAgICAgICAgICAgICAgICB0aGlzLmdyYXBoID0gdGhpcy5jYXRlZ29yaWNhbFNpbXBsaWNpYWxTZXRJbnRlcnNlY3Rpb24odGhpcy5ncmFwaCwgWSwgZmFyRGlzdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBUT0RPIChhbmR5Y29lbmVuQCk6IGFkZCBub24tY2F0ZWdvcmljYWwgc3VwZXJ2aXNlZCBlbWJlZGRpbmdzLlxuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIE1hbnVhbGx5IHN0ZXAgdGhyb3VnaCB0aGUgb3B0aW1pemF0aW9uIHByb2Nlc3Mgb25lIGVwb2NoIGF0IGEgdGltZS5cbiAgICAgKi9cbiAgICBzdGVwKCkge1xuICAgICAgICBjb25zdCB7IGN1cnJlbnRFcG9jaCB9ID0gdGhpcy5vcHRpbWl6YXRpb25TdGF0ZTtcbiAgICAgICAgaWYgKGN1cnJlbnRFcG9jaCA8IHRoaXMuZ2V0TkVwb2NocygpKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGltaXplTGF5b3V0U3RlcChjdXJyZW50RXBvY2gpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGltaXphdGlvblN0YXRlLmN1cnJlbnRFcG9jaDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgY29tcHV0ZWQgcHJvamVjdGVkIGVtYmVkZGluZy5cbiAgICAgKi9cbiAgICBnZXRFbWJlZGRpbmcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVtYmVkZGluZztcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29tcHV0ZSB0aGUgYGBuTmVpZ2hib3JzYGAgbmVhcmVzdCBwb2ludHMgZm9yIGVhY2ggZGF0YSBwb2ludCBpbiBgYFhgYFxuICAgICAqIFRoaXMgbWF5IGJlIGV4YWN0LCBidXQgbW9yZSBsaWtlbHkgaXMgYXBwcm94aW1hdGVkIHZpYSBuZWFyZXN0IG5laWdoYm9yXG4gICAgICogZGVzY2VudC5cbiAgICAgKi9cbiAgICBuZWFyZXN0TmVpZ2hib3JzKFgpIHtcbiAgICAgICAgY29uc3QgeyBkaXN0YW5jZUZuLCBuTmVpZ2hib3JzIH0gPSB0aGlzO1xuICAgICAgICBjb25zdCBsb2cyID0gKG4pID0+IE1hdGgubG9nKG4pIC8gTWF0aC5sb2coMik7XG4gICAgICAgIGNvbnN0IG1ldHJpY05ORGVzY2VudCA9IG5uRGVzY2VudC5tYWtlTk5EZXNjZW50KGRpc3RhbmNlRm4sIHRoaXMucmFuZG9tKTtcbiAgICAgICAgLy8gSGFuZGxlIHB5dGhvbjMgcm91bmRpbmcgZG93biBmcm9tIDAuNSBkaXNjcnBhbmN5XG4gICAgICAgIGNvbnN0IHJvdW5kID0gKG4pID0+IHtcbiAgICAgICAgICAgIHJldHVybiBuID09PSAwLjUgPyAwIDogTWF0aC5yb3VuZChuKTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgblRyZWVzID0gNSArIE1hdGguZmxvb3Iocm91bmQoWC5sZW5ndGggKiogMC41IC8gMjAuMCkpO1xuICAgICAgICBjb25zdCBuSXRlcnMgPSBNYXRoLm1heCg1LCBNYXRoLmZsb29yKE1hdGgucm91bmQobG9nMihYLmxlbmd0aCkpKSk7XG4gICAgICAgIHRoaXMucnBGb3Jlc3QgPSB0cmVlLm1ha2VGb3Jlc3QoWCwgbk5laWdoYm9ycywgblRyZWVzLCB0aGlzLnJhbmRvbSk7XG4gICAgICAgIGNvbnN0IGxlYWZBcnJheSA9IHRyZWUubWFrZUxlYWZBcnJheSh0aGlzLnJwRm9yZXN0KTtcbiAgICAgICAgY29uc3QgeyBpbmRpY2VzLCB3ZWlnaHRzIH0gPSBtZXRyaWNOTkRlc2NlbnQoWCwgbGVhZkFycmF5LCBuTmVpZ2hib3JzLCBuSXRlcnMpO1xuICAgICAgICByZXR1cm4geyBrbm5JbmRpY2VzOiBpbmRpY2VzLCBrbm5EaXN0YW5jZXM6IHdlaWdodHMgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2l2ZW4gYSBzZXQgb2YgZGF0YSBYLCBhIG5laWdoYm9yaG9vZCBzaXplLCBhbmQgYSBtZWFzdXJlIG9mIGRpc3RhbmNlXG4gICAgICogY29tcHV0ZSB0aGUgZnV6enkgc2ltcGxpY2lhbCBzZXQgKGhlcmUgcmVwcmVzZW50ZWQgYXMgYSBmdXp6eSBncmFwaCBpblxuICAgICAqIHRoZSBmb3JtIG9mIGEgc3BhcnNlIG1hdHJpeCkgYXNzb2NpYXRlZCB0byB0aGUgZGF0YS4gVGhpcyBpcyBkb25lIGJ5XG4gICAgICogbG9jYWxseSBhcHByb3hpbWF0aW5nIGdlb2Rlc2ljIGRpc3RhbmNlIGF0IGVhY2ggcG9pbnQsIGNyZWF0aW5nIGEgZnV6enlcbiAgICAgKiBzaW1wbGljaWFsIHNldCBmb3IgZWFjaCBzdWNoIHBvaW50LCBhbmQgdGhlbiBjb21iaW5pbmcgYWxsIHRoZSBsb2NhbFxuICAgICAqIGZ1enp5IHNpbXBsaWNpYWwgc2V0cyBpbnRvIGEgZ2xvYmFsIG9uZSB2aWEgYSBmdXp6eSB1bmlvbi5cbiAgICAgKi9cbiAgICBmdXp6eVNpbXBsaWNpYWxTZXQoWCwgbk5laWdoYm9ycywgc2V0T3BNaXhSYXRpbyA9IDEuMCkge1xuICAgICAgICBjb25zdCB7IGtubkluZGljZXMgPSBbXSwga25uRGlzdGFuY2VzID0gW10sIGxvY2FsQ29ubmVjdGl2aXR5IH0gPSB0aGlzO1xuICAgICAgICBjb25zdCB7IHNpZ21hcywgcmhvcyB9ID0gdGhpcy5zbW9vdGhLTk5EaXN0YW5jZShrbm5EaXN0YW5jZXMsIG5OZWlnaGJvcnMsIGxvY2FsQ29ubmVjdGl2aXR5KTtcbiAgICAgICAgY29uc3QgeyByb3dzLCBjb2xzLCB2YWxzIH0gPSB0aGlzLmNvbXB1dGVNZW1iZXJzaGlwU3RyZW5ndGhzKGtubkluZGljZXMsIGtubkRpc3RhbmNlcywgc2lnbWFzLCByaG9zKTtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IFtYLmxlbmd0aCwgWC5sZW5ndGhdO1xuICAgICAgICBjb25zdCBzcGFyc2VNYXRyaXggPSBuZXcgbWF0cml4LlNwYXJzZU1hdHJpeChyb3dzLCBjb2xzLCB2YWxzLCBzaXplKTtcbiAgICAgICAgY29uc3QgdHJhbnNwb3NlID0gbWF0cml4LnRyYW5zcG9zZShzcGFyc2VNYXRyaXgpO1xuICAgICAgICBjb25zdCBwcm9kTWF0cml4ID0gbWF0cml4LnBhaXJ3aXNlTXVsdGlwbHkoc3BhcnNlTWF0cml4LCB0cmFuc3Bvc2UpO1xuICAgICAgICBjb25zdCBhID0gbWF0cml4LnN1YnRyYWN0KG1hdHJpeC5hZGQoc3BhcnNlTWF0cml4LCB0cmFuc3Bvc2UpLCBwcm9kTWF0cml4KTtcbiAgICAgICAgY29uc3QgYiA9IG1hdHJpeC5tdWx0aXBseVNjYWxhcihhLCBzZXRPcE1peFJhdGlvKTtcbiAgICAgICAgY29uc3QgYyA9IG1hdHJpeC5tdWx0aXBseVNjYWxhcihwcm9kTWF0cml4LCAxLjAgLSBzZXRPcE1peFJhdGlvKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gbWF0cml4LmFkZChiLCBjKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29tYmluZSBhIGZ1enp5IHNpbXBsaWNpYWwgc2V0IHdpdGggYW5vdGhlciBmdXp6eSBzaW1wbGljaWFsIHNldFxuICAgICAqIGdlbmVyYXRlZCBmcm9tIGNhdGVnb3JpY2FsIGRhdGEgdXNpbmcgY2F0ZWdvcmljYWwgZGlzdGFuY2VzLiBUaGUgdGFyZ2V0XG4gICAgICogZGF0YSBpcyBhc3N1bWVkIHRvIGJlIGNhdGVnb3JpY2FsIGxhYmVsIGRhdGEgKGEgdmVjdG9yIG9mIGxhYmVscyksXG4gICAgICogYW5kIHRoaXMgd2lsbCB1cGRhdGUgdGhlIGZ1enp5IHNpbXBsaWNpYWwgc2V0IHRvIHJlc3BlY3QgdGhhdCBsYWJlbCBkYXRhLlxuICAgICAqL1xuICAgIGNhdGVnb3JpY2FsU2ltcGxpY2lhbFNldEludGVyc2VjdGlvbihzaW1wbGljaWFsU2V0LCB0YXJnZXQsIGZhckRpc3QsIHVua25vd25EaXN0ID0gMS4wKSB7XG4gICAgICAgIGxldCBpbnRlcnNlY3Rpb24gPSBmYXN0SW50ZXJzZWN0aW9uKHNpbXBsaWNpYWxTZXQsIHRhcmdldCwgdW5rbm93bkRpc3QsIGZhckRpc3QpO1xuICAgICAgICBpbnRlcnNlY3Rpb24gPSBtYXRyaXguZWxpbWluYXRlWmVyb3MoaW50ZXJzZWN0aW9uKTtcbiAgICAgICAgcmV0dXJuIHJlc2V0TG9jYWxDb25uZWN0aXZpdHkoaW50ZXJzZWN0aW9uKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29tcHV0ZSBhIGNvbnRpbnVvdXMgdmVyc2lvbiBvZiB0aGUgZGlzdGFuY2UgdG8gdGhlIGt0aCBuZWFyZXN0XG4gICAgICogbmVpZ2hib3IuIFRoYXQgaXMsIHRoaXMgaXMgc2ltaWxhciB0byBrbm4tZGlzdGFuY2UgYnV0IGFsbG93cyBjb250aW51b3VzXG4gICAgICogayB2YWx1ZXMgcmF0aGVyIHRoYW4gcmVxdWlyaW5nIGFuIGludGVncmFsIGsuIEluIGVzc2NlbmNlIHdlIGFyZSBzaW1wbHlcbiAgICAgKiBjb21wdXRpbmcgdGhlIGRpc3RhbmNlIHN1Y2ggdGhhdCB0aGUgY2FyZGluYWxpdHkgb2YgZnV6enkgc2V0IHdlIGdlbmVyYXRlXG4gICAgICogaXMgay5cbiAgICAgKi9cbiAgICBzbW9vdGhLTk5EaXN0YW5jZShkaXN0YW5jZXMsIGssIGxvY2FsQ29ubmVjdGl2aXR5ID0gMS4wLCBuSXRlciA9IDY0LCBiYW5kd2lkdGggPSAxLjApIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gKE1hdGgubG9nKGspIC8gTWF0aC5sb2coMikpICogYmFuZHdpZHRoO1xuICAgICAgICBjb25zdCByaG8gPSB1dGlscy56ZXJvcyhkaXN0YW5jZXMubGVuZ3RoKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdXRpbHMuemVyb3MoZGlzdGFuY2VzLmxlbmd0aCk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGlzdGFuY2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgbG8gPSAwLjA7XG4gICAgICAgICAgICBsZXQgaGkgPSBJbmZpbml0eTtcbiAgICAgICAgICAgIGxldCBtaWQgPSAxLjA7XG4gICAgICAgICAgICAvLyBUT0RPOiBUaGlzIGlzIHZlcnkgaW5lZmZpY2llbnQsIGJ1dCB3aWxsIGRvIGZvciBub3cuIEZJWE1FXG4gICAgICAgICAgICBjb25zdCBpdGhEaXN0YW5jZXMgPSBkaXN0YW5jZXNbaV07XG4gICAgICAgICAgICBjb25zdCBub25aZXJvRGlzdHMgPSBpdGhEaXN0YW5jZXMuZmlsdGVyKGQgPT4gZCA+IDAuMCk7XG4gICAgICAgICAgICBpZiAobm9uWmVyb0Rpc3RzLmxlbmd0aCA+PSBsb2NhbENvbm5lY3Rpdml0eSkge1xuICAgICAgICAgICAgICAgIGxldCBpbmRleCA9IE1hdGguZmxvb3IobG9jYWxDb25uZWN0aXZpdHkpO1xuICAgICAgICAgICAgICAgIGxldCBpbnRlcnBvbGF0aW9uID0gbG9jYWxDb25uZWN0aXZpdHkgLSBpbmRleDtcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJob1tpXSA9IG5vblplcm9EaXN0c1tpbmRleCAtIDFdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaW50ZXJwb2xhdGlvbiA+IFNNT09USF9LX1RPTEVSQU5DRSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmhvW2ldICs9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJwb2xhdGlvbiAqIChub25aZXJvRGlzdHNbaW5kZXhdIC0gbm9uWmVyb0Rpc3RzW2luZGV4IC0gMV0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByaG9baV0gPSBpbnRlcnBvbGF0aW9uICogbm9uWmVyb0Rpc3RzWzBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKG5vblplcm9EaXN0cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgcmhvW2ldID0gdXRpbHMubWF4KG5vblplcm9EaXN0cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKGxldCBuID0gMDsgbiA8IG5JdGVyOyBuKyspIHtcbiAgICAgICAgICAgICAgICBsZXQgcHN1bSA9IDAuMDtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMTsgaiA8IGRpc3RhbmNlc1tpXS5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkID0gZGlzdGFuY2VzW2ldW2pdIC0gcmhvW2ldO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBzdW0gKz0gTWF0aC5leHAoLShkIC8gbWlkKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwc3VtICs9IDEuMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoTWF0aC5hYnMocHN1bSAtIHRhcmdldCkgPCBTTU9PVEhfS19UT0xFUkFOQ0UpIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChwc3VtID4gdGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgICAgIGhpID0gbWlkO1xuICAgICAgICAgICAgICAgICAgICBtaWQgPSAobG8gKyBoaSkgLyAyLjA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBsbyA9IG1pZDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGhpID09PSBJbmZpbml0eSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWlkICo9IDI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtaWQgPSAobG8gKyBoaSkgLyAyLjA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXN1bHRbaV0gPSBtaWQ7XG4gICAgICAgICAgICAvLyBUT0RPOiBUaGlzIGlzIHZlcnkgaW5lZmZpY2llbnQsIGJ1dCB3aWxsIGRvIGZvciBub3cuIEZJWE1FXG4gICAgICAgICAgICBpZiAocmhvW2ldID4gMC4wKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVhbkl0aERpc3RhbmNlcyA9IHV0aWxzLm1lYW4oaXRoRGlzdGFuY2VzKTtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0W2ldIDwgTUlOX0tfRElTVF9TQ0FMRSAqIG1lYW5JdGhEaXN0YW5jZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0W2ldID0gTUlOX0tfRElTVF9TQ0FMRSAqIG1lYW5JdGhEaXN0YW5jZXM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVhbkRpc3RhbmNlcyA9IHV0aWxzLm1lYW4oZGlzdGFuY2VzLm1hcCh1dGlscy5tZWFuKSk7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdFtpXSA8IE1JTl9LX0RJU1RfU0NBTEUgKiBtZWFuRGlzdGFuY2VzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtpXSA9IE1JTl9LX0RJU1RfU0NBTEUgKiBtZWFuRGlzdGFuY2VzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBzaWdtYXM6IHJlc3VsdCwgcmhvczogcmhvIH07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdCB0aGUgbWVtYmVyc2hpcCBzdHJlbmd0aCBkYXRhIGZvciB0aGUgMS1za2VsZXRvbiBvZiBlYWNoIGxvY2FsXG4gICAgICogZnV6enkgc2ltcGxpY2lhbCBzZXQgLS0gdGhpcyBpcyBmb3JtZWQgYXMgYSBzcGFyc2UgbWF0cml4IHdoZXJlIGVhY2ggcm93IGlzXG4gICAgICogYSBsb2NhbCBmdXp6eSBzaW1wbGljaWFsIHNldCwgd2l0aCBhIG1lbWJlcnNoaXAgc3RyZW5ndGggZm9yIHRoZVxuICAgICAqIDEtc2ltcGxleCB0byBlYWNoIG90aGVyIGRhdGEgcG9pbnQuXG4gICAgICovXG4gICAgY29tcHV0ZU1lbWJlcnNoaXBTdHJlbmd0aHMoa25uSW5kaWNlcywga25uRGlzdGFuY2VzLCBzaWdtYXMsIHJob3MpIHtcbiAgICAgICAgY29uc3QgblNhbXBsZXMgPSBrbm5JbmRpY2VzLmxlbmd0aDtcbiAgICAgICAgY29uc3Qgbk5laWdoYm9ycyA9IGtubkluZGljZXNbMF0ubGVuZ3RoO1xuICAgICAgICBjb25zdCByb3dzID0gdXRpbHMuemVyb3MoblNhbXBsZXMgKiBuTmVpZ2hib3JzKTtcbiAgICAgICAgY29uc3QgY29scyA9IHV0aWxzLnplcm9zKG5TYW1wbGVzICogbk5laWdoYm9ycyk7XG4gICAgICAgIGNvbnN0IHZhbHMgPSB1dGlscy56ZXJvcyhuU2FtcGxlcyAqIG5OZWlnaGJvcnMpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5TYW1wbGVzOyBpKyspIHtcbiAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgbk5laWdoYm9yczsgaisrKSB7XG4gICAgICAgICAgICAgICAgbGV0IHZhbCA9IDA7XG4gICAgICAgICAgICAgICAgaWYgKGtubkluZGljZXNbaV1bal0gPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOyAvLyBXZSBkaWRuJ3QgZ2V0IHRoZSBmdWxsIGtubiBmb3IgaVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoa25uSW5kaWNlc1tpXVtqXSA9PT0gaSkge1xuICAgICAgICAgICAgICAgICAgICB2YWwgPSAwLjA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGtubkRpc3RhbmNlc1tpXVtqXSAtIHJob3NbaV0gPD0gMC4wKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbCA9IDEuMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbCA9IE1hdGguZXhwKC0oKGtubkRpc3RhbmNlc1tpXVtqXSAtIHJob3NbaV0pIC8gc2lnbWFzW2ldKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJvd3NbaSAqIG5OZWlnaGJvcnMgKyBqXSA9IGk7XG4gICAgICAgICAgICAgICAgY29sc1tpICogbk5laWdoYm9ycyArIGpdID0ga25uSW5kaWNlc1tpXVtqXTtcbiAgICAgICAgICAgICAgICB2YWxzW2kgKiBuTmVpZ2hib3JzICsgal0gPSB2YWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgcm93cywgY29scywgdmFscyB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplIGEgZnV6enkgc2ltcGxpY2lhbCBzZXQgZW1iZWRkaW5nLCB1c2luZyBhIHNwZWNpZmllZFxuICAgICAqIGluaXRpYWxpc2F0aW9uIG1ldGhvZCBhbmQgdGhlbiBtaW5pbWl6aW5nIHRoZSBmdXp6eSBzZXQgY3Jvc3MgZW50cm9weVxuICAgICAqIGJldHdlZW4gdGhlIDEtc2tlbGV0b25zIG9mIHRoZSBoaWdoIGFuZCBsb3cgZGltZW5zaW9uYWwgZnV6enkgc2ltcGxpY2lhbFxuICAgICAqIHNldHMuXG4gICAgICovXG4gICAgaW5pdGlhbGl6ZVNpbXBsaWNpYWxTZXRFbWJlZGRpbmcoKSB7XG4gICAgICAgIGNvbnN0IG5FcG9jaHMgPSB0aGlzLmdldE5FcG9jaHMoKTtcbiAgICAgICAgY29uc3QgeyBuQ29tcG9uZW50cyB9ID0gdGhpcztcbiAgICAgICAgY29uc3QgZ3JhcGhWYWx1ZXMgPSB0aGlzLmdyYXBoLmdldFZhbHVlcygpO1xuICAgICAgICBsZXQgZ3JhcGhNYXggPSAwO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdyYXBoVmFsdWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGdyYXBoVmFsdWVzW2ldO1xuICAgICAgICAgICAgaWYgKGdyYXBoTWF4IDwgZ3JhcGhWYWx1ZXNbaV0pIHtcbiAgICAgICAgICAgICAgICBncmFwaE1heCA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGdyYXBoID0gdGhpcy5ncmFwaC5tYXAodmFsdWUgPT4ge1xuICAgICAgICAgICAgaWYgKHZhbHVlIDwgZ3JhcGhNYXggLyBuRXBvY2hzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBXZSdyZSBub3QgY29tcHV0aW5nIHRoZSBzcGVjdHJhbCBpbml0aWFsaXphdGlvbiBpbiB0aGlzIGltcGxlbWVudGF0aW9uXG4gICAgICAgIC8vIHVudGlsIHdlIGRldGVybWluZSBhIGJldHRlciBlaWdlbnZhbHVlL2VpZ2VudmVjdG9yIGNvbXB1dGF0aW9uXG4gICAgICAgIC8vIGFwcHJvYWNoXG4gICAgICAgIHRoaXMuZW1iZWRkaW5nID0gdXRpbHMuemVyb3MoZ3JhcGgublJvd3MpLm1hcCgoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdXRpbHMuemVyb3MobkNvbXBvbmVudHMpLm1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHV0aWxzLnRhdVJhbmQodGhpcy5yYW5kb20pICogMjAgKyAtMTA7IC8vIFJhbmRvbSBmcm9tIC0xMCB0byAxMFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBHZXQgZ3JhcGggZGF0YSBpbiBvcmRlcmVkIHdheS4uLlxuICAgICAgICBjb25zdCB3ZWlnaHRzID0gW107XG4gICAgICAgIGNvbnN0IGhlYWQgPSBbXTtcbiAgICAgICAgY29uc3QgdGFpbCA9IFtdO1xuICAgICAgICBjb25zdCByb3dDb2xWYWx1ZXMgPSBncmFwaC5nZXRBbGwoKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3dDb2xWYWx1ZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGVudHJ5ID0gcm93Q29sVmFsdWVzW2ldO1xuICAgICAgICAgICAgaWYgKGVudHJ5LnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgd2VpZ2h0cy5wdXNoKGVudHJ5LnZhbHVlKTtcbiAgICAgICAgICAgICAgICB0YWlsLnB1c2goZW50cnkucm93KTtcbiAgICAgICAgICAgICAgICBoZWFkLnB1c2goZW50cnkuY29sKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlcG9jaHNQZXJTYW1wbGUgPSB0aGlzLm1ha2VFcG9jaHNQZXJTYW1wbGUod2VpZ2h0cywgbkVwb2Nocyk7XG4gICAgICAgIHJldHVybiB7IGhlYWQsIHRhaWwsIGVwb2Noc1BlclNhbXBsZSB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHaXZlbiBhIHNldCBvZiB3ZWlnaHRzIGFuZCBudW1iZXIgb2YgZXBvY2hzIGdlbmVyYXRlIHRoZSBudW1iZXIgb2ZcbiAgICAgKiBlcG9jaHMgcGVyIHNhbXBsZSBmb3IgZWFjaCB3ZWlnaHQuXG4gICAgICovXG4gICAgbWFrZUVwb2Noc1BlclNhbXBsZSh3ZWlnaHRzLCBuRXBvY2hzKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHV0aWxzLmZpbGxlZCh3ZWlnaHRzLmxlbmd0aCwgLTEuMCk7XG4gICAgICAgIGNvbnN0IG1heCA9IHV0aWxzLm1heCh3ZWlnaHRzKTtcbiAgICAgICAgY29uc3QgblNhbXBsZXMgPSB3ZWlnaHRzLm1hcCh3ID0+ICh3IC8gbWF4KSAqIG5FcG9jaHMpO1xuICAgICAgICBuU2FtcGxlcy5mb3JFYWNoKChuLCBpKSA9PiB7XG4gICAgICAgICAgICBpZiAobiA+IDApXG4gICAgICAgICAgICAgICAgcmVzdWx0W2ldID0gbkVwb2NocyAvIG5TYW1wbGVzW2ldO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQXNzaWducyBvcHRpbWl6YXRpb24gc3RhdGUgcGFyYW1ldGVycyBmcm9tIGEgcGFydGlhbCBvcHRpbWl6YXRpb24gc3RhdGUuXG4gICAgICovXG4gICAgYXNzaWduT3B0aW1pemF0aW9uU3RhdGVQYXJhbWV0ZXJzKHN0YXRlKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5vcHRpbWl6YXRpb25TdGF0ZSwgc3RhdGUpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXRzIGEgZmV3IG9wdGltaXphdGlvbiBzdGF0ZSBwYXJhbWV0ZXJzIHRoYXQgYXJlIG5lY2Vzc2FyeSBiZWZvcmUgZW50ZXJpbmdcbiAgICAgKiB0aGUgb3B0aW1pemF0aW9uIHN0ZXAgbG9vcC5cbiAgICAgKi9cbiAgICBwcmVwYXJlRm9yT3B0aW1pemF0aW9uTG9vcCgpIHtcbiAgICAgICAgLy8gSHlwZXJwYXJhbWV0ZXJzXG4gICAgICAgIGNvbnN0IHsgcmVwdWxzaW9uU3RyZW5ndGgsIGxlYXJuaW5nUmF0ZSwgbmVnYXRpdmVTYW1wbGVSYXRlIH0gPSB0aGlzO1xuICAgICAgICBjb25zdCB7IGVwb2Noc1BlclNhbXBsZSwgaGVhZEVtYmVkZGluZywgdGFpbEVtYmVkZGluZywgfSA9IHRoaXMub3B0aW1pemF0aW9uU3RhdGU7XG4gICAgICAgIGNvbnN0IGRpbSA9IGhlYWRFbWJlZGRpbmdbMF0ubGVuZ3RoO1xuICAgICAgICBjb25zdCBtb3ZlT3RoZXIgPSBoZWFkRW1iZWRkaW5nLmxlbmd0aCA9PT0gdGFpbEVtYmVkZGluZy5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGVwb2Noc1Blck5lZ2F0aXZlU2FtcGxlID0gZXBvY2hzUGVyU2FtcGxlLm1hcChlID0+IGUgLyBuZWdhdGl2ZVNhbXBsZVJhdGUpO1xuICAgICAgICBjb25zdCBlcG9jaE9mTmV4dE5lZ2F0aXZlU2FtcGxlID0gWy4uLmVwb2Noc1Blck5lZ2F0aXZlU2FtcGxlXTtcbiAgICAgICAgY29uc3QgZXBvY2hPZk5leHRTYW1wbGUgPSBbLi4uZXBvY2hzUGVyU2FtcGxlXTtcbiAgICAgICAgdGhpcy5hc3NpZ25PcHRpbWl6YXRpb25TdGF0ZVBhcmFtZXRlcnMoe1xuICAgICAgICAgICAgZXBvY2hPZk5leHRTYW1wbGUsXG4gICAgICAgICAgICBlcG9jaE9mTmV4dE5lZ2F0aXZlU2FtcGxlLFxuICAgICAgICAgICAgZXBvY2hzUGVyTmVnYXRpdmVTYW1wbGUsXG4gICAgICAgICAgICBtb3ZlT3RoZXIsXG4gICAgICAgICAgICBpbml0aWFsQWxwaGE6IGxlYXJuaW5nUmF0ZSxcbiAgICAgICAgICAgIGFscGhhOiBsZWFybmluZ1JhdGUsXG4gICAgICAgICAgICBnYW1tYTogcmVwdWxzaW9uU3RyZW5ndGgsXG4gICAgICAgICAgICBkaW0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplcyBvcHRpbWl6YXRpb24gc3RhdGUgZm9yIHN0ZXB3aXNlIG9wdGltaXphdGlvbi5cbiAgICAgKi9cbiAgICBpbml0aWFsaXplT3B0aW1pemF0aW9uKCkge1xuICAgICAgICAvLyBBbGdvcml0aG0gc3RhdGVcbiAgICAgICAgY29uc3QgaGVhZEVtYmVkZGluZyA9IHRoaXMuZW1iZWRkaW5nO1xuICAgICAgICBjb25zdCB0YWlsRW1iZWRkaW5nID0gdGhpcy5lbWJlZGRpbmc7XG4gICAgICAgIC8vIEluaXRpYWxpemVkIGluIGluaXRpYWxpemVTaW1wbGljaWFsU2V0RW1iZWRkaW5nKClcbiAgICAgICAgY29uc3QgeyBoZWFkLCB0YWlsLCBlcG9jaHNQZXJTYW1wbGUgfSA9IHRoaXMub3B0aW1pemF0aW9uU3RhdGU7XG4gICAgICAgIGNvbnN0IG5FcG9jaHMgPSB0aGlzLmdldE5FcG9jaHMoKTtcbiAgICAgICAgY29uc3QgblZlcnRpY2VzID0gdGhpcy5ncmFwaC5uQ29scztcbiAgICAgICAgY29uc3QgeyBhLCBiIH0gPSBmaW5kQUJQYXJhbXModGhpcy5zcHJlYWQsIHRoaXMubWluRGlzdCk7XG4gICAgICAgIHRoaXMuYXNzaWduT3B0aW1pemF0aW9uU3RhdGVQYXJhbWV0ZXJzKHtcbiAgICAgICAgICAgIGhlYWRFbWJlZGRpbmcsXG4gICAgICAgICAgICB0YWlsRW1iZWRkaW5nLFxuICAgICAgICAgICAgaGVhZCxcbiAgICAgICAgICAgIHRhaWwsXG4gICAgICAgICAgICBlcG9jaHNQZXJTYW1wbGUsXG4gICAgICAgICAgICBhLFxuICAgICAgICAgICAgYixcbiAgICAgICAgICAgIG5FcG9jaHMsXG4gICAgICAgICAgICBuVmVydGljZXMsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJbXByb3ZlIGFuIGVtYmVkZGluZyB1c2luZyBzdG9jaGFzdGljIGdyYWRpZW50IGRlc2NlbnQgdG8gbWluaW1pemUgdGhlXG4gICAgICogZnV6enkgc2V0IGNyb3NzIGVudHJvcHkgYmV0d2VlbiB0aGUgMS1za2VsZXRvbnMgb2YgdGhlIGhpZ2ggZGltZW5zaW9uYWxcbiAgICAgKiBhbmQgbG93IGRpbWVuc2lvbmFsIGZ1enp5IHNpbXBsaWNpYWwgc2V0cy4gSW4gcHJhY3RpY2UgdGhpcyBpcyBkb25lIGJ5XG4gICAgICogc2FtcGxpbmcgZWRnZXMgYmFzZWQgb24gdGhlaXIgbWVtYmVyc2hpcCBzdHJlbmd0aCAod2l0aCB0aGUgKDEtcCkgdGVybXNcbiAgICAgKiBjb21pbmcgZnJvbSBuZWdhdGl2ZSBzYW1wbGluZyBzaW1pbGFyIHRvIHdvcmQydmVjKS5cbiAgICAgKi9cbiAgICBvcHRpbWl6ZUxheW91dFN0ZXAobikge1xuICAgICAgICBjb25zdCB7IG9wdGltaXphdGlvblN0YXRlIH0gPSB0aGlzO1xuICAgICAgICBjb25zdCB7IGhlYWQsIHRhaWwsIGhlYWRFbWJlZGRpbmcsIHRhaWxFbWJlZGRpbmcsIGVwb2Noc1BlclNhbXBsZSwgZXBvY2hPZk5leHRTYW1wbGUsIGVwb2NoT2ZOZXh0TmVnYXRpdmVTYW1wbGUsIGVwb2Noc1Blck5lZ2F0aXZlU2FtcGxlLCBtb3ZlT3RoZXIsIGluaXRpYWxBbHBoYSwgYWxwaGEsIGdhbW1hLCBhLCBiLCBkaW0sIG5FcG9jaHMsIG5WZXJ0aWNlcywgfSA9IG9wdGltaXphdGlvblN0YXRlO1xuICAgICAgICBjb25zdCBjbGlwVmFsdWUgPSA0LjA7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZXBvY2hzUGVyU2FtcGxlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZXBvY2hPZk5leHRTYW1wbGVbaV0gPiBuKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBqID0gaGVhZFtpXTtcbiAgICAgICAgICAgIGNvbnN0IGsgPSB0YWlsW2ldO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudCA9IGhlYWRFbWJlZGRpbmdbal07XG4gICAgICAgICAgICBjb25zdCBvdGhlciA9IHRhaWxFbWJlZGRpbmdba107XG4gICAgICAgICAgICBjb25zdCBkaXN0U3F1YXJlZCA9IHJEaXN0KGN1cnJlbnQsIG90aGVyKTtcbiAgICAgICAgICAgIGxldCBncmFkQ29lZmYgPSAwO1xuICAgICAgICAgICAgaWYgKGRpc3RTcXVhcmVkID4gMCkge1xuICAgICAgICAgICAgICAgIGdyYWRDb2VmZiA9IC0yLjAgKiBhICogYiAqIE1hdGgucG93KGRpc3RTcXVhcmVkLCBiIC0gMS4wKTtcbiAgICAgICAgICAgICAgICBncmFkQ29lZmYgLz0gYSAqIE1hdGgucG93KGRpc3RTcXVhcmVkLCBiKSArIDEuMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvciAobGV0IGQgPSAwOyBkIDwgZGltOyBkKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBncmFkRCA9IGNsaXAoZ3JhZENvZWZmICogKGN1cnJlbnRbZF0gLSBvdGhlcltkXSksIGNsaXBWYWx1ZSk7XG4gICAgICAgICAgICAgICAgY3VycmVudFtkXSArPSBncmFkRCAqIGFscGhhO1xuICAgICAgICAgICAgICAgIGlmIChtb3ZlT3RoZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgb3RoZXJbZF0gKz0gLWdyYWREICogYWxwaGE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXBvY2hPZk5leHRTYW1wbGVbaV0gKz0gZXBvY2hzUGVyU2FtcGxlW2ldO1xuICAgICAgICAgICAgY29uc3Qgbk5lZ1NhbXBsZXMgPSBNYXRoLmZsb29yKChuIC0gZXBvY2hPZk5leHROZWdhdGl2ZVNhbXBsZVtpXSkgLyBlcG9jaHNQZXJOZWdhdGl2ZVNhbXBsZVtpXSk7XG4gICAgICAgICAgICBmb3IgKGxldCBwID0gMDsgcCA8IG5OZWdTYW1wbGVzOyBwKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBrID0gdXRpbHMudGF1UmFuZEludChuVmVydGljZXMsIHRoaXMucmFuZG9tKTtcbiAgICAgICAgICAgICAgICBjb25zdCBvdGhlciA9IHRhaWxFbWJlZGRpbmdba107XG4gICAgICAgICAgICAgICAgY29uc3QgZGlzdFNxdWFyZWQgPSByRGlzdChjdXJyZW50LCBvdGhlcik7XG4gICAgICAgICAgICAgICAgbGV0IGdyYWRDb2VmZiA9IDAuMDtcbiAgICAgICAgICAgICAgICBpZiAoZGlzdFNxdWFyZWQgPiAwLjApIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JhZENvZWZmID0gMi4wICogZ2FtbWEgKiBiO1xuICAgICAgICAgICAgICAgICAgICBncmFkQ29lZmYgLz1cbiAgICAgICAgICAgICAgICAgICAgICAgICgwLjAwMSArIGRpc3RTcXVhcmVkKSAqIChhICogTWF0aC5wb3coZGlzdFNxdWFyZWQsIGIpICsgMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGogPT09IGspIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGZvciAobGV0IGQgPSAwOyBkIDwgZGltOyBkKyspIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGdyYWREID0gNC4wO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZ3JhZENvZWZmID4gMC4wKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmFkRCA9IGNsaXAoZ3JhZENvZWZmICogKGN1cnJlbnRbZF0gLSBvdGhlcltkXSksIGNsaXBWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY3VycmVudFtkXSArPSBncmFkRCAqIGFscGhhO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVwb2NoT2ZOZXh0TmVnYXRpdmVTYW1wbGVbaV0gKz0gbk5lZ1NhbXBsZXMgKiBlcG9jaHNQZXJOZWdhdGl2ZVNhbXBsZVtpXTtcbiAgICAgICAgfVxuICAgICAgICBvcHRpbWl6YXRpb25TdGF0ZS5hbHBoYSA9IGluaXRpYWxBbHBoYSAqICgxLjAgLSBuIC8gbkVwb2Nocyk7XG4gICAgICAgIG9wdGltaXphdGlvblN0YXRlLmN1cnJlbnRFcG9jaCArPSAxO1xuICAgICAgICByZXR1cm4gaGVhZEVtYmVkZGluZztcbiAgICB9XG4gICAgLyoqXG4gICAgICogSW1wcm92ZSBhbiBlbWJlZGRpbmcgdXNpbmcgc3RvY2hhc3RpYyBncmFkaWVudCBkZXNjZW50IHRvIG1pbmltaXplIHRoZVxuICAgICAqIGZ1enp5IHNldCBjcm9zcyBlbnRyb3B5IGJldHdlZW4gdGhlIDEtc2tlbGV0b25zIG9mIHRoZSBoaWdoIGRpbWVuc2lvbmFsXG4gICAgICogYW5kIGxvdyBkaW1lbnNpb25hbCBmdXp6eSBzaW1wbGljaWFsIHNldHMuIEluIHByYWN0aWNlIHRoaXMgaXMgZG9uZSBieVxuICAgICAqIHNhbXBsaW5nIGVkZ2VzIGJhc2VkIG9uIHRoZWlyIG1lbWJlcnNoaXAgc3RyZW5ndGggKHdpdGggdGhlICgxLXApIHRlcm1zXG4gICAgICogY29taW5nIGZyb20gbmVnYXRpdmUgc2FtcGxpbmcgc2ltaWxhciB0byB3b3JkMnZlYykuXG4gICAgICovXG4gICAgb3B0aW1pemVMYXlvdXRBc3luYyhlcG9jaENhbGxiYWNrID0gKCkgPT4gdHJ1ZSkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3RlcCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IG5FcG9jaHMsIGN1cnJlbnRFcG9jaCB9ID0gdGhpcy5vcHRpbWl6YXRpb25TdGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbWJlZGRpbmcgPSB0aGlzLm9wdGltaXplTGF5b3V0U3RlcChjdXJyZW50RXBvY2gpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcG9jaENvbXBsZXRlZCA9IHRoaXMub3B0aW1pemF0aW9uU3RhdGUuY3VycmVudEVwb2NoO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzaG91bGRTdG9wID0gZXBvY2hDYWxsYmFjayhlcG9jaENvbXBsZXRlZCkgPT09IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0ZpbmlzaGVkID0gZXBvY2hDb21wbGV0ZWQgPT09IG5FcG9jaHM7XG4gICAgICAgICAgICAgICAgICAgIGlmICghc2hvdWxkU3RvcCAmJiAhaXNGaW5pc2hlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBzdGVwKCksIDApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUoaXNGaW5pc2hlZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBzdGVwKCksIDApO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogSW1wcm92ZSBhbiBlbWJlZGRpbmcgdXNpbmcgc3RvY2hhc3RpYyBncmFkaWVudCBkZXNjZW50IHRvIG1pbmltaXplIHRoZVxuICAgICAqIGZ1enp5IHNldCBjcm9zcyBlbnRyb3B5IGJldHdlZW4gdGhlIDEtc2tlbGV0b25zIG9mIHRoZSBoaWdoIGRpbWVuc2lvbmFsXG4gICAgICogYW5kIGxvdyBkaW1lbnNpb25hbCBmdXp6eSBzaW1wbGljaWFsIHNldHMuIEluIHByYWN0aWNlIHRoaXMgaXMgZG9uZSBieVxuICAgICAqIHNhbXBsaW5nIGVkZ2VzIGJhc2VkIG9uIHRoZWlyIG1lbWJlcnNoaXAgc3RyZW5ndGggKHdpdGggdGhlICgxLXApIHRlcm1zXG4gICAgICogY29taW5nIGZyb20gbmVnYXRpdmUgc2FtcGxpbmcgc2ltaWxhciB0byB3b3JkMnZlYykuXG4gICAgICovXG4gICAgb3B0aW1pemVMYXlvdXQoZXBvY2hDYWxsYmFjayA9ICgpID0+IHRydWUpIHtcbiAgICAgICAgbGV0IGlzRmluaXNoZWQgPSBmYWxzZTtcbiAgICAgICAgbGV0IGVtYmVkZGluZyA9IFtdO1xuICAgICAgICB3aGlsZSAoIWlzRmluaXNoZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgbkVwb2NocywgY3VycmVudEVwb2NoIH0gPSB0aGlzLm9wdGltaXphdGlvblN0YXRlO1xuICAgICAgICAgICAgZW1iZWRkaW5nID0gdGhpcy5vcHRpbWl6ZUxheW91dFN0ZXAoY3VycmVudEVwb2NoKTtcbiAgICAgICAgICAgIGNvbnN0IGVwb2NoQ29tcGxldGVkID0gdGhpcy5vcHRpbWl6YXRpb25TdGF0ZS5jdXJyZW50RXBvY2g7XG4gICAgICAgICAgICBjb25zdCBzaG91bGRTdG9wID0gZXBvY2hDYWxsYmFjayhlcG9jaENvbXBsZXRlZCkgPT09IGZhbHNlO1xuICAgICAgICAgICAgaXNGaW5pc2hlZCA9IGVwb2NoQ29tcGxldGVkID09PSBuRXBvY2hzIHx8IHNob3VsZFN0b3A7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGVtYmVkZGluZztcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbnVtYmVyIG9mIGVwb2NocyBmb3Igb3B0aW1pemluZyB0aGUgcHJvamVjdGlvbi5cbiAgICAgKiBOT1RFOiBUaGlzIGhldXJpc3RpYyBkaWZmZXJzIGZyb20gdGhlIHB5dGhvbiB2ZXJzaW9uXG4gICAgICovXG4gICAgZ2V0TkVwb2NocygpIHtcbiAgICAgICAgY29uc3QgZ3JhcGggPSB0aGlzLmdyYXBoO1xuICAgICAgICBpZiAodGhpcy5uRXBvY2hzID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubkVwb2NocztcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWdyYXBoKSB7XG4gICAgICAgICAgICByZXR1cm4gMjAwO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IGdyYXBoLm5Sb3dzO1xuICAgICAgICBpZiAobGVuZ3RoIDw9IDI1MDApIHtcbiAgICAgICAgICAgIHJldHVybiA1MDA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAobGVuZ3RoIDw9IDUwMDApIHtcbiAgICAgICAgICAgIHJldHVybiA0MDA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAobGVuZ3RoIDw9IDc1MDApIHtcbiAgICAgICAgICAgIHJldHVybiAzMDA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gMjAwO1xuICAgICAgICB9XG4gICAgfVxufVxuZXhwb3J0IGZ1bmN0aW9uIGV1Y2xpZGVhbih4LCB5KSB7XG4gICAgbGV0IHJlc3VsdCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB4Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHJlc3VsdCArPSAoeFtpXSAtIHlbaV0pICoqIDI7XG4gICAgfVxuICAgIHJldHVybiBNYXRoLnNxcnQocmVzdWx0KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBudW1lcmljKHgsIHkpIHtcbiAgICBjb25zdCByZXN1bHQgPSBNYXRoLmFicyh4IC0geSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjb3NpbmUoeCwgeSkge1xuICAgIGxldCByZXN1bHQgPSAwLjA7XG4gICAgbGV0IG5vcm1YID0gMC4wO1xuICAgIGxldCBub3JtWSA9IDAuMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHgubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgcmVzdWx0ICs9IHhbaV0gKiB5W2ldO1xuICAgICAgICBub3JtWCArPSB4W2ldICoqIDI7XG4gICAgICAgIG5vcm1ZICs9IHlbaV0gKiogMjtcbiAgICB9XG4gICAgaWYgKG5vcm1YID09PSAwICYmIG5vcm1ZID09PSAwKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICBlbHNlIGlmIChub3JtWCA9PT0gMCB8fCBub3JtWSA9PT0gMCkge1xuICAgICAgICByZXR1cm4gMS4wO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIDEuMCAtIHJlc3VsdCAvIE1hdGguc3FydChub3JtWCAqIG5vcm1ZKTtcbiAgICB9XG59XG4vKipcbiAqIEFuIGludGVyZmFjZSByZXByZXNlbnRpbmcgdGhlIG9wdGltaXphdGlvbiBzdGF0ZSB0cmFja2VkIGJldHdlZW4gc3RlcHMgb2ZcbiAqIHRoZSBTR0Qgb3B0aW1pemF0aW9uXG4gKi9cbmNsYXNzIE9wdGltaXphdGlvblN0YXRlIHtcbiAgICBjdXJyZW50RXBvY2ggPSAwO1xuICAgIC8vIERhdGEgdHJhY2tlZCBkdXJpbmcgb3B0aW1pemF0aW9uIHN0ZXBzLlxuICAgIGhlYWRFbWJlZGRpbmcgPSBbXTtcbiAgICB0YWlsRW1iZWRkaW5nID0gW107XG4gICAgaGVhZCA9IFtdO1xuICAgIHRhaWwgPSBbXTtcbiAgICBlcG9jaHNQZXJTYW1wbGUgPSBbXTtcbiAgICBlcG9jaE9mTmV4dFNhbXBsZSA9IFtdO1xuICAgIGVwb2NoT2ZOZXh0TmVnYXRpdmVTYW1wbGUgPSBbXTtcbiAgICBlcG9jaHNQZXJOZWdhdGl2ZVNhbXBsZSA9IFtdO1xuICAgIG1vdmVPdGhlciA9IHRydWU7XG4gICAgaW5pdGlhbEFscGhhID0gMS4wO1xuICAgIGFscGhhID0gMS4wO1xuICAgIGdhbW1hID0gMS4wO1xuICAgIGEgPSAxLjU3Njk0MzQ2MDMxMTMwNzc7XG4gICAgYiA9IDAuODk1MDYwODc3OTEwOTczMztcbiAgICBkaW0gPSAyO1xuICAgIG5FcG9jaHMgPSA1MDA7XG4gICAgblZlcnRpY2VzID0gMDtcbn1cbi8qKlxuICogU3RhbmRhcmQgY2xhbXBpbmcgb2YgYSB2YWx1ZSBpbnRvIGEgZml4ZWQgcmFuZ2VcbiAqL1xuZnVuY3Rpb24gY2xpcCh4LCBjbGlwVmFsdWUpIHtcbiAgICBpZiAoeCA+IGNsaXBWYWx1ZSlcbiAgICAgICAgcmV0dXJuIGNsaXBWYWx1ZTtcbiAgICBlbHNlIGlmICh4IDwgLWNsaXBWYWx1ZSlcbiAgICAgICAgcmV0dXJuIC1jbGlwVmFsdWU7XG4gICAgZWxzZVxuICAgICAgICByZXR1cm4geDtcbn1cbi8qKlxuICogUmVkdWNlZCBFdWNsaWRlYW4gZGlzdGFuY2UuXG4gKi9cbmZ1bmN0aW9uIHJEaXN0KHgsIHkpIHtcbiAgICBsZXQgcmVzdWx0ID0gMC4wO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgeC5sZW5ndGg7IGkrKykge1xuICAgICAgICByZXN1bHQgKz0gTWF0aC5wb3coeFtpXSAtIHlbaV0sIDIpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuLyoqXG4gKiBGaXQgYSwgYiBwYXJhbXMgZm9yIHRoZSBkaWZmZXJlbnRpYWJsZSBjdXJ2ZSB1c2VkIGluIGxvd2VyXG4gKiBkaW1lbnNpb25hbCBmdXp6eSBzaW1wbGljaWFsIGNvbXBsZXggY29uc3RydWN0aW9uLiBXZSB3YW50IHRoZVxuICogc21vb3RoIGN1cnZlIChmcm9tIGEgcHJlLWRlZmluZWQgZmFtaWx5IHdpdGggc2ltcGxlIGdyYWRpZW50KSB0aGF0XG4gKiBiZXN0IG1hdGNoZXMgYW4gb2Zmc2V0IGV4cG9uZW50aWFsIGRlY2F5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZEFCUGFyYW1zKHNwcmVhZCwgbWluRGlzdCkge1xuICAgIGNvbnN0IGN1cnZlID0gKFthLCBiXSkgPT4gKHgpID0+IHtcbiAgICAgICAgcmV0dXJuIDEuMCAvICgxLjAgKyBhICogeCAqKiAoMiAqIGIpKTtcbiAgICB9O1xuICAgIGNvbnN0IHh2ID0gdXRpbHNcbiAgICAgICAgLmxpbmVhcigwLCBzcHJlYWQgKiAzLCAzMDApXG4gICAgICAgIC5tYXAodmFsID0+ICh2YWwgPCBtaW5EaXN0ID8gMS4wIDogdmFsKSk7XG4gICAgY29uc3QgeXYgPSB1dGlscy56ZXJvcyh4di5sZW5ndGgpLm1hcCgodmFsLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCBndGUgPSB4dltpbmRleF0gPj0gbWluRGlzdDtcbiAgICAgICAgcmV0dXJuIGd0ZSA/IE1hdGguZXhwKC0oeHZbaW5kZXhdIC0gbWluRGlzdCkgLyBzcHJlYWQpIDogdmFsO1xuICAgIH0pO1xuICAgIGNvbnN0IGluaXRpYWxWYWx1ZXMgPSBbMC41LCAwLjVdO1xuICAgIGNvbnN0IGRhdGEgPSB7IHg6IHh2LCB5OiB5diB9O1xuICAgIC8vIERlZmF1bHQgb3B0aW9ucyBmb3IgdGhlIGFsZ29yaXRobSAoZnJvbSBnaXRodWIgZXhhbXBsZSlcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICBkYW1waW5nOiAxLjUsXG4gICAgICAgIGluaXRpYWxWYWx1ZXMsXG4gICAgICAgIGdyYWRpZW50RGlmZmVyZW5jZTogMTBlLTIsXG4gICAgICAgIG1heEl0ZXJhdGlvbnM6IDEwMCxcbiAgICAgICAgZXJyb3JUb2xlcmFuY2U6IDEwZS0zLFxuICAgIH07XG4gICAgY29uc3QgeyBwYXJhbWV0ZXJWYWx1ZXMgfSA9IExNKGRhdGEsIGN1cnZlLCBvcHRpb25zKTtcbiAgICBjb25zdCBbYSwgYl0gPSBwYXJhbWV0ZXJWYWx1ZXM7XG4gICAgcmV0dXJuIHsgYSwgYiB9O1xufVxuLyoqXG4gKiBVbmRlciB0aGUgYXNzdW1wdGlvbiBvZiBjYXRlZ29yaWNhbCBkaXN0YW5jZSBmb3IgdGhlIGludGVyc2VjdGluZ1xuICogc2ltcGxpY2lhbCBzZXQgcGVyZm9ybSBhIGZhc3QgaW50ZXJzZWN0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmFzdEludGVyc2VjdGlvbihncmFwaCwgdGFyZ2V0LCB1bmtub3duRGlzdCA9IDEuMCwgZmFyRGlzdCA9IDUuMCkge1xuICAgIHJldHVybiBncmFwaC5tYXAoKHZhbHVlLCByb3csIGNvbCkgPT4ge1xuICAgICAgICBpZiAodGFyZ2V0W3Jvd10gPT09IC0xIHx8IHRhcmdldFtjb2xdID09PSAtMSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlICogTWF0aC5leHAoLXVua25vd25EaXN0KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0YXJnZXRbcm93XSAhPT0gdGFyZ2V0W2NvbF0pIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSAqIE1hdGguZXhwKC1mYXJEaXN0KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuLyoqXG4gKiBSZXNldCB0aGUgbG9jYWwgY29ubmVjdGl2aXR5IHJlcXVpcmVtZW50IC0tIGVhY2ggZGF0YSBzYW1wbGUgc2hvdWxkXG4gKiBoYXZlIGNvbXBsZXRlIGNvbmZpZGVuY2UgaW4gYXQgbGVhc3Qgb25lIDEtc2ltcGxleCBpbiB0aGUgc2ltcGxpY2lhbCBzZXQuXG4gKiBXZSBjYW4gZW5mb3JjZSB0aGlzIGJ5IGxvY2FsbHkgcmVzY2FsaW5nIGNvbmZpZGVuY2VzLCBhbmQgdGhlbiByZW1lcmdpbmcgdGhlXG4gKiBkaWZmZXJlbnQgbG9jYWwgc2ltcGxpY2lhbCBzZXRzIHRvZ2V0aGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRMb2NhbENvbm5lY3Rpdml0eShzaW1wbGljaWFsU2V0KSB7XG4gICAgc2ltcGxpY2lhbFNldCA9IG1hdHJpeC5ub3JtYWxpemUoc2ltcGxpY2lhbFNldCwgXCJtYXhcIiAvKiBtYXRyaXguTm9ybVR5cGUubWF4ICovKTtcbiAgICBjb25zdCB0cmFuc3Bvc2UgPSBtYXRyaXgudHJhbnNwb3NlKHNpbXBsaWNpYWxTZXQpO1xuICAgIGNvbnN0IHByb2RNYXRyaXggPSBtYXRyaXgucGFpcndpc2VNdWx0aXBseSh0cmFuc3Bvc2UsIHNpbXBsaWNpYWxTZXQpO1xuICAgIHNpbXBsaWNpYWxTZXQgPSBtYXRyaXguYWRkKHNpbXBsaWNpYWxTZXQsIG1hdHJpeC5zdWJ0cmFjdCh0cmFuc3Bvc2UsIHByb2RNYXRyaXgpKTtcbiAgICByZXR1cm4gbWF0cml4LmVsaW1pbmF0ZVplcm9zKHNpbXBsaWNpYWxTZXQpO1xufVxuLyoqXG4gKiBHaXZlbiBpbmRpY2VzIGFuZCB3ZWlnaHRzIGFuZCBhbiBvcmlnaW5hbCBlbWJlZGRpbmdzXG4gKiBpbml0aWFsaXplIHRoZSBwb3NpdGlvbnMgb2YgbmV3IHBvaW50cyByZWxhdGl2ZSB0byB0aGVcbiAqIGluZGljZXMgYW5kIHdlaWdodHMgKG9mIHRoZWlyIG5laWdoYm9ycyBpbiB0aGUgc291cmNlIGRhdGEpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5pdFRyYW5zZm9ybShpbmRpY2VzLCB3ZWlnaHRzLCBlbWJlZGRpbmcpIHtcbiAgICBjb25zdCByZXN1bHQgPSB1dGlsc1xuICAgICAgICAuemVyb3MoaW5kaWNlcy5sZW5ndGgpXG4gICAgICAgIC5tYXAoeiA9PiB1dGlscy56ZXJvcyhlbWJlZGRpbmdbMF0ubGVuZ3RoKSk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbmRpY2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgaW5kaWNlc1swXS5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgZm9yIChsZXQgZCA9IDA7IGQgPCBlbWJlZGRpbmdbMF0ubGVuZ3RoOyBkKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhID0gaW5kaWNlc1tpXVtqXTtcbiAgICAgICAgICAgICAgICByZXN1bHRbaV1bZF0gKz0gd2VpZ2h0c1tpXVtqXSAqIGVtYmVkZGluZ1thXVtkXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZFcxaGNDNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSW5WdFlYQXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN096czdPenM3T3pzN096czdPenM3TzBkQmFVSkhPMEZCUlVnN096czdPMGRCUzBjN1FVRkZTRHM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3p0SFFTdENSenRCUVVWSUxFOUJRVThzUzBGQlN5eEpRVUZKTEUxQlFVMHNVVUZCVVN4RFFVRkRPMEZCUXk5Q0xFOUJRVThzUzBGQlN5eE5RVUZOTEUxQlFVMHNWVUZCVlN4RFFVRkRPMEZCUTI1RExFOUJRVThzUzBGQlN5eFRRVUZUTEUxQlFVMHNZMEZCWXl4RFFVRkRPMEZCUXpGRExFOUJRVThzUzBGQlN5eEpRVUZKTEUxQlFVMHNVVUZCVVN4RFFVRkRPMEZCUXk5Q0xFOUJRVThzUzBGQlN5eExRVUZMTEUxQlFVMHNVMEZCVXl4RFFVRkRPMEZCUTJwRExFOUJRVThzUlVGQlJTeE5RVUZOTEhkQ1FVRjNRaXhEUVVGRE8wRkJZWGhETEUxQlFVMHNhMEpCUVd0Q0xFZEJRVWNzU1VGQlNTeERRVUZETzBGQlEyaERMRTFCUVUwc1owSkJRV2RDTEVkQlFVY3NTVUZCU1N4RFFVRkRPMEZCYlVnNVFqczdPenM3T3pzN096czdPenM3T3pzN096dEhRVzFDUnp0QlFVTklMRTFCUVUwc1QwRkJUeXhKUVVGSk8wbEJRMUFzV1VGQldTeEhRVUZITEVkQlFVY3NRMEZCUXp0SlFVTnVRaXhwUWtGQmFVSXNSMEZCUnl4SFFVRkhMRU5CUVVNN1NVRkRlRUlzVDBGQlR5eEhRVUZITEVkQlFVY3NRMEZCUXp0SlFVTmtMRmRCUVZjc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRGFFSXNUMEZCVHl4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVOYUxGVkJRVlVzUjBGQlJ5eEZRVUZGTEVOQlFVTTdTVUZEYUVJc2EwSkJRV3RDTEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUTNaQ0xFMUJRVTBzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRPMGxCUTNKQ0xHbENRVUZwUWl4SFFVRkhMRWRCUVVjc1EwRkJRenRKUVVONFFpeGhRVUZoTEVkQlFVY3NSMEZCUnl4RFFVRkRPMGxCUTNCQ0xFMUJRVTBzUjBGQlJ5eEhRVUZITEVOQlFVTTdTVUZEWWl4clFrRkJhMElzUjBGQlJ5eEhRVUZITEVOQlFVTTdTVUZGYWtNc0swSkJRU3RDTzBsQlEzWkNMRmxCUVZrc1owUkJRVFJDTzBsQlEzaERMRmxCUVZrc1IwRkJSeXhIUVVGSExFTkJRVU03U1VGRGJrSXNaMEpCUVdkQ0xFZEJRVWNzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXp0SlFVVnVReXhWUVVGVkxFZEJRV1VzVDBGQlR5eERRVUZETzBsQlJYcERMR2RGUVVGblJUdEpRVU40UkN4VlFVRlZMRU5CUVdNN1NVRkRlRUlzV1VGQldTeERRVUZqTzBsQlJXeERMRFpEUVVFMlF6dEpRVU55UXl4TFFVRkxMRU5CUVhWQ08wbEJRelZDTEVOQlFVTXNRMEZCVlR0SlFVTllMR0ZCUVdFc1IwRkJSeXhMUVVGTExFTkJRVU03U1VGRGRFSXNVVUZCVVN4SFFVRnZRaXhGUVVGRkxFTkJRVU03U1VGREwwSXNZMEZCWXl4RFFVRTRRanRKUVVNMVF5eFpRVUZaTEVOQlFUUkNPMGxCUTNoRExFMUJRVTBzUTBGQmMwSTdTVUZETlVJc1YwRkJWeXhEUVVGMVFqdEpRVVV4UXl4NVEwRkJlVU03U1VGRGFrTXNRMEZCUXl4RFFVRlpPMGxCUlhKQ0xITkNRVUZ6UWp0SlFVTmtMRk5CUVZNc1IwRkJaU3hGUVVGRkxFTkJRVU03U1VGRE0wSXNhVUpCUVdsQ0xFZEJRVWNzU1VGQlNTeHBRa0ZCYVVJc1JVRkJSU3hEUVVGRE8wbEJSM0JFTEVsQlFVa3NVMEZCVXp0UlFVTllMRTlCUVU4c1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF6dEpRVU42UWl4RFFVRkRPMGxCUTBRc1dVRkJXU3hUUVVGNVFpeEZRVUZGTzFGQlEzSkRMRTFCUVUwc1VVRkJVU3hIUVVGSExFTkJRVU1zUjBGQmVVSXNSVUZCUlN4RlFVRkZPMWxCUXpkRExGbEJRVms3V1VGRFdpeEpRVUZKTEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc1MwRkJTeXhUUVVGVE8yZENRVUZGTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhOUVVGTkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZEZWtRc1EwRkJReXhEUVVGRE8xRkJSVVlzVVVGQlVTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRPMUZCUTNaQ0xGRkJRVkVzUTBGQlF5eGpRVUZqTEVOQlFVTXNRMEZCUXp0UlFVTjZRaXhSUVVGUkxFTkJRVU1zYlVKQlFXMUNMRU5CUVVNc1EwRkJRenRSUVVNNVFpeFJRVUZSTEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNN1VVRkRjRUlzVVVGQlVTeERRVUZETEdGQlFXRXNRMEZCUXl4RFFVRkRPMUZCUTNoQ0xGRkJRVkVzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXp0UlFVTndRaXhSUVVGUkxFTkJRVU1zV1VGQldTeERRVUZETEVOQlFVTTdVVUZEZGtJc1VVRkJVU3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRU5CUVVNN1VVRkRMMElzVVVGQlVTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRPMUZCUTI1Q0xGRkJRVkVzUTBGQlF5eHRRa0ZCYlVJc1EwRkJReXhEUVVGRE8xRkJRemxDTEZGQlFWRXNRMEZCUXl4bFFVRmxMRU5CUVVNc1EwRkJRenRSUVVNeFFpeFJRVUZSTEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNN1VVRkRia0lzVVVGQlVTeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFTkJRVU03U1VGRGFrTXNRMEZCUXp0SlFVVkVPenRQUVVWSE8wbEJRMGdzUjBGQlJ5eERRVUZETEVOQlFWTTdVVUZEV0N4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEzUkNMRWxCUVVrc1EwRkJReXhqUVVGakxFVkJRVVVzUTBGQlF6dFJRVVYwUWl4UFFVRlBMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU03U1VGRGVFSXNRMEZCUXp0SlFVVkVPenM3VDBGSFJ6dEpRVU5JTEV0QlFVc3NRMEZCUXl4UlFVRlJMRU5CUTFvc1EwRkJVeXhGUVVOVUxGZEJRVzlFTEVkQlFVY3NSVUZCUlN4RFFVRkRMRWxCUVVrN1VVRkZPVVFzU1VGQlNTeERRVUZETEdGQlFXRXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVWMFFpeE5RVUZOTEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0UlFVTjZReXhQUVVGUExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTTdTVUZEZUVJc1EwRkJRenRKUVVWRU96dFBRVVZITzBsQlEwZ3NkVUpCUVhWQ0xFTkJRVU1zUTBGQlZ5eEZRVUZGTEZOQlFTdENMRVZCUVVVN1VVRkRjRVVzU1VGQlNTeERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRXQ3hKUVVGSkxFTkJRVU1zV1VGQldTeEhRVUZITEUxQlFVMHNRMEZCUXl4WlFVRlpMRWxCUVVrc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF6dFJRVU0zUkN4SlFVRkpMRU5CUVVNc1dVRkJXU3hIUVVGSExFMUJRVTBzUTBGQlF5eFpRVUZaTEVsQlFVa3NTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJRenRSUVVNM1JDeEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFZEJRVWNzVFVGQlRTeERRVUZETEdkQ1FVRm5RaXhKUVVGSkxFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJRenRKUVVNelJTeERRVUZETzBsQlJVUTdPMDlCUlVjN1NVRkRTQ3hwUWtGQmFVSXNRMEZCUXl4VlFVRnpRaXhGUVVGRkxGbEJRWGRDTzFGQlEyaEZMRWxCUVVrc1EwRkJReXhWUVVGVkxFZEJRVWNzVlVGQlZTeERRVUZETzFGQlF6ZENMRWxCUVVrc1EwRkJReXhaUVVGWkxFZEJRVWNzV1VGQldTeERRVUZETzBsQlEyNURMRU5CUVVNN1NVRkZSRHM3T3pzN1QwRkxSenRKUVVOSUxHRkJRV0VzUTBGQlF5eERRVUZUTzFGQlEzSkNMRWxCUVVrc1EwRkJReXhEUVVGRExFMUJRVTBzU1VGQlNTeEpRVUZKTEVOQlFVTXNWVUZCVlN4RlFVRkZPMWxCUXk5Q0xFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVTXNNa0pCUVRKQ0xFTkJRVU1zUTBGQlF5eE5RVUZOTERKQ1FVRXlRaXhKUVVGSkxFTkJRVU1zVlVGQlZTeHpSRUZCYzBRc1EwRkJReXhEUVVGRE8xTkJRM1JLTzFGQlJVUXNORVZCUVRSRk8xRkJRelZGTEVsQlFVa3NTVUZCU1N4RFFVRkRMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzU1VGQlNTeERRVUZETEdGQlFXRXNSVUZCUlR0WlFVTjBReXhQUVVGUExFbEJRVWtzUTBGQlF5eFZRVUZWTEVWQlFVVXNRMEZCUXp0VFFVTXhRanRSUVVWRUxFbEJRVWtzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUlZnc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFZRVUZWTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hGUVVGRk8xbEJRekZETEUxQlFVMHNWVUZCVlN4SFFVRkhMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVNMVF5eEpRVUZKTEVOQlFVTXNWVUZCVlN4SFFVRkhMRlZCUVZVc1EwRkJReXhWUVVGVkxFTkJRVU03V1VGRGVFTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1IwRkJSeXhWUVVGVkxFTkJRVU1zV1VGQldTeERRVUZETzFOQlF6ZERPMUZCUlVRc1NVRkJTU3hEUVVGRExFdEJRVXNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFTkJRMnhETEVOQlFVTXNSVUZEUkN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hGUVVObUxFbEJRVWtzUTBGQlF5eGhRVUZoTEVOQlEyNUNMRU5CUVVNN1VVRkZSaXg1UkVGQmVVUTdVVUZEZWtRc1NVRkJTU3hEUVVGRExHRkJRV0VzUlVGQlJTeERRVUZETzFGQlEzSkNMRWxCUVVrc1EwRkJReXhYUVVGWExFZEJRVWNzU1VGQlNTeERRVUZETEdWQlFXVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVVelF5eDVSRUZCZVVRN1VVRkRla1FzU1VGQlNTeERRVUZETEcxRFFVRnRReXhGUVVGRkxFTkJRVU03VVVGRk0wTXNUVUZCVFN4RlFVTktMRWxCUVVrc1JVRkRTaXhKUVVGSkxFVkJRMG9zWlVGQlpTeEhRVU5vUWl4SFFVRkhMRWxCUVVrc1EwRkJReXhuUTBGQlowTXNSVUZCUlN4RFFVRkRPMUZCUlRWRExIRkRRVUZ4UXp0UlFVTnlReXhKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF6dFJRVU51UXl4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJRenRSUVVOdVF5eEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zWlVGQlpTeEhRVUZITEdWQlFXVXNRMEZCUXp0UlFVVjZSQ3g1UTBGQmVVTTdVVUZEZWtNc1NVRkJTU3hEUVVGRExITkNRVUZ6UWl4RlFVRkZMRU5CUVVNN1VVRkRPVUlzU1VGQlNTeERRVUZETERCQ1FVRXdRaXhGUVVGRkxFTkJRVU03VVVGRGJFTXNTVUZCU1N4RFFVRkRMR0ZCUVdFc1IwRkJSeXhKUVVGSkxFTkJRVU03VVVGRk1VSXNUMEZCVHl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFTkJRVU03U1VGRE0wSXNRMEZCUXp0SlFVVlBMR0ZCUVdFN1VVRkRia0lzVFVGQlRTeEZRVUZGTEZsQlFWa3NSVUZCUlN4alFVRmpMRVZCUVVVc1IwRkJSeXhUUVVGVExFTkJRVU1zYlVKQlFXMUNMRU5CUTNCRkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlEyaENMRU5CUVVNN1VVRkRSaXhKUVVGSkxFTkJRVU1zV1VGQldTeEhRVUZITEZsQlFWa3NRMEZCUXp0UlFVTnFReXhKUVVGSkxFTkJRVU1zWTBGQll5eEhRVUZITEdOQlFXTXNRMEZCUXp0UlFVTnlReXhKUVVGSkxFTkJRVU1zVFVGQlRTeEhRVUZITEZOQlFWTXNRMEZCUXl4MVFrRkJkVUlzUTBGQlF5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNN1NVRkRia1VzUTBGQlF6dEpRVVZQTEdWQlFXVXNRMEZCUXl4RFFVRlRPMUZCUXk5Q0xFMUJRVTBzVlVGQlZTeEhRVUZITEVsQlFVa3NRMEZCUXl4VlFVRlhMRU5CUVVNN1VVRkRjRU1zVFVGQlRTeFpRVUZaTEVkQlFVY3NTVUZCU1N4RFFVRkRMRmxCUVdFc1EwRkJRenRSUVVONFF5eE5RVUZOTEVsQlFVa3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMUZCUTJ4RExFMUJRVTBzVjBGQlZ5eEhRVUZITEVsQlFVa3NUVUZCVFN4RFFVRkRMRmxCUVZrc1EwRkJReXhGUVVGRkxFVkJRVVVzUlVGQlJTeEZRVUZGTEVWQlFVVXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVNNVJDeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVlVGQlZTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVNeFF5eE5RVUZOTEVkQlFVY3NSMEZCUnl4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRE1VSXNUVUZCVFN4VFFVRlRMRWRCUVVjc1dVRkJXU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlEyeERMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4SFFVRkhMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzJkQ1FVTnVReXhOUVVGTkxGRkJRVkVzUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1owSkJRM2hDTEUxQlFVMHNVVUZCVVN4SFFVRkhMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dG5Ra0ZET1VJc1NVRkJTU3hSUVVGUkxFZEJRVWNzUTBGQlF5eEZRVUZGTzI5Q1FVTm9RaXhYUVVGWExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNSVUZCUlN4UlFVRlJMRVZCUVVVc1VVRkJVU3hEUVVGRExFTkJRVU03YVVKQlEzaERPMkZCUTBZN1UwRkRSanRSUVVWRUxFMUJRVTBzVTBGQlV5eEhRVUZITEUxQlFVMHNRMEZCUXl4VFFVRlRMRU5CUVVNc1YwRkJWeXhEUVVGRExFTkJRVU03VVVGRGFFUXNUMEZCVHl4TlFVRk5MRU5CUVVNc1QwRkJUeXhEUVVGRExGZEJRVmNzUlVGQlJTeFRRVUZUTEVOQlFVTXNRMEZCUXp0SlFVTm9SQ3hEUVVGRE8wbEJSVVE3TzA5QlJVYzdTVUZEU0N4VFFVRlRMRU5CUVVNc1YwRkJiVUk3VVVGRE0wSXNNa0pCUVRKQ08xRkJRek5DTEUxQlFVMHNUMEZCVHl4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGRrSXNTVUZCU1N4UFFVRlBMRXRCUVVzc1UwRkJVeXhKUVVGSkxFOUJRVThzUTBGQlF5eE5RVUZOTEV0QlFVc3NRMEZCUXl4RlFVRkZPMWxCUTJwRUxFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zUTBGQlF6dFRRVU14UXp0UlFVVkVMRWxCUVVrc1ZVRkJWU3hIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1EwRkJRenRSUVVOMlJTeFZRVUZWTEVkQlFVY3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zVFVGQlRTeEZRVUZGTEZWQlFWVXNRMEZCUXl4RFFVRkRPMUZCUTJ4RUxFMUJRVTBzU1VGQlNTeEhRVUZITEZOQlFWTXNRMEZCUXl4blFrRkJaMElzUTBGRGNrTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1JVRkRZaXhQUVVGUExFVkJRMUFzVjBGQlZ5eEZRVU5ZTEZWQlFWVXNSVUZEVml4SlFVRkpMRU5CUVVNc1kwRkJZeXhGUVVOdVFpeEpRVUZKTEVOQlFVTXNXVUZCV1N4RlFVTnFRaXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVU5hTEVOQlFVTTdVVUZGUml4TlFVRk5MRTFCUVUwc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEU5QlFVOHNSVUZCUlN4SlFVRkpMRU5CUVVNc1YwRkJWeXhGUVVGRkxFbEJRVWtzUlVGQlJTeFhRVUZYTEVOQlFVTXNRMEZCUXp0UlFVVjZSU3hKUVVGSkxFVkJRVVVzVDBGQlR5eEZRVUZGTEU5QlFVOHNSVUZCUlN4VFFVRlRMRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMUZCUlRsRUxFOUJRVThzUjBGQlJ5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEZUVRc1UwRkJVeXhIUVVGSExGTkJRVk1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU1zUTBGQlF6dFJRVVUxUkN4TlFVRk5MSGxDUVVGNVFpeEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU14UlN4TlFVRk5MRVZCUVVVc1RVRkJUU3hGUVVGRkxFbEJRVWtzUlVGQlJTeEhRVUZITEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUTBGRE4wTXNVMEZCVXl4RlFVTlVMRWxCUVVrc1EwRkJReXhWUVVGVkxFVkJRMllzZVVKQlFYbENMRU5CUXpGQ0xFTkJRVU03VVVGRlJpeE5RVUZOTEVWQlFVVXNTVUZCU1N4RlFVRkZMRWxCUVVrc1JVRkJSU3hKUVVGSkxFVkJRVVVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNNRUpCUVRCQ0xFTkJRekZFTEU5QlFVOHNSVUZEVUN4VFFVRlRMRVZCUTFRc1RVRkJUU3hGUVVOT0xFbEJRVWtzUTBGRFRDeERRVUZETzFGQlJVWXNUVUZCVFN4SlFVRkpMRWRCUVVjc1EwRkJReXhYUVVGWExFTkJRVU1zVFVGQlRTeEZRVUZGTEU5QlFVOHNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRSUVVOc1JDeEpRVUZKTEV0QlFVc3NSMEZCUnl4SlFVRkpMRTFCUVUwc1EwRkJReXhaUVVGWkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVsQlFVa3NSVUZCUlN4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU03VVVGRk5VUXNiMFZCUVc5Rk8xRkJRM0JGTEhORlFVRnpSVHRSUVVOMFJTd3JSRUZCSzBRN1VVRkZMMFFzVFVGQlRTeE5RVUZOTEVkQlFVY3NUVUZCVFN4RFFVRkRMRk5CUVZNc1EwRkJReXhMUVVGTExHZERRVUZ4UWl4RFFVRkRPMUZCUlRORUxFMUJRVTBzVTBGQlV5eEhRVUZITEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03VVVGRGVFTXNUVUZCVFN4UFFVRlBMRWRCUVVjc1YwRkJWeXhEUVVGRExFMUJRVTBzUTBGQlF6dFJRVVZ1UXl4TlFVRk5MRkZCUVZFc1IwRkJSeXhMUVVGTExFTkJRVU1zVTBGQlV5eERRVU01UWl4VFFVRlRMRU5CUVVNc1QwRkJUeXhGUVVOcVFpeFBRVUZQTEVWQlExQXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkRhRUlzUTBGQlF6dFJRVVZHTEUxQlFVMHNVVUZCVVN4SFFVRkhMRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRemxDTEZOQlFWTXNRMEZCUXl4TlFVRk5MRVZCUTJoQ0xFOUJRVThzUlVGRFVDeEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVTm9RaXhEUVVGRE8xRkJSVVlzVFVGQlRTeFRRVUZUTEVkQlFVY3NZVUZCWVN4RFFVRkRMRkZCUVZFc1JVRkJSU3hSUVVGUkxFVkJRVVVzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPMUZCUlhCRkxFMUJRVTBzVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4UFFVRlBPMWxCUXpGQ0xFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4SFFVRkhMRU5CUVVNN1dVRkRiRUlzUTBGQlF5eERRVUZETEV0QlFVc3NRMEZCUXl4TFFVRkxMRWxCUVVrc1MwRkJTenRuUWtGRGRFSXNRMEZCUXl4RFFVRkRMRWRCUVVjN1owSkJRMHdzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXp0UlFVVlFMRTFCUVUwc1VVRkJVU3hIUVVGSExFdEJRVXM3WVVGRGJrSXNVMEZCVXl4RlFVRkZPMkZCUTFnc1RVRkJUU3hEUVVGRExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhIUVVGSExFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTNCRUxFdEJRVXNzUjBGQlJ5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eExRVUZMTEVkQlFVY3NVVUZCVVN4SFFVRkhMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRM0pGTEV0QlFVc3NSMEZCUnl4TlFVRk5MRU5CUVVNc1kwRkJZeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzFGQlJYSkRMRTFCUVUwc1pVRkJaU3hIUVVGSExFbEJRVWtzUTBGQlF5eHRRa0ZCYlVJc1EwRkRPVU1zUzBGQlN5eERRVUZETEZOQlFWTXNSVUZCUlN4RlFVTnFRaXhQUVVGUExFTkJRMUlzUTBGQlF6dFJRVU5HTEUxQlFVMHNTVUZCU1N4SFFVRkhMRXRCUVVzc1EwRkJReXhQUVVGUExFVkJRVVVzUTBGQlF6dFJRVU0zUWl4TlFVRk5MRWxCUVVrc1IwRkJSeXhMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdVVUZGTjBJc2IwVkJRVzlGTzFGQlEzQkZMRWxCUVVrc1EwRkJReXhwUTBGQmFVTXNRMEZCUXp0WlFVTnlReXhoUVVGaExFVkJRVVVzVTBGQlV6dFpRVU40UWl4aFFVRmhMRVZCUVVVc1NVRkJTU3hEUVVGRExGTkJRVk03V1VGRE4wSXNTVUZCU1R0WlFVTktMRWxCUVVrN1dVRkRTaXhaUVVGWkxFVkJRVVVzUTBGQlF6dFpRVU5tTEU5QlFVODdXVUZEVUN4VFFVRlRMRVZCUVVVc1MwRkJTeXhEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTTNRaXhsUVVGbE8xTkJRMmhDTEVOQlFVTXNRMEZCUXp0UlFVTklMRWxCUVVrc1EwRkJReXd3UWtGQk1FSXNSVUZCUlN4RFFVRkRPMUZCUld4RExFOUJRVThzU1VGQlNTeERRVUZETEdOQlFXTXNSVUZCUlN4RFFVRkRPMGxCUXk5Q0xFTkJRVU03U1VGRlJEczdPMDlCUjBjN1NVRkRTeXh0UTBGQmJVTTdVVUZEZWtNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNSMEZCUnl4SlFVRkpMRU5CUVVNN1VVRkRkRUlzU1VGQlNTeERRVUZETEVWQlFVVTdXVUZEVEN4SlFVRkpMRU5CUVVNc1EwRkJReXhOUVVGTkxFdEJRVXNzUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlR0blFrRkRla0lzVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZCUXl4cFEwRkJhVU1zUTBGQlF5eERRVUZETzJGQlEzQkVPMWxCUlVRc1NVRkJTU3hKUVVGSkxFTkJRVU1zV1VGQldTeHBSRUZCTmtJc1JVRkJSVHRuUWtGRGJFUXNUVUZCVFN4RlFVRkZMRWRCUVVjc1NVRkJTU3hEUVVGRExGbEJRVmtzUjBGQlJ5eEhRVUZITEVOQlFVTTdaMEpCUTI1RExFMUJRVTBzVDBGQlR5eEhRVUZITEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNN1owSkJRM1JGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRWRCUVVjc1NVRkJTU3hEUVVGRExHOURRVUZ2UXl4RFFVTndSQ3hKUVVGSkxFTkJRVU1zUzBGQlN5eEZRVU5XTEVOQlFVTXNSVUZEUkN4UFFVRlBMRU5CUTFJc1EwRkJRenRoUVVOSU8xbEJRMFFzYVVWQlFXbEZPMU5CUTJ4Rk8wbEJRMGdzUTBGQlF6dEpRVVZFT3p0UFFVVkhPMGxCUTBnc1NVRkJTVHRSUVVOR0xFMUJRVTBzUlVGQlJTeFpRVUZaTEVWQlFVVXNSMEZCUnl4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTTdVVUZGYUVRc1NVRkJTU3haUVVGWkxFZEJRVWNzU1VGQlNTeERRVUZETEZWQlFWVXNSVUZCUlN4RlFVRkZPMWxCUTNCRExFbEJRVWtzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF6dFRRVU4yUXp0UlFVTkVMRTlCUVU4c1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkRMRmxCUVZrc1EwRkJRenRKUVVNM1F5eERRVUZETzBsQlJVUTdPMDlCUlVjN1NVRkRTQ3haUVVGWk8xRkJRMVlzVDBGQlR5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRPMGxCUTNoQ0xFTkJRVU03U1VGRlJEczdPenRQUVVsSE8wbEJRMHNzWjBKQlFXZENMRU5CUVVNc1EwRkJVenRSUVVOb1F5eE5RVUZOTEVWQlFVVXNWVUZCVlN4RlFVRkZMRlZCUVZVc1JVRkJSU3hIUVVGSExFbEJRVWtzUTBGQlF6dFJRVU40UXl4TlFVRk5MRWxCUVVrc1IwRkJSeXhEUVVGRExFTkJRVk1zUlVGQlJTeEZRVUZGTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRM1JFTEUxQlFVMHNaVUZCWlN4SFFVRkhMRk5CUVZNc1EwRkJReXhoUVVGaExFTkJRVU1zVlVGQlZTeEZRVUZGTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRSUVVWNlJTeHRSRUZCYlVRN1VVRkRia1FzVFVGQlRTeExRVUZMTEVkQlFVY3NRMEZCUXl4RFFVRlRMRVZCUVVVc1JVRkJSVHRaUVVNeFFpeFBRVUZQTEVOQlFVTXNTMEZCU3l4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU4yUXl4RFFVRkRMRU5CUVVNN1VVRkZSaXhOUVVGTkxFMUJRVTBzUjBGQlJ5eERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNTVUZCU1N4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU0zUkN4TlFVRk5MRTFCUVUwc1IwRkJSeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVVnVSU3hKUVVGSkxFTkJRVU1zVVVGQlVTeEhRVUZITEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJReXhGUVVGRkxGVkJRVlVzUlVGQlJTeE5RVUZOTEVWQlFVVXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8xRkJSWEJGTEUxQlFVMHNVMEZCVXl4SFFVRkhMRWxCUVVrc1EwRkJReXhoUVVGaExFTkJRVU1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRPMUZCUTNCRUxFMUJRVTBzUlVGQlJTeFBRVUZQTEVWQlFVVXNUMEZCVHl4RlFVRkZMRWRCUVVjc1pVRkJaU3hEUVVNeFF5eERRVUZETEVWQlEwUXNVMEZCVXl4RlFVTlVMRlZCUVZVc1JVRkRWaXhOUVVGTkxFTkJRMUFzUTBGQlF6dFJRVU5HTEU5QlFVOHNSVUZCUlN4VlFVRlZMRVZCUVVVc1QwRkJUeXhGUVVGRkxGbEJRVmtzUlVGQlJTeFBRVUZQTEVWQlFVVXNRMEZCUXp0SlFVTjRSQ3hEUVVGRE8wbEJSVVE3T3pzN096czdUMEZQUnp0SlFVTkxMR3RDUVVGclFpeERRVU40UWl4RFFVRlRMRVZCUTFRc1ZVRkJhMElzUlVGRGJFSXNZVUZCWVN4SFFVRkhMRWRCUVVjN1VVRkZia0lzVFVGQlRTeEZRVUZGTEZWQlFWVXNSMEZCUnl4RlFVRkZMRVZCUVVVc1dVRkJXU3hIUVVGSExFVkJRVVVzUlVGQlJTeHBRa0ZCYVVJc1JVRkJSU3hIUVVGSExFbEJRVWtzUTBGQlF6dFJRVVYyUlN4TlFVRk5MRVZCUVVVc1RVRkJUU3hGUVVGRkxFbEJRVWtzUlVGQlJTeEhRVUZITEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUTBGRE4wTXNXVUZCV1N4RlFVTmFMRlZCUVZVc1JVRkRWaXhwUWtGQmFVSXNRMEZEYkVJc1EwRkJRenRSUVVWR0xFMUJRVTBzUlVGQlJTeEpRVUZKTEVWQlFVVXNTVUZCU1N4RlFVRkZMRWxCUVVrc1JVRkJSU3hIUVVGSExFbEJRVWtzUTBGQlF5d3dRa0ZCTUVJc1EwRkRNVVFzVlVGQlZTeEZRVU5XTEZsQlFWa3NSVUZEV2l4TlFVRk5MRVZCUTA0c1NVRkJTU3hEUVVOTUxFTkJRVU03VVVGRlJpeE5RVUZOTEVsQlFVa3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMUZCUTJ4RExFMUJRVTBzV1VGQldTeEhRVUZITEVsQlFVa3NUVUZCVFN4RFFVRkRMRmxCUVZrc1EwRkJReXhKUVVGSkxFVkJRVVVzU1VGQlNTeEZRVUZGTEVsQlFVa3NSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVWeVJTeE5RVUZOTEZOQlFWTXNSMEZCUnl4TlFVRk5MRU5CUVVNc1UwRkJVeXhEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETzFGQlEycEVMRTFCUVUwc1ZVRkJWU3hIUVVGSExFMUJRVTBzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhaUVVGWkxFVkJRVVVzVTBGQlV5eERRVUZETEVOQlFVTTdVVUZGY0VVc1RVRkJUU3hEUVVGRExFZEJRVWNzVFVGQlRTeERRVUZETEZGQlFWRXNRMEZCUXl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExGbEJRVmtzUlVGQlJTeFRRVUZUTEVOQlFVTXNSVUZCUlN4VlFVRlZMRU5CUVVNc1EwRkJRenRSUVVNelJTeE5RVUZOTEVOQlFVTXNSMEZCUnl4TlFVRk5MRU5CUVVNc1kwRkJZeXhEUVVGRExFTkJRVU1zUlVGQlJTeGhRVUZoTEVOQlFVTXNRMEZCUXp0UlFVTnNSQ3hOUVVGTkxFTkJRVU1zUjBGQlJ5eE5RVUZOTEVOQlFVTXNZMEZCWXl4RFFVRkRMRlZCUVZVc1JVRkJSU3hIUVVGSExFZEJRVWNzWVVGQllTeERRVUZETEVOQlFVTTdVVUZEYWtVc1RVRkJUU3hOUVVGTkxFZEJRVWNzVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRmFFTXNUMEZCVHl4TlFVRk5MRU5CUVVNN1NVRkRhRUlzUTBGQlF6dEpRVVZFT3pzN096dFBRVXRITzBsQlEwc3NiME5CUVc5RExFTkJRekZETEdGQlFXdERMRVZCUTJ4RExFMUJRV2RDTEVWQlEyaENMRTlCUVdVc1JVRkRaaXhYUVVGWExFZEJRVWNzUjBGQlJ6dFJRVVZxUWl4SlFVRkpMRmxCUVZrc1IwRkJSeXhuUWtGQlowSXNRMEZEYWtNc1lVRkJZU3hGUVVOaUxFMUJRVTBzUlVGRFRpeFhRVUZYTEVWQlExZ3NUMEZCVHl4RFFVTlNMRU5CUVVNN1VVRkRSaXhaUVVGWkxFZEJRVWNzVFVGQlRTeERRVUZETEdOQlFXTXNRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJRenRSUVVOdVJDeFBRVUZQTEhOQ1FVRnpRaXhEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETzBsQlF6bERMRU5CUVVNN1NVRkZSRHM3T3pzN08wOUJUVWM3U1VGRFN5eHBRa0ZCYVVJc1EwRkRka0lzVTBGQmEwSXNSVUZEYkVJc1EwRkJVeXhGUVVOVUxHbENRVUZwUWl4SFFVRkhMRWRCUVVjc1JVRkRka0lzUzBGQlN5eEhRVUZITEVWQlFVVXNSVUZEVml4VFFVRlRMRWRCUVVjc1IwRkJSenRSUVVWbUxFMUJRVTBzVFVGQlRTeEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzVTBGQlV5eERRVUZETzFGQlEzWkVMRTFCUVUwc1IwRkJSeXhIUVVGSExFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8xRkJRekZETEUxQlFVMHNUVUZCVFN4SFFVRkhMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zVTBGQlV5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMUZCUlRkRExFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhUUVVGVExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMWxCUTNwRExFbEJRVWtzUlVGQlJTeEhRVUZITEVkQlFVY3NRMEZCUXp0WlFVTmlMRWxCUVVrc1JVRkJSU3hIUVVGSExGRkJRVkVzUTBGQlF6dFpRVU5zUWl4SlFVRkpMRWRCUVVjc1IwRkJSeXhIUVVGSExFTkJRVU03V1VGRlpDdzJSRUZCTmtRN1dVRkROMFFzVFVGQlRTeFpRVUZaTEVkQlFVY3NVMEZCVXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRMnhETEUxQlFVMHNXVUZCV1N4SFFVRkhMRmxCUVZrc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGRmRrUXNTVUZCU1N4WlFVRlpMRU5CUVVNc1RVRkJUU3hKUVVGSkxHbENRVUZwUWl4RlFVRkZPMmRDUVVNMVF5eEpRVUZKTEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExHbENRVUZwUWl4RFFVRkRMRU5CUVVNN1owSkJRekZETEVsQlFVa3NZVUZCWVN4SFFVRkhMR2xDUVVGcFFpeEhRVUZITEV0QlFVc3NRMEZCUXp0blFrRkRPVU1zU1VGQlNTeExRVUZMTEVkQlFVY3NRMEZCUXl4RlFVRkZPMjlDUVVOaUxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4WlFVRlpMRU5CUVVNc1MwRkJTeXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETzI5Q1FVTnFReXhKUVVGSkxHRkJRV0VzUjBGQlJ5eHJRa0ZCYTBJc1JVRkJSVHQzUWtGRGRFTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJRenMwUWtGRFNpeGhRVUZoTEVkQlFVY3NRMEZCUXl4WlFVRlpMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzV1VGQldTeERRVUZETEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8zRkNRVU51UlR0cFFrRkRSanR4UWtGQlRUdHZRa0ZEVEN4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzWVVGQllTeEhRVUZITEZsQlFWa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRwUWtGRE1VTTdZVUZEUmp0cFFrRkJUU3hKUVVGSkxGbEJRVmtzUTBGQlF5eE5RVUZOTEVkQlFVY3NRMEZCUXl4RlFVRkZPMmRDUVVOc1F5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0aFFVTnNRenRaUVVWRUxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhMUVVGTExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdaMEpCUXpsQ0xFbEJRVWtzU1VGQlNTeEhRVUZITEVkQlFVY3NRMEZCUXp0blFrRkRaaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHR2UWtGRE5VTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dHZRa0ZEYmtNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTzNkQ1FVTlVMRWxCUVVrc1NVRkJTU3hKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF6dHhRa0ZET1VJN2VVSkJRVTA3ZDBKQlEwd3NTVUZCU1N4SlFVRkpMRWRCUVVjc1EwRkJRenR4UWtGRFlqdHBRa0ZEUmp0blFrRkZSQ3hKUVVGSkxFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4SFFVRkhMRTFCUVUwc1EwRkJReXhIUVVGSExHdENRVUZyUWl4RlFVRkZPMjlDUVVOb1JDeE5RVUZOTzJsQ1FVTlFPMmRDUVVWRUxFbEJRVWtzU1VGQlNTeEhRVUZITEUxQlFVMHNSVUZCUlR0dlFrRkRha0lzUlVGQlJTeEhRVUZITEVkQlFVY3NRMEZCUXp0dlFrRkRWQ3hIUVVGSExFZEJRVWNzUTBGQlF5eEZRVUZGTEVkQlFVY3NSVUZCUlN4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRE8ybENRVU4yUWp0eFFrRkJUVHR2UWtGRFRDeEZRVUZGTEVkQlFVY3NSMEZCUnl4RFFVRkRPMjlDUVVOVUxFbEJRVWtzUlVGQlJTeExRVUZMTEZGQlFWRXNSVUZCUlR0M1FrRkRia0lzUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXp0eFFrRkRWanQ1UWtGQlRUdDNRa0ZEVEN4SFFVRkhMRWRCUVVjc1EwRkJReXhGUVVGRkxFZEJRVWNzUlVGQlJTeERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRPM0ZDUVVOMlFqdHBRa0ZEUmp0aFFVTkdPMWxCUlVRc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXp0WlFVVm9RaXcyUkVGQk5rUTdXVUZETjBRc1NVRkJTU3hIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NSMEZCUnl4RlFVRkZPMmRDUVVOb1FpeE5RVUZOTEdkQ1FVRm5RaXhIUVVGSExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNN1owSkJRMnhFTEVsQlFVa3NUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExHZENRVUZuUWl4SFFVRkhMR2RDUVVGblFpeEZRVUZGTzI5Q1FVTnVSQ3hOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NaMEpCUVdkQ0xFZEJRVWNzWjBKQlFXZENMRU5CUVVNN2FVSkJRMnBFTzJGQlEwWTdhVUpCUVUwN1owSkJRMHdzVFVGQlRTeGhRVUZoTEVkQlFVY3NTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRE8yZENRVU0xUkN4SlFVRkpMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eG5Ra0ZCWjBJc1IwRkJSeXhoUVVGaExFVkJRVVU3YjBKQlEyaEVMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eG5Ra0ZCWjBJc1IwRkJSeXhoUVVGaExFTkJRVU03YVVKQlF6bERPMkZCUTBZN1UwRkRSanRSUVVWRUxFOUJRVThzUlVGQlJTeE5RVUZOTEVWQlFVVXNUVUZCVFN4RlFVRkZMRWxCUVVrc1JVRkJSU3hIUVVGSExFVkJRVVVzUTBGQlF6dEpRVU4yUXl4RFFVRkRPMGxCUlVRN096czdPMDlCUzBjN1NVRkRTeXd3UWtGQk1FSXNRMEZEYUVNc1ZVRkJiVUlzUlVGRGJrSXNXVUZCY1VJc1JVRkRja0lzVFVGQlowSXNSVUZEYUVJc1NVRkJZenRSUVVWa0xFMUJRVTBzVVVGQlVTeEhRVUZITEZWQlFWVXNRMEZCUXl4TlFVRk5MRU5CUVVNN1VVRkRia01zVFVGQlRTeFZRVUZWTEVkQlFVY3NWVUZCVlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF6dFJRVVY0UXl4TlFVRk5MRWxCUVVrc1IwRkJSeXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEZGQlFWRXNSMEZCUnl4VlFVRlZMRU5CUVVNc1EwRkJRenRSUVVOb1JDeE5RVUZOTEVsQlFVa3NSMEZCUnl4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRExGRkJRVkVzUjBGQlJ5eFZRVUZWTEVOQlFVTXNRMEZCUXp0UlFVTm9SQ3hOUVVGTkxFbEJRVWtzUjBGQlJ5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRkZCUVZFc1IwRkJSeXhWUVVGVkxFTkJRVU1zUTBGQlF6dFJRVVZvUkN4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NVVUZCVVN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xbEJRMnBETEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFZRVUZWTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1owSkJRMjVETEVsQlFVa3NSMEZCUnl4SFFVRkhMRU5CUVVNc1EwRkJRenRuUWtGRFdpeEpRVUZKTEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNSVUZCUlR0dlFrRkRNMElzVTBGQlV5eERRVUZETEcxRFFVRnRRenRwUWtGRE9VTTdaMEpCUTBRc1NVRkJTU3hWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhGUVVGRk8yOUNRVU14UWl4SFFVRkhMRWRCUVVjc1IwRkJSeXhEUVVGRE8ybENRVU5ZTzNGQ1FVRk5MRWxCUVVrc1dVRkJXU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeEhRVUZITEVWQlFVVTdiMEpCUXpsRExFZEJRVWNzUjBGQlJ5eEhRVUZITEVOQlFVTTdhVUpCUTFnN2NVSkJRVTA3YjBKQlEwd3NSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN2FVSkJReTlFTzJkQ1FVVkVMRWxCUVVrc1EwRkJReXhEUVVGRExFZEJRVWNzVlVGQlZTeEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRuUWtGRE4wSXNTVUZCU1N4RFFVRkRMRU5CUVVNc1IwRkJSeXhWUVVGVkxFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NWVUZCVlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzJkQ1FVTTFReXhKUVVGSkxFTkJRVU1zUTBGQlF5eEhRVUZITEZWQlFWVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU03WVVGRGFFTTdVMEZEUmp0UlFVVkVMRTlCUVU4c1JVRkJSU3hKUVVGSkxFVkJRVVVzU1VGQlNTeEZRVUZGTEVsQlFVa3NSVUZCUlN4RFFVRkRPMGxCUXpsQ0xFTkJRVU03U1VGRlJEczdPenM3VDBGTFJ6dEpRVU5MTEdkRFFVRm5RenRSUVVOMFF5eE5RVUZOTEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFTkJRVU03VVVGRmJFTXNUVUZCVFN4RlFVRkZMRmRCUVZjc1JVRkJSU3hIUVVGSExFbEJRVWtzUTBGQlF6dFJRVU0zUWl4TlFVRk5MRmRCUVZjc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMUZCUXpORExFbEJRVWtzVVVGQlVTeEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTnFRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1YwRkJWeXhEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0WlFVTXpReXhOUVVGTkxFdEJRVXNzUjBGQlJ5eFhRVUZYTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1dVRkROMElzU1VGQlNTeFJRVUZSTEVkQlFVY3NWMEZCVnl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRk8yZENRVU0zUWl4UlFVRlJMRWRCUVVjc1MwRkJTeXhEUVVGRE8yRkJRMnhDTzFOQlEwWTdVVUZGUkN4TlFVRk5MRXRCUVVzc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUVVNc1JVRkJSVHRaUVVOdVF5eEpRVUZKTEV0QlFVc3NSMEZCUnl4UlFVRlJMRWRCUVVjc1QwRkJUeXhGUVVGRk8yZENRVU01UWl4UFFVRlBMRU5CUVVNc1EwRkJRenRoUVVOV08ybENRVUZOTzJkQ1FVTk1MRTlCUVU4c1MwRkJTeXhEUVVGRE8yRkJRMlE3VVVGRFNDeERRVUZETEVOQlFVTXNRMEZCUXp0UlFVVklMSGxGUVVGNVJUdFJRVU42UlN4cFJVRkJhVVU3VVVGRGFrVXNWMEZCVnp0UlFVTllMRWxCUVVrc1EwRkJReXhUUVVGVExFZEJRVWNzUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVkQlFVY3NSVUZCUlR0WlFVTnFSQ3hQUVVGUExFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTXNWMEZCVnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUlVGQlJUdG5Ra0ZEZGtNc1QwRkJUeXhMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4M1FrRkJkMEk3V1VGRGVFVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRUQ3hEUVVGRExFTkJRVU1zUTBGQlF6dFJRVVZJTEcxRFFVRnRRenRSUVVOdVF5eE5RVUZOTEU5QlFVOHNSMEZCWVN4RlFVRkZMRU5CUVVNN1VVRkROMElzVFVGQlRTeEpRVUZKTEVkQlFXRXNSVUZCUlN4RFFVRkRPMUZCUXpGQ0xFMUJRVTBzU1VGQlNTeEhRVUZoTEVWQlFVVXNRMEZCUXp0UlFVTXhRaXhOUVVGTkxGbEJRVmtzUjBGQlJ5eExRVUZMTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNN1VVRkRjRU1zUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExGbEJRVmtzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1dVRkROVU1zVFVGQlRTeExRVUZMTEVkQlFVY3NXVUZCV1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRemxDTEVsQlFVa3NTMEZCU3l4RFFVRkRMRXRCUVVzc1JVRkJSVHRuUWtGRFppeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dG5Ra0ZETVVJc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1owSkJRM0pDTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzJGQlEzUkNPMU5CUTBZN1VVRkRSQ3hOUVVGTkxHVkJRV1VzUjBGQlJ5eEpRVUZKTEVOQlFVTXNiVUpCUVcxQ0xFTkJRVU1zVDBGQlR5eEZRVUZGTEU5QlFVOHNRMEZCUXl4RFFVRkRPMUZCUlc1RkxFOUJRVThzUlVGQlJTeEpRVUZKTEVWQlFVVXNTVUZCU1N4RlFVRkZMR1ZCUVdVc1JVRkJSU3hEUVVGRE8wbEJRM3BETEVOQlFVTTdTVUZGUkRzN08wOUJSMGM3U1VGRFN5eHRRa0ZCYlVJc1EwRkJReXhQUVVGcFFpeEZRVUZGTEU5QlFXVTdVVUZETlVRc1RVRkJUU3hOUVVGTkxFZEJRVWNzUzBGQlN5eERRVUZETEUxQlFVMHNRMEZCUXl4UFFVRlBMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZEYkVRc1RVRkJUU3hIUVVGSExFZEJRVWNzUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRSUVVNdlFpeE5RVUZOTEZGQlFWRXNSMEZCUnl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFZEJRVWNzVDBGQlR5eERRVUZETEVOQlFVTTdVVUZEZGtRc1VVRkJVU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVONFFpeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRPMmRDUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4UFFVRlBMRWRCUVVjc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlF5OURMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRMGdzVDBGQlR5eE5RVUZOTEVOQlFVTTdTVUZEYUVJc1EwRkJRenRKUVVWRU96dFBRVVZITzBsQlEwc3NhVU5CUVdsRExFTkJRVU1zUzBGQmFVTTdVVUZEZWtVc1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFVkJRVVVzUzBGQlN5eERRVUZETEVOQlFVTTdTVUZETDBNc1EwRkJRenRKUVVWRU96czdUMEZIUnp0SlFVTkxMREJDUVVFd1FqdFJRVU5vUXl4clFrRkJhMEk3VVVGRGJFSXNUVUZCVFN4RlFVRkZMR2xDUVVGcFFpeEZRVUZGTEZsQlFWa3NSVUZCUlN4clFrRkJhMElzUlVGQlJTeEhRVUZITEVsQlFVa3NRMEZCUXp0UlFVVnlSU3hOUVVGTkxFVkJRMG9zWlVGQlpTeEZRVU5tTEdGQlFXRXNSVUZEWWl4aFFVRmhMRWRCUTJRc1IwRkJSeXhKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNN1VVRkZNMElzVFVGQlRTeEhRVUZITEVkQlFVY3NZVUZCWVN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF6dFJRVU53UXl4TlFVRk5MRk5CUVZNc1IwRkJSeXhoUVVGaExFTkJRVU1zVFVGQlRTeExRVUZMTEdGQlFXRXNRMEZCUXl4TlFVRk5MRU5CUVVNN1VVRkZhRVVzVFVGQlRTeDFRa0ZCZFVJc1IwRkJSeXhsUVVGbExFTkJRVU1zUjBGQlJ5eERRVU5xUkN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUjBGQlJ5eHJRa0ZCYTBJc1EwRkROVUlzUTBGQlF6dFJRVU5HTEUxQlFVMHNlVUpCUVhsQ0xFZEJRVWNzUTBGQlF5eEhRVUZITEhWQ1FVRjFRaXhEUVVGRExFTkJRVU03VVVGREwwUXNUVUZCVFN4cFFrRkJhVUlzUjBGQlJ5eERRVUZETEVkQlFVY3NaVUZCWlN4RFFVRkRMRU5CUVVNN1VVRkZMME1zU1VGQlNTeERRVUZETEdsRFFVRnBReXhEUVVGRE8xbEJRM0pETEdsQ1FVRnBRanRaUVVOcVFpeDVRa0ZCZVVJN1dVRkRla0lzZFVKQlFYVkNPMWxCUTNaQ0xGTkJRVk03V1VGRFZDeFpRVUZaTEVWQlFVVXNXVUZCV1R0WlFVTXhRaXhMUVVGTExFVkJRVVVzV1VGQldUdFpRVU51UWl4TFFVRkxMRVZCUVVVc2FVSkJRV2xDTzFsQlEzaENMRWRCUVVjN1UwRkRTaXhEUVVGRExFTkJRVU03U1VGRFRDeERRVUZETzBsQlJVUTdPMDlCUlVjN1NVRkRTeXh6UWtGQmMwSTdVVUZETlVJc2EwSkJRV3RDTzFGQlEyeENMRTFCUVUwc1lVRkJZU3hIUVVGSExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTTdVVUZEY2tNc1RVRkJUU3hoUVVGaExFZEJRVWNzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXp0UlFVVnlReXh2UkVGQmIwUTdVVUZEY0VRc1RVRkJUU3hGUVVGRkxFbEJRVWtzUlVGQlJTeEpRVUZKTEVWQlFVVXNaVUZCWlN4RlFVRkZMRWRCUVVjc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkRPMUZCUlM5RUxFMUJRVTBzVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4VlFVRlZMRVZCUVVVc1EwRkJRenRSUVVOc1F5eE5RVUZOTEZOQlFWTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF6dFJRVVZ1UXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeEhRVUZITEZsQlFWa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVGRkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVVjZSQ3hKUVVGSkxFTkJRVU1zYVVOQlFXbERMRU5CUVVNN1dVRkRja01zWVVGQllUdFpRVU5pTEdGQlFXRTdXVUZEWWl4SlFVRkpPMWxCUTBvc1NVRkJTVHRaUVVOS0xHVkJRV1U3V1VGRFppeERRVUZETzFsQlEwUXNRMEZCUXp0WlFVTkVMRTlCUVU4N1dVRkRVQ3hUUVVGVE8xTkJRMVlzUTBGQlF5eERRVUZETzBsQlEwd3NRMEZCUXp0SlFVVkVPenM3T3pzN1QwRk5SenRKUVVOTExHdENRVUZyUWl4RFFVRkRMRU5CUVZNN1VVRkRiRU1zVFVGQlRTeEZRVUZGTEdsQ1FVRnBRaXhGUVVGRkxFZEJRVWNzU1VGQlNTeERRVUZETzFGQlEyNURMRTFCUVUwc1JVRkRTaXhKUVVGSkxFVkJRMG9zU1VGQlNTeEZRVU5LTEdGQlFXRXNSVUZEWWl4aFFVRmhMRVZCUTJJc1pVRkJaU3hGUVVObUxHbENRVUZwUWl4RlFVTnFRaXg1UWtGQmVVSXNSVUZEZWtJc2RVSkJRWFZDTEVWQlEzWkNMRk5CUVZNc1JVRkRWQ3haUVVGWkxFVkJRMW9zUzBGQlN5eEZRVU5NTEV0QlFVc3NSVUZEVEN4RFFVRkRMRVZCUTBRc1EwRkJReXhGUVVORUxFZEJRVWNzUlVGRFNDeFBRVUZQTEVWQlExQXNVMEZCVXl4SFFVTldMRWRCUVVjc2FVSkJRV2xDTEVOQlFVTTdVVUZGZEVJc1RVRkJUU3hUUVVGVExFZEJRVWNzUjBGQlJ5eERRVUZETzFGQlJYUkNMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4bFFVRmxMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzFsQlF5OURMRWxCUVVrc2FVSkJRV2xDTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRk8yZENRVU0xUWl4VFFVRlRPMkZCUTFZN1dVRkZSQ3hOUVVGTkxFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1dVRkRiRUlzVFVGQlRTeERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJSV3hDTEUxQlFVMHNUMEZCVHl4SFFVRkhMR0ZCUVdFc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU5xUXl4TlFVRk5MRXRCUVVzc1IwRkJSeXhoUVVGaExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdXVUZGTDBJc1RVRkJUU3hYUVVGWExFZEJRVWNzUzBGQlN5eERRVUZETEU5QlFVOHNSVUZCUlN4TFFVRkxMRU5CUVVNc1EwRkJRenRaUVVVeFF5eEpRVUZKTEZOQlFWTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1dVRkRiRUlzU1VGQlNTeFhRVUZYTEVkQlFVY3NRMEZCUXl4RlFVRkZPMmRDUVVOdVFpeFRRVUZUTEVkQlFVY3NRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRmRCUVZjc1JVRkJSU3hEUVVGRExFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTTdaMEpCUXpGRUxGTkJRVk1zU1VGQlNTeERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhYUVVGWExFVkJRVVVzUTBGQlF5eERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRPMkZCUTJwRU8xbEJSVVFzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFZEJRVWNzUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0blFrRkROVUlzVFVGQlRTeExRVUZMTEVkQlFVY3NTVUZCU1N4RFFVRkRMRk5CUVZNc1IwRkJSeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeFRRVUZUTEVOQlFVTXNRMEZCUXp0blFrRkRia1VzVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRXRCUVVzc1IwRkJSeXhMUVVGTExFTkJRVU03WjBKQlF6VkNMRWxCUVVrc1UwRkJVeXhGUVVGRk8yOUNRVU5pTEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUjBGQlJ5eExRVUZMTEVOQlFVTTdhVUpCUXpWQ08yRkJRMFk3V1VGRlJDeHBRa0ZCYVVJc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeGxRVUZsTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1dVRkZNME1zVFVGQlRTeFhRVUZYTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkROVUlzUTBGQlF5eERRVUZETEVkQlFVY3NlVUpCUVhsQ0xFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4MVFrRkJkVUlzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZEYUVVc1EwRkJRenRaUVVWR0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhYUVVGWExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdaMEpCUTNCRExFMUJRVTBzUTBGQlF5eEhRVUZITEV0QlFVc3NRMEZCUXl4VlFVRlZMRU5CUVVNc1UwRkJVeXhGUVVGRkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0blFrRkRia1FzVFVGQlRTeExRVUZMTEVkQlFVY3NZVUZCWVN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8yZENRVVV2UWl4TlFVRk5MRmRCUVZjc1IwRkJSeXhMUVVGTExFTkJRVU1zVDBGQlR5eEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMmRDUVVVeFF5eEpRVUZKTEZOQlFWTXNSMEZCUnl4SFFVRkhMRU5CUVVNN1owSkJRM0JDTEVsQlFVa3NWMEZCVnl4SFFVRkhMRWRCUVVjc1JVRkJSVHR2UWtGRGNrSXNVMEZCVXl4SFFVRkhMRWRCUVVjc1IwRkJSeXhMUVVGTExFZEJRVWNzUTBGQlF5eERRVUZETzI5Q1FVTTFRaXhUUVVGVE8zZENRVU5RTEVOQlFVTXNTMEZCU3l4SFFVRkhMRmRCUVZjc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1YwRkJWeXhGUVVGRkxFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRPMmxDUVVNNVJEdHhRa0ZCVFN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFVkJRVVU3YjBKQlEyeENMRk5CUVZNN2FVSkJRMVk3WjBKQlJVUXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVkQlFVY3NSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHR2UWtGRE5VSXNTVUZCU1N4TFFVRkxMRWRCUVVjc1IwRkJSeXhEUVVGRE8yOUNRVU5vUWl4SlFVRkpMRk5CUVZNc1IwRkJSeXhIUVVGSExFVkJRVVU3ZDBKQlEyNUNMRXRCUVVzc1IwRkJSeXhKUVVGSkxFTkJRVU1zVTBGQlV5eEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRk5CUVZNc1EwRkJReXhEUVVGRE8zRkNRVU01UkR0dlFrRkRSQ3hQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NTMEZCU3l4SFFVRkhMRXRCUVVzc1EwRkJRenRwUWtGRE4wSTdZVUZEUmp0WlFVTkVMSGxDUVVGNVFpeERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRmRCUVZjc1IwRkJSeXgxUWtGQmRVSXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRUUVVNeFJUdFJRVU5FTEdsQ1FVRnBRaXhEUVVGRExFdEJRVXNzUjBGQlJ5eFpRVUZaTEVkQlFVY3NRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhIUVVGSExFOUJRVThzUTBGQlF5eERRVUZETzFGQlJUZEVMR2xDUVVGcFFpeERRVUZETEZsQlFWa3NTVUZCU1N4RFFVRkRMRU5CUVVNN1VVRkRjRU1zVDBGQlR5eGhRVUZoTEVOQlFVTTdTVUZEZGtJc1EwRkJRenRKUVVWRU96czdPenM3VDBGTlJ6dEpRVU5MTEcxQ1FVRnRRaXhEUVVONlFpeG5Ra0ZCZVVRc1IwRkJSeXhGUVVGRkxFTkJRVU1zU1VGQlNUdFJRVVZ1UlN4UFFVRlBMRWxCUVVrc1QwRkJUeXhEUVVGRExFTkJRVU1zVDBGQlR5eEZRVUZGTEUxQlFVMHNSVUZCUlN4RlFVRkZPMWxCUTNKRExFMUJRVTBzU1VGQlNTeEhRVUZITEV0QlFVc3NTVUZCU1N4RlFVRkZPMmRDUVVOMFFpeEpRVUZKTzI5Q1FVTkdMRTFCUVUwc1JVRkJSU3hQUVVGUExFVkJRVVVzV1VGQldTeEZRVUZGTEVkQlFVY3NTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZETzI5Q1FVTjZSQ3hKUVVGSkxFTkJRVU1zVTBGQlV5eEhRVUZITEVsQlFVa3NRMEZCUXl4clFrRkJhMElzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0dlFrRkRka1FzVFVGQlRTeGpRVUZqTEVkQlFVY3NTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZETEZsQlFWa3NRMEZCUXp0dlFrRkRNMFFzVFVGQlRTeFZRVUZWTEVkQlFVY3NZVUZCWVN4RFFVRkRMR05CUVdNc1EwRkJReXhMUVVGTExFdEJRVXNzUTBGQlF6dHZRa0ZETTBRc1RVRkJUU3hWUVVGVkxFZEJRVWNzWTBGQll5eExRVUZMTEU5QlFVOHNRMEZCUXp0dlFrRkRPVU1zU1VGQlNTeERRVUZETEZWQlFWVXNTVUZCU1N4RFFVRkRMRlZCUVZVc1JVRkJSVHQzUWtGRE9VSXNWVUZCVlN4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRExFbEJRVWtzUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPM0ZDUVVNM1FqdDVRa0ZCVFR0M1FrRkRUQ3hQUVVGUExFOUJRVThzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXp0eFFrRkROVUk3YVVKQlEwWTdaMEpCUVVNc1QwRkJUeXhIUVVGSExFVkJRVVU3YjBKQlExb3NUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8ybENRVU5pTzFsQlEwZ3NRMEZCUXl4RFFVRkRPMWxCUTBZc1ZVRkJWU3hEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEVsQlFVa3NSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRemxDTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTB3c1EwRkJRenRKUVVWRU96czdPenM3VDBGTlJ6dEpRVU5MTEdOQlFXTXNRMEZEY0VJc1owSkJRWGxFTEVkQlFVY3NSVUZCUlN4RFFVRkRMRWxCUVVrN1VVRkZia1VzU1VGQlNTeFZRVUZWTEVkQlFVY3NTMEZCU3l4RFFVRkRPMUZCUTNaQ0xFbEJRVWtzVTBGQlV5eEhRVUZaTEVWQlFVVXNRMEZCUXp0UlFVTTFRaXhQUVVGUExFTkJRVU1zVlVGQlZTeEZRVUZGTzFsQlEyeENMRTFCUVUwc1JVRkJSU3hQUVVGUExFVkJRVVVzV1VGQldTeEZRVUZGTEVkQlFVY3NTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZETzFsQlEzcEVMRk5CUVZNc1IwRkJSeXhKUVVGSkxFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU03V1VGRGJFUXNUVUZCVFN4alFVRmpMRWRCUVVjc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkRMRmxCUVZrc1EwRkJRenRaUVVNelJDeE5RVUZOTEZWQlFWVXNSMEZCUnl4aFFVRmhMRU5CUVVNc1kwRkJZeXhEUVVGRExFdEJRVXNzUzBGQlN5eERRVUZETzFsQlF6TkVMRlZCUVZVc1IwRkJSeXhqUVVGakxFdEJRVXNzVDBGQlR5eEpRVUZKTEZWQlFWVXNRMEZCUXp0VFFVTjJSRHRSUVVORUxFOUJRVThzVTBGQlV5eERRVUZETzBsQlEyNUNMRU5CUVVNN1NVRkZSRHM3TzA5QlIwYzdTVUZEU1N4VlFVRlZPMUZCUTJZc1RVRkJUU3hMUVVGTExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXp0UlFVVjZRaXhKUVVGSkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVkQlFVY3NRMEZCUXl4RlFVRkZPMWxCUTNCQ0xFOUJRVThzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXp0VFFVTnlRanRSUVVWRUxFbEJRVWtzUTBGQlF5eExRVUZMTEVWQlFVVTdXVUZEVml4UFFVRlBMRWRCUVVjc1EwRkJRenRUUVVOYU8xRkJSVVFzVFVGQlRTeE5RVUZOTEVkQlFVY3NTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJRenRSUVVNelFpeEpRVUZKTEUxQlFVMHNTVUZCU1N4SlFVRkpMRVZCUVVVN1dVRkRiRUlzVDBGQlR5eEhRVUZITEVOQlFVTTdVMEZEV2p0aFFVRk5MRWxCUVVrc1RVRkJUU3hKUVVGSkxFbEJRVWtzUlVGQlJUdFpRVU42UWl4UFFVRlBMRWRCUVVjc1EwRkJRenRUUVVOYU8yRkJRVTBzU1VGQlNTeE5RVUZOTEVsQlFVa3NTVUZCU1N4RlFVRkZPMWxCUTNwQ0xFOUJRVThzUjBGQlJ5eERRVUZETzFOQlExbzdZVUZCVFR0WlFVTk1MRTlCUVU4c1IwRkJSeXhEUVVGRE8xTkJRMW83U1VGRFNDeERRVUZETzBOQlEwWTdRVUZGUkN4TlFVRk5MRlZCUVZVc1UwRkJVeXhEUVVGRExFTkJRVk1zUlVGQlJTeERRVUZUTzBsQlF6VkRMRWxCUVVrc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF6dEpRVU5tTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xRkJRMnBETEUxQlFVMHNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03UzBGRE9VSTdTVUZEUkN4UFFVRlBMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdRVUZETTBJc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeFBRVUZQTEVOQlFVTXNRMEZCVXl4RlFVRkZMRU5CUVZNN1NVRkRNVU1zVFVGQlRTeE5RVUZOTEVkQlFVY3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZETDBJc1QwRkJUeXhOUVVGTkxFTkJRVU03UVVGRGFFSXNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3hOUVVGTkxFTkJRVU1zUTBGQlV5eEZRVUZGTEVOQlFWTTdTVUZEZWtNc1NVRkJTU3hOUVVGTkxFZEJRVWNzUjBGQlJ5eERRVUZETzBsQlEycENMRWxCUVVrc1MwRkJTeXhIUVVGSExFZEJRVWNzUTBGQlF6dEpRVU5vUWl4SlFVRkpMRXRCUVVzc1IwRkJSeXhIUVVGSExFTkJRVU03U1VGRmFFSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3VVVGRGFrTXNUVUZCVFN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRkRUlzUzBGQlN5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03VVVGRGJrSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdTMEZEY0VJN1NVRkZSQ3hKUVVGSkxFdEJRVXNzUzBGQlN5eERRVUZETEVsQlFVa3NTMEZCU3l4TFFVRkxMRU5CUVVNc1JVRkJSVHRSUVVNNVFpeFBRVUZQTEVOQlFVTXNRMEZCUXp0TFFVTldPMU5CUVUwc1NVRkJTU3hMUVVGTExFdEJRVXNzUTBGQlF5eEpRVUZKTEV0QlFVc3NTMEZCU3l4RFFVRkRMRVZCUVVVN1VVRkRja01zVDBGQlR5eEhRVUZITEVOQlFVTTdTMEZEV2p0VFFVRk5PMUZCUTB3c1QwRkJUeXhIUVVGSExFZEJRVWNzVFVGQlRTeEhRVUZITEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhIUVVGSExFdEJRVXNzUTBGQlF5eERRVUZETzB0QlEyaEVPMEZCUTBnc1EwRkJRenRCUVVWRU96czdSMEZIUnp0QlFVTklMRTFCUVUwc2FVSkJRV2xDTzBsQlEzSkNMRmxCUVZrc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRmFrSXNNRU5CUVRCRE8wbEJRekZETEdGQlFXRXNSMEZCWlN4RlFVRkZMRU5CUVVNN1NVRkRMMElzWVVGQllTeEhRVUZsTEVWQlFVVXNRMEZCUXp0SlFVTXZRaXhKUVVGSkxFZEJRV0VzUlVGQlJTeERRVUZETzBsQlEzQkNMRWxCUVVrc1IwRkJZU3hGUVVGRkxFTkJRVU03U1VGRGNFSXNaVUZCWlN4SFFVRmhMRVZCUVVVc1EwRkJRenRKUVVNdlFpeHBRa0ZCYVVJc1IwRkJZU3hGUVVGRkxFTkJRVU03U1VGRGFrTXNlVUpCUVhsQ0xFZEJRV0VzUlVGQlJTeERRVUZETzBsQlEzcERMSFZDUVVGMVFpeEhRVUZoTEVWQlFVVXNRMEZCUXp0SlFVTjJReXhUUVVGVExFZEJRVWNzU1VGQlNTeERRVUZETzBsQlEycENMRmxCUVZrc1IwRkJSeXhIUVVGSExFTkJRVU03U1VGRGJrSXNTMEZCU3l4SFFVRkhMRWRCUVVjc1EwRkJRenRKUVVOYUxFdEJRVXNzUjBGQlJ5eEhRVUZITEVOQlFVTTdTVUZEV2l4RFFVRkRMRWRCUVVjc2EwSkJRV3RDTEVOQlFVTTdTVUZEZGtJc1EwRkJReXhIUVVGSExHdENRVUZyUWl4RFFVRkRPMGxCUTNaQ0xFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZEVWl4UFFVRlBMRWRCUVVjc1IwRkJSeXhEUVVGRE8wbEJRMlFzVTBGQlV5eEhRVUZITEVOQlFVTXNRMEZCUXp0RFFVTm1PMEZCUlVRN08wZEJSVWM3UVVGRFNDeFRRVUZUTEVsQlFVa3NRMEZCUXl4RFFVRlRMRVZCUVVVc1UwRkJhVUk3U1VGRGVFTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1UwRkJVenRSUVVGRkxFOUJRVThzVTBGQlV5eERRVUZETzFOQlF5OUNMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zVTBGQlV6dFJRVUZGTEU5QlFVOHNRMEZCUXl4VFFVRlRMRU5CUVVNN08xRkJRM1JETEU5QlFVOHNRMEZCUXl4RFFVRkRPMEZCUTJoQ0xFTkJRVU03UVVGRlJEczdSMEZGUnp0QlFVTklMRk5CUVZNc1MwRkJTeXhEUVVGRExFTkJRVmNzUlVGQlJTeERRVUZYTzBsQlEzSkRMRWxCUVVrc1RVRkJUU3hIUVVGSExFZEJRVWNzUTBGQlF6dEpRVU5xUWl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFJRVU5xUXl4TlFVRk5MRWxCUVVrc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMHRCUTNCRE8wbEJRMFFzVDBGQlR5eE5RVUZOTEVOQlFVTTdRVUZEYUVJc1EwRkJRenRCUVVWRU96czdPenRIUVV0SE8wRkJRMGdzVFVGQlRTeFZRVUZWTEZsQlFWa3NRMEZCUXl4TlFVRmpMRVZCUVVVc1QwRkJaVHRKUVVNeFJDeE5RVUZOTEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlZ5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVZNc1JVRkJSU3hGUVVGRk8xRkJRMmhFTEU5QlFVOHNSMEZCUnl4SFFVRkhMRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU40UXl4RFFVRkRMRU5CUVVNN1NVRkZSaXhOUVVGTkxFVkJRVVVzUjBGQlJ5eExRVUZMTzFOQlEySXNUVUZCVFN4RFFVRkRMRU5CUVVNc1JVRkJSU3hOUVVGTkxFZEJRVWNzUTBGQlF5eEZRVUZGTEVkQlFVY3NRMEZCUXp0VFFVTXhRaXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF6dEpRVVV6UXl4TlFVRk5MRVZCUVVVc1IwRkJSeXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEVWQlFVVXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVWQlFVVXNTMEZCU3l4RlFVRkZMRVZCUVVVN1VVRkRia1FzVFVGQlRTeEhRVUZITEVkQlFVY3NSVUZCUlN4RFFVRkRMRXRCUVVzc1EwRkJReXhKUVVGSkxFOUJRVThzUTBGQlF6dFJRVU5xUXl4UFFVRlBMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFdEJRVXNzUTBGQlF5eEhRVUZITEU5QlFVOHNRMEZCUXl4SFFVRkhMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTTdTVUZETDBRc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRlNDeE5RVUZOTEdGQlFXRXNSMEZCUnl4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF6dEpRVU5xUXl4TlFVRk5MRWxCUVVrc1IwRkJSeXhGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVc1JVRkJSU3hEUVVGRE8wbEJSVGxDTERCRVFVRXdSRHRKUVVNeFJDeE5RVUZOTEU5QlFVOHNSMEZCUnp0UlFVTmtMRTlCUVU4c1JVRkJSU3hIUVVGSE8xRkJRMW9zWVVGQllUdFJRVU5pTEd0Q1FVRnJRaXhGUVVGRkxFdEJRVXM3VVVGRGVrSXNZVUZCWVN4RlFVRkZMRWRCUVVjN1VVRkRiRUlzWTBGQll5eEZRVUZGTEV0QlFVczdTMEZEZEVJc1EwRkJRenRKUVVWR0xFMUJRVTBzUlVGQlJTeGxRVUZsTEVWQlFVVXNSMEZCUnl4RlFVRkZMRU5CUVVNc1NVRkJTU3hGUVVGRkxFdEJRVXNzUlVGQlJTeFBRVUZQTEVOQlFVTXNRMEZCUXp0SlFVTnlSQ3hOUVVGTkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4SFFVRkhMR1ZCUVRKQ0xFTkJRVU03U1VGRE0wTXNUMEZCVHl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF6dEJRVU5zUWl4RFFVRkRPMEZCUlVRN096dEhRVWRITzBGQlEwZ3NUVUZCVFN4VlFVRlZMR2RDUVVGblFpeERRVU01UWl4TFFVRXdRaXhGUVVNeFFpeE5RVUZuUWl4RlFVTm9RaXhYUVVGWExFZEJRVWNzUjBGQlJ5eEZRVU5xUWl4UFFVRlBMRWRCUVVjc1IwRkJSenRKUVVWaUxFOUJRVThzUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRXRCUVVzc1JVRkJSU3hIUVVGSExFVkJRVVVzUjBGQlJ5eEZRVUZGTEVWQlFVVTdVVUZEYmtNc1NVRkJTU3hOUVVGTkxFTkJRVU1zUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRWxCUVVrc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RlFVRkZPMWxCUXpWRExFOUJRVThzUzBGQlN5eEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhYUVVGWExFTkJRVU1zUTBGQlF6dFRRVU4yUXp0aFFVRk5MRWxCUVVrc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eExRVUZMTEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSVHRaUVVOMFF5eFBRVUZQTEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdVMEZEYmtNN1lVRkJUVHRaUVVOTUxFOUJRVThzUzBGQlN5eERRVUZETzFOQlEyUTdTVUZEU0N4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVOTUxFTkJRVU03UVVGRlJEczdPenM3UjBGTFJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4elFrRkJjMElzUTBGQlF5eGhRVUZyUXp0SlFVTjJSU3hoUVVGaExFZEJRVWNzVFVGQlRTeERRVUZETEZOQlFWTXNRMEZCUXl4aFFVRmhMR3REUVVGelFpeERRVUZETzBsQlEzSkZMRTFCUVUwc1UwRkJVeXhIUVVGSExFMUJRVTBzUTBGQlF5eFRRVUZUTEVOQlFVTXNZVUZCWVN4RFFVRkRMRU5CUVVNN1NVRkRiRVFzVFVGQlRTeFZRVUZWTEVkQlFVY3NUVUZCVFN4RFFVRkRMR2RDUVVGblFpeERRVUZETEZOQlFWTXNSVUZCUlN4aFFVRmhMRU5CUVVNc1EwRkJRenRKUVVOeVJTeGhRVUZoTEVkQlFVY3NUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkRlRUlzWVVGQllTeEZRVU5pTEUxQlFVMHNRMEZCUXl4UlFVRlJMRU5CUVVNc1UwRkJVeXhGUVVGRkxGVkJRVlVzUTBGQlF5eERRVU4yUXl4RFFVRkRPMGxCUTBZc1QwRkJUeXhOUVVGTkxFTkJRVU1zWTBGQll5eERRVUZETEdGQlFXRXNRMEZCUXl4RFFVRkRPMEZCUXpsRExFTkJRVU03UVVGRlJEczdPenRIUVVsSE8wRkJRMGdzVFVGQlRTeFZRVUZWTEdGQlFXRXNRMEZETTBJc1QwRkJiVUlzUlVGRGJrSXNUMEZCYlVJc1JVRkRia0lzVTBGQmEwSTdTVUZGYkVJc1RVRkJUU3hOUVVGTkxFZEJRVWNzUzBGQlN6dFRRVU5xUWl4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVGRExFMUJRVTBzUTBGQlF6dFRRVU55UWl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUlRsRExFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhQUVVGUExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMUZCUTNaRExFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xbEJRekZETEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFRRVUZUTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzJkQ1FVTTFReXhOUVVGTkxFTkJRVU1zUjBGQlJ5eFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03WjBKQlEzaENMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4UFFVRlBMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NVMEZCVXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzJGQlEycEVPMU5CUTBZN1MwRkRSanRKUVVORUxFOUJRVThzVFVGQlRTeERRVUZETzBGQlEyaENMRU5CUVVNaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaXBjYmlBcUlFQnNhV05sYm5ObFhHNGdLbHh1SUNvZ1EyOXdlWEpwWjJoMElESXdNVGtnUjI5dloyeGxJRXhNUXk0Z1FXeHNJRkpwWjJoMGN5QlNaWE5sY25abFpDNWNiaUFxWEc0Z0tpQk1hV05sYm5ObFpDQjFibVJsY2lCMGFHVWdRWEJoWTJobElFeHBZMlZ1YzJVc0lGWmxjbk5wYjI0Z01pNHdJQ2gwYUdVZ1hDSk1hV05sYm5ObFhDSXBPMXh1SUNvZ2VXOTFJRzFoZVNCdWIzUWdkWE5sSUhSb2FYTWdabWxzWlNCbGVHTmxjSFFnYVc0Z1kyOXRjR3hwWVc1alpTQjNhWFJvSUhSb1pTQk1hV05sYm5ObExseHVJQ29nV1c5MUlHMWhlU0J2WW5SaGFXNGdZU0JqYjNCNUlHOW1JSFJvWlNCTWFXTmxibk5sSUdGMFhHNGdLbHh1SUNvZ0lDQWdJR2gwZEhBNkx5OTNkM2N1WVhCaFkyaGxMbTl5Wnk5c2FXTmxibk5sY3k5TVNVTkZUbE5GTFRJdU1GeHVJQ3BjYmlBcUlGVnViR1Z6Y3lCeVpYRjFhWEpsWkNCaWVTQmhjSEJzYVdOaFlteGxJR3hoZHlCdmNpQmhaM0psWldRZ2RHOGdhVzRnZDNKcGRHbHVaeXdnYzI5bWRIZGhjbVZjYmlBcUlHUnBjM1J5YVdKMWRHVmtJSFZ1WkdWeUlIUm9aU0JNYVdObGJuTmxJR2x6SUdScGMzUnlhV0oxZEdWa0lHOXVJR0Z1SUZ3aVFWTWdTVk5jSWlCQ1FWTkpVeXhjYmlBcUlGZEpWRWhQVlZRZ1YwRlNVa0ZPVkVsRlV5QlBVaUJEVDA1RVNWUkpUMDVUSUU5R0lFRk9XU0JMU1U1RUxDQmxhWFJvWlhJZ1pYaHdjbVZ6Y3lCdmNpQnBiWEJzYVdWa0xseHVJQ29nVTJWbElIUm9aU0JNYVdObGJuTmxJR1p2Y2lCMGFHVWdjM0JsWTJsbWFXTWdiR0Z1WjNWaFoyVWdaMjkyWlhKdWFXNW5JSEJsY20xcGMzTnBiMjV6SUdGdVpGeHVJQ29nYkdsdGFYUmhkR2x2Ym5NZ2RXNWtaWElnZEdobElFeHBZMlZ1YzJVdVhHNGdLaUE5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMWNiaUFxTDF4dVhHNHZLaXBjYmlBcUlGUm9hWE1nYVhNZ1lTQktZWFpoVTJOeWFYQjBJSEpsYVcxd2JHVnRaVzUwWVhScGIyNGdiMllnVlUxQlVDQW9iM0pwWjJsdVlXd2diR2xqWlc1elpTQmlaV3h2ZHlrc0lHWnliMjFjYmlBcUlIUm9aU0J3ZVhSb2IyNGdhVzF3YkdWdFpXNTBZWFJwYjI0Z1ptOTFibVFnWVhRZ2FIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwyeHRZMmx1Ym1WekwzVnRZWEF1WEc0Z0tseHVJQ29nUUdGMWRHaHZjaUJoYm1SNVkyOWxibVZ1UUdkdmIyZHNaUzVqYjIwZ0tFRnVaSGtnUTI5bGJtVnVLVnh1SUNvdlhHNWNiaThxS2x4dUlDb2dRR3hwWTJWdWMyVmNiaUFxSUVKVFJDQXpMVU5zWVhWelpTQk1hV05sYm5ObFhHNGdLbHh1SUNvZ1EyOXdlWEpwWjJoMElDaGpLU0F5TURFM0xDQk1aV3hoYm1RZ1RXTkpibTVsYzF4dUlDb2dRV3hzSUhKcFoyaDBjeUJ5WlhObGNuWmxaQzVjYmlBcVhHNGdLaUJTWldScGMzUnlhV0oxZEdsdmJpQmhibVFnZFhObElHbHVJSE52ZFhKalpTQmhibVFnWW1sdVlYSjVJR1p2Y20xekxDQjNhWFJvSUc5eUlIZHBkR2h2ZFhSY2JpQXFJRzF2WkdsbWFXTmhkR2x2Yml3Z1lYSmxJSEJsY20xcGRIUmxaQ0J3Y205MmFXUmxaQ0IwYUdGMElIUm9aU0JtYjJ4c2IzZHBibWNnWTI5dVpHbDBhVzl1Y3lCaGNtVWdiV1YwT2x4dUlDcGNiaUFxSUNvZ1VtVmthWE4wY21saWRYUnBiMjV6SUc5bUlITnZkWEpqWlNCamIyUmxJRzExYzNRZ2NtVjBZV2x1SUhSb1pTQmhZbTkyWlNCamIzQjVjbWxuYUhRZ2JtOTBhV05sTENCMGFHbHpYRzRnS2lBZ0lHeHBjM1FnYjJZZ1kyOXVaR2wwYVc5dWN5QmhibVFnZEdobElHWnZiR3h2ZDJsdVp5QmthWE5qYkdGcGJXVnlMbHh1SUNwY2JpQXFJQ29nVW1Wa2FYTjBjbWxpZFhScGIyNXpJR2x1SUdKcGJtRnllU0JtYjNKdElHMTFjM1FnY21Wd2NtOWtkV05sSUhSb1pTQmhZbTkyWlNCamIzQjVjbWxuYUhRZ2JtOTBhV05sTEZ4dUlDb2dJQ0IwYUdseklHeHBjM1FnYjJZZ1kyOXVaR2wwYVc5dWN5QmhibVFnZEdobElHWnZiR3h2ZDJsdVp5QmthWE5qYkdGcGJXVnlJR2x1SUhSb1pTQmtiMk4xYldWdWRHRjBhVzl1WEc0Z0tpQWdJR0Z1WkM5dmNpQnZkR2hsY2lCdFlYUmxjbWxoYkhNZ2NISnZkbWxrWldRZ2QybDBhQ0IwYUdVZ1pHbHpkSEpwWW5WMGFXOXVMbHh1SUNwY2JpQXFJQ29nVG1WcGRHaGxjaUIwYUdVZ2JtRnRaU0J2WmlCMGFHVWdZMjl3ZVhKcFoyaDBJR2h2YkdSbGNpQnViM0lnZEdobElHNWhiV1Z6SUc5bUlHbDBjMXh1SUNvZ0lDQmpiMjUwY21saWRYUnZjbk1nYldGNUlHSmxJSFZ6WldRZ2RHOGdaVzVrYjNKelpTQnZjaUJ3Y205dGIzUmxJSEJ5YjJSMVkzUnpJR1JsY21sMlpXUWdabkp2YlZ4dUlDb2dJQ0IwYUdseklITnZablIzWVhKbElIZHBkR2h2ZFhRZ2MzQmxZMmxtYVdNZ2NISnBiM0lnZDNKcGRIUmxiaUJ3WlhKdGFYTnphVzl1TGx4dUlDcGNiaUFxSUZSSVNWTWdVMDlHVkZkQlVrVWdTVk1nVUZKUFZrbEVSVVFnUWxrZ1ZFaEZJRU5QVUZsU1NVZElWQ0JJVDB4RVJWSlRJRUZPUkNCRFQwNVVVa2xDVlZSUFVsTWdYQ0pCVXlCSlUxd2lYRzRnS2lCQlRrUWdRVTVaSUVWWVVGSkZVMU1nVDFJZ1NVMVFURWxGUkNCWFFWSlNRVTVVU1VWVExDQkpUa05NVlVSSlRrY3NJRUpWVkNCT1QxUWdURWxOU1ZSRlJDQlVUeXdnVkVoRlhHNGdLaUJKVFZCTVNVVkVJRmRCVWxKQlRsUkpSVk1nVDBZZ1RVVlNRMGhCVGxSQlFrbE1TVlJaSUVGT1JDQkdTVlJPUlZOVElFWlBVaUJCSUZCQlVsUkpRMVZNUVZJZ1VGVlNVRTlUUlNCQlVrVmNiaUFxSUVSSlUwTk1RVWxOUlVRdUlFbE9JRTVQSUVWV1JVNVVJRk5JUVV4TUlGUklSU0JEVDFCWlVrbEhTRlFnU0U5TVJFVlNJRTlTSUVOUFRsUlNTVUpWVkU5U1V5QkNSU0JNU1VGQ1RFVmNiaUFxSUVaUFVpQkJUbGtnUkVsU1JVTlVMQ0JKVGtSSlVrVkRWQ3dnU1U1RFNVUkZUbFJCVEN3Z1UxQkZRMGxCVEN3Z1JWaEZUVkJNUVZKWkxDQlBVaUJEVDA1VFJWRlZSVTVVU1VGTVhHNGdLaUJFUVUxQlIwVlRJQ2hKVGtOTVZVUkpUa2NzSUVKVlZDQk9UMVFnVEVsTlNWUkZSQ0JVVHl3Z1VGSlBRMVZTUlUxRlRsUWdUMFlnVTFWQ1UxUkpWRlZVUlNCSFQwOUVVeUJQVWx4dUlDb2dVMFZTVmtsRFJWTTdJRXhQVTFNZ1QwWWdWVk5GTENCRVFWUkJMQ0JQVWlCUVVrOUdTVlJUT3lCUFVpQkNWVk5KVGtWVFV5QkpUbFJGVWxKVlVGUkpUMDRwSUVoUFYwVldSVkpjYmlBcUlFTkJWVk5GUkNCQlRrUWdUMDRnUVU1WklGUklSVTlTV1NCUFJpQk1TVUZDU1V4SlZGa3NJRmRJUlZSSVJWSWdTVTRnUTA5T1ZGSkJRMVFzSUZOVVVrbERWQ0JNU1VGQ1NVeEpWRmtzWEc0Z0tpQlBVaUJVVDFKVUlDaEpUa05NVlVSSlRrY2dUa1ZIVEVsSFJVNURSU0JQVWlCUFZFaEZVbGRKVTBVcElFRlNTVk5KVGtjZ1NVNGdRVTVaSUZkQldTQlBWVlFnVDBZZ1ZFaEZJRlZUUlZ4dUlDb2dUMFlnVkVoSlV5QlRUMFpVVjBGU1JTd2dSVlpGVGlCSlJpQkJSRlpKVTBWRUlFOUdJRlJJUlNCUVQxTlRTVUpKVEVsVVdTQlBSaUJUVlVOSUlFUkJUVUZIUlM1Y2JpQXFMMXh1WEc1cGJYQnZjblFnS2lCaGN5Qm9aV0Z3SUdaeWIyMGdKeTR2YUdWaGNDYzdYRzVwYlhCdmNuUWdLaUJoY3lCdFlYUnlhWGdnWm5KdmJTQW5MaTl0WVhSeWFYZ25PMXh1YVcxd2IzSjBJQ29nWVhNZ2JtNUVaWE5qWlc1MElHWnliMjBnSnk0dmJtNWZaR1Z6WTJWdWRDYzdYRzVwYlhCdmNuUWdLaUJoY3lCMGNtVmxJR1p5YjIwZ0p5NHZkSEpsWlNjN1hHNXBiWEJ2Y25RZ0tpQmhjeUIxZEdsc2N5Qm1jbTl0SUNjdUwzVjBhV3h6Snp0Y2JtbHRjRzl5ZENCTVRTQm1jbTl0SUNkdGJDMXNaWFpsYm1KbGNtY3RiV0Z5Y1hWaGNtUjBKenRjYmx4dVpYaHdiM0owSUhSNWNHVWdSR2x6ZEdGdVkyVkdiaUE5SUNoNE9pQnVkVzFpWlhJc0lIazZJRzUxYldKbGNpa2dQVDRnYm5WdFltVnlPMXh1Wlhod2IzSjBJSFI1Y0dVZ1VtRnVaRzl0Um00Z1BTQW9LU0E5UGlCdWRXMWlaWEk3WEc1bGVIQnZjblFnZEhsd1pTQkZjRzlqYUVOaGJHeGlZV05ySUQwZ0tHVndiMk5vT2lCdWRXMWlaWElwSUQwK0lHSnZiMnhsWVc0Z2ZDQjJiMmxrTzF4dVpYaHdiM0owSUhSNWNHVWdWbVZqZEc5eUlEMGdiblZ0WW1WeVcxMDdYRzVsZUhCdmNuUWdkSGx3WlNCV1pXTjBiM0p6SUQwZ1ZtVmpkRzl5VzEwN1hHNWxlSEJ2Y25RZ1kyOXVjM1FnWlc1MWJTQlVZWEpuWlhSTlpYUnlhV01nZTF4dUlDQmpZWFJsWjI5eWFXTmhiQ0E5SUNkallYUmxaMjl5YVdOaGJDY3NYRzRnSUd3eElEMGdKMnd4Snl4Y2JpQWdiRElnUFNBbmJESW5MRnh1ZlZ4dVhHNWpiMjV6ZENCVFRVOVBWRWhmUzE5VVQweEZVa0ZPUTBVZ1BTQXhaUzAxTzF4dVkyOXVjM1FnVFVsT1gwdGZSRWxUVkY5VFEwRk1SU0E5SURGbExUTTdYRzVjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnVlUxQlVGQmhjbUZ0WlhSbGNuTWdlMXh1SUNBdktpcGNiaUFnSUNvZ1ZHaGxJR1JwYzNSaGJtTmxJR1oxYm1OMGFXOXVJSGRwZEdnZ2QyaHBZMmdnZEc4Z1lYTnpaWE56SUc1bFlYSmxjM1FnYm1WcFoyaGliM0p6TENCa1pXWmhkV3gwYzF4dUlDQWdLaUIwYnlCbGRXTnNhV1JsWVc0Z1pHbHpkR0Z1WTJVdVhHNGdJQ0FxTDF4dUlDQmthWE4wWVc1alpVWnVQem9nUkdsemRHRnVZMlZHYmp0Y2JpQWdMeW9xWEc0Z0lDQXFJRlJvWlNCcGJtbDBhV0ZzSUd4bFlYSnVhVzVuSUhKaGRHVWdabTl5SUhSb1pTQmxiV0psWkdScGJtY2diM0IwYVcxcGVtRjBhVzl1TGx4dUlDQWdLaTljYmlBZ2JHVmhjbTVwYm1kU1lYUmxQem9nYm5WdFltVnlPMXh1SUNBdktpcGNiaUFnSUNvZ1ZHaGxJR3h2WTJGc0lHTnZibTVsWTNScGRtbDBlU0J5WlhGMWFYSmxaQ0F0TFNCcExtVXVJSFJvWlNCdWRXMWlaWElnYjJZZ2JtVmhjbVZ6ZEZ4dUlDQWdLaUJ1WldsbmFHSnZjbk1nZEdoaGRDQnphRzkxYkdRZ1ltVWdZWE56ZFcxbFpDQjBieUJpWlNCamIyNXVaV04wWldRZ1lYUWdZU0JzYjJOaGJDQnNaWFpsYkM1Y2JpQWdJQ29nVkdobElHaHBaMmhsY2lCMGFHbHpJSFpoYkhWbElIUm9aU0J0YjNKbElHTnZibTVsWTNSbFpDQjBhR1VnYldGdWFXWnZiR1FnWW1WamIyMWxjMXh1SUNBZ0tpQnNiMk5oYkd4NUxpQkpiaUJ3Y21GamRHbGpaU0IwYUdseklITm9iM1ZzWkNCaVpTQnViM1FnYlc5eVpTQjBhR0Z1SUhSb1pTQnNiMk5oYkNCcGJuUnlhVzV6YVdOY2JpQWdJQ29nWkdsdFpXNXphVzl1SUc5bUlIUm9aU0J0WVc1cFptOXNaQzVjYmlBZ0lDb3ZYRzRnSUd4dlkyRnNRMjl1Ym1WamRHbDJhWFI1UHpvZ2JuVnRZbVZ5TzF4dUlDQXZLaXBjYmlBZ0lDb2dWR2hsSUdWbVptVmpkR2wyWlNCdGFXNXBiWFZ0SUdScGMzUmhibU5sSUdKbGRIZGxaVzRnWlcxaVpXUmtaV1FnY0c5cGJuUnpMaUJUYldGc2JHVnlJSFpoYkhWbGMxeHVJQ0FnS2lCM2FXeHNJSEpsYzNWc2RDQnBiaUJoSUcxdmNtVWdZMngxYzNSbGNtVmtMMk5zZFcxd1pXUWdaVzFpWldSa2FXNW5JSGRvWlhKbElHNWxZWEppZVNCd2IybHVkSE5jYmlBZ0lDb2diMjRnZEdobElHMWhibWxtYjJ4a0lHRnlaU0JrY21GM2JpQmpiRzl6WlhJZ2RHOW5aWFJvWlhJc0lIZG9hV3hsSUd4aGNtZGxjaUIyWVd4MVpYTWdkMmxzYkZ4dUlDQWdLaUJ5WlhOMWJIUWdiMjRnWVNCdGIzSmxJR1YyWlc0Z1pHbHpjR1Z5YzJGc0lHOW1JSEJ2YVc1MGN5NGdWR2hsSUhaaGJIVmxJSE5vYjNWc1pDQmlaU0J6WlhSY2JpQWdJQ29nY21Wc1lYUnBkbVVnZEc4Z2RHaGxJR0JnYzNCeVpXRmtZR0FnZG1Gc2RXVXNJSGRvYVdOb0lHUmxkR1Z5YldsdVpYTWdkR2hsSUhOallXeGxJR0YwSUhkb2FXTm9YRzRnSUNBcUlHVnRZbVZrWkdWa0lIQnZhVzUwY3lCM2FXeHNJR0psSUhOd2NtVmhaQ0J2ZFhRdVhHNGdJQ0FxTDF4dUlDQnRhVzVFYVhOMFB6b2diblZ0WW1WeU8xeHVJQ0F2S2lwY2JpQWdJQ29nVkdobElHUnBiV1Z1YzJsdmJpQnZaaUIwYUdVZ2MzQmhZMlVnZEc4Z1pXMWlaV1FnYVc1MGJ5NGdWR2hwY3lCa1pXWmhkV3gwY3lCMGJ5QXlJSFJ2WEc0Z0lDQXFJSEJ5YjNacFpHVWdaV0Z6ZVNCMmFYTjFZV3hwZW1GMGFXOXVMQ0JpZFhRZ1kyRnVJSEpsWVhOdmJtRmliSGtnWW1VZ2MyVjBJSFJ2SUdGdWVWeHVJQ0FnS2lCcGJuUmxaMlZ5SUhaaGJIVmxJR2x1SUhSb1pTQnlZVzVuWlNBeUlIUnZJREV3TUM1Y2JpQWdJQ292WEc0Z0lHNURiMjF3YjI1bGJuUnpQem9nYm5WdFltVnlPMXh1SUNBdktpcGNiaUFnSUNvZ1ZHaGxJRzUxYldKbGNpQnZaaUIwY21GcGJtbHVaeUJsY0c5amFITWdkRzhnWW1VZ2RYTmxaQ0JwYmlCdmNIUnBiV2w2YVc1bklIUm9aVnh1SUNBZ0tpQnNiM2NnWkdsdFpXNXphVzl1WVd3Z1pXMWlaV1JrYVc1bkxpQk1ZWEpuWlhJZ2RtRnNkV1Z6SUhKbGMzVnNkQ0JwYmlCdGIzSmxJR0ZqWTNWeVlYUmxYRzRnSUNBcUlHVnRZbVZrWkdsdVozTXVJRWxtSUU1dmJtVWdhWE1nYzNCbFkybG1hV1ZrSUdFZ2RtRnNkV1VnZDJsc2JDQmlaU0J6Wld4bFkzUmxaQ0JpWVhObFpDQnZibHh1SUNBZ0tpQjBhR1VnYzJsNlpTQnZaaUIwYUdVZ2FXNXdkWFFnWkdGMFlYTmxkQ0FvTWpBd0lHWnZjaUJzWVhKblpTQmtZWFJoYzJWMGN5d2dOVEF3SUdadmNpQnpiV0ZzYkNrdVhHNGdJQ0FxTDF4dUlDQnVSWEJ2WTJoelB6b2diblZ0WW1WeU8xeHVJQ0F2S2lwY2JpQWdJQ29nVkdobElITnBlbVVnYjJZZ2JHOWpZV3dnYm1WcFoyaGliM0pvYjI5a0lDaHBiaUIwWlhKdGN5QnZaaUJ1ZFcxaVpYSWdiMllnYm1WcFoyaGliM0pwYm1kY2JpQWdJQ29nYzJGdGNHeGxJSEJ2YVc1MGN5a2dkWE5sWkNCbWIzSWdiV0Z1YVdadmJHUWdZWEJ3Y205NGFXMWhkR2x2Ymk0Z1RHRnlaMlZ5SUhaaGJIVmxjMXh1SUNBZ0tpQnlaWE4xYkhRZ2FXNGdiVzl5WlNCbmJHOWlZV3dnZG1sbGQzTWdiMllnZEdobElHMWhibWxtYjJ4a0xDQjNhR2xzWlNCemJXRnNiR1Z5WEc0Z0lDQXFJSFpoYkhWbGN5QnlaWE4xYkhRZ2FXNGdiVzl5WlNCc2IyTmhiQ0JrWVhSaElHSmxhVzVuSUhCeVpYTmxjblpsWkM0Z1NXNGdaMlZ1WlhKaGJGeHVJQ0FnS2lCMllXeDFaWE1nYzJodmRXeGtJR0psSUdsdUlIUm9aU0J5WVc1blpTQXlJSFJ2SURFd01DNWNiaUFnSUNvdlhHNGdJRzVPWldsbmFHSnZjbk0vT2lCdWRXMWlaWEk3WEc0Z0lDOHFLbHh1SUNBZ0tpQlVhR1VnYm5WdFltVnlJRzltSUc1bFoyRjBhWFpsSUhOaGJYQnNaWE1nZEc4Z2MyVnNaV04wSUhCbGNpQndiM05wZEdsMlpTQnpZVzF3YkdWY2JpQWdJQ29nYVc0Z2RHaGxJRzl3ZEdsdGFYcGhkR2x2YmlCd2NtOWpaWE56TGlCSmJtTnlaV0Z6YVc1bklIUm9hWE1nZG1Gc2RXVWdkMmxzYkNCeVpYTjFiSFJjYmlBZ0lDb2dhVzRnWjNKbFlYUmxjaUJ5WlhCMWJITnBkbVVnWm05eVkyVWdZbVZwYm1jZ1lYQndiR2xsWkN3Z1ozSmxZWFJsY2lCdmNIUnBiV2w2WVhScGIyNWNiaUFnSUNvZ1kyOXpkQ3dnWW5WMElITnNhV2RvZEd4NUlHMXZjbVVnWVdOamRYSmhZM2t1WEc0Z0lDQXFMMXh1SUNCdVpXZGhkR2wyWlZOaGJYQnNaVkpoZEdVL09pQnVkVzFpWlhJN1hHNGdJQzhxS2x4dUlDQWdLaUJYWldsbmFIUnBibWNnWVhCd2JHbGxaQ0IwYnlCdVpXZGhkR2wyWlNCellXMXdiR1Z6SUdsdUlHeHZkeUJrYVcxbGJuTnBiMjVoYkNCbGJXSmxaR1JwYm1kY2JpQWdJQ29nYjNCMGFXMXBlbUYwYVc5dUxpQldZV3gxWlhNZ2FHbG5hR1Z5SUhSb1lXNGdiMjVsSUhkcGJHd2djbVZ6ZFd4MElHbHVJR2R5WldGMFpYSWdkMlZwWjJoMFhHNGdJQ0FxSUdKbGFXNW5JR2RwZG1WdUlIUnZJRzVsWjJGMGFYWmxJSE5oYlhCc1pYTXVYRzRnSUNBcUwxeHVJQ0J5WlhCMWJITnBiMjVUZEhKbGJtZDBhRDg2SUc1MWJXSmxjanRjYmlBZ0x5b3FYRzRnSUNBcUlGUm9aU0J3YzJWMVpHOHRjbUZ1Wkc5dElHNTFiV0psY2lCblpXNWxjbUYwYjNJZ2RYTmxaQ0JpZVNCMGFHVWdjM1J2WTJoaGMzUnBZeUJ3WVhKMGN5QnZaaUIwYUdWY2JpQWdJQ29nWVd4bmIzSnBkR2h0TGx4dUlDQWdLaTljYmlBZ2NtRnVaRzl0UHpvZ1VtRnVaRzl0Um00N1hHNGdJQzhxS2x4dUlDQWdLaUJKYm5SbGNuQnZiR0YwWlNCaVpYUjNaV1Z1SUNobWRYcDZlU2tnZFc1cGIyNGdZVzVrSUdsdWRHVnljMlZqZEdsdmJpQmhjeUIwYUdVZ2MyVjBJRzl3WlhKaGRHbHZibHh1SUNBZ0tpQjFjMlZrSUhSdklHTnZiV0pwYm1VZ2JHOWpZV3dnWm5WNmVua2djMmx0Y0d4cFkybGhiQ0J6WlhSeklIUnZJRzlpZEdGcGJpQmhJR2RzYjJKaGJDQm1kWHA2ZVZ4dUlDQWdLaUJ6YVcxd2JHbGphV0ZzSUhObGRITXVJRUp2ZEdnZ1puVjZlbmtnYzJWMElHOXdaWEpoZEdsdmJuTWdkWE5sSUhSb1pTQndjbTlrZFdOMElIUXRibTl5YlM1Y2JpQWdJQ29nVkdobElIWmhiSFZsSUc5bUlIUm9hWE1nY0dGeVlXMWxkR1Z5SUhOb2IzVnNaQ0JpWlNCaVpYUjNaV1Z1SURBdU1DQmhibVFnTVM0d095QmhJSFpoYkhWbElHOW1YRzRnSUNBcUlERXVNQ0IzYVd4c0lIVnpaU0JoSUhCMWNtVWdablY2ZW5rZ2RXNXBiMjRzSUhkb2FXeGxJREF1TUNCM2FXeHNJSFZ6WlNCaElIQjFjbVVnWm5WNmVubGNiaUFnSUNvZ2FXNTBaWEp6WldOMGFXOXVMbHh1SUNBZ0tpOWNiaUFnYzJWMFQzQk5hWGhTWVhScGJ6ODZJRzUxYldKbGNqdGNiaUFnTHlvcVhHNGdJQ0FxSUZSb1pTQmxabVpsWTNScGRtVWdjMk5oYkdVZ2IyWWdaVzFpWldSa1pXUWdjRzlwYm5SekxpQkpiaUJqYjIxaWFXNWhkR2x2YmlCM2FYUm9JR0JnYldsdVgyUnBjM1JnWUZ4dUlDQWdLaUIwYUdseklHUmxkR1Z5YldsdVpYTWdhRzkzSUdOc2RYTjBaWEpsWkM5amJIVnRjR1ZrSUhSb1pTQmxiV0psWkdSbFpDQndiMmx1ZEhNZ1lYSmxMbHh1SUNBZ0tpOWNiaUFnYzNCeVpXRmtQem9nYm5WdFltVnlPMXh1SUNBdktpcGNiaUFnSUNvZ1JtOXlJSFJ5WVc1elptOXliU0J2Y0dWeVlYUnBiMjV6SUNobGJXSmxaR1JwYm1jZ2JtVjNJSEJ2YVc1MGN5QjFjMmx1WnlCaElIUnlZV2x1WldRZ2JXOWtaV3dwWEc0Z0lDQXFJSFJvYVhNZ2QybHNiQ0JqYjI1MGNtOXNJR2h2ZHlCaFoyZHlaWE56YVhabGJIa2dkRzhnYzJWaGNtTm9JR1p2Y2lCdVpXRnlaWE4wSUc1bGFXZG9ZbTl5Y3k1Y2JpQWdJQ29nVEdGeVoyVnlJSFpoYkhWbGN5QjNhV3hzSUhKbGMzVnNkQ0JwYmlCemJHOTNaWElnY0dWeVptOXliV0Z1WTJVZ1luVjBJRzF2Y21VZ1lXTmpkWEpoZEdWY2JpQWdJQ29nYm1WaGNtVnpkQ0J1WldsbmFHSnZjaUJsZG1Gc2RXRjBhVzl1TGx4dUlDQWdLaTljYmlBZ2RISmhibk5tYjNKdFVYVmxkV1ZUYVhwbFB6b2diblZ0WW1WeU8xeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZWTlFWQlRkWEJsY25acGMyVmtVR0Z5WVcxeklIdGNiaUFnTHlvcVhHNGdJQ0FxSUZSb1pTQnRaWFJ5YVdNZ2RYTmxaQ0IwYnlCdFpXRnpkWEpsSUdScGMzUmhibU5sSUdadmNpQmhJSFJoY21kbGRDQmhjbkpoZVNCcGN5QjFjMmx1WnlCemRYQmxjblpwYzJWa1hHNGdJQ0FxSUdScGJXVnVjMmx2YmlCeVpXUjFZM1JwYjI0dUlFSjVJR1JsWm1GMWJIUWdkR2hwY3lCcGN5QW5ZMkYwWldkdmNtbGpZV3duSUhkb2FXTm9JSGRwYkd3Z2JXVmhjM1Z5WlZ4dUlDQWdLaUJrYVhOMFlXNWpaU0JwYmlCMFpYSnRjeUJ2WmlCM2FHVjBhR1Z5SUdOaGRHVm5iM0pwWlhNZ2JXRjBZMmdnYjNJZ1lYSmxJR1JwWm1abGNtVnVkQzRnUm5WeWRHaGxjbTF2Y21Vc1hHNGdJQ0FxSUdsbUlITmxiV2t0YzNWd1pYSjJhWE5sWkNCcGN5QnlaWEYxYVhKbFpDQjBZWEpuWlhRZ2RtRnNkV1Z6SUc5bUlDMHhJSGRwYkd3Z1ltVWdkSEpsWVhSbFpDQmhjMXh1SUNBZ0tpQjFibXhoWW1Wc2JHVmtJSFZ1WkdWeUlIUm9aU0FuWTJGMFpXZHZjbWxqWVd3bklHMWxkSEpwWXk0Z1NXWWdkR2hsSUhSaGNtZGxkQ0JoY25KaGVTQjBZV3RsYzF4dUlDQWdLaUJqYjI1MGFXNTFiM1Z6SUhaaGJIVmxjeUFvWlM1bkxpQm1iM0lnWVNCeVpXZHlaWE56YVc5dUlIQnliMkpzWlcwcElIUm9aVzRnYldWMGNtbGpJRzltSUNkc01TZGNiaUFnSUNvZ2IzSWdKMnd5SnlCcGN5QndjbTlpWVdKc2VTQnRiM0psSUdGd2NISnZjSEpwWVhSbExseHVJQ0FnS2k5Y2JpQWdkR0Z5WjJWMFRXVjBjbWxqUHpvZ1ZHRnlaMlYwVFdWMGNtbGpPMXh1SUNBdktpcGNiaUFnSUNvZ1YyVnBaMmgwYVc1bklHWmhZM1J2Y2lCaVpYUjNaV1Z1SUdSaGRHRWdkRzl3YjJ4dloza2dZVzVrSUhSaGNtZGxkQ0IwYjNCdmJHOW5lUzRnUVNCMllXeDFaU0J2Wmx4dUlDQWdLaUF3TGpBZ2QyVnBaMmgwY3lCbGJuUnBjbVZzZVNCdmJpQmtZWFJoTENCaElIWmhiSFZsSUc5bUlERXVNQ0IzWldsbmFIUnpJR1Z1ZEdseVpXeDVJRzl1SUhSaGNtZGxkQzVjYmlBZ0lDb2dWR2hsSUdSbFptRjFiSFFnYjJZZ01DNDFJR0poYkdGdVkyVnpJSFJvWlNCM1pXbG5hSFJwYm1jZ1pYRjFZV3hzZVNCaVpYUjNaV1Z1SUdSaGRHRWdZVzVrSUhSaGNtZGxkQzVjYmlBZ0lDb3ZYRzRnSUhSaGNtZGxkRmRsYVdkb2REODZJRzUxYldKbGNqdGNiaUFnTHlvcVhHNGdJQ0FxSUZSb1pTQnVkVzFpWlhJZ2IyWWdibVZoY21WemRDQnVaV2xuYUdKdmNuTWdkRzhnZFhObElIUnZJR052Ym5OMGNuVmpkQ0IwYUdVZ2RHRnlaMlYwSUhOcGJYQnNZMmxoYkZ4dUlDQWdLaUJ6WlhRdUlFUmxabUYxYkhSeklIUnZJSFJvWlNCZ2JtVmhjbVZ6ZEU1bGFXZG9ZbTl5YzJBZ2NHRnlZVzFsZEdWeUxseHVJQ0FnS2k5Y2JpQWdkR0Z5WjJWMFRrNWxhV2RvWW05eWN6ODZJRzUxYldKbGNqdGNibjFjYmx4dUx5b3FYRzRnS2lCVlRVRlFJSEJ5YjJwbFkzUnBiMjRnYzNsemRHVnRMQ0JpWVhObFpDQnZiaUIwYUdVZ2NIbDBhRzl1SUdsdGNHeGxiV1Z1ZEdGMGFXOXVJR1p5YjIwZ1RXTkpibTVsY3l3Z1RDeGNiaUFxSUVobFlXeDVMQ0JLTENCVlRVRlFPaUJWYm1sbWIzSnRJRTFoYm1sbWIyeGtJRUZ3Y0hKdmVHbHRZWFJwYjI0Z1lXNWtJRkJ5YjJwbFkzUnBiMjRnWm05eUlFUnBiV1Z1YzJsdmJseHVJQ29nVW1Wa2RXTjBhVzl1SUNob2RIUndjem92TDJkcGRHaDFZaTVqYjIwdmJHMWphVzV1WlhNdmRXMWhjQ2t1WEc0Z0tseHVJQ29nVkdocGN5QnBiWEJzWlcxbGJuUmhkR2x2YmlCa2FXWm1aWEp6SUdsdUlHRWdabVYzSUhKbFoyRnlaSE02WEc0Z0tpQmhLU0JVYUdVZ2FXNXBkR2xoYkdsNllYUnBiMjRnYjJZZ2RHaGxJR1Z0WW1Wa1pHbHVaeUJtYjNJZ2IzQjBhVzFwZW1GMGFXOXVJR2x6SUc1dmRDQmpiMjF3ZFhSbFpDQjFjMmx1WjF4dUlDb2dJQ0FnWVNCemNHVmpkSEpoYkNCdFpYUm9iMlFzSUhKaGRHaGxjaUJwZENCcGN5QnBibWwwYVdGc2FYcGxaQ0J5WVc1a2IyMXNlUzRnVkdocGN5QmhkbTlwWkhNZ2MyOXRaVnh1SUNvZ0lDQWdZMjl0Y0hWMFlYUnBiMjVoYkd4NUlHbHVkR1Z1YzJsMlpTQnRZWFJ5YVhnZ1pXbG5aVzRnWTI5dGNIVjBZWFJwYjI1eklIUm9ZWFFnWVhKbGJpZDBJR1ZoYzJsc2VWeHVJQ29nSUNBZ2NHOXlkR1ZrSUhSdklFcGhkbUZUWTNKcGNIUXVYRzRnS2lCaUtTQkJJR3h2ZENCdlppQmNJbVY0ZEhKaFhDSWdablZ1WTNScGIyNWhiR2wwZVNCb1lYTWdZbVZsYmlCdmJXbDBkR1ZrSUdaeWIyMGdkR2hwY3lCcGJYQnNaVzFsYm5SaGRHbHZiaXhjYmlBcUlDQWdJRzF2YzNRZ2JtOTBZV0pzZVNCaElHZHlaV0YwSUdSbFlXd2diMllnWVd4MFpYSnVZWFJsSUdScGMzUmhibU5sSUdaMWJtTjBhVzl1Y3k1Y2JpQXFYRzRnS2lCVWFHbHpJR2x0Y0d4bGJXVnVkR0YwYVc5dUlIQnliM1pwWkdWeklIUm9jbVZsSUcxbGRHaHZaSE1nYjJZZ2NtVmtkV05wYm1jZ1pHbHRaVzV6YVc5dVlXeHBkSGs2WEc0Z0tpQXhLU0JtYVhRNklHWnBkQ0IwYUdVZ1pHRjBZU0J6ZVc1amFISnZibTkxYzJ4NVhHNGdLaUF5S1NCbWFYUkJjM2x1WXpvZ1ptbDBJSFJvWlNCa1lYUmhJR0Z6ZVc1amFISnZibTkxYzJ4NUxDQjNhWFJvSUdFZ1kyRnNiR0poWTJzZ1puVnVZM1JwYjI0Z2NISnZkbWxrWldSY2JpQXFJQ0FnSUNBZ2RHaGhkQ0JwY3lCcGJuWnZhMlZrSUc5dUlHVmhZMmdnYjNCMGFXMXBlbUYwYVc5dUlITjBaWEF1WEc0Z0tpQXpLU0JwYm1sMGFXRnNhWHBsUm1sMElDOGdjM1JsY0RvZ2JXRnVkV0ZzYkhrZ2FXNXBkR2xoYkdsNlpTQjBhR1VnWVd4bmIzSnBkR2h0SUhSb1pXNGdaWGh3YkdsamRHeDVYRzRnS2lBZ0lDQWdJSE4wWlhBZ2RHaHliM1ZuYUNCbFlXTm9JR1Z3YjJOb0lHOW1JSFJvWlNCVFIwUWdiM0IwYVcxcGVtRjBhVzl1WEc0Z0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCVlRVRlFJSHRjYmlBZ2NISnBkbUYwWlNCc1pXRnlibWx1WjFKaGRHVWdQU0F4TGpBN1hHNGdJSEJ5YVhaaGRHVWdiRzlqWVd4RGIyNXVaV04wYVhacGRIa2dQU0F4TGpBN1hHNGdJSEJ5YVhaaGRHVWdiV2x1UkdsemRDQTlJREF1TVR0Y2JpQWdjSEpwZG1GMFpTQnVRMjl0Y0c5dVpXNTBjeUE5SURJN1hHNGdJSEJ5YVhaaGRHVWdia1Z3YjJOb2N5QTlJREE3WEc0Z0lIQnlhWFpoZEdVZ2JrNWxhV2RvWW05eWN5QTlJREUxTzF4dUlDQndjbWwyWVhSbElHNWxaMkYwYVhabFUyRnRjR3hsVW1GMFpTQTlJRFU3WEc0Z0lIQnlhWFpoZEdVZ2NtRnVaRzl0SUQwZ1RXRjBhQzV5WVc1a2IyMDdYRzRnSUhCeWFYWmhkR1VnY21Wd2RXeHphVzl1VTNSeVpXNW5kR2dnUFNBeExqQTdYRzRnSUhCeWFYWmhkR1VnYzJWMFQzQk5hWGhTWVhScGJ5QTlJREV1TUR0Y2JpQWdjSEpwZG1GMFpTQnpjSEpsWVdRZ1BTQXhMakE3WEc0Z0lIQnlhWFpoZEdVZ2RISmhibk5tYjNKdFVYVmxkV1ZUYVhwbElEMGdOQzR3TzF4dVhHNGdJQzh2SUZOMWNHVnlkbWx6WldRZ2NISnZhbVZqZEdsdmJpQndZWEpoYlhOY2JpQWdjSEpwZG1GMFpTQjBZWEpuWlhSTlpYUnlhV01nUFNCVVlYSm5aWFJOWlhSeWFXTXVZMkYwWldkdmNtbGpZV3c3WEc0Z0lIQnlhWFpoZEdVZ2RHRnlaMlYwVjJWcFoyaDBJRDBnTUM0MU8xeHVJQ0J3Y21sMllYUmxJSFJoY21kbGRFNU9aV2xuYUdKdmNuTWdQU0IwYUdsekxtNU9aV2xuYUdKdmNuTTdYRzVjYmlBZ2NISnBkbUYwWlNCa2FYTjBZVzVqWlVadU9pQkVhWE4wWVc1alpVWnVJRDBnYm5WdFpYSnBZenRjYmx4dUlDQXZMeUJMVGs0Z2MzUmhkR1VnS0dOaGJpQmlaU0J3Y21WamIyMXdkWFJsWkNCaGJtUWdjM1Z3Y0d4cFpXUWdkbWxoSUdsdWFYUnBZV3hwZW1WR2FYUXBYRzRnSUhCeWFYWmhkR1VnYTI1dVNXNWthV05sY3o4NklHNTFiV0psY2x0ZFcxMDdYRzRnSUhCeWFYWmhkR1VnYTI1dVJHbHpkR0Z1WTJWelB6b2diblZ0WW1WeVcxMWJYVHRjYmx4dUlDQXZMeUJKYm5SbGNtNWhiQ0JuY21Gd2FDQmpiMjV1WldOMGFYWnBkSGtnY21Wd2NtVnpaVzUwWVhScGIyNWNiaUFnY0hKcGRtRjBaU0JuY21Gd2FDRTZJRzFoZEhKcGVDNVRjR0Z5YzJWTllYUnlhWGc3WEc0Z0lIQnlhWFpoZEdVZ1dDRTZJRlpsWTNSdmNqdGNiaUFnY0hKcGRtRjBaU0JwYzBsdWFYUnBZV3hwZW1Wa0lEMGdabUZzYzJVN1hHNGdJSEJ5YVhaaGRHVWdjbkJHYjNKbGMzUTZJSFJ5WldVdVJteGhkRlJ5WldWYlhTQTlJRnRkTzF4dUlDQndjbWwyWVhSbElHbHVhWFJHY205dFVtRnVaRzl0SVRvZ2JtNUVaWE5qWlc1MExrbHVhWFJHY205dFVtRnVaRzl0Um00N1hHNGdJSEJ5YVhaaGRHVWdhVzVwZEVaeWIyMVVjbVZsSVRvZ2JtNUVaWE5qWlc1MExrbHVhWFJHY205dFZISmxaVVp1TzF4dUlDQndjbWwyWVhSbElITmxZWEpqYUNFNklHNXVSR1Z6WTJWdWRDNVRaV0Z5WTJoR2JqdGNiaUFnY0hKcGRtRjBaU0J6WldGeVkyaEhjbUZ3YUNFNklHMWhkSEpwZUM1VGNHRnljMlZOWVhSeWFYZzdYRzVjYmlBZ0x5OGdVM1Z3WlhKMmFYTmxaQ0J3Y205cVpXTjBhVzl1SUd4aFltVnNjeUF2SUhSaGNtZGxkSE5jYmlBZ2NISnBkbUYwWlNCWlB6b2diblZ0WW1WeVcxMDdYRzVjYmlBZ0x5OGdVSEp2YW1WamRHVmtJR1Z0WW1Wa1pHbHVaMXh1SUNCd2NtbDJZWFJsSUdWdFltVmtaR2x1WnpvZ2JuVnRZbVZ5VzExYlhTQTlJRnRkTzF4dUlDQndjbWwyWVhSbElHOXdkR2x0YVhwaGRHbHZibE4wWVhSbElEMGdibVYzSUU5d2RHbHRhWHBoZEdsdmJsTjBZWFJsS0NrN1hHNWNibHh1SUNCblpYUWdibVZwWjJoaWIzSnpLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG01T1pXbG5hR0p2Y25NN1hHNGdJSDFjYmlBZ1kyOXVjM1J5ZFdOMGIzSW9jR0Z5WVcxek9pQlZUVUZRVUdGeVlXMWxkR1Z5Y3lBOUlIdDlLU0I3WEc0Z0lDQWdZMjl1YzNRZ2MyVjBVR0Z5WVcwZ1BTQW9hMlY1T2lCclpYbHZaaUJWVFVGUVVHRnlZVzFsZEdWeWN5a2dQVDRnZTF4dUlDQWdJQ0FnTHk5QWRITXRhV2R1YjNKbFhHNGdJQ0FnSUNCcFppQW9jR0Z5WVcxelcydGxlVjBnSVQwOUlIVnVaR1ZtYVc1bFpDa2dkR2hwYzF0clpYbGRJRDBnY0dGeVlXMXpXMnRsZVYwN1hHNGdJQ0FnZlR0Y2JseHVJQ0FnSUhObGRGQmhjbUZ0S0Nka2FYTjBZVzVqWlVadUp5azdYRzRnSUNBZ2MyVjBVR0Z5WVcwb0oyeGxZWEp1YVc1blVtRjBaU2NwTzF4dUlDQWdJSE5sZEZCaGNtRnRLQ2RzYjJOaGJFTnZibTVsWTNScGRtbDBlU2NwTzF4dUlDQWdJSE5sZEZCaGNtRnRLQ2R0YVc1RWFYTjBKeWs3WEc0Z0lDQWdjMlYwVUdGeVlXMG9KMjVEYjIxd2IyNWxiblJ6SnlrN1hHNGdJQ0FnYzJWMFVHRnlZVzBvSjI1RmNHOWphSE1uS1R0Y2JpQWdJQ0J6WlhSUVlYSmhiU2duYms1bGFXZG9ZbTl5Y3ljcE8xeHVJQ0FnSUhObGRGQmhjbUZ0S0NkdVpXZGhkR2wyWlZOaGJYQnNaVkpoZEdVbktUdGNiaUFnSUNCelpYUlFZWEpoYlNnbmNtRnVaRzl0SnlrN1hHNGdJQ0FnYzJWMFVHRnlZVzBvSjNKbGNIVnNjMmx2YmxOMGNtVnVaM1JvSnlrN1hHNGdJQ0FnYzJWMFVHRnlZVzBvSjNObGRFOXdUV2w0VW1GMGFXOG5LVHRjYmlBZ0lDQnpaWFJRWVhKaGJTZ25jM0J5WldGa0p5azdYRzRnSUNBZ2MyVjBVR0Z5WVcwb0ozUnlZVzV6Wm05eWJWRjFaWFZsVTJsNlpTY3BPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVacGRDQjBhR1VnWkdGMFlTQjBieUJoSUhCeWIycGxZM1JsWkNCbGJXSmxaR1JwYm1jZ2MzQmhZMlVnYzNsdVkyaHliMjV2ZFhOc2VTNWNiaUFnSUNvdlhHNGdJR1pwZENoWU9pQldaV04wYjNJcElIdGNiaUFnSUNCMGFHbHpMbWx1YVhScFlXeHBlbVZHYVhRb1dDazdYRzRnSUNBZ2RHaHBjeTV2Y0hScGJXbDZaVXhoZVc5MWRDZ3BPMXh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WlcxaVpXUmthVzVuTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFWnBkQ0IwYUdVZ1pHRjBZU0IwYnlCaElIQnliMnBsWTNSbFpDQmxiV0psWkdScGJtY2djM0JoWTJVZ1lYTjVibU5vY205dWIzVnpiSGtzSUhkcGRHZ2dZU0JqWVd4c1ltRmphMXh1SUNBZ0tpQm1kVzVqZEdsdmJpQnBiblp2YTJWa0lHOXVJR1YyWlhKNUlHVndiMk5vSUc5bUlHOXdkR2x0YVhwaGRHbHZiaTVjYmlBZ0lDb3ZYRzRnSUdGemVXNWpJR1pwZEVGemVXNWpLRnh1SUNBZ0lGZzZJRlpsWTNSdmNpeGNiaUFnSUNCallXeHNZbUZqYXpvZ0tHVndiMk5vVG5WdFltVnlPaUJ1ZFcxaVpYSXBJRDArSUhadmFXUWdmQ0JpYjI5c1pXRnVJRDBnS0NrZ1BUNGdkSEoxWlZ4dUlDQXBJSHRjYmlBZ0lDQjBhR2x6TG1sdWFYUnBZV3hwZW1WR2FYUW9XQ2s3WEc1Y2JpQWdJQ0JoZDJGcGRDQjBhR2x6TG05d2RHbHRhWHBsVEdGNWIzVjBRWE41Ym1Nb1kyRnNiR0poWTJzcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtVnRZbVZrWkdsdVp6dGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJKYm1sMGFXRnNhWHBsY3lCd1lYSmhiV1YwWlhKeklHNWxaV1JsWkNCbWIzSWdjM1Z3WlhKMmFYTmxaQ0J3Y205cVpXTjBhVzl1TGx4dUlDQWdLaTljYmlBZ2MyVjBVM1Z3WlhKMmFYTmxaRkJ5YjJwbFkzUnBiMjRvV1RvZ2JuVnRZbVZ5VzEwc0lIQmhjbUZ0Y3pvZ1ZVMUJVRk4xY0dWeWRtbHpaV1JRWVhKaGJYTWdQU0I3ZlNrZ2UxeHVJQ0FnSUhSb2FYTXVXU0E5SUZrN1hHNGdJQ0FnZEdocGN5NTBZWEpuWlhSTlpYUnlhV01nUFNCd1lYSmhiWE11ZEdGeVoyVjBUV1YwY21saklIeDhJSFJvYVhNdWRHRnlaMlYwVFdWMGNtbGpPMXh1SUNBZ0lIUm9hWE11ZEdGeVoyVjBWMlZwWjJoMElEMGdjR0Z5WVcxekxuUmhjbWRsZEZkbGFXZG9kQ0I4ZkNCMGFHbHpMblJoY21kbGRGZGxhV2RvZER0Y2JpQWdJQ0IwYUdsekxuUmhjbWRsZEU1T1pXbG5hR0p2Y25NZ1BTQndZWEpoYlhNdWRHRnlaMlYwVGs1bGFXZG9ZbTl5Y3lCOGZDQjBhR2x6TG5SaGNtZGxkRTVPWldsbmFHSnZjbk03WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1NXNXBkR2xoYkdsNlpYTWdkVzFoY0NCM2FYUm9JSEJ5WldOdmJYQjFkR1ZrSUV0T1RpQnBibVJwWTJWeklHRnVaQ0JrYVhOMFlXNWpaWE11WEc0Z0lDQXFMMXh1SUNCelpYUlFjbVZqYjIxd2RYUmxaRXRPVGlocmJtNUpibVJwWTJWek9pQnVkVzFpWlhKYlhWdGRMQ0JyYm01RWFYTjBZVzVqWlhNNklHNTFiV0psY2x0ZFcxMHBJSHRjYmlBZ0lDQjBhR2x6TG10dWJrbHVaR2xqWlhNZ1BTQnJibTVKYm1ScFkyVnpPMXh1SUNBZ0lIUm9hWE11YTI1dVJHbHpkR0Z1WTJWeklEMGdhMjV1UkdsemRHRnVZMlZ6TzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFbHVhWFJwWVd4cGVtVnpJR1pwZENCaWVTQmpiMjF3ZFhScGJtY2dTMDVPSUdGdVpDQmhJR1oxZW5wNUlITnBiWEJzYVdOcFlXd2djMlYwTENCaGN5QjNaV3hzSUdGelhHNGdJQ0FxSUdsdWFYUnBZV3hwZW1sdVp5QjBhR1VnY0hKdmFtVmpkR1ZrSUdWdFltVmtaR2x1WjNNdUlGTmxkSE1nZEdobElHOXdkR2x0YVhwaGRHbHZiaUJ6ZEdGMFpTQmhhR1ZoWkZ4dUlDQWdLaUJ2WmlCdmNIUnBiV2w2WVhScGIyNGdjM1JsY0hNdUlGSmxkSFZ5Ym5NZ2RHaGxJRzUxYldKbGNpQnZaaUJsY0c5amFITWdkRzhnWW1VZ2RYTmxaQ0JtYjNJZ2RHaGxYRzRnSUNBcUlGTkhSQ0J2Y0hScGJXbDZZWFJwYjI0dVhHNGdJQ0FxTDF4dUlDQnBibWwwYVdGc2FYcGxSbWwwS0ZnNklGWmxZM1J2Y2lrNklHNTFiV0psY2lCN1hHNGdJQ0FnYVdZZ0tGZ3ViR1Z1WjNSb0lEdzlJSFJvYVhNdWJrNWxhV2RvWW05eWN5a2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHQk9iM1FnWlc1dmRXZG9JR1JoZEdFZ2NHOXBiblJ6SUNna2UxZ3ViR1Z1WjNSb2ZTa2dkRzhnWTNKbFlYUmxJRzVPWldsbmFHSnZjbk02SUNSN2RHaHBjeTV1VG1WcFoyaGliM0p6ZlM0Z0lFRmtaQ0J0YjNKbElHUmhkR0VnY0c5cGJuUnpJRzl5SUdGa2FuVnpkQ0IwYUdVZ1kyOXVabWxuZFhKaGRHbHZiaTVnS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCWFpTQmtiMjRuZENCdVpXVmtJSFJ2SUhKbGFXNXBkR2xoYkdsNlpTQnBaaUIzWlNkMlpTQmhiSEpsWVdSNUlHbHVhWFJwWVd4cGVtVmtJR1p2Y2lCMGFHbHpJR1JoZEdFdVhHNGdJQ0FnYVdZZ0tIUm9hWE11V0NBOVBUMGdXQ0FtSmlCMGFHbHpMbWx6U1c1cGRHbGhiR2w2WldRcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWRsZEU1RmNHOWphSE1vS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxsZ2dQU0JZTzF4dVhHNGdJQ0FnYVdZZ0tDRjBhR2x6TG10dWJrbHVaR2xqWlhNZ0ppWWdJWFJvYVhNdWEyNXVSR2x6ZEdGdVkyVnpLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQnJibTVTWlhOMWJIUnpJRDBnZEdocGN5NXVaV0Z5WlhOMFRtVnBaMmhpYjNKektGZ3BPMXh1SUNBZ0lDQWdkR2hwY3k1cmJtNUpibVJwWTJWeklEMGdhMjV1VW1WemRXeDBjeTVyYm01SmJtUnBZMlZ6TzF4dUlDQWdJQ0FnZEdocGN5NXJibTVFYVhOMFlXNWpaWE1nUFNCcmJtNVNaWE4xYkhSekxtdHVia1JwYzNSaGJtTmxjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBhR2x6TG1keVlYQm9JRDBnZEdocGN5NW1kWHA2ZVZOcGJYQnNhV05wWVd4VFpYUW9YRzRnSUNBZ0lDQllMRnh1SUNBZ0lDQWdkR2hwY3k1dVRtVnBaMmhpYjNKekxGeHVJQ0FnSUNBZ2RHaHBjeTV6WlhSUGNFMXBlRkpoZEdsdlhHNGdJQ0FnS1R0Y2JseHVJQ0FnSUM4dklGTmxkQ0IxY0NCMGFHVWdjMlZoY21Ob0lHZHlZWEJvSUdadmNpQnpkV0p6WlhGMVpXNTBJSFJ5WVc1elptOXliV0YwYVc5dUxseHVJQ0FnSUhSb2FYTXViV0ZyWlZObFlYSmphRVp1Y3lncE8xeHVJQ0FnSUhSb2FYTXVjMlZoY21Ob1IzSmhjR2dnUFNCMGFHbHpMbTFoYTJWVFpXRnlZMmhIY21Gd2FDaFlLVHRjYmx4dUlDQWdJQzh2SUVOb1pXTnJJR2xtSUhOMWNHVnlkbWx6WldRZ2NISnZhbVZqZEdsdmJpd2dkR2hsYmlCaFpHcDFjM1FnZEdobElHZHlZWEJvTGx4dUlDQWdJSFJvYVhNdWNISnZZMlZ6YzBkeVlYQm9SbTl5VTNWd1pYSjJhWE5sWkZCeWIycGxZM1JwYjI0b0tUdGNibHh1SUNBZ0lHTnZibk4wSUh0Y2JpQWdJQ0FnSUdobFlXUXNYRzRnSUNBZ0lDQjBZV2xzTEZ4dUlDQWdJQ0FnWlhCdlkyaHpVR1Z5VTJGdGNHeGxMRnh1SUNBZ0lIMGdQU0IwYUdsekxtbHVhWFJwWVd4cGVtVlRhVzF3YkdsamFXRnNVMlYwUlcxaVpXUmthVzVuS0NrN1hHNWNiaUFnSUNBdkx5QlRaWFFnZEdobElHOXdkR2x0YVhwaGRHbHZiaUJ5YjNWMGFXNWxJSE4wWVhSbFhHNGdJQ0FnZEdocGN5NXZjSFJwYldsNllYUnBiMjVUZEdGMFpTNW9aV0ZrSUQwZ2FHVmhaRHRjYmlBZ0lDQjBhR2x6TG05d2RHbHRhWHBoZEdsdmJsTjBZWFJsTG5SaGFXd2dQU0IwWVdsc08xeHVJQ0FnSUhSb2FYTXViM0IwYVcxcGVtRjBhVzl1VTNSaGRHVXVaWEJ2WTJoelVHVnlVMkZ0Y0d4bElEMGdaWEJ2WTJoelVHVnlVMkZ0Y0d4bE8xeHVYRzRnSUNBZ0x5OGdUbTkzTENCcGJtbDBhV0ZzYVhwbElIUm9aU0J2Y0hScGJXbDZZWFJwYjI0Z2MzUmxjSE5jYmlBZ0lDQjBhR2x6TG1sdWFYUnBZV3hwZW1WUGNIUnBiV2w2WVhScGIyNG9LVHRjYmlBZ0lDQjBhR2x6TG5CeVpYQmhjbVZHYjNKUGNIUnBiV2w2WVhScGIyNU1iMjl3S0NrN1hHNGdJQ0FnZEdocGN5NXBjMGx1YVhScFlXeHBlbVZrSUQwZ2RISjFaVHRjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1kbGRFNUZjRzlqYUhNb0tUdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdiV0ZyWlZObFlYSmphRVp1Y3lncElIdGNiaUFnSUNCamIyNXpkQ0I3SUdsdWFYUkdjbTl0VkhKbFpTd2dhVzVwZEVaeWIyMVNZVzVrYjIwZ2ZTQTlJRzV1UkdWelkyVnVkQzV0WVd0bFNXNXBkR2xoYkdsNllYUnBiMjV6S0Z4dUlDQWdJQ0FnZEdocGN5NWthWE4wWVc1alpVWnVYRzRnSUNBZ0tUdGNiaUFnSUNCMGFHbHpMbWx1YVhSR2NtOXRWSEpsWlNBOUlHbHVhWFJHY205dFZISmxaVHRjYmlBZ0lDQjBhR2x6TG1sdWFYUkdjbTl0VW1GdVpHOXRJRDBnYVc1cGRFWnliMjFTWVc1a2IyMDdYRzRnSUNBZ2RHaHBjeTV6WldGeVkyZ2dQU0J1YmtSbGMyTmxiblF1YldGclpVbHVhWFJwWVd4cGVtVmtUazVUWldGeVkyZ29kR2hwY3k1a2FYTjBZVzVqWlVadUtUdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdiV0ZyWlZObFlYSmphRWR5WVhCb0tGZzZJRlpsWTNSdmNpa2dlMXh1SUNBZ0lHTnZibk4wSUd0dWJrbHVaR2xqWlhNZ1BTQjBhR2x6TG10dWJrbHVaR2xqWlhNaE8xeHVJQ0FnSUdOdmJuTjBJR3R1YmtScGMzUmhibU5sY3lBOUlIUm9hWE11YTI1dVJHbHpkR0Z1WTJWeklUdGNiaUFnSUNCamIyNXpkQ0JrYVcxeklEMGdXMWd1YkdWdVozUm9MQ0JZTG14bGJtZDBhRjA3WEc0Z0lDQWdZMjl1YzNRZ2MyVmhjbU5vUjNKaGNHZ2dQU0J1WlhjZ2JXRjBjbWw0TGxOd1lYSnpaVTFoZEhKcGVDaGJYU3dnVzEwc0lGdGRMQ0JrYVcxektUdGNiaUFnSUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHdHVia2x1WkdsalpYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR3R1YmlBOUlHdHVia2x1WkdsalpYTmJhVjA3WEc0Z0lDQWdJQ0JqYjI1emRDQmthWE4wWVc1alpYTWdQU0JyYm01RWFYTjBZVzVqWlhOYmFWMDdYRzRnSUNBZ0lDQm1iM0lnS0d4bGRDQnFJRDBnTURzZ2FpQThJR3R1Ymk1c1pXNW5kR2c3SUdvckt5a2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnVaV2xuYUdKdmNpQTlJR3R1Ymx0cVhUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1pHbHpkR0Z1WTJVZ1BTQmthWE4wWVc1alpYTmJhbDA3WEc0Z0lDQWdJQ0FnSUdsbUlDaGthWE4wWVc1alpTQStJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnpaV0Z5WTJoSGNtRndhQzV6WlhRb2FTd2dibVZwWjJoaWIzSXNJR1JwYzNSaGJtTmxLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElIUnlZVzV6Y0c5elpTQTlJRzFoZEhKcGVDNTBjbUZ1YzNCdmMyVW9jMlZoY21Ob1IzSmhjR2dwTzF4dUlDQWdJSEpsZEhWeWJpQnRZWFJ5YVhndWJXRjRhVzExYlNoelpXRnlZMmhIY21Gd2FDd2dkSEpoYm5Od2IzTmxLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCVWNtRnVjMlp2Y20xeklHUmhkR0VnZEc4Z2RHaGxJR1Y0YVhOMGFXNW5JR1Z0WW1Wa1pHbHVaeUJ6Y0dGalpTNWNiaUFnSUNvdlhHNGdJSFJ5WVc1elptOXliU2gwYjFSeVlXNXpabTl5YlRvZ1ZtVmpkRzl5S1NCN1hHNGdJQ0FnTHk4Z1ZYTmxJSFJvWlNCd2NtVjJhVzkxY3lCeVlYZEVZWFJoWEc0Z0lDQWdZMjl1YzNRZ2NtRjNSR0YwWVNBOUlIUm9hWE11V0R0Y2JpQWdJQ0JwWmlBb2NtRjNSR0YwWVNBOVBUMGdkVzVrWldacGJtVmtJSHg4SUhKaGQwUmhkR0V1YkdWdVozUm9JRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0owNXZJR1JoZEdFZ2FHRnpJR0psWlc0Z1ptbDBMaWNwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR3hsZENCdVRtVnBaMmhpYjNKeklEMGdUV0YwYUM1bWJHOXZjaWgwYUdsekxtNU9aV2xuYUdKdmNuTWdLaUIwYUdsekxuUnlZVzV6Wm05eWJWRjFaWFZsVTJsNlpTazdYRzRnSUNBZ2JrNWxhV2RvWW05eWN5QTlJRTFoZEdndWJXbHVLSEpoZDBSaGRHRXViR1Z1WjNSb0xDQnVUbVZwWjJoaWIzSnpLVHRjYmlBZ0lDQmpiMjV6ZENCcGJtbDBJRDBnYm01RVpYTmpaVzUwTG1sdWFYUnBZV3hwZW1WVFpXRnlZMmdvWEc0Z0lDQWdJQ0IwYUdsekxuSndSbTl5WlhOMExGeHVJQ0FnSUNBZ2NtRjNSR0YwWVN4Y2JpQWdJQ0FnSUhSdlZISmhibk5tYjNKdExGeHVJQ0FnSUNBZ2JrNWxhV2RvWW05eWN5eGNiaUFnSUNBZ0lIUm9hWE11YVc1cGRFWnliMjFTWVc1a2IyMHNYRzRnSUNBZ0lDQjBhR2x6TG1sdWFYUkdjbTl0VkhKbFpTeGNiaUFnSUNBZ0lIUm9hWE11Y21GdVpHOXRYRzRnSUNBZ0tUdGNibHh1SUNBZ0lHTnZibk4wSUhKbGMzVnNkQ0E5SUhSb2FYTXVjMlZoY21Ob0tISmhkMFJoZEdFc0lIUm9hWE11YzJWaGNtTm9SM0poY0dnc0lHbHVhWFFzSUhSdlZISmhibk5tYjNKdEtUdGNibHh1SUNBZ0lHeGxkQ0I3SUdsdVpHbGpaWE1zSUhkbGFXZG9kSE02SUdScGMzUmhibU5sY3lCOUlEMGdhR1ZoY0M1a1pXaGxZWEJUYjNKMEtISmxjM1ZzZENrN1hHNWNiaUFnSUNCcGJtUnBZMlZ6SUQwZ2FXNWthV05sY3k1dFlYQW9lQ0E5UGlCNExuTnNhV05sS0RBc0lIUm9hWE11Yms1bGFXZG9ZbTl5Y3lrcE8xeHVJQ0FnSUdScGMzUmhibU5sY3lBOUlHUnBjM1JoYm1ObGN5NXRZWEFvZUNBOVBpQjRMbk5zYVdObEtEQXNJSFJvYVhNdWJrNWxhV2RvWW05eWN5a3BPMXh1WEc0Z0lDQWdZMjl1YzNRZ1lXUnFkWE4wWldSTWIyTmhiRU52Ym01bFkzUnBkbWwwZVNBOUlFMWhkR2d1YldGNEtEQXNJSFJvYVhNdWJHOWpZV3hEYjI1dVpXTjBhWFpwZEhrZ0xTQXhLVHRjYmlBZ0lDQmpiMjV6ZENCN0lITnBaMjFoY3l3Z2NtaHZjeUI5SUQwZ2RHaHBjeTV6Ylc5dmRHaExUazVFYVhOMFlXNWpaU2hjYmlBZ0lDQWdJR1JwYzNSaGJtTmxjeXhjYmlBZ0lDQWdJSFJvYVhNdWJrNWxhV2RvWW05eWN5eGNiaUFnSUNBZ0lHRmthblZ6ZEdWa1RHOWpZV3hEYjI1dVpXTjBhWFpwZEhsY2JpQWdJQ0FwTzF4dVhHNGdJQ0FnWTI5dWMzUWdleUJ5YjNkekxDQmpiMnh6TENCMllXeHpJSDBnUFNCMGFHbHpMbU52YlhCMWRHVk5aVzFpWlhKemFHbHdVM1J5Wlc1bmRHaHpLRnh1SUNBZ0lDQWdhVzVrYVdObGN5eGNiaUFnSUNBZ0lHUnBjM1JoYm1ObGN5eGNiaUFnSUNBZ0lITnBaMjFoY3l4Y2JpQWdJQ0FnSUhKb2IzTmNiaUFnSUNBcE8xeHVYRzRnSUNBZ1kyOXVjM1FnYzJsNlpTQTlJRnQwYjFSeVlXNXpabTl5YlM1c1pXNW5kR2dzSUhKaGQwUmhkR0V1YkdWdVozUm9YVHRjYmlBZ0lDQnNaWFFnWjNKaGNHZ2dQU0J1WlhjZ2JXRjBjbWw0TGxOd1lYSnpaVTFoZEhKcGVDaHliM2R6TENCamIyeHpMQ0IyWVd4ekxDQnphWHBsS1R0Y2JseHVJQ0FnSUM4dklGUm9hWE1nZDJGeklHRWdkbVZ5ZVNCemNHVmphV0ZzYkhrZ1kyOXVjM1J5ZFdOMFpXUWdaM0poY0dnZ2QybDBhQ0JqYjI1emRHRnVkQ0JrWldkeVpXVXVYRzRnSUNBZ0x5OGdWR2hoZENCc1pYUnpJSFZ6SUdSdklHWmhibU41SUhWdWNHRmphMmx1WnlCaWVTQnlaWE5vWVhCcGJtY2dkR2hsSUdOemNpQnRZWFJ5YVhnZ2FXNWthV05sYzF4dUlDQWdJQzh2SUdGdVpDQmtZWFJoTGlCRWIybHVaeUJ6YnlCeVpXeHBaWE1nYjI0Z2RHaGxJR052Ym5OMFlXNTBJR1JsWjNKbFpTQmhjM04xYlhCMGFXOXVJVnh1WEc0Z0lDQWdZMjl1YzNRZ2JtOXliV1ZrSUQwZ2JXRjBjbWw0TG01dmNtMWhiR2w2WlNobmNtRndhQ3dnYldGMGNtbDRMazV2Y20xVWVYQmxMbXd4S1R0Y2JseHVJQ0FnSUdOdmJuTjBJR056Y2sxaGRISnBlQ0E5SUcxaGRISnBlQzVuWlhSRFUxSW9ibTl5YldWa0tUdGNiaUFnSUNCamIyNXpkQ0J1VUc5cGJuUnpJRDBnZEc5VWNtRnVjMlp2Y20wdWJHVnVaM1JvTzF4dVhHNGdJQ0FnWTI5dWMzUWdaVWx1WkdsalpYTWdQU0IxZEdsc2N5NXlaWE5vWVhCbE1tUW9YRzRnSUNBZ0lDQmpjM0pOWVhSeWFYZ3VhVzVrYVdObGN5eGNiaUFnSUNBZ0lHNVFiMmx1ZEhNc1hHNGdJQ0FnSUNCMGFHbHpMbTVPWldsbmFHSnZjbk5jYmlBZ0lDQXBPMXh1WEc0Z0lDQWdZMjl1YzNRZ1pWZGxhV2RvZEhNZ1BTQjFkR2xzY3k1eVpYTm9ZWEJsTW1Rb1hHNGdJQ0FnSUNCamMzSk5ZWFJ5YVhndWRtRnNkV1Z6TEZ4dUlDQWdJQ0FnYmxCdmFXNTBjeXhjYmlBZ0lDQWdJSFJvYVhNdWJrNWxhV2RvWW05eWMxeHVJQ0FnSUNrN1hHNWNiaUFnSUNCamIyNXpkQ0JsYldKbFpHUnBibWNnUFNCcGJtbDBWSEpoYm5ObWIzSnRLR1ZKYm1ScFkyVnpMQ0JsVjJWcFoyaDBjeXdnZEdocGN5NWxiV0psWkdScGJtY3BPMXh1WEc0Z0lDQWdZMjl1YzNRZ2JrVndiMk5vY3lBOUlIUm9hWE11YmtWd2IyTm9jMXh1SUNBZ0lDQWdQeUIwYUdsekxtNUZjRzlqYUhNZ0x5QXpYRzRnSUNBZ0lDQTZJR2R5WVhCb0xtNVNiM2R6SUR3OUlERXdNREF3WEc0Z0lDQWdJQ0EvSURFd01GeHVJQ0FnSUNBZ09pQXpNRHRjYmx4dUlDQWdJR052Ym5OMElHZHlZWEJvVFdGNElEMGdaM0poY0doY2JpQWdJQ0FnSUM1blpYUldZV3gxWlhNb0tWeHVJQ0FnSUNBZ0xuSmxaSFZqWlNnb2JXRjRMQ0IyWVd3cElEMCtJQ2gyWVd3Z1BpQnRZWGdnUHlCMllXd2dPaUJ0WVhncExDQXdLVHRjYmlBZ0lDQm5jbUZ3YUNBOUlHZHlZWEJvTG0xaGNDaDJZV3gxWlNBOVBpQW9kbUZzZFdVZ1BDQm5jbUZ3YUUxaGVDQXZJRzVGY0c5amFITWdQeUF3SURvZ2RtRnNkV1VwS1R0Y2JpQWdJQ0JuY21Gd2FDQTlJRzFoZEhKcGVDNWxiR2x0YVc1aGRHVmFaWEp2Y3lobmNtRndhQ2s3WEc1Y2JpQWdJQ0JqYjI1emRDQmxjRzlqYUhOUVpYSlRZVzF3YkdVZ1BTQjBhR2x6TG0xaGEyVkZjRzlqYUhOUVpYSlRZVzF3YkdVb1hHNGdJQ0FnSUNCbmNtRndhQzVuWlhSV1lXeDFaWE1vS1N4Y2JpQWdJQ0FnSUc1RmNHOWphSE5jYmlBZ0lDQXBPMXh1SUNBZ0lHTnZibk4wSUdobFlXUWdQU0JuY21Gd2FDNW5aWFJTYjNkektDazdYRzRnSUNBZ1kyOXVjM1FnZEdGcGJDQTlJR2R5WVhCb0xtZGxkRU52YkhNb0tUdGNibHh1SUNBZ0lDOHZJRWx1YVhScFlXeHBlbVVnYjNCMGFXMXBlbUYwYVc5dUlITnNhV2RvZEd4NUlHUnBabVpsY21WdWRHeDVJSFJvWVc0Z2RHaGxJR1pwZENCdFpYUm9iMlF1WEc0Z0lDQWdkR2hwY3k1aGMzTnBaMjVQY0hScGJXbDZZWFJwYjI1VGRHRjBaVkJoY21GdFpYUmxjbk1vZTF4dUlDQWdJQ0FnYUdWaFpFVnRZbVZrWkdsdVp6b2daVzFpWldSa2FXNW5MRnh1SUNBZ0lDQWdkR0ZwYkVWdFltVmtaR2x1WnpvZ2RHaHBjeTVsYldKbFpHUnBibWNzWEc0Z0lDQWdJQ0JvWldGa0xGeHVJQ0FnSUNBZ2RHRnBiQ3hjYmlBZ0lDQWdJR04xY25KbGJuUkZjRzlqYURvZ01DeGNiaUFnSUNBZ0lHNUZjRzlqYUhNc1hHNGdJQ0FnSUNCdVZtVnlkR2xqWlhNNklHZHlZWEJvTG1kbGRFUnBiWE1vS1ZzeFhTeGNiaUFnSUNBZ0lHVndiMk5vYzFCbGNsTmhiWEJzWlN4Y2JpQWdJQ0I5S1R0Y2JpQWdJQ0IwYUdsekxuQnlaWEJoY21WR2IzSlBjSFJwYldsNllYUnBiMjVNYjI5d0tDazdYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV2Y0hScGJXbDZaVXhoZVc5MWRDZ3BPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVOb1pXTnJjeUJwWmlCM1pTZHlaU0IxYzJsdVp5QnpkWEJsY25acGMyVmtJSEJ5YjJwbFkzUnBiMjRzSUhSb1pXNGdjSEp2WTJWemN5QjBhR1VnWjNKaGNHaGNiaUFnSUNvZ1lXTmpiM0prYVc1bmJIa3VYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJSEJ5YjJObGMzTkhjbUZ3YUVadmNsTjFjR1Z5ZG1selpXUlFjbTlxWldOMGFXOXVLQ2tnZTF4dUlDQWdJR052Ym5OMElIc2dXU3dnV0NCOUlEMGdkR2hwY3p0Y2JpQWdJQ0JwWmlBb1dTa2dlMXh1SUNBZ0lDQWdhV1lnS0ZrdWJHVnVaM1JvSUNFOVBTQllMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMHhsYm1kMGFDQnZaaUJZSUdGdVpDQjVJRzExYzNRZ1ltVWdaWEYxWVd3bktUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVkR0Z5WjJWMFRXVjBjbWxqSUQwOVBTQlVZWEpuWlhSTlpYUnlhV011WTJGMFpXZHZjbWxqWVd3cElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2JIUWdQU0IwYUdsekxuUmhjbWRsZEZkbGFXZG9kQ0E4SURFdU1EdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1ptRnlSR2x6ZENBOUlHeDBJRDhnTWk0MUlDb2dLREV1TUNBdklDZ3hMakFnTFNCMGFHbHpMblJoY21kbGRGZGxhV2RvZENrcElEb2dNUzR3WlRFeU8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG1keVlYQm9JRDBnZEdocGN5NWpZWFJsWjI5eWFXTmhiRk5wYlhCc2FXTnBZV3hUWlhSSmJuUmxjbk5sWTNScGIyNG9YRzRnSUNBZ0lDQWdJQ0FnZEdocGN5NW5jbUZ3YUN4Y2JpQWdJQ0FnSUNBZ0lDQlpMRnh1SUNBZ0lDQWdJQ0FnSUdaaGNrUnBjM1JjYmlBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUM4dklGUlBSRThnS0dGdVpIbGpiMlZ1Wlc1QUtUb2dZV1JrSUc1dmJpMWpZWFJsWjI5eWFXTmhiQ0J6ZFhCbGNuWnBjMlZrSUdWdFltVmtaR2x1WjNNdVhHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFMWhiblZoYkd4NUlITjBaWEFnZEdoeWIzVm5hQ0IwYUdVZ2IzQjBhVzFwZW1GMGFXOXVJSEJ5YjJObGMzTWdiMjVsSUdWd2IyTm9JR0YwSUdFZ2RHbHRaUzVjYmlBZ0lDb3ZYRzRnSUhOMFpYQW9LU0I3WEc0Z0lDQWdZMjl1YzNRZ2V5QmpkWEp5Wlc1MFJYQnZZMmdnZlNBOUlIUm9hWE11YjNCMGFXMXBlbUYwYVc5dVUzUmhkR1U3WEc1Y2JpQWdJQ0JwWmlBb1kzVnljbVZ1ZEVWd2IyTm9JRHdnZEdocGN5NW5aWFJPUlhCdlkyaHpLQ2twSUh0Y2JpQWdJQ0FnSUhSb2FYTXViM0IwYVcxcGVtVk1ZWGx2ZFhSVGRHVndLR04xY25KbGJuUkZjRzlqYUNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG05d2RHbHRhWHBoZEdsdmJsTjBZWFJsTG1OMWNuSmxiblJGY0c5amFEdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJSFJvWlNCamIyMXdkWFJsWkNCd2NtOXFaV04wWldRZ1pXMWlaV1JrYVc1bkxseHVJQ0FnS2k5Y2JpQWdaMlYwUlcxaVpXUmthVzVuS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtVnRZbVZrWkdsdVp6dGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJEYjIxd2RYUmxJSFJvWlNCZ1lHNU9aV2xuYUdKdmNuTmdZQ0J1WldGeVpYTjBJSEJ2YVc1MGN5Qm1iM0lnWldGamFDQmtZWFJoSUhCdmFXNTBJR2x1SUdCZ1dHQmdYRzRnSUNBcUlGUm9hWE1nYldGNUlHSmxJR1Y0WVdOMExDQmlkWFFnYlc5eVpTQnNhV3RsYkhrZ2FYTWdZWEJ3Y205NGFXMWhkR1ZrSUhacFlTQnVaV0Z5WlhOMElHNWxhV2RvWW05eVhHNGdJQ0FxSUdSbGMyTmxiblF1WEc0Z0lDQXFMMXh1SUNCd2NtbDJZWFJsSUc1bFlYSmxjM1JPWldsbmFHSnZjbk1vV0RvZ1ZtVmpkRzl5S1NCN1hHNGdJQ0FnWTI5dWMzUWdleUJrYVhOMFlXNWpaVVp1TENCdVRtVnBaMmhpYjNKeklIMGdQU0IwYUdsek8xeHVJQ0FnSUdOdmJuTjBJR3h2WnpJZ1BTQW9iam9nYm5WdFltVnlLU0E5UGlCTllYUm9MbXh2WnlodUtTQXZJRTFoZEdndWJHOW5LRElwTzF4dUlDQWdJR052Ym5OMElHMWxkSEpwWTA1T1JHVnpZMlZ1ZENBOUlHNXVSR1Z6WTJWdWRDNXRZV3RsVGs1RVpYTmpaVzUwS0dScGMzUmhibU5sUm00c0lIUm9hWE11Y21GdVpHOXRLVHRjYmx4dUlDQWdJQzh2SUVoaGJtUnNaU0J3ZVhSb2IyNHpJSEp2ZFc1a2FXNW5JR1J2ZDI0Z1puSnZiU0F3TGpVZ1pHbHpZM0p3WVc1amVWeHVJQ0FnSUdOdmJuTjBJSEp2ZFc1a0lEMGdLRzQ2SUc1MWJXSmxjaWtnUFQ0Z2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc0Z1BUMDlJREF1TlNBL0lEQWdPaUJOWVhSb0xuSnZkVzVrS0c0cE8xeHVJQ0FnSUgwN1hHNWNiaUFnSUNCamIyNXpkQ0J1VkhKbFpYTWdQU0ExSUNzZ1RXRjBhQzVtYkc5dmNpaHliM1Z1WkNoWUxteGxibWQwYUNBcUtpQXdMalVnTHlBeU1DNHdLU2s3WEc0Z0lDQWdZMjl1YzNRZ2JrbDBaWEp6SUQwZ1RXRjBhQzV0WVhnb05Td2dUV0YwYUM1bWJHOXZjaWhOWVhSb0xuSnZkVzVrS0d4dlp6SW9XQzVzWlc1bmRHZ3BLU2twTzF4dVhHNGdJQ0FnZEdocGN5NXljRVp2Y21WemRDQTlJSFJ5WldVdWJXRnJaVVp2Y21WemRDaFlMQ0J1VG1WcFoyaGliM0p6TENCdVZISmxaWE1zSUhSb2FYTXVjbUZ1Wkc5dEtUdGNibHh1SUNBZ0lHTnZibk4wSUd4bFlXWkJjbkpoZVNBOUlIUnlaV1V1YldGclpVeGxZV1pCY25KaGVTaDBhR2x6TG5Kd1JtOXlaWE4wS1R0Y2JpQWdJQ0JqYjI1emRDQjdJR2x1WkdsalpYTXNJSGRsYVdkb2RITWdmU0E5SUcxbGRISnBZMDVPUkdWelkyVnVkQ2hjYmlBZ0lDQWdJRmdzWEc0Z0lDQWdJQ0JzWldGbVFYSnlZWGtzWEc0Z0lDQWdJQ0J1VG1WcFoyaGliM0p6TEZ4dUlDQWdJQ0FnYmtsMFpYSnpYRzRnSUNBZ0tUdGNiaUFnSUNCeVpYUjFjbTRnZXlCcmJtNUpibVJwWTJWek9pQnBibVJwWTJWekxDQnJibTVFYVhOMFlXNWpaWE02SUhkbGFXZG9kSE1nZlR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkhhWFpsYmlCaElITmxkQ0J2WmlCa1lYUmhJRmdzSUdFZ2JtVnBaMmhpYjNKb2IyOWtJSE5wZW1Vc0lHRnVaQ0JoSUcxbFlYTjFjbVVnYjJZZ1pHbHpkR0Z1WTJWY2JpQWdJQ29nWTI5dGNIVjBaU0IwYUdVZ1puVjZlbmtnYzJsdGNHeHBZMmxoYkNCelpYUWdLR2hsY21VZ2NtVndjbVZ6Wlc1MFpXUWdZWE1nWVNCbWRYcDZlU0JuY21Gd2FDQnBibHh1SUNBZ0tpQjBhR1VnWm05eWJTQnZaaUJoSUhOd1lYSnpaU0J0WVhSeWFYZ3BJR0Z6YzI5amFXRjBaV1FnZEc4Z2RHaGxJR1JoZEdFdUlGUm9hWE1nYVhNZ1pHOXVaU0JpZVZ4dUlDQWdLaUJzYjJOaGJHeDVJR0Z3Y0hKdmVHbHRZWFJwYm1jZ1oyVnZaR1Z6YVdNZ1pHbHpkR0Z1WTJVZ1lYUWdaV0ZqYUNCd2IybHVkQ3dnWTNKbFlYUnBibWNnWVNCbWRYcDZlVnh1SUNBZ0tpQnphVzF3YkdsamFXRnNJSE5sZENCbWIzSWdaV0ZqYUNCemRXTm9JSEJ2YVc1MExDQmhibVFnZEdobGJpQmpiMjFpYVc1cGJtY2dZV3hzSUhSb1pTQnNiMk5oYkZ4dUlDQWdLaUJtZFhwNmVTQnphVzF3YkdsamFXRnNJSE5sZEhNZ2FXNTBieUJoSUdkc2IySmhiQ0J2Ym1VZ2RtbGhJR0VnWm5WNmVua2dkVzVwYjI0dVhHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElHWjFlbnA1VTJsdGNHeHBZMmxoYkZObGRDaGNiaUFnSUNCWU9pQldaV04wYjNJc1hHNGdJQ0FnYms1bGFXZG9ZbTl5Y3pvZ2JuVnRZbVZ5TEZ4dUlDQWdJSE5sZEU5d1RXbDRVbUYwYVc4Z1BTQXhMakJjYmlBZ0tTQjdYRzRnSUNBZ1kyOXVjM1FnZXlCcmJtNUpibVJwWTJWeklEMGdXMTBzSUd0dWJrUnBjM1JoYm1ObGN5QTlJRnRkTENCc2IyTmhiRU52Ym01bFkzUnBkbWwwZVNCOUlEMGdkR2hwY3p0Y2JseHVJQ0FnSUdOdmJuTjBJSHNnYzJsbmJXRnpMQ0J5YUc5eklIMGdQU0IwYUdsekxuTnRiMjkwYUV0T1RrUnBjM1JoYm1ObEtGeHVJQ0FnSUNBZ2EyNXVSR2x6ZEdGdVkyVnpMRnh1SUNBZ0lDQWdiazVsYVdkb1ltOXljeXhjYmlBZ0lDQWdJR3h2WTJGc1EyOXVibVZqZEdsMmFYUjVYRzRnSUNBZ0tUdGNibHh1SUNBZ0lHTnZibk4wSUhzZ2NtOTNjeXdnWTI5c2N5d2dkbUZzY3lCOUlEMGdkR2hwY3k1amIyMXdkWFJsVFdWdFltVnljMmhwY0ZOMGNtVnVaM1JvY3loY2JpQWdJQ0FnSUd0dWJrbHVaR2xqWlhNc1hHNGdJQ0FnSUNCcmJtNUVhWE4wWVc1alpYTXNYRzRnSUNBZ0lDQnphV2R0WVhNc1hHNGdJQ0FnSUNCeWFHOXpYRzRnSUNBZ0tUdGNibHh1SUNBZ0lHTnZibk4wSUhOcGVtVWdQU0JiV0M1c1pXNW5kR2dzSUZndWJHVnVaM1JvWFR0Y2JpQWdJQ0JqYjI1emRDQnpjR0Z5YzJWTllYUnlhWGdnUFNCdVpYY2diV0YwY21sNExsTndZWEp6WlUxaGRISnBlQ2h5YjNkekxDQmpiMnh6TENCMllXeHpMQ0J6YVhwbEtUdGNibHh1SUNBZ0lHTnZibk4wSUhSeVlXNXpjRzl6WlNBOUlHMWhkSEpwZUM1MGNtRnVjM0J2YzJVb2MzQmhjbk5sVFdGMGNtbDRLVHRjYmlBZ0lDQmpiMjV6ZENCd2NtOWtUV0YwY21sNElEMGdiV0YwY21sNExuQmhhWEozYVhObFRYVnNkR2x3Ykhrb2MzQmhjbk5sVFdGMGNtbDRMQ0IwY21GdWMzQnZjMlVwTzF4dVhHNGdJQ0FnWTI5dWMzUWdZU0E5SUcxaGRISnBlQzV6ZFdKMGNtRmpkQ2h0WVhSeWFYZ3VZV1JrS0hOd1lYSnpaVTFoZEhKcGVDd2dkSEpoYm5Od2IzTmxLU3dnY0hKdlpFMWhkSEpwZUNrN1hHNGdJQ0FnWTI5dWMzUWdZaUE5SUcxaGRISnBlQzV0ZFd4MGFYQnNlVk5qWVd4aGNpaGhMQ0J6WlhSUGNFMXBlRkpoZEdsdktUdGNiaUFnSUNCamIyNXpkQ0JqSUQwZ2JXRjBjbWw0TG0xMWJIUnBjR3g1VTJOaGJHRnlLSEJ5YjJSTllYUnlhWGdzSURFdU1DQXRJSE5sZEU5d1RXbDRVbUYwYVc4cE8xeHVJQ0FnSUdOdmJuTjBJSEpsYzNWc2RDQTlJRzFoZEhKcGVDNWhaR1FvWWl3Z1l5azdYRzVjYmlBZ0lDQnlaWFIxY200Z2NtVnpkV3gwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFTnZiV0pwYm1VZ1lTQm1kWHA2ZVNCemFXMXdiR2xqYVdGc0lITmxkQ0IzYVhSb0lHRnViM1JvWlhJZ1puVjZlbmtnYzJsdGNHeHBZMmxoYkNCelpYUmNiaUFnSUNvZ1oyVnVaWEpoZEdWa0lHWnliMjBnWTJGMFpXZHZjbWxqWVd3Z1pHRjBZU0IxYzJsdVp5QmpZWFJsWjI5eWFXTmhiQ0JrYVhOMFlXNWpaWE11SUZSb1pTQjBZWEpuWlhSY2JpQWdJQ29nWkdGMFlTQnBjeUJoYzNOMWJXVmtJSFJ2SUdKbElHTmhkR1ZuYjNKcFkyRnNJR3hoWW1Wc0lHUmhkR0VnS0dFZ2RtVmpkRzl5SUc5bUlHeGhZbVZzY3lrc1hHNGdJQ0FxSUdGdVpDQjBhR2x6SUhkcGJHd2dkWEJrWVhSbElIUm9aU0JtZFhwNmVTQnphVzF3YkdsamFXRnNJSE5sZENCMGJ5QnlaWE53WldOMElIUm9ZWFFnYkdGaVpXd2daR0YwWVM1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1kyRjBaV2R2Y21sallXeFRhVzF3YkdsamFXRnNVMlYwU1c1MFpYSnpaV04wYVc5dUtGeHVJQ0FnSUhOcGJYQnNhV05wWVd4VFpYUTZJRzFoZEhKcGVDNVRjR0Z5YzJWTllYUnlhWGdzWEc0Z0lDQWdkR0Z5WjJWME9pQnVkVzFpWlhKYlhTeGNiaUFnSUNCbVlYSkVhWE4wT2lCdWRXMWlaWElzWEc0Z0lDQWdkVzVyYm05M2JrUnBjM1FnUFNBeExqQmNiaUFnS1NCN1hHNGdJQ0FnYkdWMElHbHVkR1Z5YzJWamRHbHZiaUE5SUdaaGMzUkpiblJsY25ObFkzUnBiMjRvWEc0Z0lDQWdJQ0J6YVcxd2JHbGphV0ZzVTJWMExGeHVJQ0FnSUNBZ2RHRnlaMlYwTEZ4dUlDQWdJQ0FnZFc1cmJtOTNia1JwYzNRc1hHNGdJQ0FnSUNCbVlYSkVhWE4wWEc0Z0lDQWdLVHRjYmlBZ0lDQnBiblJsY25ObFkzUnBiMjRnUFNCdFlYUnlhWGd1Wld4cGJXbHVZWFJsV21WeWIzTW9hVzUwWlhKelpXTjBhVzl1S1R0Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6WlhSTWIyTmhiRU52Ym01bFkzUnBkbWwwZVNocGJuUmxjbk5sWTNScGIyNHBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVOdmJYQjFkR1VnWVNCamIyNTBhVzUxYjNWeklIWmxjbk5wYjI0Z2IyWWdkR2hsSUdScGMzUmhibU5sSUhSdklIUm9aU0JyZEdnZ2JtVmhjbVZ6ZEZ4dUlDQWdLaUJ1WldsbmFHSnZjaTRnVkdoaGRDQnBjeXdnZEdocGN5QnBjeUJ6YVcxcGJHRnlJSFJ2SUd0dWJpMWthWE4wWVc1alpTQmlkWFFnWVd4c2IzZHpJR052Ym5ScGJuVnZkWE5jYmlBZ0lDb2dheUIyWVd4MVpYTWdjbUYwYUdWeUlIUm9ZVzRnY21WeGRXbHlhVzVuSUdGdUlHbHVkR1ZuY21Gc0lHc3VJRWx1SUdWemMyTmxibU5sSUhkbElHRnlaU0J6YVcxd2JIbGNiaUFnSUNvZ1kyOXRjSFYwYVc1bklIUm9aU0JrYVhOMFlXNWpaU0J6ZFdOb0lIUm9ZWFFnZEdobElHTmhjbVJwYm1Gc2FYUjVJRzltSUdaMWVucDVJSE5sZENCM1pTQm5aVzVsY21GMFpWeHVJQ0FnS2lCcGN5QnJMbHh1SUNBZ0tpOWNiaUFnY0hKcGRtRjBaU0J6Ylc5dmRHaExUazVFYVhOMFlXNWpaU2hjYmlBZ0lDQmthWE4wWVc1alpYTTZJRlpsWTNSdmNuTXNYRzRnSUNBZ2F6b2diblZ0WW1WeUxGeHVJQ0FnSUd4dlkyRnNRMjl1Ym1WamRHbDJhWFI1SUQwZ01TNHdMRnh1SUNBZ0lHNUpkR1Z5SUQwZ05qUXNYRzRnSUNBZ1ltRnVaSGRwWkhSb0lEMGdNUzR3WEc0Z0lDa2dlMXh1SUNBZ0lHTnZibk4wSUhSaGNtZGxkQ0E5SUNoTllYUm9MbXh2WnlocktTQXZJRTFoZEdndWJHOW5LRElwS1NBcUlHSmhibVIzYVdSMGFEdGNiaUFnSUNCamIyNXpkQ0J5YUc4Z1BTQjFkR2xzY3k1NlpYSnZjeWhrYVhOMFlXNWpaWE11YkdWdVozUm9LVHRjYmlBZ0lDQmpiMjV6ZENCeVpYTjFiSFFnUFNCMWRHbHNjeTU2WlhKdmN5aGthWE4wWVc1alpYTXViR1Z1WjNSb0tUdGNibHh1SUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2daR2x6ZEdGdVkyVnpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCc1pYUWdiRzhnUFNBd0xqQTdYRzRnSUNBZ0lDQnNaWFFnYUdrZ1BTQkpibVpwYm1sMGVUdGNiaUFnSUNBZ0lHeGxkQ0J0YVdRZ1BTQXhMakE3WEc1Y2JpQWdJQ0FnSUM4dklGUlBSRTg2SUZSb2FYTWdhWE1nZG1WeWVTQnBibVZtWm1samFXVnVkQ3dnWW5WMElIZHBiR3dnWkc4Z1ptOXlJRzV2ZHk0Z1JrbFlUVVZjYmlBZ0lDQWdJR052Ym5OMElHbDBhRVJwYzNSaGJtTmxjeUE5SUdScGMzUmhibU5sYzF0cFhUdGNiaUFnSUNBZ0lHTnZibk4wSUc1dmJscGxjbTlFYVhOMGN5QTlJR2wwYUVScGMzUmhibU5sY3k1bWFXeDBaWElvWkNBOVBpQmtJRDRnTUM0d0tUdGNibHh1SUNBZ0lDQWdhV1lnS0c1dmJscGxjbTlFYVhOMGN5NXNaVzVuZEdnZ1BqMGdiRzlqWVd4RGIyNXVaV04wYVhacGRIa3BJSHRjYmlBZ0lDQWdJQ0FnYkdWMElHbHVaR1Y0SUQwZ1RXRjBhQzVtYkc5dmNpaHNiMk5oYkVOdmJtNWxZM1JwZG1sMGVTazdYRzRnSUNBZ0lDQWdJR3hsZENCcGJuUmxjbkJ2YkdGMGFXOXVJRDBnYkc5allXeERiMjV1WldOMGFYWnBkSGtnTFNCcGJtUmxlRHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHbHVaR1Y0SUQ0Z01Da2dlMXh1SUNBZ0lDQWdJQ0FnSUhKb2IxdHBYU0E5SUc1dmJscGxjbTlFYVhOMGMxdHBibVJsZUNBdElERmRPMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaHBiblJsY25CdmJHRjBhVzl1SUQ0Z1UwMVBUMVJJWDB0ZlZFOU1SVkpCVGtORktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeWFHOWJhVjBnS3oxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnYVc1MFpYSndiMnhoZEdsdmJpQXFJQ2h1YjI1YVpYSnZSR2x6ZEhOYmFXNWtaWGhkSUMwZ2JtOXVXbVZ5YjBScGMzUnpXMmx1WkdWNElDMGdNVjBwTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0J5YUc5YmFWMGdQU0JwYm5SbGNuQnZiR0YwYVc5dUlDb2dibTl1V21WeWIwUnBjM1J6V3pCZE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLRzV2YmxwbGNtOUVhWE4wY3k1c1pXNW5kR2dnUGlBd0tTQjdYRzRnSUNBZ0lDQWdJSEpvYjF0cFhTQTlJSFYwYVd4ekxtMWhlQ2h1YjI1YVpYSnZSR2x6ZEhNcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQm1iM0lnS0d4bGRDQnVJRDBnTURzZ2JpQThJRzVKZEdWeU95QnVLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2JHVjBJSEJ6ZFcwZ1BTQXdMakE3WEc0Z0lDQWdJQ0FnSUdadmNpQW9iR1YwSUdvZ1BTQXhPeUJxSUR3Z1pHbHpkR0Z1WTJWelcybGRMbXhsYm1kMGFEc2dhaXNyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1pDQTlJR1JwYzNSaGJtTmxjMXRwWFZ0cVhTQXRJSEpvYjF0cFhUdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb1pDQStJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEJ6ZFcwZ0t6MGdUV0YwYUM1bGVIQW9MU2hrSUM4Z2JXbGtLU2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEJ6ZFcwZ0t6MGdNUzR3TzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUdsbUlDaE5ZWFJvTG1GaWN5aHdjM1Z0SUMwZ2RHRnlaMlYwS1NBOElGTk5UMDlVU0Y5TFgxUlBURVZTUVU1RFJTa2dlMXh1SUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLSEJ6ZFcwZ1BpQjBZWEpuWlhRcElIdGNiaUFnSUNBZ0lDQWdJQ0JvYVNBOUlHMXBaRHRjYmlBZ0lDQWdJQ0FnSUNCdGFXUWdQU0FvYkc4Z0t5Qm9hU2tnTHlBeUxqQTdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnYkc4Z1BTQnRhV1E3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLR2hwSUQwOVBTQkpibVpwYm1sMGVTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2JXbGtJQ285SURJN1hHNGdJQ0FnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUcxcFpDQTlJQ2hzYnlBcklHaHBLU0F2SURJdU1EdGNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2NtVnpkV3gwVzJsZElEMGdiV2xrTzF4dVhHNGdJQ0FnSUNBdkx5QlVUMFJQT2lCVWFHbHpJR2x6SUhabGNua2dhVzVsWm1acFkybGxiblFzSUdKMWRDQjNhV3hzSUdSdklHWnZjaUJ1YjNjdUlFWkpXRTFGWEc0Z0lDQWdJQ0JwWmlBb2NtaHZXMmxkSUQ0Z01DNHdLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzFsWVc1SmRHaEVhWE4wWVc1alpYTWdQU0IxZEdsc2N5NXRaV0Z1S0dsMGFFUnBjM1JoYm1ObGN5azdYRzRnSUNBZ0lDQWdJR2xtSUNoeVpYTjFiSFJiYVYwZ1BDQk5TVTVmUzE5RVNWTlVYMU5EUVV4RklDb2diV1ZoYmtsMGFFUnBjM1JoYm1ObGN5a2dlMXh1SUNBZ0lDQWdJQ0FnSUhKbGMzVnNkRnRwWFNBOUlFMUpUbDlMWDBSSlUxUmZVME5CVEVVZ0tpQnRaV0Z1U1hSb1JHbHpkR0Z1WTJWek8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCdFpXRnVSR2x6ZEdGdVkyVnpJRDBnZFhScGJITXViV1ZoYmloa2FYTjBZVzVqWlhNdWJXRndLSFYwYVd4ekxtMWxZVzRwS1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLSEpsYzNWc2RGdHBYU0E4SUUxSlRsOUxYMFJKVTFSZlUwTkJURVVnS2lCdFpXRnVSR2x6ZEdGdVkyVnpLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVnpkV3gwVzJsZElEMGdUVWxPWDB0ZlJFbFRWRjlUUTBGTVJTQXFJRzFsWVc1RWFYTjBZVzVqWlhNN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZXlCemFXZHRZWE02SUhKbGMzVnNkQ3dnY21odmN6b2djbWh2SUgwN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRMjl1YzNSeWRXTjBJSFJvWlNCdFpXMWlaWEp6YUdsd0lITjBjbVZ1WjNSb0lHUmhkR0VnWm05eUlIUm9aU0F4TFhOclpXeGxkRzl1SUc5bUlHVmhZMmdnYkc5allXeGNiaUFnSUNvZ1puVjZlbmtnYzJsdGNHeHBZMmxoYkNCelpYUWdMUzBnZEdocGN5QnBjeUJtYjNKdFpXUWdZWE1nWVNCemNHRnljMlVnYldGMGNtbDRJSGRvWlhKbElHVmhZMmdnY205M0lHbHpYRzRnSUNBcUlHRWdiRzlqWVd3Z1puVjZlbmtnYzJsdGNHeHBZMmxoYkNCelpYUXNJSGRwZEdnZ1lTQnRaVzFpWlhKemFHbHdJSE4wY21WdVozUm9JR1p2Y2lCMGFHVmNiaUFnSUNvZ01TMXphVzF3YkdWNElIUnZJR1ZoWTJnZ2IzUm9aWElnWkdGMFlTQndiMmx1ZEM1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1kyOXRjSFYwWlUxbGJXSmxjbk5vYVhCVGRISmxibWQwYUhNb1hHNGdJQ0FnYTI1dVNXNWthV05sY3pvZ1ZtVmpkRzl5Y3l4Y2JpQWdJQ0JyYm01RWFYTjBZVzVqWlhNNklGWmxZM1J2Y25Nc1hHNGdJQ0FnYzJsbmJXRnpPaUJ1ZFcxaVpYSmJYU3hjYmlBZ0lDQnlhRzl6T2lCdWRXMWlaWEpiWFZ4dUlDQXBPaUI3SUhKdmQzTTZJRzUxYldKbGNsdGRPeUJqYjJ4ek9pQnVkVzFpWlhKYlhUc2dkbUZzY3pvZ2JuVnRZbVZ5VzEwZ2ZTQjdYRzRnSUNBZ1kyOXVjM1FnYmxOaGJYQnNaWE1nUFNCcmJtNUpibVJwWTJWekxteGxibWQwYUR0Y2JpQWdJQ0JqYjI1emRDQnVUbVZwWjJoaWIzSnpJRDBnYTI1dVNXNWthV05sYzFzd1hTNXNaVzVuZEdnN1hHNWNiaUFnSUNCamIyNXpkQ0J5YjNkeklEMGdkWFJwYkhNdWVtVnliM01vYmxOaGJYQnNaWE1nS2lCdVRtVnBaMmhpYjNKektUdGNiaUFnSUNCamIyNXpkQ0JqYjJ4eklEMGdkWFJwYkhNdWVtVnliM01vYmxOaGJYQnNaWE1nS2lCdVRtVnBaMmhpYjNKektUdGNiaUFnSUNCamIyNXpkQ0IyWVd4eklEMGdkWFJwYkhNdWVtVnliM01vYmxOaGJYQnNaWE1nS2lCdVRtVnBaMmhpYjNKektUdGNibHh1SUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dibE5oYlhCc1pYTTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2FpQTlJREE3SUdvZ1BDQnVUbVZwWjJoaWIzSnpPeUJxS3lzcElIdGNiaUFnSUNBZ0lDQWdiR1YwSUhaaGJDQTlJREE3WEc0Z0lDQWdJQ0FnSUdsbUlDaHJibTVKYm1ScFkyVnpXMmxkVzJwZElEMDlQU0F0TVNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR052Ym5ScGJuVmxPeUF2THlCWFpTQmthV1J1SjNRZ1oyVjBJSFJvWlNCbWRXeHNJR3R1YmlCbWIzSWdhVnh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdsbUlDaHJibTVKYm1ScFkyVnpXMmxkVzJwZElEMDlQU0JwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdkbUZzSUQwZ01DNHdPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0d0dWJrUnBjM1JoYm1ObGMxdHBYVnRxWFNBdElISm9iM05iYVYwZ1BEMGdNQzR3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdkbUZzSUQwZ01TNHdPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUhaaGJDQTlJRTFoZEdndVpYaHdLQzBvS0d0dWJrUnBjM1JoYm1ObGMxdHBYVnRxWFNBdElISm9iM05iYVYwcElDOGdjMmxuYldGelcybGRLU2s3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnliM2R6VzJrZ0tpQnVUbVZwWjJoaWIzSnpJQ3NnYWwwZ1BTQnBPMXh1SUNBZ0lDQWdJQ0JqYjJ4elcya2dLaUJ1VG1WcFoyaGliM0p6SUNzZ2FsMGdQU0JyYm01SmJtUnBZMlZ6VzJsZFcycGRPMXh1SUNBZ0lDQWdJQ0IyWVd4elcya2dLaUJ1VG1WcFoyaGliM0p6SUNzZ2FsMGdQU0IyWVd3N1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSHNnY205M2N5d2dZMjlzY3l3Z2RtRnNjeUI5TzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFbHVhWFJwWVd4cGVtVWdZU0JtZFhwNmVTQnphVzF3YkdsamFXRnNJSE5sZENCbGJXSmxaR1JwYm1jc0lIVnphVzVuSUdFZ2MzQmxZMmxtYVdWa1hHNGdJQ0FxSUdsdWFYUnBZV3hwYzJGMGFXOXVJRzFsZEdodlpDQmhibVFnZEdobGJpQnRhVzVwYldsNmFXNW5JSFJvWlNCbWRYcDZlU0J6WlhRZ1kzSnZjM01nWlc1MGNtOXdlVnh1SUNBZ0tpQmlaWFIzWldWdUlIUm9aU0F4TFhOclpXeGxkRzl1Y3lCdlppQjBhR1VnYUdsbmFDQmhibVFnYkc5M0lHUnBiV1Z1YzJsdmJtRnNJR1oxZW5wNUlITnBiWEJzYVdOcFlXeGNiaUFnSUNvZ2MyVjBjeTVjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnYVc1cGRHbGhiR2w2WlZOcGJYQnNhV05wWVd4VFpYUkZiV0psWkdScGJtY29LU0I3WEc0Z0lDQWdZMjl1YzNRZ2JrVndiMk5vY3lBOUlIUm9hWE11WjJWMFRrVndiMk5vY3lncE8xeHVYRzRnSUNBZ1kyOXVjM1FnZXlCdVEyOXRjRzl1Wlc1MGN5QjlJRDBnZEdocGN6dGNiaUFnSUNCamIyNXpkQ0JuY21Gd2FGWmhiSFZsY3lBOUlIUm9hWE11WjNKaGNHZ3VaMlYwVm1Gc2RXVnpLQ2s3WEc0Z0lDQWdiR1YwSUdkeVlYQm9UV0Y0SUQwZ01EdGNiaUFnSUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHZHlZWEJvVm1Gc2RXVnpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0IyWVd4MVpTQTlJR2R5WVhCb1ZtRnNkV1Z6VzJsZE8xeHVJQ0FnSUNBZ2FXWWdLR2R5WVhCb1RXRjRJRHdnWjNKaGNHaFdZV3gxWlhOYmFWMHBJSHRjYmlBZ0lDQWdJQ0FnWjNKaGNHaE5ZWGdnUFNCMllXeDFaVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpiMjV6ZENCbmNtRndhQ0E5SUhSb2FYTXVaM0poY0dndWJXRndLSFpoYkhWbElEMCtJSHRjYmlBZ0lDQWdJR2xtSUNoMllXeDFaU0E4SUdkeVlYQm9UV0Y0SUM4Z2JrVndiMk5vY3lrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z01EdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMllXeDFaVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlLVHRjYmx4dUlDQWdJQzh2SUZkbEozSmxJRzV2ZENCamIyMXdkWFJwYm1jZ2RHaGxJSE53WldOMGNtRnNJR2x1YVhScFlXeHBlbUYwYVc5dUlHbHVJSFJvYVhNZ2FXMXdiR1Z0Wlc1MFlYUnBiMjVjYmlBZ0lDQXZMeUIxYm5ScGJDQjNaU0JrWlhSbGNtMXBibVVnWVNCaVpYUjBaWElnWldsblpXNTJZV3gxWlM5bGFXZGxiblpsWTNSdmNpQmpiMjF3ZFhSaGRHbHZibHh1SUNBZ0lDOHZJR0Z3Y0hKdllXTm9YRzRnSUNBZ2RHaHBjeTVsYldKbFpHUnBibWNnUFNCMWRHbHNjeTU2WlhKdmN5aG5jbUZ3YUM1dVVtOTNjeWt1YldGd0tDZ3BJRDArSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUIxZEdsc2N5NTZaWEp2Y3lodVEyOXRjRzl1Wlc1MGN5a3ViV0Z3S0NncElEMCtJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFYwYVd4ekxuUmhkVkpoYm1Rb2RHaHBjeTV5WVc1a2IyMHBJQ29nTWpBZ0t5QXRNVEE3SUM4dklGSmhibVJ2YlNCbWNtOXRJQzB4TUNCMGJ5QXhNRnh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdmU2s3WEc1Y2JpQWdJQ0F2THlCSFpYUWdaM0poY0dnZ1pHRjBZU0JwYmlCdmNtUmxjbVZrSUhkaGVTNHVMbHh1SUNBZ0lHTnZibk4wSUhkbGFXZG9kSE02SUc1MWJXSmxjbHRkSUQwZ1cxMDdYRzRnSUNBZ1kyOXVjM1FnYUdWaFpEb2diblZ0WW1WeVcxMGdQU0JiWFR0Y2JpQWdJQ0JqYjI1emRDQjBZV2xzT2lCdWRXMWlaWEpiWFNBOUlGdGRPMXh1SUNBZ0lHTnZibk4wSUhKdmQwTnZiRlpoYkhWbGN5QTlJR2R5WVhCb0xtZGxkRUZzYkNncE8xeHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2NtOTNRMjlzVm1Gc2RXVnpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0JsYm5SeWVTQTlJSEp2ZDBOdmJGWmhiSFZsYzF0cFhUdGNiaUFnSUNBZ0lHbG1JQ2hsYm5SeWVTNTJZV3gxWlNrZ2UxeHVJQ0FnSUNBZ0lDQjNaV2xuYUhSekxuQjFjMmdvWlc1MGNua3VkbUZzZFdVcE8xeHVJQ0FnSUNBZ0lDQjBZV2xzTG5CMWMyZ29aVzUwY25rdWNtOTNLVHRjYmlBZ0lDQWdJQ0FnYUdWaFpDNXdkWE5vS0dWdWRISjVMbU52YkNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJR052Ym5OMElHVndiMk5vYzFCbGNsTmhiWEJzWlNBOUlIUm9hWE11YldGclpVVndiMk5vYzFCbGNsTmhiWEJzWlNoM1pXbG5hSFJ6TENCdVJYQnZZMmh6S1R0Y2JseHVJQ0FnSUhKbGRIVnliaUI3SUdobFlXUXNJSFJoYVd3c0lHVndiMk5vYzFCbGNsTmhiWEJzWlNCOU8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRWRwZG1WdUlHRWdjMlYwSUc5bUlIZGxhV2RvZEhNZ1lXNWtJRzUxYldKbGNpQnZaaUJsY0c5amFITWdaMlZ1WlhKaGRHVWdkR2hsSUc1MWJXSmxjaUJ2Wmx4dUlDQWdLaUJsY0c5amFITWdjR1Z5SUhOaGJYQnNaU0JtYjNJZ1pXRmphQ0IzWldsbmFIUXVYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJRzFoYTJWRmNHOWphSE5RWlhKVFlXMXdiR1VvZDJWcFoyaDBjem9nYm5WdFltVnlXMTBzSUc1RmNHOWphSE02SUc1MWJXSmxjaWtnZTF4dUlDQWdJR052Ym5OMElISmxjM1ZzZENBOUlIVjBhV3h6TG1acGJHeGxaQ2gzWldsbmFIUnpMbXhsYm1kMGFDd2dMVEV1TUNrN1hHNGdJQ0FnWTI5dWMzUWdiV0Y0SUQwZ2RYUnBiSE11YldGNEtIZGxhV2RvZEhNcE8xeHVJQ0FnSUdOdmJuTjBJRzVUWVcxd2JHVnpJRDBnZDJWcFoyaDBjeTV0WVhBb2R5QTlQaUFvZHlBdklHMWhlQ2tnS2lCdVJYQnZZMmh6S1R0Y2JpQWdJQ0J1VTJGdGNHeGxjeTVtYjNKRllXTm9LQ2h1TENCcEtTQTlQaUI3WEc0Z0lDQWdJQ0JwWmlBb2JpQStJREFwSUhKbGMzVnNkRnRwWFNBOUlHNUZjRzlqYUhNZ0x5QnVVMkZ0Y0d4bGMxdHBYVHRjYmlBZ0lDQjlLVHRjYmlBZ0lDQnlaWFIxY200Z2NtVnpkV3gwTzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFRnpjMmxuYm5NZ2IzQjBhVzFwZW1GMGFXOXVJSE4wWVhSbElIQmhjbUZ0WlhSbGNuTWdabkp2YlNCaElIQmhjblJwWVd3Z2IzQjBhVzFwZW1GMGFXOXVJSE4wWVhSbExseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQmhjM05wWjI1UGNIUnBiV2w2WVhScGIyNVRkR0YwWlZCaGNtRnRaWFJsY25Nb2MzUmhkR1U2SUZCaGNuUnBZV3c4VDNCMGFXMXBlbUYwYVc5dVUzUmhkR1UrS1NCN1hHNGdJQ0FnVDJKcVpXTjBMbUZ6YzJsbmJpaDBhR2x6TG05d2RHbHRhWHBoZEdsdmJsTjBZWFJsTENCemRHRjBaU2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1UyVjBjeUJoSUdabGR5QnZjSFJwYldsNllYUnBiMjRnYzNSaGRHVWdjR0Z5WVcxbGRHVnljeUIwYUdGMElHRnlaU0J1WldObGMzTmhjbmtnWW1WbWIzSmxJR1Z1ZEdWeWFXNW5YRzRnSUNBcUlIUm9aU0J2Y0hScGJXbDZZWFJwYjI0Z2MzUmxjQ0JzYjI5d0xseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQndjbVZ3WVhKbFJtOXlUM0IwYVcxcGVtRjBhVzl1VEc5dmNDZ3BJSHRjYmlBZ0lDQXZMeUJJZVhCbGNuQmhjbUZ0WlhSbGNuTmNiaUFnSUNCamIyNXpkQ0I3SUhKbGNIVnNjMmx2YmxOMGNtVnVaM1JvTENCc1pXRnlibWx1WjFKaGRHVXNJRzVsWjJGMGFYWmxVMkZ0Y0d4bFVtRjBaU0I5SUQwZ2RHaHBjenRjYmx4dUlDQWdJR052Ym5OMElIdGNiaUFnSUNBZ0lHVndiMk5vYzFCbGNsTmhiWEJzWlN4Y2JpQWdJQ0FnSUdobFlXUkZiV0psWkdScGJtY3NYRzRnSUNBZ0lDQjBZV2xzUlcxaVpXUmthVzVuTEZ4dUlDQWdJSDBnUFNCMGFHbHpMbTl3ZEdsdGFYcGhkR2x2YmxOMFlYUmxPMXh1WEc0Z0lDQWdZMjl1YzNRZ1pHbHRJRDBnYUdWaFpFVnRZbVZrWkdsdVoxc3dYUzVzWlc1bmRHZzdYRzRnSUNBZ1kyOXVjM1FnYlc5MlpVOTBhR1Z5SUQwZ2FHVmhaRVZ0WW1Wa1pHbHVaeTVzWlc1bmRHZ2dQVDA5SUhSaGFXeEZiV0psWkdScGJtY3ViR1Z1WjNSb08xeHVYRzRnSUNBZ1kyOXVjM1FnWlhCdlkyaHpVR1Z5VG1WbllYUnBkbVZUWVcxd2JHVWdQU0JsY0c5amFITlFaWEpUWVcxd2JHVXViV0Z3S0Z4dUlDQWdJQ0FnWlNBOVBpQmxJQzhnYm1WbllYUnBkbVZUWVcxd2JHVlNZWFJsWEc0Z0lDQWdLVHRjYmlBZ0lDQmpiMjV6ZENCbGNHOWphRTltVG1WNGRFNWxaMkYwYVhabFUyRnRjR3hsSUQwZ1d5NHVMbVZ3YjJOb2MxQmxjazVsWjJGMGFYWmxVMkZ0Y0d4bFhUdGNiaUFnSUNCamIyNXpkQ0JsY0c5amFFOW1UbVY0ZEZOaGJYQnNaU0E5SUZzdUxpNWxjRzlqYUhOUVpYSlRZVzF3YkdWZE8xeHVYRzRnSUNBZ2RHaHBjeTVoYzNOcFoyNVBjSFJwYldsNllYUnBiMjVUZEdGMFpWQmhjbUZ0WlhSbGNuTW9lMXh1SUNBZ0lDQWdaWEJ2WTJoUFprNWxlSFJUWVcxd2JHVXNYRzRnSUNBZ0lDQmxjRzlqYUU5bVRtVjRkRTVsWjJGMGFYWmxVMkZ0Y0d4bExGeHVJQ0FnSUNBZ1pYQnZZMmh6VUdWeVRtVm5ZWFJwZG1WVFlXMXdiR1VzWEc0Z0lDQWdJQ0J0YjNabFQzUm9aWElzWEc0Z0lDQWdJQ0JwYm1sMGFXRnNRV3h3YUdFNklHeGxZWEp1YVc1blVtRjBaU3hjYmlBZ0lDQWdJR0ZzY0doaE9pQnNaV0Z5Ym1sdVoxSmhkR1VzWEc0Z0lDQWdJQ0JuWVcxdFlUb2djbVZ3ZFd4emFXOXVVM1J5Wlc1bmRHZ3NYRzRnSUNBZ0lDQmthVzBzWEc0Z0lDQWdmU2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1NXNXBkR2xoYkdsNlpYTWdiM0IwYVcxcGVtRjBhVzl1SUhOMFlYUmxJR1p2Y2lCemRHVndkMmx6WlNCdmNIUnBiV2w2WVhScGIyNHVYRzRnSUNBcUwxeHVJQ0J3Y21sMllYUmxJR2x1YVhScFlXeHBlbVZQY0hScGJXbDZZWFJwYjI0b0tTQjdYRzRnSUNBZ0x5OGdRV3huYjNKcGRHaHRJSE4wWVhSbFhHNGdJQ0FnWTI5dWMzUWdhR1ZoWkVWdFltVmtaR2x1WnlBOUlIUm9hWE11WlcxaVpXUmthVzVuTzF4dUlDQWdJR052Ym5OMElIUmhhV3hGYldKbFpHUnBibWNnUFNCMGFHbHpMbVZ0WW1Wa1pHbHVaenRjYmx4dUlDQWdJQzh2SUVsdWFYUnBZV3hwZW1Wa0lHbHVJR2x1YVhScFlXeHBlbVZUYVcxd2JHbGphV0ZzVTJWMFJXMWlaV1JrYVc1bktDbGNiaUFnSUNCamIyNXpkQ0I3SUdobFlXUXNJSFJoYVd3c0lHVndiMk5vYzFCbGNsTmhiWEJzWlNCOUlEMGdkR2hwY3k1dmNIUnBiV2w2WVhScGIyNVRkR0YwWlR0Y2JseHVJQ0FnSUdOdmJuTjBJRzVGY0c5amFITWdQU0IwYUdsekxtZGxkRTVGY0c5amFITW9LVHRjYmlBZ0lDQmpiMjV6ZENCdVZtVnlkR2xqWlhNZ1BTQjBhR2x6TG1keVlYQm9MbTVEYjJ4ek8xeHVYRzRnSUNBZ1kyOXVjM1FnZXlCaExDQmlJSDBnUFNCbWFXNWtRVUpRWVhKaGJYTW9kR2hwY3k1emNISmxZV1FzSUhSb2FYTXViV2x1UkdsemRDazdYRzVjYmlBZ0lDQjBhR2x6TG1GemMybG5iazl3ZEdsdGFYcGhkR2x2YmxOMFlYUmxVR0Z5WVcxbGRHVnljeWg3WEc0Z0lDQWdJQ0JvWldGa1JXMWlaV1JrYVc1bkxGeHVJQ0FnSUNBZ2RHRnBiRVZ0WW1Wa1pHbHVaeXhjYmlBZ0lDQWdJR2hsWVdRc1hHNGdJQ0FnSUNCMFlXbHNMRnh1SUNBZ0lDQWdaWEJ2WTJoelVHVnlVMkZ0Y0d4bExGeHVJQ0FnSUNBZ1lTeGNiaUFnSUNBZ0lHSXNYRzRnSUNBZ0lDQnVSWEJ2WTJoekxGeHVJQ0FnSUNBZ2JsWmxjblJwWTJWekxGeHVJQ0FnSUgwcE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRWx0Y0hKdmRtVWdZVzRnWlcxaVpXUmthVzVuSUhWemFXNW5JSE4wYjJOb1lYTjBhV01nWjNKaFpHbGxiblFnWkdWelkyVnVkQ0IwYnlCdGFXNXBiV2w2WlNCMGFHVmNiaUFnSUNvZ1puVjZlbmtnYzJWMElHTnliM056SUdWdWRISnZjSGtnWW1WMGQyVmxiaUIwYUdVZ01TMXphMlZzWlhSdmJuTWdiMllnZEdobElHaHBaMmdnWkdsdFpXNXphVzl1WVd4Y2JpQWdJQ29nWVc1a0lHeHZkeUJrYVcxbGJuTnBiMjVoYkNCbWRYcDZlU0J6YVcxd2JHbGphV0ZzSUhObGRITXVJRWx1SUhCeVlXTjBhV05sSUhSb2FYTWdhWE1nWkc5dVpTQmllVnh1SUNBZ0tpQnpZVzF3YkdsdVp5QmxaR2RsY3lCaVlYTmxaQ0J2YmlCMGFHVnBjaUJ0WlcxaVpYSnphR2x3SUhOMGNtVnVaM1JvSUNoM2FYUm9JSFJvWlNBb01TMXdLU0IwWlhKdGMxeHVJQ0FnS2lCamIyMXBibWNnWm5KdmJTQnVaV2RoZEdsMlpTQnpZVzF3YkdsdVp5QnphVzFwYkdGeUlIUnZJSGR2Y21ReWRtVmpLUzVjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnYjNCMGFXMXBlbVZNWVhsdmRYUlRkR1Z3S0c0NklHNTFiV0psY2lrZ2UxeHVJQ0FnSUdOdmJuTjBJSHNnYjNCMGFXMXBlbUYwYVc5dVUzUmhkR1VnZlNBOUlIUm9hWE03WEc0Z0lDQWdZMjl1YzNRZ2UxeHVJQ0FnSUNBZ2FHVmhaQ3hjYmlBZ0lDQWdJSFJoYVd3c1hHNGdJQ0FnSUNCb1pXRmtSVzFpWldSa2FXNW5MRnh1SUNBZ0lDQWdkR0ZwYkVWdFltVmtaR2x1Wnl4Y2JpQWdJQ0FnSUdWd2IyTm9jMUJsY2xOaGJYQnNaU3hjYmlBZ0lDQWdJR1Z3YjJOb1QyWk9aWGgwVTJGdGNHeGxMRnh1SUNBZ0lDQWdaWEJ2WTJoUFprNWxlSFJPWldkaGRHbDJaVk5oYlhCc1pTeGNiaUFnSUNBZ0lHVndiMk5vYzFCbGNrNWxaMkYwYVhabFUyRnRjR3hsTEZ4dUlDQWdJQ0FnYlc5MlpVOTBhR1Z5TEZ4dUlDQWdJQ0FnYVc1cGRHbGhiRUZzY0doaExGeHVJQ0FnSUNBZ1lXeHdhR0VzWEc0Z0lDQWdJQ0JuWVcxdFlTeGNiaUFnSUNBZ0lHRXNYRzRnSUNBZ0lDQmlMRnh1SUNBZ0lDQWdaR2x0TEZ4dUlDQWdJQ0FnYmtWd2IyTm9jeXhjYmlBZ0lDQWdJRzVXWlhKMGFXTmxjeXhjYmlBZ0lDQjlJRDBnYjNCMGFXMXBlbUYwYVc5dVUzUmhkR1U3WEc1Y2JpQWdJQ0JqYjI1emRDQmpiR2x3Vm1Gc2RXVWdQU0EwTGpBN1hHNWNiaUFnSUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHVndiMk5vYzFCbGNsTmhiWEJzWlM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdhV1lnS0dWd2IyTm9UMlpPWlhoMFUyRnRjR3hsVzJsZElENGdiaWtnZTF4dUlDQWdJQ0FnSUNCamIyNTBhVzUxWlR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1kyOXVjM1FnYWlBOUlHaGxZV1JiYVYwN1hHNGdJQ0FnSUNCamIyNXpkQ0JySUQwZ2RHRnBiRnRwWFR0Y2JseHVJQ0FnSUNBZ1kyOXVjM1FnWTNWeWNtVnVkQ0E5SUdobFlXUkZiV0psWkdScGJtZGJhbDA3WEc0Z0lDQWdJQ0JqYjI1emRDQnZkR2hsY2lBOUlIUmhhV3hGYldKbFpHUnBibWRiYTEwN1hHNWNiaUFnSUNBZ0lHTnZibk4wSUdScGMzUlRjWFZoY21Wa0lEMGdja1JwYzNRb1kzVnljbVZ1ZEN3Z2IzUm9aWElwTzF4dVhHNGdJQ0FnSUNCc1pYUWdaM0poWkVOdlpXWm1JRDBnTUR0Y2JpQWdJQ0FnSUdsbUlDaGthWE4wVTNGMVlYSmxaQ0ErSURBcElIdGNiaUFnSUNBZ0lDQWdaM0poWkVOdlpXWm1JRDBnTFRJdU1DQXFJR0VnS2lCaUlDb2dUV0YwYUM1d2IzY29aR2x6ZEZOeGRXRnlaV1FzSUdJZ0xTQXhMakFwTzF4dUlDQWdJQ0FnSUNCbmNtRmtRMjlsWm1ZZ0x6MGdZU0FxSUUxaGRHZ3VjRzkzS0dScGMzUlRjWFZoY21Wa0xDQmlLU0FySURFdU1EdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdabTl5SUNoc1pYUWdaQ0E5SURBN0lHUWdQQ0JrYVcwN0lHUXJLeWtnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JuY21Ga1JDQTlJR05zYVhBb1ozSmhaRU52WldabUlDb2dLR04xY25KbGJuUmJaRjBnTFNCdmRHaGxjbHRrWFNrc0lHTnNhWEJXWVd4MVpTazdYRzRnSUNBZ0lDQWdJR04xY25KbGJuUmJaRjBnS3owZ1ozSmhaRVFnS2lCaGJIQm9ZVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHMXZkbVZQZEdobGNpa2dlMXh1SUNBZ0lDQWdJQ0FnSUc5MGFHVnlXMlJkSUNzOUlDMW5jbUZrUkNBcUlHRnNjR2hoTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHVndiMk5vVDJaT1pYaDBVMkZ0Y0d4bFcybGRJQ3M5SUdWd2IyTm9jMUJsY2xOaGJYQnNaVnRwWFR0Y2JseHVJQ0FnSUNBZ1kyOXVjM1FnYms1bFoxTmhiWEJzWlhNZ1BTQk5ZWFJvTG1ac2IyOXlLRnh1SUNBZ0lDQWdJQ0FvYmlBdElHVndiMk5vVDJaT1pYaDBUbVZuWVhScGRtVlRZVzF3YkdWYmFWMHBJQzhnWlhCdlkyaHpVR1Z5VG1WbllYUnBkbVZUWVcxd2JHVmJhVjFjYmlBZ0lDQWdJQ2s3WEc1Y2JpQWdJQ0FnSUdadmNpQW9iR1YwSUhBZ1BTQXdPeUJ3SUR3Z2JrNWxaMU5oYlhCc1pYTTdJSEFyS3lrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCcklEMGdkWFJwYkhNdWRHRjFVbUZ1WkVsdWRDaHVWbVZ5ZEdsalpYTXNJSFJvYVhNdWNtRnVaRzl0S1R0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYjNSb1pYSWdQU0IwWVdsc1JXMWlaV1JrYVc1blcydGRPMXh1WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR1JwYzNSVGNYVmhjbVZrSUQwZ2NrUnBjM1FvWTNWeWNtVnVkQ3dnYjNSb1pYSXBPMXh1WEc0Z0lDQWdJQ0FnSUd4bGRDQm5jbUZrUTI5bFptWWdQU0F3TGpBN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hrYVhOMFUzRjFZWEpsWkNBK0lEQXVNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHZHlZV1JEYjJWbVppQTlJREl1TUNBcUlHZGhiVzFoSUNvZ1lqdGNiaUFnSUNBZ0lDQWdJQ0JuY21Ga1EyOWxabVlnTHoxY2JpQWdJQ0FnSUNBZ0lDQWdJQ2d3TGpBd01TQXJJR1JwYzNSVGNYVmhjbVZrS1NBcUlDaGhJQ29nVFdGMGFDNXdiM2NvWkdsemRGTnhkV0Z5WldRc0lHSXBJQ3NnTVNrN1hHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCcFppQW9haUE5UFQwZ2F5a2dlMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuUnBiblZsTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdabTl5SUNoc1pYUWdaQ0E5SURBN0lHUWdQQ0JrYVcwN0lHUXJLeWtnZTF4dUlDQWdJQ0FnSUNBZ0lHeGxkQ0JuY21Ga1JDQTlJRFF1TUR0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvWjNKaFpFTnZaV1ptSUQ0Z01DNHdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQm5jbUZrUkNBOUlHTnNhWEFvWjNKaFpFTnZaV1ptSUNvZ0tHTjFjbkpsYm5SYlpGMGdMU0J2ZEdobGNsdGtYU2tzSUdOc2FYQldZV3gxWlNrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUdOMWNuSmxiblJiWkYwZ0t6MGdaM0poWkVRZ0tpQmhiSEJvWVR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ1pYQnZZMmhQWms1bGVIUk9aV2RoZEdsMlpWTmhiWEJzWlZ0cFhTQXJQU0J1VG1WblUyRnRjR3hsY3lBcUlHVndiMk5vYzFCbGNrNWxaMkYwYVhabFUyRnRjR3hsVzJsZE8xeHVJQ0FnSUgxY2JpQWdJQ0J2Y0hScGJXbDZZWFJwYjI1VGRHRjBaUzVoYkhCb1lTQTlJR2x1YVhScFlXeEJiSEJvWVNBcUlDZ3hMakFnTFNCdUlDOGdia1Z3YjJOb2N5azdYRzVjYmlBZ0lDQnZjSFJwYldsNllYUnBiMjVUZEdGMFpTNWpkWEp5Wlc1MFJYQnZZMmdnS3owZ01UdGNiaUFnSUNCeVpYUjFjbTRnYUdWaFpFVnRZbVZrWkdsdVp6dGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJKYlhCeWIzWmxJR0Z1SUdWdFltVmtaR2x1WnlCMWMybHVaeUJ6ZEc5amFHRnpkR2xqSUdkeVlXUnBaVzUwSUdSbGMyTmxiblFnZEc4Z2JXbHVhVzFwZW1VZ2RHaGxYRzRnSUNBcUlHWjFlbnA1SUhObGRDQmpjbTl6Y3lCbGJuUnliM0I1SUdKbGRIZGxaVzRnZEdobElERXRjMnRsYkdWMGIyNXpJRzltSUhSb1pTQm9hV2RvSUdScGJXVnVjMmx2Ym1Gc1hHNGdJQ0FxSUdGdVpDQnNiM2NnWkdsdFpXNXphVzl1WVd3Z1puVjZlbmtnYzJsdGNHeHBZMmxoYkNCelpYUnpMaUJKYmlCd2NtRmpkR2xqWlNCMGFHbHpJR2x6SUdSdmJtVWdZbmxjYmlBZ0lDb2djMkZ0Y0d4cGJtY2daV1JuWlhNZ1ltRnpaV1FnYjI0Z2RHaGxhWElnYldWdFltVnljMmhwY0NCemRISmxibWQwYUNBb2QybDBhQ0IwYUdVZ0tERXRjQ2tnZEdWeWJYTmNiaUFnSUNvZ1kyOXRhVzVuSUdaeWIyMGdibVZuWVhScGRtVWdjMkZ0Y0d4cGJtY2djMmx0YVd4aGNpQjBieUIzYjNKa01uWmxZeWt1WEc0Z0lDQXFMMXh1SUNCd2NtbDJZWFJsSUc5d2RHbHRhWHBsVEdGNWIzVjBRWE41Ym1Nb1hHNGdJQ0FnWlhCdlkyaERZV3hzWW1GamF6b2dLR1Z3YjJOb1RuVnRZbVZ5T2lCdWRXMWlaWElwSUQwK0lIWnZhV1FnZkNCaWIyOXNaV0Z1SUQwZ0tDa2dQVDRnZEhKMVpWeHVJQ0FwT2lCUWNtOXRhWE5sUEdKdmIyeGxZVzQrSUh0Y2JpQWdJQ0J5WlhSMWNtNGdibVYzSUZCeWIyMXBjMlVvS0hKbGMyOXNkbVVzSUhKbGFtVmpkQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ1kyOXVjM1FnYzNSbGNDQTlJR0Z6ZVc1aklDZ3BJRDArSUh0Y2JpQWdJQ0FnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0I3SUc1RmNHOWphSE1zSUdOMWNuSmxiblJGY0c5amFDQjlJRDBnZEdocGN5NXZjSFJwYldsNllYUnBiMjVUZEdGMFpUdGNiaUFnSUNBZ0lDQWdJQ0IwYUdsekxtVnRZbVZrWkdsdVp5QTlJSFJvYVhNdWIzQjBhVzFwZW1WTVlYbHZkWFJUZEdWd0tHTjFjbkpsYm5SRmNHOWphQ2s3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWlhCdlkyaERiMjF3YkdWMFpXUWdQU0IwYUdsekxtOXdkR2x0YVhwaGRHbHZibE4wWVhSbExtTjFjbkpsYm5SRmNHOWphRHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J6YUc5MWJHUlRkRzl3SUQwZ1pYQnZZMmhEWVd4c1ltRmpheWhsY0c5amFFTnZiWEJzWlhSbFpDa2dQVDA5SUdaaGJITmxPMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR2x6Um1sdWFYTm9aV1FnUFNCbGNHOWphRU52YlhCc1pYUmxaQ0E5UFQwZ2JrVndiMk5vY3p0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvSVhOb2IzVnNaRk4wYjNBZ0ppWWdJV2x6Um1sdWFYTm9aV1FwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSE5sZEZScGJXVnZkWFFvS0NrZ1BUNGdjM1JsY0NncExDQXdLVHRjYmlBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlISmxjMjlzZG1Vb2FYTkdhVzVwYzJobFpDazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOUlHTmhkR05vSUNobGNuSXBJSHRjYmlBZ0lDQWdJQ0FnSUNCeVpXcGxZM1FvWlhKeUtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVHRjYmlBZ0lDQWdJSE5sZEZScGJXVnZkWFFvS0NrZ1BUNGdjM1JsY0NncExDQXdLVHRjYmlBZ0lDQjlLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCSmJYQnliM1psSUdGdUlHVnRZbVZrWkdsdVp5QjFjMmx1WnlCemRHOWphR0Z6ZEdsaklHZHlZV1JwWlc1MElHUmxjMk5sYm5RZ2RHOGdiV2x1YVcxcGVtVWdkR2hsWEc0Z0lDQXFJR1oxZW5wNUlITmxkQ0JqY205emN5QmxiblJ5YjNCNUlHSmxkSGRsWlc0Z2RHaGxJREV0YzJ0bGJHVjBiMjV6SUc5bUlIUm9aU0JvYVdkb0lHUnBiV1Z1YzJsdmJtRnNYRzRnSUNBcUlHRnVaQ0JzYjNjZ1pHbHRaVzV6YVc5dVlXd2dablY2ZW5rZ2MybHRjR3hwWTJsaGJDQnpaWFJ6TGlCSmJpQndjbUZqZEdsalpTQjBhR2x6SUdseklHUnZibVVnWW5sY2JpQWdJQ29nYzJGdGNHeHBibWNnWldSblpYTWdZbUZ6WldRZ2IyNGdkR2hsYVhJZ2JXVnRZbVZ5YzJocGNDQnpkSEpsYm1kMGFDQW9kMmwwYUNCMGFHVWdLREV0Y0NrZ2RHVnliWE5jYmlBZ0lDb2dZMjl0YVc1bklHWnliMjBnYm1WbllYUnBkbVVnYzJGdGNHeHBibWNnYzJsdGFXeGhjaUIwYnlCM2IzSmtNblpsWXlrdVhHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElHOXdkR2x0YVhwbFRHRjViM1YwS0Z4dUlDQWdJR1Z3YjJOb1EyRnNiR0poWTJzNklDaGxjRzlqYUU1MWJXSmxjam9nYm5WdFltVnlLU0E5UGlCMmIybGtJSHdnWW05dmJHVmhiaUE5SUNncElEMCtJSFJ5ZFdWY2JpQWdLVG9nVm1WamRHOXljeUI3WEc0Z0lDQWdiR1YwSUdselJtbHVhWE5vWldRZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0JzWlhRZ1pXMWlaV1JrYVc1bk9pQldaV04wYjNKeklEMGdXMTA3WEc0Z0lDQWdkMmhwYkdVZ0tDRnBjMFpwYm1semFHVmtLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQjdJRzVGY0c5amFITXNJR04xY25KbGJuUkZjRzlqYUNCOUlEMGdkR2hwY3k1dmNIUnBiV2w2WVhScGIyNVRkR0YwWlR0Y2JpQWdJQ0FnSUdWdFltVmtaR2x1WnlBOUlIUm9hWE11YjNCMGFXMXBlbVZNWVhsdmRYUlRkR1Z3S0dOMWNuSmxiblJGY0c5amFDazdYRzRnSUNBZ0lDQmpiMjV6ZENCbGNHOWphRU52YlhCc1pYUmxaQ0E5SUhSb2FYTXViM0IwYVcxcGVtRjBhVzl1VTNSaGRHVXVZM1Z5Y21WdWRFVndiMk5vTzF4dUlDQWdJQ0FnWTI5dWMzUWdjMmh2ZFd4a1UzUnZjQ0E5SUdWd2IyTm9RMkZzYkdKaFkyc29aWEJ2WTJoRGIyMXdiR1YwWldRcElEMDlQU0JtWVd4elpUdGNiaUFnSUNBZ0lHbHpSbWx1YVhOb1pXUWdQU0JsY0c5amFFTnZiWEJzWlhSbFpDQTlQVDBnYmtWd2IyTm9jeUI4ZkNCemFHOTFiR1JUZEc5d08xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdaVzFpWldSa2FXNW5PMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVkbGRITWdkR2hsSUc1MWJXSmxjaUJ2WmlCbGNHOWphSE1nWm05eUlHOXdkR2x0YVhwcGJtY2dkR2hsSUhCeWIycGxZM1JwYjI0dVhHNGdJQ0FxSUU1UFZFVTZJRlJvYVhNZ2FHVjFjbWx6ZEdsaklHUnBabVpsY25NZ1puSnZiU0IwYUdVZ2NIbDBhRzl1SUhabGNuTnBiMjVjYmlBZ0lDb3ZYRzRnSUhCMVlteHBZeUJuWlhST1JYQnZZMmh6S0NrZ2UxeHVJQ0FnSUdOdmJuTjBJR2R5WVhCb0lEMGdkR2hwY3k1bmNtRndhRHRjYmx4dUlDQWdJR2xtSUNoMGFHbHpMbTVGY0c5amFITWdQaUF3S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXVSWEJ2WTJoek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDZ2haM0poY0dncElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlBeU1EQTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyOXVjM1FnYkdWdVozUm9JRDBnWjNKaGNHZ3VibEp2ZDNNN1hHNGdJQ0FnYVdZZ0tHeGxibWQwYUNBOFBTQXlOVEF3S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnTlRBd08xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JHVnVaM1JvSUR3OUlEVXdNREFwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUEwTURBN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoc1pXNW5kR2dnUEQwZ056VXdNQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRE13TUR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdjbVYwZFhKdUlESXdNRHRjYmlBZ0lDQjlYRzRnSUgxY2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR1YxWTJ4cFpHVmhiaWg0T2lCV1pXTjBiM0lzSUhrNklGWmxZM1J2Y2lrZ2UxeHVJQ0JzWlhRZ2NtVnpkV3gwSUQwZ01EdGNiaUFnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCNExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdjbVZ6ZFd4MElDczlJQ2g0VzJsZElDMGdlVnRwWFNrZ0tpb2dNanRjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdUV0YwYUM1emNYSjBLSEpsYzNWc2RDazdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCdWRXMWxjbWxqS0hnNklHNTFiV0psY2l3Z2VUb2diblZ0WW1WeUtTQjdYRzRnSUdOdmJuTjBJSEpsYzNWc2RDQTlJRTFoZEdndVlXSnpLSGdnTFNCNUtUdGNiaUFnY21WMGRYSnVJSEpsYzNWc2REdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdOdmMybHVaU2g0T2lCV1pXTjBiM0lzSUhrNklGWmxZM1J2Y2lrZ2UxeHVJQ0JzWlhRZ2NtVnpkV3gwSUQwZ01DNHdPMXh1SUNCc1pYUWdibTl5YlZnZ1BTQXdMakE3WEc0Z0lHeGxkQ0J1YjNKdFdTQTlJREF1TUR0Y2JseHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhndWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQnlaWE4xYkhRZ0t6MGdlRnRwWFNBcUlIbGJhVjA3WEc0Z0lDQWdibTl5YlZnZ0t6MGdlRnRwWFNBcUtpQXlPMXh1SUNBZ0lHNXZjbTFaSUNzOUlIbGJhVjBnS2lvZ01qdGNiaUFnZlZ4dVhHNGdJR2xtSUNodWIzSnRXQ0E5UFQwZ01DQW1KaUJ1YjNKdFdTQTlQVDBnTUNrZ2UxeHVJQ0FnSUhKbGRIVnliaUF3TzF4dUlDQjlJR1ZzYzJVZ2FXWWdLRzV2Y20xWUlEMDlQU0F3SUh4OElHNXZjbTFaSUQwOVBTQXdLU0I3WEc0Z0lDQWdjbVYwZFhKdUlERXVNRHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0J5WlhSMWNtNGdNUzR3SUMwZ2NtVnpkV3gwSUM4Z1RXRjBhQzV6Y1hKMEtHNXZjbTFZSUNvZ2JtOXliVmtwTzF4dUlDQjlYRzU5WEc1Y2JpOHFLbHh1SUNvZ1FXNGdhVzUwWlhKbVlXTmxJSEpsY0hKbGMyVnVkR2x1WnlCMGFHVWdiM0IwYVcxcGVtRjBhVzl1SUhOMFlYUmxJSFJ5WVdOclpXUWdZbVYwZDJWbGJpQnpkR1Z3Y3lCdlpseHVJQ29nZEdobElGTkhSQ0J2Y0hScGJXbDZZWFJwYjI1Y2JpQXFMMXh1WTJ4aGMzTWdUM0IwYVcxcGVtRjBhVzl1VTNSaGRHVWdlMXh1SUNCamRYSnlaVzUwUlhCdlkyZ2dQU0F3TzF4dVhHNGdJQzh2SUVSaGRHRWdkSEpoWTJ0bFpDQmtkWEpwYm1jZ2IzQjBhVzFwZW1GMGFXOXVJSE4wWlhCekxseHVJQ0JvWldGa1JXMWlaV1JrYVc1bk9pQnVkVzFpWlhKYlhWdGRJRDBnVzEwN1hHNGdJSFJoYVd4RmJXSmxaR1JwYm1jNklHNTFiV0psY2x0ZFcxMGdQU0JiWFR0Y2JpQWdhR1ZoWkRvZ2JuVnRZbVZ5VzEwZ1BTQmJYVHRjYmlBZ2RHRnBiRG9nYm5WdFltVnlXMTBnUFNCYlhUdGNiaUFnWlhCdlkyaHpVR1Z5VTJGdGNHeGxPaUJ1ZFcxaVpYSmJYU0E5SUZ0ZE8xeHVJQ0JsY0c5amFFOW1UbVY0ZEZOaGJYQnNaVG9nYm5WdFltVnlXMTBnUFNCYlhUdGNiaUFnWlhCdlkyaFBaazVsZUhST1pXZGhkR2wyWlZOaGJYQnNaVG9nYm5WdFltVnlXMTBnUFNCYlhUdGNiaUFnWlhCdlkyaHpVR1Z5VG1WbllYUnBkbVZUWVcxd2JHVTZJRzUxYldKbGNsdGRJRDBnVzEwN1hHNGdJRzF2ZG1WUGRHaGxjaUE5SUhSeWRXVTdYRzRnSUdsdWFYUnBZV3hCYkhCb1lTQTlJREV1TUR0Y2JpQWdZV3h3YUdFZ1BTQXhMakE3WEc0Z0lHZGhiVzFoSUQwZ01TNHdPMXh1SUNCaElEMGdNUzQxTnpZNU5ETTBOakF6TVRFek1EYzNPMXh1SUNCaUlEMGdNQzQ0T1RVd05qQTROemM1TVRBNU56TXpPMXh1SUNCa2FXMGdQU0F5TzF4dUlDQnVSWEJ2WTJoeklEMGdOVEF3TzF4dUlDQnVWbVZ5ZEdsalpYTWdQU0F3TzF4dWZWeHVYRzR2S2lwY2JpQXFJRk4wWVc1a1lYSmtJR05zWVcxd2FXNW5JRzltSUdFZ2RtRnNkV1VnYVc1MGJ5QmhJR1pwZUdWa0lISmhibWRsWEc0Z0tpOWNibVoxYm1OMGFXOXVJR05zYVhBb2VEb2diblZ0WW1WeUxDQmpiR2x3Vm1Gc2RXVTZJRzUxYldKbGNpa2dlMXh1SUNCcFppQW9lQ0ErSUdOc2FYQldZV3gxWlNrZ2NtVjBkWEp1SUdOc2FYQldZV3gxWlR0Y2JpQWdaV3h6WlNCcFppQW9lQ0E4SUMxamJHbHdWbUZzZFdVcElISmxkSFZ5YmlBdFkyeHBjRlpoYkhWbE8xeHVJQ0JsYkhObElISmxkSFZ5YmlCNE8xeHVmVnh1WEc0dktpcGNiaUFxSUZKbFpIVmpaV1FnUlhWamJHbGtaV0Z1SUdScGMzUmhibU5sTGx4dUlDb3ZYRzVtZFc1amRHbHZiaUJ5UkdsemRDaDRPaUJ1ZFcxaVpYSmJYU3dnZVRvZ2JuVnRZbVZ5VzEwcElIdGNiaUFnYkdWMElISmxjM1ZzZENBOUlEQXVNRHRjYmlBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQjRMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnY21WemRXeDBJQ3M5SUUxaGRHZ3VjRzkzS0hoYmFWMGdMU0I1VzJsZExDQXlLVHRjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHVmVnh1WEc0dktpcGNiaUFxSUVacGRDQmhMQ0JpSUhCaGNtRnRjeUJtYjNJZ2RHaGxJR1JwWm1abGNtVnVkR2xoWW14bElHTjFjblpsSUhWelpXUWdhVzRnYkc5M1pYSmNiaUFxSUdScGJXVnVjMmx2Ym1Gc0lHWjFlbnA1SUhOcGJYQnNhV05wWVd3Z1kyOXRjR3hsZUNCamIyNXpkSEoxWTNScGIyNHVJRmRsSUhkaGJuUWdkR2hsWEc0Z0tpQnpiVzl2ZEdnZ1kzVnlkbVVnS0daeWIyMGdZU0J3Y21VdFpHVm1hVzVsWkNCbVlXMXBiSGtnZDJsMGFDQnphVzF3YkdVZ1ozSmhaR2xsYm5RcElIUm9ZWFJjYmlBcUlHSmxjM1FnYldGMFkyaGxjeUJoYmlCdlptWnpaWFFnWlhod2IyNWxiblJwWVd3Z1pHVmpZWGt1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQm1hVzVrUVVKUVlYSmhiWE1vYzNCeVpXRmtPaUJ1ZFcxaVpYSXNJRzFwYmtScGMzUTZJRzUxYldKbGNpa2dlMXh1SUNCamIyNXpkQ0JqZFhKMlpTQTlJQ2hiWVN3Z1lsMDZJRzUxYldKbGNsdGRLU0E5UGlBb2VEb2diblZ0WW1WeUtTQTlQaUI3WEc0Z0lDQWdjbVYwZFhKdUlERXVNQ0F2SUNneExqQWdLeUJoSUNvZ2VDQXFLaUFvTWlBcUlHSXBLVHRjYmlBZ2ZUdGNibHh1SUNCamIyNXpkQ0I0ZGlBOUlIVjBhV3h6WEc0Z0lDQWdMbXhwYm1WaGNpZ3dMQ0J6Y0hKbFlXUWdLaUF6TENBek1EQXBYRzRnSUNBZ0xtMWhjQ2gyWVd3Z1BUNGdLSFpoYkNBOElHMXBia1JwYzNRZ1B5QXhMakFnT2lCMllXd3BLVHRjYmx4dUlDQmpiMjV6ZENCNWRpQTlJSFYwYVd4ekxucGxjbTl6S0hoMkxteGxibWQwYUNrdWJXRndLQ2gyWVd3c0lHbHVaR1Y0S1NBOVBpQjdYRzRnSUNBZ1kyOXVjM1FnWjNSbElEMGdlSFpiYVc1a1pYaGRJRDQ5SUcxcGJrUnBjM1E3WEc0Z0lDQWdjbVYwZFhKdUlHZDBaU0EvSUUxaGRHZ3VaWGh3S0Mwb2VIWmJhVzVrWlhoZElDMGdiV2x1UkdsemRDa2dMeUJ6Y0hKbFlXUXBJRG9nZG1Gc08xeHVJQ0I5S1R0Y2JseHVJQ0JqYjI1emRDQnBibWwwYVdGc1ZtRnNkV1Z6SUQwZ1d6QXVOU3dnTUM0MVhUdGNiaUFnWTI5dWMzUWdaR0YwWVNBOUlIc2dlRG9nZUhZc0lIazZJSGwySUgwN1hHNWNiaUFnTHk4Z1JHVm1ZWFZzZENCdmNIUnBiMjV6SUdadmNpQjBhR1VnWVd4bmIzSnBkR2h0SUNobWNtOXRJR2RwZEdoMVlpQmxlR0Z0Y0d4bEtWeHVJQ0JqYjI1emRDQnZjSFJwYjI1eklEMGdlMXh1SUNBZ0lHUmhiWEJwYm1jNklERXVOU3hjYmlBZ0lDQnBibWwwYVdGc1ZtRnNkV1Z6TEZ4dUlDQWdJR2R5WVdScFpXNTBSR2xtWm1WeVpXNWpaVG9nTVRCbExUSXNYRzRnSUNBZ2JXRjRTWFJsY21GMGFXOXVjem9nTVRBd0xGeHVJQ0FnSUdWeWNtOXlWRzlzWlhKaGJtTmxPaUF4TUdVdE15eGNiaUFnZlR0Y2JseHVJQ0JqYjI1emRDQjdJSEJoY21GdFpYUmxjbFpoYkhWbGN5QjlJRDBnVEUwb1pHRjBZU3dnWTNWeWRtVXNJRzl3ZEdsdmJuTXBPMXh1SUNCamIyNXpkQ0JiWVN3Z1lsMGdQU0J3WVhKaGJXVjBaWEpXWVd4MVpYTWdZWE1nYm5WdFltVnlXMTA3WEc0Z0lISmxkSFZ5YmlCN0lHRXNJR0lnZlR0Y2JuMWNibHh1THlvcVhHNGdLaUJWYm1SbGNpQjBhR1VnWVhOemRXMXdkR2x2YmlCdlppQmpZWFJsWjI5eWFXTmhiQ0JrYVhOMFlXNWpaU0JtYjNJZ2RHaGxJR2x1ZEdWeWMyVmpkR2x1WjF4dUlDb2djMmx0Y0d4cFkybGhiQ0J6WlhRZ2NHVnlabTl5YlNCaElHWmhjM1FnYVc1MFpYSnpaV04wYVc5dUxseHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWm1GemRFbHVkR1Z5YzJWamRHbHZiaWhjYmlBZ1ozSmhjR2c2SUcxaGRISnBlQzVUY0dGeWMyVk5ZWFJ5YVhnc1hHNGdJSFJoY21kbGREb2diblZ0WW1WeVcxMHNYRzRnSUhWdWEyNXZkMjVFYVhOMElEMGdNUzR3TEZ4dUlDQm1ZWEpFYVhOMElEMGdOUzR3WEc0cElIdGNiaUFnY21WMGRYSnVJR2R5WVhCb0xtMWhjQ2dvZG1Gc2RXVXNJSEp2ZHl3Z1kyOXNLU0E5UGlCN1hHNGdJQ0FnYVdZZ0tIUmhjbWRsZEZ0eWIzZGRJRDA5UFNBdE1TQjhmQ0IwWVhKblpYUmJZMjlzWFNBOVBUMGdMVEVwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUIyWVd4MVpTQXFJRTFoZEdndVpYaHdLQzExYm10dWIzZHVSR2x6ZENrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMFlYSm5aWFJiY205M1hTQWhQVDBnZEdGeVoyVjBXMk52YkYwcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMllXeDFaU0FxSUUxaGRHZ3VaWGh3S0MxbVlYSkVhWE4wS1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIWmhiSFZsTzF4dUlDQWdJSDFjYmlBZ2ZTazdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1VtVnpaWFFnZEdobElHeHZZMkZzSUdOdmJtNWxZM1JwZG1sMGVTQnlaWEYxYVhKbGJXVnVkQ0F0TFNCbFlXTm9JR1JoZEdFZ2MyRnRjR3hsSUhOb2IzVnNaRnh1SUNvZ2FHRjJaU0JqYjIxd2JHVjBaU0JqYjI1bWFXUmxibU5sSUdsdUlHRjBJR3hsWVhOMElHOXVaU0F4TFhOcGJYQnNaWGdnYVc0Z2RHaGxJSE5wYlhCc2FXTnBZV3dnYzJWMExseHVJQ29nVjJVZ1kyRnVJR1Z1Wm05eVkyVWdkR2hwY3lCaWVTQnNiMk5oYkd4NUlISmxjMk5oYkdsdVp5QmpiMjVtYVdSbGJtTmxjeXdnWVc1a0lIUm9aVzRnY21WdFpYSm5hVzVuSUhSb1pWeHVJQ29nWkdsbVptVnlaVzUwSUd4dlkyRnNJSE5wYlhCc2FXTnBZV3dnYzJWMGN5QjBiMmRsZEdobGNpNWNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhKbGMyVjBURzlqWVd4RGIyNXVaV04wYVhacGRIa29jMmx0Y0d4cFkybGhiRk5sZERvZ2JXRjBjbWw0TGxOd1lYSnpaVTFoZEhKcGVDa2dlMXh1SUNCemFXMXdiR2xqYVdGc1UyVjBJRDBnYldGMGNtbDRMbTV2Y20xaGJHbDZaU2h6YVcxd2JHbGphV0ZzVTJWMExDQnRZWFJ5YVhndVRtOXliVlI1Y0dVdWJXRjRLVHRjYmlBZ1kyOXVjM1FnZEhKaGJuTndiM05sSUQwZ2JXRjBjbWw0TG5SeVlXNXpjRzl6WlNoemFXMXdiR2xqYVdGc1UyVjBLVHRjYmlBZ1kyOXVjM1FnY0hKdlpFMWhkSEpwZUNBOUlHMWhkSEpwZUM1d1lXbHlkMmx6WlUxMWJIUnBjR3g1S0hSeVlXNXpjRzl6WlN3Z2MybHRjR3hwWTJsaGJGTmxkQ2s3WEc0Z0lITnBiWEJzYVdOcFlXeFRaWFFnUFNCdFlYUnlhWGd1WVdSa0tGeHVJQ0FnSUhOcGJYQnNhV05wWVd4VFpYUXNYRzRnSUNBZ2JXRjBjbWw0TG5OMVluUnlZV04wS0hSeVlXNXpjRzl6WlN3Z2NISnZaRTFoZEhKcGVDbGNiaUFnS1R0Y2JpQWdjbVYwZFhKdUlHMWhkSEpwZUM1bGJHbHRhVzVoZEdWYVpYSnZjeWh6YVcxd2JHbGphV0ZzVTJWMEtUdGNibjFjYmx4dUx5b3FYRzRnS2lCSGFYWmxiaUJwYm1ScFkyVnpJR0Z1WkNCM1pXbG5hSFJ6SUdGdVpDQmhiaUJ2Y21sbmFXNWhiQ0JsYldKbFpHUnBibWR6WEc0Z0tpQnBibWwwYVdGc2FYcGxJSFJvWlNCd2IzTnBkR2x2Ym5NZ2IyWWdibVYzSUhCdmFXNTBjeUJ5Wld4aGRHbDJaU0IwYnlCMGFHVmNiaUFxSUdsdVpHbGpaWE1nWVc1a0lIZGxhV2RvZEhNZ0tHOW1JSFJvWldseUlHNWxhV2RvWW05eWN5QnBiaUIwYUdVZ2MyOTFjbU5sSUdSaGRHRXBMbHh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2FXNXBkRlJ5WVc1elptOXliU2hjYmlBZ2FXNWthV05sY3pvZ2JuVnRZbVZ5VzExYlhTeGNiaUFnZDJWcFoyaDBjem9nYm5WdFltVnlXMTFiWFN4Y2JpQWdaVzFpWldSa2FXNW5PaUJXWldOMGIzSnpYRzRwSUh0Y2JpQWdZMjl1YzNRZ2NtVnpkV3gwSUQwZ2RYUnBiSE5jYmlBZ0lDQXVlbVZ5YjNNb2FXNWthV05sY3k1c1pXNW5kR2dwWEc0Z0lDQWdMbTFoY0NoNklEMCtJSFYwYVd4ekxucGxjbTl6S0dWdFltVmtaR2x1WjFzd1hTNXNaVzVuZEdncEtUdGNibHh1SUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHbHVaR2xqWlhNdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQm1iM0lnS0d4bGRDQnFJRDBnTURzZ2FpQThJR2x1WkdsalpYTmJNRjB1YkdWdVozUm9PeUJxS3lzcElIdGNiaUFnSUNBZ0lHWnZjaUFvYkdWMElHUWdQU0F3T3lCa0lEd2daVzFpWldSa2FXNW5XekJkTG14bGJtZDBhRHNnWkNzcktTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElHRWdQU0JwYm1ScFkyVnpXMmxkVzJwZE8xeHVJQ0FnSUNBZ0lDQnlaWE4xYkhSYmFWMWJaRjBnS3owZ2QyVnBaMmgwYzF0cFhWdHFYU0FxSUdWdFltVmtaR2x1WjF0aFhWdGtYVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgxY2JpQWdjbVYwZFhKdUlISmxjM1ZzZER0Y2JuMWNiaUpkZlE9PSIsIi8qKlxuICogQGxpY2Vuc2VcbiAqXG4gKiBDb3B5cmlnaHQgMjAxOSBHb29nbGUgTExDLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICovXG4vKipcbiAqIFRoaXMgaXMgYSBKYXZhU2NyaXB0IHJlaW1wbGVtZW50YXRpb24gb2YgVU1BUCAob3JpZ2luYWwgbGljZW5zZSBiZWxvdyksIGZyb21cbiAqIHRoZSBweXRob24gaW1wbGVtZW50YXRpb24gZm91bmQgYXQgaHR0cHM6Ly9naXRodWIuY29tL2xtY2lubmVzL3VtYXAuXG4gKlxuICogQGF1dGhvciBhbmR5Y29lbmVuQGdvb2dsZS5jb20gKEFuZHkgQ29lbmVuKVxuICovXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBCU0QgMy1DbGF1c2UgTGljZW5zZVxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxNywgTGVsYW5kIE1jSW5uZXNcbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0XG4gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDpcbiAqXG4gKiAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpc1xuICogICBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci5cbiAqXG4gKiAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSxcbiAqICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvblxuICogICBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi5cbiAqXG4gKiAqIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHNcbiAqICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb21cbiAqICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi5cbiAqXG4gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTIFwiQVMgSVNcIlxuICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRVxuICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFXG4gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFXG4gKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTFxuICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1JcbiAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSXG4gKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLFxuICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0VcbiAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuXG4gKi9cbmltcG9ydCAqIGFzIGhlYXAgZnJvbSAnLi9oZWFwJztcbmltcG9ydCAqIGFzIG1hdHJpeCBmcm9tICcuL21hdHJpeCc7XG5pbXBvcnQgKiBhcyB0cmVlIGZyb20gJy4vdHJlZSc7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuL3V0aWxzJztcbi8qKlxuICogQ3JlYXRlIGEgdmVyc2lvbiBvZiBuZWFyZXN0IG5laWdoYm9yIGRlc2NlbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYWtlTk5EZXNjZW50KGRpc3RhbmNlRm4sIHJhbmRvbSkge1xuICAgIHJldHVybiBmdW5jdGlvbiBuTkRlc2NlbnQoZGF0YSwgbGVhZkFycmF5LCBuTmVpZ2hib3JzLCBuSXRlcnMgPSAxMCwgbWF4Q2FuZGlkYXRlcyA9IDUwLCBkZWx0YSA9IDAuMDAxLCByaG8gPSAwLjUsIHJwVHJlZUluaXQgPSB0cnVlKSB7XG4gICAgICAgIGNvbnN0IG5WZXJ0aWNlcyA9IGRhdGEubGVuZ3RoO1xuICAgICAgICBjb25zdCBjdXJyZW50R3JhcGggPSBoZWFwLm1ha2VIZWFwKGRhdGEubGVuZ3RoLCBuTmVpZ2hib3JzKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRpY2VzID0gaGVhcC5yZWplY3Rpb25TYW1wbGUobk5laWdoYm9ycywgZGF0YS5sZW5ndGgsIHJhbmRvbSk7XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGluZGljZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkID0gZGlzdGFuY2VGbihkYXRhW2ldLCBkYXRhW2luZGljZXNbal1dKTtcbiAgICAgICAgICAgICAgICBoZWFwLmhlYXBQdXNoKGN1cnJlbnRHcmFwaCwgaSwgZCwgaW5kaWNlc1tqXSwgMSk7XG4gICAgICAgICAgICAgICAgaGVhcC5oZWFwUHVzaChjdXJyZW50R3JhcGgsIGluZGljZXNbal0sIGQsIGksIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChycFRyZWVJbml0KSB7XG4gICAgICAgICAgICBmb3IgKGxldCBuID0gMDsgbiA8IGxlYWZBcnJheS5sZW5ndGg7IG4rKykge1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVhZkFycmF5W25dLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChsZWFmQXJyYXlbbl1baV0gPCAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gaSArIDE7IGogPCBsZWFmQXJyYXlbbl0ubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsZWFmQXJyYXlbbl1bal0gPCAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkID0gZGlzdGFuY2VGbihkYXRhW2xlYWZBcnJheVtuXVtpXV0sIGRhdGFbbGVhZkFycmF5W25dW2pdXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWFwLmhlYXBQdXNoKGN1cnJlbnRHcmFwaCwgbGVhZkFycmF5W25dW2ldLCBkLCBsZWFmQXJyYXlbbl1bal0sIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVhcC5oZWFwUHVzaChjdXJyZW50R3JhcGgsIGxlYWZBcnJheVtuXVtqXSwgZCwgbGVhZkFycmF5W25dW2ldLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmb3IgKGxldCBuID0gMDsgbiA8IG5JdGVyczsgbisrKSB7XG4gICAgICAgICAgICBjb25zdCBjYW5kaWRhdGVOZWlnaGJvcnMgPSBoZWFwLmJ1aWxkQ2FuZGlkYXRlcyhjdXJyZW50R3JhcGgsIG5WZXJ0aWNlcywgbk5laWdoYm9ycywgbWF4Q2FuZGlkYXRlcywgcmFuZG9tKTtcbiAgICAgICAgICAgIGxldCBjID0gMDtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgblZlcnRpY2VzOyBpKyspIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IG1heENhbmRpZGF0ZXM7IGorKykge1xuICAgICAgICAgICAgICAgICAgICBsZXQgcCA9IE1hdGguZmxvb3IoY2FuZGlkYXRlTmVpZ2hib3JzWzBdW2ldW2pdKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHAgPCAwIHx8IHV0aWxzLnRhdVJhbmQocmFuZG9tKSA8IHJobykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgayA9IDA7IGsgPCBtYXhDYW5kaWRhdGVzOyBrKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHEgPSBNYXRoLmZsb29yKGNhbmRpZGF0ZU5laWdoYm9yc1swXVtpXVtrXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaiA9IGNhbmRpZGF0ZU5laWdoYm9yc1syXVtpXVtqXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNrID0gY2FuZGlkYXRlTmVpZ2hib3JzWzJdW2ldW2tdO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHEgPCAwIHx8ICghY2ogJiYgIWNrKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZCA9IGRpc3RhbmNlRm4oZGF0YVtwXSwgZGF0YVtxXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjICs9IGhlYXAuaGVhcFB1c2goY3VycmVudEdyYXBoLCBwLCBkLCBxLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGMgKz0gaGVhcC5oZWFwUHVzaChjdXJyZW50R3JhcGgsIHEsIGQsIHAsIDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGMgPD0gZGVsdGEgKiBuTmVpZ2hib3JzICogZGF0YS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzb3J0ZWQgPSBoZWFwLmRlaGVhcFNvcnQoY3VycmVudEdyYXBoKTtcbiAgICAgICAgcmV0dXJuIHNvcnRlZDtcbiAgICB9O1xufVxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VJbml0aWFsaXphdGlvbnMoZGlzdGFuY2VGbikge1xuICAgIGZ1bmN0aW9uIGluaXRGcm9tUmFuZG9tKG5OZWlnaGJvcnMsIGRhdGEsIHF1ZXJ5UG9pbnRzLCBfaGVhcCwgcmFuZG9tKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcXVlcnlQb2ludHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGljZXMgPSB1dGlscy5yZWplY3Rpb25TYW1wbGUobk5laWdoYm9ycywgZGF0YS5sZW5ndGgsIHJhbmRvbSk7XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGluZGljZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICBpZiAoaW5kaWNlc1tqXSA8IDApIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGQgPSBkaXN0YW5jZUZuKGRhdGFbaW5kaWNlc1tqXV0sIHF1ZXJ5UG9pbnRzW2ldKTtcbiAgICAgICAgICAgICAgICBoZWFwLmhlYXBQdXNoKF9oZWFwLCBpLCBkLCBpbmRpY2VzW2pdLCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBpbml0RnJvbVRyZWUoX3RyZWUsIGRhdGEsIHF1ZXJ5UG9pbnRzLCBfaGVhcCwgcmFuZG9tKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcXVlcnlQb2ludHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGljZXMgPSB0cmVlLnNlYXJjaEZsYXRUcmVlKHF1ZXJ5UG9pbnRzW2ldLCBfdHJlZSwgcmFuZG9tKTtcbiAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgaW5kaWNlcy5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgICAgIGlmIChpbmRpY2VzW2pdIDwgMCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGQgPSBkaXN0YW5jZUZuKGRhdGFbaW5kaWNlc1tqXV0sIHF1ZXJ5UG9pbnRzW2ldKTtcbiAgICAgICAgICAgICAgICBoZWFwLmhlYXBQdXNoKF9oZWFwLCBpLCBkLCBpbmRpY2VzW2pdLCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHJldHVybiB7IGluaXRGcm9tUmFuZG9tLCBpbml0RnJvbVRyZWUgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBtYWtlSW5pdGlhbGl6ZWROTlNlYXJjaChkaXN0YW5jZUZuKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIG5uU2VhcmNoRm4oZGF0YSwgZ3JhcGgsIGluaXRpYWxpemF0aW9uLCBxdWVyeVBvaW50cykge1xuICAgICAgICBjb25zdCB7IGluZGljZXMsIGluZHB0ciB9ID0gbWF0cml4LmdldENTUihncmFwaCk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcXVlcnlQb2ludHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHRyaWVkID0gbmV3IFNldChpbml0aWFsaXphdGlvblswXVtpXSk7XG4gICAgICAgICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICAgICAgICAgIC8vIEZpbmQgc21hbGxlc3QgZmxhZ2dlZCB2ZXJ0ZXhcbiAgICAgICAgICAgICAgICBjb25zdCB2ZXJ0ZXggPSBoZWFwLnNtYWxsZXN0RmxhZ2dlZChpbml0aWFsaXphdGlvbiwgaSk7XG4gICAgICAgICAgICAgICAgaWYgKHZlcnRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGNhbmRpZGF0ZXMgPSBpbmRpY2VzLnNsaWNlKGluZHB0clt2ZXJ0ZXhdLCBpbmRwdHJbdmVydGV4ICsgMV0pO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgY2FuZGlkYXRlIG9mIGNhbmRpZGF0ZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNhbmRpZGF0ZSA9PT0gdmVydGV4IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBjYW5kaWRhdGUgPT09IC0xIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmllZC5oYXMoY2FuZGlkYXRlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZCA9IGRpc3RhbmNlRm4oZGF0YVtjYW5kaWRhdGVdLCBxdWVyeVBvaW50c1tpXSk7XG4gICAgICAgICAgICAgICAgICAgIGhlYXAudW5jaGVja2VkSGVhcFB1c2goaW5pdGlhbGl6YXRpb24sIGksIGQsIGNhbmRpZGF0ZSwgMSk7XG4gICAgICAgICAgICAgICAgICAgIHRyaWVkLmFkZChjYW5kaWRhdGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW5pdGlhbGl6YXRpb247XG4gICAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplU2VhcmNoKGZvcmVzdCwgZGF0YSwgcXVlcnlQb2ludHMsIG5OZWlnaGJvcnMsIGluaXRGcm9tUmFuZG9tLCBpbml0RnJvbVRyZWUsIHJhbmRvbSkge1xuICAgIGNvbnN0IHJlc3VsdHMgPSBoZWFwLm1ha2VIZWFwKHF1ZXJ5UG9pbnRzLmxlbmd0aCwgbk5laWdoYm9ycyk7XG4gICAgaW5pdEZyb21SYW5kb20obk5laWdoYm9ycywgZGF0YSwgcXVlcnlQb2ludHMsIHJlc3VsdHMsIHJhbmRvbSk7XG4gICAgaWYgKGZvcmVzdCkge1xuICAgICAgICBmb3IgKGxldCB0cmVlIG9mIGZvcmVzdCkge1xuICAgICAgICAgICAgaW5pdEZyb21UcmVlKHRyZWUsIGRhdGEsIHF1ZXJ5UG9pbnRzLCByZXN1bHRzLCByYW5kb20pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHRzO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYm01ZlpHVnpZMlZ1ZEM1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJbTV1WDJSbGMyTmxiblF1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdPenM3T3pzN096czdPenM3T3pzN08wZEJhVUpITzBGQlJVZzdPenM3TzBkQlMwYzdRVUZGU0RzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096dEhRU3RDUnp0QlFVVklMRTlCUVU4c1MwRkJTeXhKUVVGSkxFMUJRVTBzVVVGQlVTeERRVUZETzBGQlF5OUNMRTlCUVU4c1MwRkJTeXhOUVVGTkxFMUJRVTBzVlVGQlZTeERRVUZETzBGQlEyNURMRTlCUVU4c1MwRkJTeXhKUVVGSkxFMUJRVTBzVVVGQlVTeERRVUZETzBGQlF5OUNMRTlCUVU4c1MwRkJTeXhMUVVGTExFMUJRVTBzVTBGQlV5eERRVUZETzBGQlIycERPenRIUVVWSE8wRkJRMGdzVFVGQlRTeFZRVUZWTEdGQlFXRXNRMEZCUXl4VlFVRnpRaXhGUVVGRkxFMUJRV2RDTzBsQlEzQkZMRTlCUVU4c1UwRkJVeXhUUVVGVExFTkJRM1pDTEVsQlFWa3NSVUZEV2l4VFFVRnJRaXhGUVVOc1FpeFZRVUZyUWl4RlFVTnNRaXhOUVVGTkxFZEJRVWNzUlVGQlJTeEZRVU5ZTEdGQlFXRXNSMEZCUnl4RlFVRkZMRVZCUTJ4Q0xFdEJRVXNzUjBGQlJ5eExRVUZMTEVWQlEySXNSMEZCUnl4SFFVRkhMRWRCUVVjc1JVRkRWQ3hWUVVGVkxFZEJRVWNzU1VGQlNUdFJRVVZxUWl4TlFVRk5MRk5CUVZNc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETzFGQlF6bENMRTFCUVUwc1dVRkJXU3hIUVVGSExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1JVRkJSU3hWUVVGVkxFTkJRVU1zUTBGQlF6dFJRVVUxUkN4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFpRVU53UXl4TlFVRk5MRTlCUVU4c1IwRkJSeXhKUVVGSkxFTkJRVU1zWlVGQlpTeERRVUZETEZWQlFWVXNSVUZCUlN4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETzFsQlEzUkZMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4UFFVRlBMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzJkQ1FVTjJReXhOUVVGTkxFTkJRVU1zUjBGQlJ5eFZRVUZWTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8yZENRVVZvUkN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExGbEJRVmtzUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0blFrRkRha1FzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4WlFVRlpMRVZCUVVVc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03WVVGRGJFUTdVMEZEUmp0UlFVTkVMRWxCUVVrc1ZVRkJWU3hGUVVGRk8xbEJRMlFzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExGTkJRVk1zUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1owSkJRM3BETEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFRRVUZUTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzI5Q1FVTTFReXhKUVVGSkxGTkJRVk1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVU3ZDBKQlEzWkNMRTFCUVUwN2NVSkJRMUE3YjBKQlEwUXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPM2RDUVVOb1JDeEpRVUZKTEZOQlFWTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVTdORUpCUTNaQ0xFMUJRVTA3ZVVKQlExQTdkMEpCUTBRc1RVRkJUU3hEUVVGRExFZEJRVWNzVlVGQlZTeERRVUZETEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenQzUWtGRGJrVXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhaUVVGWkxFVkJRVVVzVTBGQlV5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeFRRVUZUTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTTdkMEpCUTNCRkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNXVUZCV1N4RlFVRkZMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8zRkNRVU55UlR0cFFrRkRSanRoUVVOR08xTkJRMFk3VVVGRlJDeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMWxCUXk5Q0xFMUJRVTBzYTBKQlFXdENMRWRCUVVjc1NVRkJTU3hEUVVGRExHVkJRV1VzUTBGRE4wTXNXVUZCV1N4RlFVTmFMRk5CUVZNc1JVRkRWQ3hWUVVGVkxFVkJRMVlzWVVGQllTeEZRVU5pTEUxQlFVMHNRMEZEVUN4RFFVRkRPMWxCUlVZc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFsQlExWXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEZOQlFWTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRuUWtGRGJFTXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEdGQlFXRXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHR2UWtGRGRFTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8yOUNRVU5vUkN4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFbEJRVWtzUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4TlFVRk5MRU5CUVVNc1IwRkJSeXhIUVVGSExFVkJRVVU3ZDBKQlEzaERMRk5CUVZNN2NVSkJRMVk3YjBKQlEwUXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEdGQlFXRXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHQzUWtGRGRFTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8zZENRVU5zUkN4TlFVRk5MRVZCUVVVc1IwRkJSeXhyUWtGQmEwSXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0M1FrRkRka01zVFVGQlRTeEZRVUZGTEVkQlFVY3NhMEpCUVd0Q0xFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03ZDBKQlEzWkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVU3TkVKQlEzcENMRk5CUVZNN2VVSkJRMVk3ZDBKQlJVUXNUVUZCVFN4RFFVRkRMRWRCUVVjc1ZVRkJWU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dDNRa0ZEZGtNc1EwRkJReXhKUVVGSkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNXVUZCV1N4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPM2RDUVVNM1F5eERRVUZETEVsQlFVa3NTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhaUVVGWkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03Y1VKQlF6bERPMmxDUVVOR08yRkJRMFk3V1VGRFJDeEpRVUZKTEVOQlFVTXNTVUZCU1N4TFFVRkxMRWRCUVVjc1ZVRkJWU3hIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVWQlFVVTdaMEpCUTNwRExFMUJRVTA3WVVGRFVEdFRRVU5HTzFGQlEwUXNUVUZCVFN4TlFVRk5MRWRCUVVjc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0UlFVTTNReXhQUVVGUExFMUJRVTBzUTBGQlF6dEpRVU5vUWl4RFFVRkRMRU5CUVVNN1FVRkRTaXhEUVVGRE8wRkJhMEpFTEUxQlFVMHNWVUZCVlN4dFFrRkJiVUlzUTBGQlF5eFZRVUZ6UWp0SlFVTjRSQ3hUUVVGVExHTkJRV01zUTBGRGNrSXNWVUZCYTBJc1JVRkRiRUlzU1VGQldTeEZRVU5hTEZkQlFXMUNMRVZCUTI1Q0xFdEJRV2RDTEVWQlEyaENMRTFCUVdkQ08xRkJSV2hDTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFhRVUZYTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xbEJRek5ETEUxQlFVMHNUMEZCVHl4SFFVRkhMRXRCUVVzc1EwRkJReXhsUVVGbExFTkJRVU1zVlVGQlZTeEZRVUZGTEVsQlFVa3NRMEZCUXl4TlFVRk5MRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03V1VGRGRrVXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEU5QlFVOHNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3WjBKQlEzWkRMRWxCUVVrc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlR0dlFrRkRiRUlzVTBGQlV6dHBRa0ZEVmp0blFrRkRSQ3hOUVVGTkxFTkJRVU1zUjBGQlJ5eFZRVUZWTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEZkQlFWY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8yZENRVU4yUkN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFdEJRVXNzUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0aFFVTXpRenRUUVVOR08wbEJRMGdzUTBGQlF6dEpRVVZFTEZOQlFWTXNXVUZCV1N4RFFVTnVRaXhMUVVGdlFpeEZRVU53UWl4SlFVRlpMRVZCUTFvc1YwRkJiVUlzUlVGRGJrSXNTMEZCWjBJc1JVRkRhRUlzVFVGQlowSTdVVUZGYUVJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRmRCUVZjc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdXVUZETTBNc1RVRkJUU3hQUVVGUExFZEJRVWNzU1VGQlNTeERRVUZETEdOQlFXTXNRMEZCUXl4WFFVRlhMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUzBGQlN5eEZRVUZGTEUxQlFVMHNRMEZCUXl4RFFVRkRPMWxCUlc1RkxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhQUVVGUExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMmRDUVVOMlF5eEpRVUZKTEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVU3YjBKQlEyeENMRTlCUVU4N2FVSkJRMUk3WjBKQlEwUXNUVUZCVFN4RFFVRkRMRWRCUVVjc1ZVRkJWU3hEUVVGRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hYUVVGWExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0blFrRkRka1FzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4TFFVRkxMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03WVVGRE0wTTdVMEZEUmp0UlFVTkVMRTlCUVU4N1NVRkRWQ3hEUVVGRE8wbEJSVVFzVDBGQlR5eEZRVUZGTEdOQlFXTXNSVUZCUlN4WlFVRlpMRVZCUVVVc1EwRkJRenRCUVVNeFF5eERRVUZETzBGQlUwUXNUVUZCVFN4VlFVRlZMSFZDUVVGMVFpeERRVUZETEZWQlFYTkNPMGxCUXpWRUxFOUJRVThzVTBGQlV5eFZRVUZWTEVOQlEzaENMRWxCUVZrc1JVRkRXaXhMUVVFd1FpeEZRVU14UWl4alFVRjVRaXhGUVVONlFpeFhRVUZ0UWp0UlFVVnVRaXhOUVVGTkxFVkJRVVVzVDBGQlR5eEZRVUZGTEUxQlFVMHNSVUZCUlN4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdVVUZGYWtRc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRmRCUVZjc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdXVUZETTBNc1RVRkJUU3hMUVVGTExFZEJRVWNzU1VGQlNTeEhRVUZITEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdXVUZETlVNc1QwRkJUeXhKUVVGSkxFVkJRVVU3WjBKQlExZ3NLMEpCUVN0Q08yZENRVU12UWl4TlFVRk5MRTFCUVUwc1IwRkJSeXhKUVVGSkxFTkJRVU1zWlVGQlpTeERRVUZETEdOQlFXTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRuUWtGRmRrUXNTVUZCU1N4TlFVRk5MRXRCUVVzc1EwRkJReXhEUVVGRExFVkJRVVU3YjBKQlEycENMRTFCUVUwN2FVSkJRMUE3WjBKQlEwUXNUVUZCVFN4VlFVRlZMRWRCUVVjc1QwRkJUeXhEUVVGRExFdEJRVXNzUTBGQlF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVc1RVRkJUU3hEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVOeVJTeExRVUZMTEUxQlFVMHNVMEZCVXl4SlFVRkpMRlZCUVZVc1JVRkJSVHR2UWtGRGJFTXNTVUZEUlN4VFFVRlRMRXRCUVVzc1RVRkJUVHQzUWtGRGNFSXNVMEZCVXl4TFFVRkxMRU5CUVVNc1EwRkJRenQzUWtGRGFFSXNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhUUVVGVExFTkJRVU1zUlVGRGNFSTdkMEpCUTBFc1UwRkJVenR4UWtGRFZqdHZRa0ZEUkN4TlFVRk5MRU5CUVVNc1IwRkJSeXhWUVVGVkxFTkJRVU1zU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4RlFVRkZMRmRCUVZjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzI5Q1FVTjBSQ3hKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1kwRkJZeXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNVMEZCVXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8yOUNRVU16UkN4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETzJsQ1FVTjBRanRoUVVOR08xTkJRMFk3VVVGRFJDeFBRVUZQTEdOQlFXTXNRMEZCUXp0SlFVTjRRaXhEUVVGRExFTkJRVU03UVVGRFNpeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMR2RDUVVGblFpeERRVU01UWl4TlFVRjFRaXhGUVVOMlFpeEpRVUZaTEVWQlExb3NWMEZCYlVJc1JVRkRia0lzVlVGQmEwSXNSVUZEYkVJc1kwRkJaME1zUlVGRGFFTXNXVUZCTkVJc1JVRkROVUlzVFVGQlowSTdTVUZGYUVJc1RVRkJUU3hQUVVGUExFZEJRVWNzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4WFFVRlhMRU5CUVVNc1RVRkJUU3hGUVVGRkxGVkJRVlVzUTBGQlF5eERRVUZETzBsQlF6bEVMR05CUVdNc1EwRkJReXhWUVVGVkxFVkJRVVVzU1VGQlNTeEZRVUZGTEZkQlFWY3NSVUZCUlN4UFFVRlBMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03U1VGREwwUXNTVUZCU1N4TlFVRk5MRVZCUVVVN1VVRkRWaXhMUVVGTExFbEJRVWtzU1VGQlNTeEpRVUZKTEUxQlFVMHNSVUZCUlR0WlFVTjJRaXhaUVVGWkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVsQlFVa3NSVUZCUlN4WFFVRlhMRVZCUVVVc1QwRkJUeXhGUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETzFOQlEzaEVPMHRCUTBZN1NVRkRSQ3hQUVVGUExFOUJRVThzUTBGQlF6dEJRVU5xUWl4RFFVRkRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHlvcVhHNGdLaUJBYkdsalpXNXpaVnh1SUNwY2JpQXFJRU52Y0hseWFXZG9kQ0F5TURFNUlFZHZiMmRzWlNCTVRFTXVJRUZzYkNCU2FXZG9kSE1nVW1WelpYSjJaV1F1WEc0Z0tseHVJQ29nVEdsalpXNXpaV1FnZFc1a1pYSWdkR2hsSUVGd1lXTm9aU0JNYVdObGJuTmxMQ0JXWlhKemFXOXVJREl1TUNBb2RHaGxJRndpVEdsalpXNXpaVndpS1R0Y2JpQXFJSGx2ZFNCdFlYa2dibTkwSUhWelpTQjBhR2x6SUdacGJHVWdaWGhqWlhCMElHbHVJR052YlhCc2FXRnVZMlVnZDJsMGFDQjBhR1VnVEdsalpXNXpaUzVjYmlBcUlGbHZkU0J0WVhrZ2IySjBZV2x1SUdFZ1kyOXdlU0J2WmlCMGFHVWdUR2xqWlc1elpTQmhkRnh1SUNwY2JpQXFJQ0FnSUNCb2RIUndPaTh2ZDNkM0xtRndZV05vWlM1dmNtY3ZiR2xqWlc1elpYTXZURWxEUlU1VFJTMHlMakJjYmlBcVhHNGdLaUJWYm14bGMzTWdjbVZ4ZFdseVpXUWdZbmtnWVhCd2JHbGpZV0pzWlNCc1lYY2diM0lnWVdkeVpXVmtJSFJ2SUdsdUlIZHlhWFJwYm1jc0lITnZablIzWVhKbFhHNGdLaUJrYVhOMGNtbGlkWFJsWkNCMWJtUmxjaUIwYUdVZ1RHbGpaVzV6WlNCcGN5QmthWE4wY21saWRYUmxaQ0J2YmlCaGJpQmNJa0ZUSUVsVFhDSWdRa0ZUU1ZNc1hHNGdLaUJYU1ZSSVQxVlVJRmRCVWxKQlRsUkpSVk1nVDFJZ1EwOU9SRWxVU1U5T1V5QlBSaUJCVGxrZ1MwbE9SQ3dnWldsMGFHVnlJR1Y0Y0hKbGMzTWdiM0lnYVcxd2JHbGxaQzVjYmlBcUlGTmxaU0IwYUdVZ1RHbGpaVzV6WlNCbWIzSWdkR2hsSUhOd1pXTnBabWxqSUd4aGJtZDFZV2RsSUdkdmRtVnlibWx1WnlCd1pYSnRhWE56YVc5dWN5QmhibVJjYmlBcUlHeHBiV2wwWVhScGIyNXpJSFZ1WkdWeUlIUm9aU0JNYVdObGJuTmxMbHh1SUNvZ1BUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5WEc0Z0tpOWNibHh1THlvcVhHNGdLaUJVYUdseklHbHpJR0VnU21GMllWTmpjbWx3ZENCeVpXbHRjR3hsYldWdWRHRjBhVzl1SUc5bUlGVk5RVkFnS0c5eWFXZHBibUZzSUd4cFkyVnVjMlVnWW1Wc2IzY3BMQ0JtY205dFhHNGdLaUIwYUdVZ2NIbDBhRzl1SUdsdGNHeGxiV1Z1ZEdGMGFXOXVJR1p2ZFc1a0lHRjBJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzlzYldOcGJtNWxjeTkxYldGd0xseHVJQ3BjYmlBcUlFQmhkWFJvYjNJZ1lXNWtlV052Wlc1bGJrQm5iMjluYkdVdVkyOXRJQ2hCYm1SNUlFTnZaVzVsYmlsY2JpQXFMMXh1WEc0dktpcGNiaUFxSUVCc2FXTmxibk5sWEc0Z0tpQkNVMFFnTXkxRGJHRjFjMlVnVEdsalpXNXpaVnh1SUNwY2JpQXFJRU52Y0hseWFXZG9kQ0FvWXlrZ01qQXhOeXdnVEdWc1lXNWtJRTFqU1c1dVpYTmNiaUFxSUVGc2JDQnlhV2RvZEhNZ2NtVnpaWEoyWldRdVhHNGdLbHh1SUNvZ1VtVmthWE4wY21saWRYUnBiMjRnWVc1a0lIVnpaU0JwYmlCemIzVnlZMlVnWVc1a0lHSnBibUZ5ZVNCbWIzSnRjeXdnZDJsMGFDQnZjaUIzYVhSb2IzVjBYRzRnS2lCdGIyUnBabWxqWVhScGIyNHNJR0Z5WlNCd1pYSnRhWFIwWldRZ2NISnZkbWxrWldRZ2RHaGhkQ0IwYUdVZ1ptOXNiRzkzYVc1bklHTnZibVJwZEdsdmJuTWdZWEpsSUcxbGREcGNiaUFxWEc0Z0tpQXFJRkpsWkdsemRISnBZblYwYVc5dWN5QnZaaUJ6YjNWeVkyVWdZMjlrWlNCdGRYTjBJSEpsZEdGcGJpQjBhR1VnWVdKdmRtVWdZMjl3ZVhKcFoyaDBJRzV2ZEdsalpTd2dkR2hwYzF4dUlDb2dJQ0JzYVhOMElHOW1JR052Ym1ScGRHbHZibk1nWVc1a0lIUm9aU0JtYjJ4c2IzZHBibWNnWkdselkyeGhhVzFsY2k1Y2JpQXFYRzRnS2lBcUlGSmxaR2x6ZEhKcFluVjBhVzl1Y3lCcGJpQmlhVzVoY25rZ1ptOXliU0J0ZFhOMElISmxjSEp2WkhWalpTQjBhR1VnWVdKdmRtVWdZMjl3ZVhKcFoyaDBJRzV2ZEdsalpTeGNiaUFxSUNBZ2RHaHBjeUJzYVhOMElHOW1JR052Ym1ScGRHbHZibk1nWVc1a0lIUm9aU0JtYjJ4c2IzZHBibWNnWkdselkyeGhhVzFsY2lCcGJpQjBhR1VnWkc5amRXMWxiblJoZEdsdmJseHVJQ29nSUNCaGJtUXZiM0lnYjNSb1pYSWdiV0YwWlhKcFlXeHpJSEJ5YjNacFpHVmtJSGRwZEdnZ2RHaGxJR1JwYzNSeWFXSjFkR2x2Ymk1Y2JpQXFYRzRnS2lBcUlFNWxhWFJvWlhJZ2RHaGxJRzVoYldVZ2IyWWdkR2hsSUdOdmNIbHlhV2RvZENCb2IyeGtaWElnYm05eUlIUm9aU0J1WVcxbGN5QnZaaUJwZEhOY2JpQXFJQ0FnWTI5dWRISnBZblYwYjNKeklHMWhlU0JpWlNCMWMyVmtJSFJ2SUdWdVpHOXljMlVnYjNJZ2NISnZiVzkwWlNCd2NtOWtkV04wY3lCa1pYSnBkbVZrSUdaeWIyMWNiaUFxSUNBZ2RHaHBjeUJ6YjJaMGQyRnlaU0IzYVhSb2IzVjBJSE53WldOcFptbGpJSEJ5YVc5eUlIZHlhWFIwWlc0Z2NHVnliV2x6YzJsdmJpNWNiaUFxWEc0Z0tpQlVTRWxUSUZOUFJsUlhRVkpGSUVsVElGQlNUMVpKUkVWRUlFSlpJRlJJUlNCRFQxQlpVa2xIU0ZRZ1NFOU1SRVZTVXlCQlRrUWdRMDlPVkZKSlFsVlVUMUpUSUZ3aVFWTWdTVk5jSWx4dUlDb2dRVTVFSUVGT1dTQkZXRkJTUlZOVElFOVNJRWxOVUV4SlJVUWdWMEZTVWtGT1ZFbEZVeXdnU1U1RFRGVkVTVTVITENCQ1ZWUWdUazlVSUV4SlRVbFVSVVFnVkU4c0lGUklSVnh1SUNvZ1NVMVFURWxGUkNCWFFWSlNRVTVVU1VWVElFOUdJRTFGVWtOSVFVNVVRVUpKVEVsVVdTQkJUa1FnUmtsVVRrVlRVeUJHVDFJZ1FTQlFRVkpVU1VOVlRFRlNJRkJWVWxCUFUwVWdRVkpGWEc0Z0tpQkVTVk5EVEVGSlRVVkVMaUJKVGlCT1R5QkZWa1ZPVkNCVFNFRk1UQ0JVU0VVZ1EwOVFXVkpKUjBoVUlFaFBURVJGVWlCUFVpQkRUMDVVVWtsQ1ZWUlBVbE1nUWtVZ1RFbEJRa3hGWEc0Z0tpQkdUMUlnUVU1WklFUkpVa1ZEVkN3Z1NVNUVTVkpGUTFRc0lFbE9RMGxFUlU1VVFVd3NJRk5RUlVOSlFVd3NJRVZZUlUxUVRFRlNXU3dnVDFJZ1EwOU9VMFZSVlVWT1ZFbEJURnh1SUNvZ1JFRk5RVWRGVXlBb1NVNURURlZFU1U1SExDQkNWVlFnVGs5VUlFeEpUVWxVUlVRZ1ZFOHNJRkJTVDBOVlVrVk5SVTVVSUU5R0lGTlZRbE5VU1ZSVlZFVWdSMDlQUkZNZ1QxSmNiaUFxSUZORlVsWkpRMFZUT3lCTVQxTlRJRTlHSUZWVFJTd2dSRUZVUVN3Z1QxSWdVRkpQUmtsVVV6c2dUMUlnUWxWVFNVNUZVMU1nU1U1VVJWSlNWVkJVU1U5T0tTQklUMWRGVmtWU1hHNGdLaUJEUVZWVFJVUWdRVTVFSUU5T0lFRk9XU0JVU0VWUFVsa2dUMFlnVEVsQlFrbE1TVlJaTENCWFNFVlVTRVZTSUVsT0lFTlBUbFJTUVVOVUxDQlRWRkpKUTFRZ1RFbEJRa2xNU1ZSWkxGeHVJQ29nVDFJZ1ZFOVNWQ0FvU1U1RFRGVkVTVTVISUU1RlIweEpSMFZPUTBVZ1QxSWdUMVJJUlZKWFNWTkZLU0JCVWtsVFNVNUhJRWxPSUVGT1dTQlhRVmtnVDFWVUlFOUdJRlJJUlNCVlUwVmNiaUFxSUU5R0lGUklTVk1nVTA5R1ZGZEJVa1VzSUVWV1JVNGdTVVlnUVVSV1NWTkZSQ0JQUmlCVVNFVWdVRTlUVTBsQ1NVeEpWRmtnVDBZZ1UxVkRTQ0JFUVUxQlIwVXVYRzRnS2k5Y2JseHVhVzF3YjNKMElDb2dZWE1nYUdWaGNDQm1jbTl0SUNjdUwyaGxZWEFuTzF4dWFXMXdiM0owSUNvZ1lYTWdiV0YwY21sNElHWnliMjBnSnk0dmJXRjBjbWw0Snp0Y2JtbHRjRzl5ZENBcUlHRnpJSFJ5WldVZ1puSnZiU0FuTGk5MGNtVmxKenRjYm1sdGNHOXlkQ0FxSUdGeklIVjBhV3h6SUdaeWIyMGdKeTR2ZFhScGJITW5PMXh1YVcxd2IzSjBJSHNnVW1GdVpHOXRSbTRzSUZabFkzUnZjbk1zSUVScGMzUmhibU5sUm00c0lGWmxZM1J2Y2lCOUlHWnliMjBnSnk0dmRXMWhjQ2M3WEc1Y2JpOHFLbHh1SUNvZ1EzSmxZWFJsSUdFZ2RtVnljMmx2YmlCdlppQnVaV0Z5WlhOMElHNWxhV2RvWW05eUlHUmxjMk5sYm5RdVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ0WVd0bFRrNUVaWE5qWlc1MEtHUnBjM1JoYm1ObFJtNDZJRVJwYzNSaGJtTmxSbTRzSUhKaGJtUnZiVG9nVW1GdVpHOXRSbTRwSUh0Y2JpQWdjbVYwZFhKdUlHWjFibU4wYVc5dUlHNU9SR1Z6WTJWdWRDaGNiaUFnSUNCa1lYUmhPaUJXWldOMGIzSXNYRzRnSUNBZ2JHVmhaa0Z5Y21GNU9pQldaV04wYjNKekxGeHVJQ0FnSUc1T1pXbG5hR0p2Y25NNklHNTFiV0psY2l4Y2JpQWdJQ0J1U1hSbGNuTWdQU0F4TUN4Y2JpQWdJQ0J0WVhoRFlXNWthV1JoZEdWeklEMGdOVEFzWEc0Z0lDQWdaR1ZzZEdFZ1BTQXdMakF3TVN4Y2JpQWdJQ0J5YUc4Z1BTQXdMalVzWEc0Z0lDQWdjbkJVY21WbFNXNXBkQ0E5SUhSeWRXVmNiaUFnS1NCN1hHNGdJQ0FnWTI5dWMzUWdibFpsY25ScFkyVnpJRDBnWkdGMFlTNXNaVzVuZEdnN1hHNGdJQ0FnWTI5dWMzUWdZM1Z5Y21WdWRFZHlZWEJvSUQwZ2FHVmhjQzV0WVd0bFNHVmhjQ2hrWVhSaExteGxibWQwYUN3Z2JrNWxhV2RvWW05eWN5azdYRzVjYmlBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJR1JoZEdFdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJR052Ym5OMElHbHVaR2xqWlhNZ1BTQm9aV0Z3TG5KbGFtVmpkR2x2YmxOaGJYQnNaU2h1VG1WcFoyaGliM0p6TENCa1lYUmhMbXhsYm1kMGFDd2djbUZ1Wkc5dEtUdGNiaUFnSUNBZ0lHWnZjaUFvYkdWMElHb2dQU0F3T3lCcUlEd2dhVzVrYVdObGN5NXNaVzVuZEdnN0lHb3JLeWtnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JrSUQwZ1pHbHpkR0Z1WTJWR2JpaGtZWFJoVzJsZExDQmtZWFJoVzJsdVpHbGpaWE5iYWwxZEtUdGNibHh1SUNBZ0lDQWdJQ0JvWldGd0xtaGxZWEJRZFhOb0tHTjFjbkpsYm5SSGNtRndhQ3dnYVN3Z1pDd2dhVzVrYVdObGMxdHFYU3dnTVNrN1hHNGdJQ0FnSUNBZ0lHaGxZWEF1YUdWaGNGQjFjMmdvWTNWeWNtVnVkRWR5WVhCb0xDQnBibVJwWTJWelcycGRMQ0JrTENCcExDQXhLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLSEp3VkhKbFpVbHVhWFFwSUh0Y2JpQWdJQ0FnSUdadmNpQW9iR1YwSUc0Z1BTQXdPeUJ1SUR3Z2JHVmhaa0Z5Y21GNUxteGxibWQwYURzZ2Jpc3JLU0I3WEc0Z0lDQWdJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2JHVmhaa0Z5Y21GNVcyNWRMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0d4bFlXWkJjbkpoZVZ0dVhWdHBYU0E4SURBcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQm1iM0lnS0d4bGRDQnFJRDBnYVNBcklERTdJR29nUENCc1pXRm1RWEp5WVhsYmJsMHViR1Z1WjNSb095QnFLeXNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoc1pXRm1RWEp5WVhsYmJsMWJhbDBnUENBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWkNBOUlHUnBjM1JoYm1ObFJtNG9aR0YwWVZ0c1pXRm1RWEp5WVhsYmJsMWJhVjFkTENCa1lYUmhXMnhsWVdaQmNuSmhlVnR1WFZ0cVhWMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FHVmhjQzVvWldGd1VIVnphQ2hqZFhKeVpXNTBSM0poY0dnc0lHeGxZV1pCY25KaGVWdHVYVnRwWFN3Z1pDd2diR1ZoWmtGeWNtRjVXMjVkVzJwZExDQXhLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHaGxZWEF1YUdWaGNGQjFjMmdvWTNWeWNtVnVkRWR5WVhCb0xDQnNaV0ZtUVhKeVlYbGJibDFiYWwwc0lHUXNJR3hsWVdaQmNuSmhlVnR1WFZ0cFhTd2dNU2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2JpQTlJREE3SUc0Z1BDQnVTWFJsY25NN0lHNHJLeWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdZMkZ1Wkdsa1lYUmxUbVZwWjJoaWIzSnpJRDBnYUdWaGNDNWlkV2xzWkVOaGJtUnBaR0YwWlhNb1hHNGdJQ0FnSUNBZ0lHTjFjbkpsYm5SSGNtRndhQ3hjYmlBZ0lDQWdJQ0FnYmxabGNuUnBZMlZ6TEZ4dUlDQWdJQ0FnSUNCdVRtVnBaMmhpYjNKekxGeHVJQ0FnSUNBZ0lDQnRZWGhEWVc1a2FXUmhkR1Z6TEZ4dUlDQWdJQ0FnSUNCeVlXNWtiMjFjYmlBZ0lDQWdJQ2s3WEc1Y2JpQWdJQ0FnSUd4bGRDQmpJRDBnTUR0Y2JpQWdJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2JsWmxjblJwWTJWek95QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2FpQTlJREE3SUdvZ1BDQnRZWGhEWVc1a2FXUmhkR1Z6T3lCcUt5c3BJSHRjYmlBZ0lDQWdJQ0FnSUNCc1pYUWdjQ0E5SUUxaGRHZ3VabXh2YjNJb1kyRnVaR2xrWVhSbFRtVnBaMmhpYjNKeld6QmRXMmxkVzJwZEtUdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2NDQThJREFnZkh3Z2RYUnBiSE11ZEdGMVVtRnVaQ2h5WVc1a2IyMHBJRHdnY21odktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNTBhVzUxWlR0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnWm05eUlDaHNaWFFnYXlBOUlEQTdJR3NnUENCdFlYaERZVzVrYVdSaGRHVnpPeUJyS3lzcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSEVnUFNCTllYUm9MbVpzYjI5eUtHTmhibVJwWkdGMFpVNWxhV2RvWW05eWMxc3dYVnRwWFZ0clhTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JqYWlBOUlHTmhibVJwWkdGMFpVNWxhV2RvWW05eWMxc3lYVnRwWFZ0cVhUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR05ySUQwZ1kyRnVaR2xrWVhSbFRtVnBaMmhpYjNKeld6SmRXMmxkVzJ0ZE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIRWdQQ0F3SUh4OElDZ2hZMm9nSmlZZ0lXTnJLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWkNBOUlHUnBjM1JoYm1ObFJtNG9aR0YwWVZ0d1hTd2daR0YwWVZ0eFhTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCaklDczlJR2hsWVhBdWFHVmhjRkIxYzJnb1kzVnljbVZ1ZEVkeVlYQm9MQ0J3TENCa0xDQnhMQ0F4S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR01nS3owZ2FHVmhjQzVvWldGd1VIVnphQ2hqZFhKeVpXNTBSM0poY0dnc0lIRXNJR1FzSUhBc0lERXBPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2FXWWdLR01nUEQwZ1pHVnNkR0VnS2lCdVRtVnBaMmhpYjNKeklDb2daR0YwWVM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lHTnZibk4wSUhOdmNuUmxaQ0E5SUdobFlYQXVaR1ZvWldGd1UyOXlkQ2hqZFhKeVpXNTBSM0poY0dncE8xeHVJQ0FnSUhKbGRIVnliaUJ6YjNKMFpXUTdYRzRnSUgwN1hHNTlYRzVjYm1WNGNHOXlkQ0IwZVhCbElFbHVhWFJHY205dFVtRnVaRzl0Um00Z1BTQW9YRzRnSUc1T1pXbG5hR0p2Y25NNklHNTFiV0psY2l4Y2JpQWdaR0YwWVRvZ1ZtVmpkRzl5TEZ4dUlDQnhkV1Z5ZVZCdmFXNTBjem9nVm1WamRHOXlMRnh1SUNCZmFHVmhjRG9nYUdWaGNDNUlaV0Z3TEZ4dUlDQnlZVzVrYjIwNklGSmhibVJ2YlVadVhHNHBJRDArSUhadmFXUTdYRzVjYm1WNGNHOXlkQ0IwZVhCbElFbHVhWFJHY205dFZISmxaVVp1SUQwZ0tGeHVJQ0JmZEhKbFpUb2dkSEpsWlM1R2JHRjBWSEpsWlN4Y2JpQWdaR0YwWVRvZ1ZtVmpkRzl5TEZ4dUlDQnhkV1Z5ZVZCdmFXNTBjem9nVm1WamRHOXlMRnh1SUNCZmFHVmhjRG9nYUdWaGNDNUlaV0Z3TEZ4dUlDQnlZVzVrYjIwNklGSmhibVJ2YlVadVhHNHBJRDArSUhadmFXUTdYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ0WVd0bFNXNXBkR2xoYkdsNllYUnBiMjV6S0dScGMzUmhibU5sUm00NklFUnBjM1JoYm1ObFJtNHBJSHRjYmlBZ1puVnVZM1JwYjI0Z2FXNXBkRVp5YjIxU1lXNWtiMjBvWEc0Z0lDQWdiazVsYVdkb1ltOXljem9nYm5WdFltVnlMRnh1SUNBZ0lHUmhkR0U2SUZabFkzUnZjaXhjYmlBZ0lDQnhkV1Z5ZVZCdmFXNTBjem9nVm1WamRHOXlMRnh1SUNBZ0lGOW9aV0Z3T2lCb1pXRndMa2hsWVhBc1hHNGdJQ0FnY21GdVpHOXRPaUJTWVc1a2IyMUdibHh1SUNBcElIdGNiaUFnSUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElIRjFaWEo1VUc5cGJuUnpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0JwYm1ScFkyVnpJRDBnZFhScGJITXVjbVZxWldOMGFXOXVVMkZ0Y0d4bEtHNU9aV2xuYUdKdmNuTXNJR1JoZEdFdWJHVnVaM1JvTENCeVlXNWtiMjBwTzF4dUlDQWdJQ0FnWm05eUlDaHNaWFFnYWlBOUlEQTdJR29nUENCcGJtUnBZMlZ6TG14bGJtZDBhRHNnYWlzcktTQjdYRzRnSUNBZ0lDQWdJR2xtSUNocGJtUnBZMlZ6VzJwZElEd2dNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHTnZiblJwYm5WbE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJR052Ym5OMElHUWdQU0JrYVhOMFlXNWpaVVp1S0dSaGRHRmJhVzVrYVdObGMxdHFYVjBzSUhGMVpYSjVVRzlwYm5SelcybGRLVHRjYmlBZ0lDQWdJQ0FnYUdWaGNDNW9aV0Z3VUhWemFDaGZhR1ZoY0N3Z2FTd2daQ3dnYVc1a2FXTmxjMXRxWFN3Z01TazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdablZ1WTNScGIyNGdhVzVwZEVaeWIyMVVjbVZsS0Z4dUlDQWdJRjkwY21WbE9pQjBjbVZsTGtac1lYUlVjbVZsTEZ4dUlDQWdJR1JoZEdFNklGWmxZM1J2Y2l4Y2JpQWdJQ0J4ZFdWeWVWQnZhVzUwY3pvZ1ZtVmpkRzl5TEZ4dUlDQWdJRjlvWldGd09pQm9aV0Z3TGtobFlYQXNYRzRnSUNBZ2NtRnVaRzl0T2lCU1lXNWtiMjFHYmx4dUlDQXBJSHRjYmlBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJSEYxWlhKNVVHOXBiblJ6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCcGJtUnBZMlZ6SUQwZ2RISmxaUzV6WldGeVkyaEdiR0YwVkhKbFpTaHhkV1Z5ZVZCdmFXNTBjMXRwWFN3Z1gzUnlaV1VzSUhKaGJtUnZiU2s3WEc1Y2JpQWdJQ0FnSUdadmNpQW9iR1YwSUdvZ1BTQXdPeUJxSUR3Z2FXNWthV05sY3k1c1pXNW5kR2c3SUdvckt5a2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2FXNWthV05sYzF0cVhTQThJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1pDQTlJR1JwYzNSaGJtTmxSbTRvWkdGMFlWdHBibVJwWTJWelcycGRYU3dnY1hWbGNubFFiMmx1ZEhOYmFWMHBPMXh1SUNBZ0lDQWdJQ0JvWldGd0xtaGxZWEJRZFhOb0tGOW9aV0Z3TENCcExDQmtMQ0JwYm1ScFkyVnpXMnBkTENBeEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSHNnYVc1cGRFWnliMjFTWVc1a2IyMHNJR2x1YVhSR2NtOXRWSEpsWlNCOU8xeHVmVnh1WEc1bGVIQnZjblFnZEhsd1pTQlRaV0Z5WTJoR2JpQTlJQ2hjYmlBZ1pHRjBZVG9nVm1WamRHOXlMRnh1SUNCbmNtRndhRG9nYldGMGNtbDRMbE53WVhKelpVMWhkSEpwZUN4Y2JpQWdhVzVwZEdsaGJHbDZZWFJwYjI0NklHaGxZWEF1U0dWaGNDeGNiaUFnY1hWbGNubFFiMmx1ZEhNNklGWmxZM1J2Y2x4dUtTQTlQaUJvWldGd0xraGxZWEE3WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCdFlXdGxTVzVwZEdsaGJHbDZaV1JPVGxObFlYSmphQ2hrYVhOMFlXNWpaVVp1T2lCRWFYTjBZVzVqWlVadUtTQjdYRzRnSUhKbGRIVnliaUJtZFc1amRHbHZiaUJ1YmxObFlYSmphRVp1S0Z4dUlDQWdJR1JoZEdFNklGWmxZM1J2Y2l4Y2JpQWdJQ0JuY21Gd2FEb2diV0YwY21sNExsTndZWEp6WlUxaGRISnBlQ3hjYmlBZ0lDQnBibWwwYVdGc2FYcGhkR2x2YmpvZ2FHVmhjQzVJWldGd0xGeHVJQ0FnSUhGMVpYSjVVRzlwYm5Sek9pQldaV04wYjNKY2JpQWdLU0I3WEc0Z0lDQWdZMjl1YzNRZ2V5QnBibVJwWTJWekxDQnBibVJ3ZEhJZ2ZTQTlJRzFoZEhKcGVDNW5aWFJEVTFJb1ozSmhjR2dwTzF4dVhHNGdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCeGRXVnllVkJ2YVc1MGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdkSEpwWldRZ1BTQnVaWGNnVTJWMEtHbHVhWFJwWVd4cGVtRjBhVzl1V3pCZFcybGRLVHRjYmlBZ0lDQWdJSGRvYVd4bElDaDBjblZsS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRVpwYm1RZ2MyMWhiR3hsYzNRZ1pteGhaMmRsWkNCMlpYSjBaWGhjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdkbVZ5ZEdWNElEMGdhR1ZoY0M1emJXRnNiR1Z6ZEVac1lXZG5aV1FvYVc1cGRHbGhiR2w2WVhScGIyNHNJR2twTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2gyWlhKMFpYZ2dQVDA5SUMweEtTQjdYRzRnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdZMkZ1Wkdsa1lYUmxjeUE5SUdsdVpHbGpaWE11YzJ4cFkyVW9hVzVrY0hSeVczWmxjblJsZUYwc0lHbHVaSEIwY2x0MlpYSjBaWGdnS3lBeFhTazdYRzRnSUNBZ0lDQWdJR1p2Y2lBb1kyOXVjM1FnWTJGdVpHbGtZWFJsSUc5bUlHTmhibVJwWkdGMFpYTXBJSHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9YRzRnSUNBZ0lDQWdJQ0FnSUNCallXNWthV1JoZEdVZ1BUMDlJSFpsY25SbGVDQjhmRnh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnVaR2xrWVhSbElEMDlQU0F0TVNCOGZGeHVJQ0FnSUNBZ0lDQWdJQ0FnZEhKcFpXUXVhR0Z6S0dOaGJtUnBaR0YwWlNsY2JpQWdJQ0FnSUNBZ0lDQXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZiblJwYm5WbE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JrSUQwZ1pHbHpkR0Z1WTJWR2JpaGtZWFJoVzJOaGJtUnBaR0YwWlYwc0lIRjFaWEo1VUc5cGJuUnpXMmxkS1R0Y2JpQWdJQ0FnSUNBZ0lDQm9aV0Z3TG5WdVkyaGxZMnRsWkVobFlYQlFkWE5vS0dsdWFYUnBZV3hwZW1GMGFXOXVMQ0JwTENCa0xDQmpZVzVrYVdSaGRHVXNJREVwTzF4dUlDQWdJQ0FnSUNBZ0lIUnlhV1ZrTG1Ga1pDaGpZVzVrYVdSaGRHVXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCcGJtbDBhV0ZzYVhwaGRHbHZianRjYmlBZ2ZUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdsdWFYUnBZV3hwZW1WVFpXRnlZMmdvWEc0Z0lHWnZjbVZ6ZERvZ2RISmxaUzVHYkdGMFZISmxaVnRkTEZ4dUlDQmtZWFJoT2lCV1pXTjBiM0lzWEc0Z0lIRjFaWEo1VUc5cGJuUnpPaUJXWldOMGIzSXNYRzRnSUc1T1pXbG5hR0p2Y25NNklHNTFiV0psY2l4Y2JpQWdhVzVwZEVaeWIyMVNZVzVrYjIwNklFbHVhWFJHY205dFVtRnVaRzl0Um00c1hHNGdJR2x1YVhSR2NtOXRWSEpsWlRvZ1NXNXBkRVp5YjIxVWNtVmxSbTRzWEc0Z0lISmhibVJ2YlRvZ1VtRnVaRzl0Um01Y2Jpa2dlMXh1SUNCamIyNXpkQ0J5WlhOMWJIUnpJRDBnYUdWaGNDNXRZV3RsU0dWaGNDaHhkV1Z5ZVZCdmFXNTBjeTVzWlc1bmRHZ3NJRzVPWldsbmFHSnZjbk1wTzF4dUlDQnBibWwwUm5KdmJWSmhibVJ2YlNodVRtVnBaMmhpYjNKekxDQmtZWFJoTENCeGRXVnllVkJ2YVc1MGN5d2djbVZ6ZFd4MGN5d2djbUZ1Wkc5dEtUdGNiaUFnYVdZZ0tHWnZjbVZ6ZENrZ2UxeHVJQ0FnSUdadmNpQW9iR1YwSUhSeVpXVWdiMllnWm05eVpYTjBLU0I3WEc0Z0lDQWdJQ0JwYm1sMFJuSnZiVlJ5WldVb2RISmxaU3dnWkdGMFlTd2djWFZsY25sUWIybHVkSE1zSUhKbGMzVnNkSE1zSUhKaGJtUnZiU2s3WEc0Z0lDQWdmVnh1SUNCOVhHNGdJSEpsZEhWeWJpQnlaWE4xYkhSek8xeHVmVnh1SWwxOSIsImltcG9ydCBpc0FycmF5IGZyb20gJ2lzLWFueS1hcnJheSc7XG5cbmltcG9ydCBlcnJvckNhbGN1bGF0aW9uIGZyb20gJy4vZXJyb3JDYWxjdWxhdGlvbic7XG5pbXBvcnQgc3RlcCBmcm9tICcuL3N0ZXAnO1xuXG4vKipcbiAqIEN1cnZlIGZpdHRpbmcgYWxnb3JpdGhtXG4gKiBAcGFyYW0ge3t4OkFycmF5PG51bWJlcj4sIHk6QXJyYXk8bnVtYmVyPn19IGRhdGEgLSBBcnJheSBvZiBwb2ludHMgdG8gZml0IGluIHRoZSBmb3JtYXQgW3gxLCB4MiwgLi4uIF0sIFt5MSwgeTIsIC4uLiBdXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBwYXJhbWV0ZXJpemVkRnVuY3Rpb24gLSBUaGUgcGFyYW1ldGVycyBhbmQgcmV0dXJucyBhIGZ1bmN0aW9uIHdpdGggdGhlIGluZGVwZW5kZW50IHZhcmlhYmxlIGFzIGEgcGFyYW1ldGVyXG4gKiBAcGFyYW0ge29iamVjdH0gW29wdGlvbnNdIC0gT3B0aW9ucyBvYmplY3RcbiAqIEBwYXJhbSB7bnVtYmVyfSBbb3B0aW9ucy5kYW1waW5nXSAtIExldmVuYmVyZy1NYXJxdWFyZHQgcGFyYW1ldGVyXG4gKiBAcGFyYW0ge251bWJlcn0gW29wdGlvbnMuZ3JhZGllbnREaWZmZXJlbmNlID0gMTBlLTJdIC0gQWRqdXN0bWVudCBmb3IgZGVjcmVhc2UgdGhlIGRhbXBpbmcgcGFyYW1ldGVyXG4gKiBAcGFyYW0ge0FycmF5PG51bWJlcj59IFtvcHRpb25zLm1pblZhbHVlc10gLSBNaW5pbXVtIGFsbG93ZWQgdmFsdWVzIGZvciBwYXJhbWV0ZXJzXG4gKiBAcGFyYW0ge0FycmF5PG51bWJlcj59IFtvcHRpb25zLm1heFZhbHVlc10gLSBNYXhpbXVtIGFsbG93ZWQgdmFsdWVzIGZvciBwYXJhbWV0ZXJzXG4gKiBAcGFyYW0ge0FycmF5PG51bWJlcj59IFtvcHRpb25zLmluaXRpYWxWYWx1ZXNdIC0gQXJyYXkgb2YgaW5pdGlhbCBwYXJhbWV0ZXIgdmFsdWVzXG4gKiBAcGFyYW0ge251bWJlcn0gW29wdGlvbnMubWF4SXRlcmF0aW9ucyA9IDEwMF0gLSBNYXhpbXVtIG9mIGFsbG93ZWQgaXRlcmF0aW9uc1xuICogQHBhcmFtIHtudW1iZXJ9IFtvcHRpb25zLmVycm9yVG9sZXJhbmNlID0gMTBlLTNdIC0gTWluaW11bSB1bmNlcnRhaW50eSBhbGxvd2VkIGZvciBlYWNoIHBvaW50XG4gKiBAcmV0dXJuIHt7cGFyYW1ldGVyVmFsdWVzOiBBcnJheTxudW1iZXI+LCBwYXJhbWV0ZXJFcnJvcjogbnVtYmVyLCBpdGVyYXRpb25zOiBudW1iZXJ9fVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBsZXZlbmJlcmdNYXJxdWFyZHQoXG4gIGRhdGEsXG4gIHBhcmFtZXRlcml6ZWRGdW5jdGlvbixcbiAgb3B0aW9ucyA9IHt9LFxuKSB7XG4gIGxldCB7XG4gICAgbWF4SXRlcmF0aW9ucyA9IDEwMCxcbiAgICBncmFkaWVudERpZmZlcmVuY2UgPSAxMGUtMixcbiAgICBkYW1waW5nID0gMCxcbiAgICBlcnJvclRvbGVyYW5jZSA9IDEwZS0zLFxuICAgIG1pblZhbHVlcyxcbiAgICBtYXhWYWx1ZXMsXG4gICAgaW5pdGlhbFZhbHVlcyxcbiAgfSA9IG9wdGlvbnM7XG5cbiAgaWYgKGRhbXBpbmcgPD0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignVGhlIGRhbXBpbmcgb3B0aW9uIG11c3QgYmUgYSBwb3NpdGl2ZSBudW1iZXInKTtcbiAgfSBlbHNlIGlmICghZGF0YS54IHx8ICFkYXRhLnkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBkYXRhIHBhcmFtZXRlciBtdXN0IGhhdmUgeCBhbmQgeSBlbGVtZW50cycpO1xuICB9IGVsc2UgaWYgKFxuICAgICFpc0FycmF5KGRhdGEueCkgfHxcbiAgICBkYXRhLngubGVuZ3RoIDwgMiB8fFxuICAgICFpc0FycmF5KGRhdGEueSkgfHxcbiAgICBkYXRhLnkubGVuZ3RoIDwgMlxuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnVGhlIGRhdGEgcGFyYW1ldGVyIGVsZW1lbnRzIG11c3QgYmUgYW4gYXJyYXkgd2l0aCBtb3JlIHRoYW4gMiBwb2ludHMnLFxuICAgICk7XG4gIH0gZWxzZSBpZiAoZGF0YS54Lmxlbmd0aCAhPT0gZGF0YS55Lmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcignVGhlIGRhdGEgcGFyYW1ldGVyIGVsZW1lbnRzIG11c3QgaGF2ZSB0aGUgc2FtZSBzaXplJyk7XG4gIH1cblxuICBsZXQgcGFyYW1ldGVycyA9XG4gICAgaW5pdGlhbFZhbHVlcyB8fCBuZXcgQXJyYXkocGFyYW1ldGVyaXplZEZ1bmN0aW9uLmxlbmd0aCkuZmlsbCgxKTtcbiAgbGV0IHBhckxlbiA9IHBhcmFtZXRlcnMubGVuZ3RoO1xuICBtYXhWYWx1ZXMgPSBtYXhWYWx1ZXMgfHwgbmV3IEFycmF5KHBhckxlbikuZmlsbChOdW1iZXIuTUFYX1NBRkVfSU5URUdFUik7XG4gIG1pblZhbHVlcyA9IG1pblZhbHVlcyB8fCBuZXcgQXJyYXkocGFyTGVuKS5maWxsKE51bWJlci5NSU5fU0FGRV9JTlRFR0VSKTtcblxuICBpZiAobWF4VmFsdWVzLmxlbmd0aCAhPT0gbWluVmFsdWVzLmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbWluVmFsdWVzIGFuZCBtYXhWYWx1ZXMgbXVzdCBiZSB0aGUgc2FtZSBzaXplJyk7XG4gIH1cblxuICBpZiAoIWlzQXJyYXkocGFyYW1ldGVycykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2luaXRpYWxWYWx1ZXMgbXVzdCBiZSBhbiBhcnJheScpO1xuICB9XG5cbiAgbGV0IGVycm9yID0gZXJyb3JDYWxjdWxhdGlvbihkYXRhLCBwYXJhbWV0ZXJzLCBwYXJhbWV0ZXJpemVkRnVuY3Rpb24pO1xuXG4gIGxldCBjb252ZXJnZWQgPSBlcnJvciA8PSBlcnJvclRvbGVyYW5jZTtcblxuICBsZXQgaXRlcmF0aW9uO1xuICBmb3IgKGl0ZXJhdGlvbiA9IDA7IGl0ZXJhdGlvbiA8IG1heEl0ZXJhdGlvbnMgJiYgIWNvbnZlcmdlZDsgaXRlcmF0aW9uKyspIHtcbiAgICBwYXJhbWV0ZXJzID0gc3RlcChcbiAgICAgIGRhdGEsXG4gICAgICBwYXJhbWV0ZXJzLFxuICAgICAgZGFtcGluZyxcbiAgICAgIGdyYWRpZW50RGlmZmVyZW5jZSxcbiAgICAgIHBhcmFtZXRlcml6ZWRGdW5jdGlvbixcbiAgICApO1xuXG4gICAgZm9yIChsZXQgayA9IDA7IGsgPCBwYXJMZW47IGsrKykge1xuICAgICAgcGFyYW1ldGVyc1trXSA9IE1hdGgubWluKFxuICAgICAgICBNYXRoLm1heChtaW5WYWx1ZXNba10sIHBhcmFtZXRlcnNba10pLFxuICAgICAgICBtYXhWYWx1ZXNba10sXG4gICAgICApO1xuICAgIH1cblxuICAgIGVycm9yID0gZXJyb3JDYWxjdWxhdGlvbihkYXRhLCBwYXJhbWV0ZXJzLCBwYXJhbWV0ZXJpemVkRnVuY3Rpb24pO1xuICAgIGlmIChpc05hTihlcnJvcikpIGJyZWFrO1xuICAgIGNvbnZlcmdlZCA9IGVycm9yIDw9IGVycm9yVG9sZXJhbmNlO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBwYXJhbWV0ZXJWYWx1ZXM6IHBhcmFtZXRlcnMsXG4gICAgcGFyYW1ldGVyRXJyb3I6IGVycm9yLFxuICAgIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbixcbiAgfTtcbn1cbiIsImltcG9ydCB7IGdldFNpbWlsYXJpdHlGcm9tRGlzdGFuY2UgfSBmcm9tICcuLi9kaXN0YW5jZS1tZXRyaWNzLW1ldGhvZHMnO1xuaW1wb3J0IHsgQml0QXJyYXlNZXRyaWNzTmFtZXMgfSBmcm9tICcuLi90eXBlZC1tZXRyaWNzJztcbmltcG9ydCB7IERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBpbnNlcnRTbWFsbGVyLCBpc05pbCB9IGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0IGNsYXNzIFNwYXJzZU1hdHJpeFNlcnZpY2Uge1xuICAgIF93b3JrZXJDb3VudDtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5fd29ya2VyQ291bnQgPSBNYXRoLm1heChuYXZpZ2F0b3IuaGFyZHdhcmVDb25jdXJyZW5jeSAtIDIsIDEpO1xuICAgIH1cbiAgICBhc3luYyBjYWxjKHZhbHVlcywgZm5OYW1lLCB0aHJlc2hvbGQsIG9wdHMgPSB7fSkge1xuICAgICAgICAvL3NpemUgb2YgZnVsbCBtYXRyaXhcbiAgICAgICAgY29uc3QgbWF0U2l6ZSA9IHZhbHVlcy5sZW5ndGggKiAodmFsdWVzLmxlbmd0aCAtIDEpIC8gMjtcbiAgICAgICAgY29uc3QgY2h1bmtTaXplID0gTWF0aC5mbG9vcihtYXRTaXplIC8gdGhpcy5fd29ya2VyQ291bnQpO1xuICAgICAgICBjb25zdCBtaW5UaHJlc2hvbGQgPSB2YWx1ZXMubGVuZ3RoID4gMjAwMDAgPyBhd2FpdCB0aGlzLmdldE1pbmltYWxUaHJlc2hvbGQodmFsdWVzLCBmbk5hbWUsIG9wdHMpIDogMDtcbiAgICAgICAgaWYgKHRocmVzaG9sZCA8IG1pblRocmVzaG9sZCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coYHVzaW5nIHRocmVzaG9sZCAke21pblRocmVzaG9sZH1gKTtcbiAgICAgICAgICAgIHRocmVzaG9sZCA9IG1pblRocmVzaG9sZDtcbiAgICAgICAgfVxuICAgICAgICBvcHRzWyd0aHJlc2hvbGQnXSA9IHRocmVzaG9sZDtcbiAgICAgICAgY29uc3QgcHJvbWlzZXMgPSBuZXcgQXJyYXkodGhpcy5fd29ya2VyQ291bnQpO1xuICAgICAgICBjb25zdCB3b3JrZXJzID0gbmV3IEFycmF5KHRoaXMuX3dvcmtlckNvdW50KVxuICAgICAgICAgICAgLmZpbGwobnVsbCkubWFwKCgpID0+IG5ldyBXb3JrZXIobmV3IFVSTCgnLi9zcGFyc2UtbWF0cml4LXdvcmtlcicsIGltcG9ydC5tZXRhLnVybCkpKTtcbiAgICAgICAgZm9yIChsZXQgaWR4ID0gMDsgaWR4IDwgdGhpcy5fd29ya2VyQ291bnQ7IGlkeCsrKSB7XG4gICAgICAgICAgICBwcm9taXNlc1tpZHhdID0gbmV3IFByb21pc2UoKHJlc29sdmVXb3JrZXIsIHJlamVjdFdvcmtlcikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0SWR4ID0gaWR4ICogY2h1bmtTaXplO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZElkeCA9IGlkeCA9PT0gdGhpcy5fd29ya2VyQ291bnQgLSAxID8gbWF0U2l6ZSA6IChpZHggKyAxKSAqIGNodW5rU2l6ZTtcbiAgICAgICAgICAgICAgICBpZiAoZW5kSWR4IDw9IHN0YXJ0SWR4KVxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlV29ya2VyKHsgaTogbmV3IEludDMyQXJyYXkoMCksIGo6IG5ldyBJbnQzMkFycmF5KDApLCBkaXN0YW5jZTogbmV3IEZsb2F0MzJBcnJheSgwKSwgaWR4IH0pO1xuICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS5wb3N0TWVzc2FnZSh7IHZhbHVlcywgc3RhcnRJZHgsIGVuZElkeCwgdGhyZXNob2xkLCBmbk5hbWUsIG9wdHMgfSk7XG4gICAgICAgICAgICAgICAgd29ya2Vyc1tpZHhdLm9ubWVzc2FnZSA9ICh7IGRhdGE6IHsgZXJyb3IsIGksIGosIGRpc3RhbmNlIH0gfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdFdvcmtlcihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3b3JrZXJzW2lkeF0udGVybWluYXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlV29ya2VyKHsgaSwgaiwgZGlzdGFuY2UsIGlkeCB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xuICAgICAgICBjb25zdCBmdWxsU2l6ZSA9IHJlc3VsdHMucmVkdWNlKChhY2MsIHZhbCkgPT4gYWNjICsgdmFsLmkubGVuZ3RoLCAwKTtcbiAgICAgICAgY29uc3QgaSA9IG5ldyBJbnQzMkFycmF5KGZ1bGxTaXplKTtcbiAgICAgICAgY29uc3QgaiA9IG5ldyBJbnQzMkFycmF5KGZ1bGxTaXplKTtcbiAgICAgICAgY29uc3QgZGlzdGFuY2UgPSBuZXcgRmxvYXQzMkFycmF5KGZ1bGxTaXplKTtcbiAgICAgICAgbGV0IG9mZnNldCA9IDA7XG4gICAgICAgIC8vIHNldHRpbmcgdGhlIHJlc3VsdHNcbiAgICAgICAgZm9yIChjb25zdCByZXMgb2YgcmVzdWx0cykge1xuICAgICAgICAgICAgaS5zZXQocmVzLmksIG9mZnNldCk7XG4gICAgICAgICAgICBqLnNldChyZXMuaiwgb2Zmc2V0KTtcbiAgICAgICAgICAgIGRpc3RhbmNlLnNldChyZXMuZGlzdGFuY2UsIG9mZnNldCk7XG4gICAgICAgICAgICBvZmZzZXQgKz0gcmVzLmkubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IGksIGosIGRpc3RhbmNlIH07XG4gICAgfVxuICAgIGFzeW5jIGdldEtOTih2YWx1ZXMsIGZuTmFtZSwgbk5laWdoYm91cnMgPSAxNSwgb3B0cyA9IHt9KSB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLm11bHRpQ29sdW1uS05OKFt2YWx1ZXNdLCBbZm5OYW1lXSwgbk5laWdoYm91cnMsIFtvcHRzXSwgWzFdKTtcbiAgICB9XG4gICAgYXN5bmMgbXVsdGlDb2x1bW5LTk4odmFsdWVzLCBmbk5hbWVzLCBuTmVpZ2hib3VycyA9IDE1LCBvcHRzLCB3ZWlnaHRzLCBhZ2dyZWdhdGlvbk1ldGhvZCA9IERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzLkVVQ0xJREVBTikge1xuICAgICAgICBpZiAodmFsdWVzLmxlbmd0aCAhPT0gZm5OYW1lcy5sZW5ndGggfHwgdmFsdWVzLmxlbmd0aCAhPT0gb3B0cy5sZW5ndGggfHwgdmFsdWVzLmxlbmd0aCAhPT0gd2VpZ2h0cy5sZW5ndGgpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3ZhbHVlcywgZGlzdGFuY2UgZnVuY3Rpb25zLCBvcHRpb25zIGFuZCB3ZWlnaHRzIGFycmF5cyBzaG91bGQgaGF2ZSB0aGUgc2FtZSBsZW5ndGgnKTtcbiAgICAgICAgaWYgKHZhbHVlcy5zb21lKCh2KSA9PiB2Lmxlbmd0aCAhPT0gdmFsdWVzWzBdLmxlbmd0aCkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2FsbCB2YWx1ZXMgYXJyYXlzIHNob3VsZCBoYXZlIHRoZSBzYW1lIGxlbmd0aCcpO1xuICAgICAgICBjb25zdCBtYXRTaXplID0gdmFsdWVzWzBdLmxlbmd0aCAqICh2YWx1ZXNbMF0ubGVuZ3RoIC0gMSkgLyAyO1xuICAgICAgICBjb25zdCBjaHVua1NpemUgPSBNYXRoLmZsb29yKG1hdFNpemUgLyB0aGlzLl93b3JrZXJDb3VudCk7XG4gICAgICAgIGNvbnN0IHByb21pc2VzID0gbmV3IEFycmF5KHRoaXMuX3dvcmtlckNvdW50KTtcbiAgICAgICAgY29uc3Qgd29ya2VycyA9IG5ldyBBcnJheSh0aGlzLl93b3JrZXJDb3VudClcbiAgICAgICAgICAgIC5maWxsKG51bGwpLm1hcCgoKSA9PiBuZXcgV29ya2VyKG5ldyBVUkwoJy4va25uLXdvcmtlcicsIGltcG9ydC5tZXRhLnVybCkpKTtcbiAgICAgICAgZm9yIChsZXQgaWR4ID0gMDsgaWR4IDwgdGhpcy5fd29ya2VyQ291bnQ7IGlkeCsrKSB7XG4gICAgICAgICAgICBwcm9taXNlc1tpZHhdID0gbmV3IFByb21pc2UoKHJlc29sdmVXb3JrZXIsIHJlamVjdFdvcmtlcikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0SWR4ID0gaWR4ICogY2h1bmtTaXplO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVuZElkeCA9IGlkeCA9PT0gdGhpcy5fd29ya2VyQ291bnQgLSAxID8gbWF0U2l6ZSA6IChpZHggKyAxKSAqIGNodW5rU2l6ZTtcbiAgICAgICAgICAgICAgICBpZiAoZW5kSWR4IDw9IHN0YXJ0SWR4KVxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlV29ya2VyKHsga25uRGlzdGFuY2VzOiBuZXcgQXJyYXkoMCksIGtubkluZGV4ZXM6IG5ldyBBcnJheSgwKSB9KTtcbiAgICAgICAgICAgICAgICB3b3JrZXJzW2lkeF0ucG9zdE1lc3NhZ2UoeyB2YWx1ZXMsIHN0YXJ0SWR4LCBlbmRJZHgsIGZuTmFtZXMsIG9wdHMsIG5OZWlnaGJvdXJzLCB3ZWlnaHRzLCBhZ2dyZWdhdGlvbk1ldGhvZCB9KTtcbiAgICAgICAgICAgICAgICB3b3JrZXJzW2lkeF0ub25tZXNzYWdlID0gKHsgZGF0YTogeyBlcnJvciwga25uRGlzdGFuY2VzLCBrbm5JbmRleGVzIH0gfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdFdvcmtlcihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3b3JrZXJzW2lkeF0udGVybWluYXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlV29ya2VyKHsga25uRGlzdGFuY2VzLCBrbm5JbmRleGVzIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcyk7XG4gICAgICAgIGNvbnN0IGtublJlcyA9IHtcbiAgICAgICAgICAgIGtubkRpc3RhbmNlczogbmV3IEFycmF5KHZhbHVlc1swXS5sZW5ndGgpLmZpbGwobnVsbCkubWFwKCgpID0+IG5ldyBBcnJheShuTmVpZ2hib3VycykuZmlsbCg5OTk5OSkpLFxuICAgICAgICAgICAga25uSW5kZXhlczogbmV3IEFycmF5KHZhbHVlc1swXS5sZW5ndGgpLmZpbGwobnVsbCkubWFwKCgpID0+IG5ldyBBcnJheShuTmVpZ2hib3VycykuZmlsbCgtMSkpXG4gICAgICAgIH07XG4gICAgICAgIGZvciAoY29uc3QgcmVzIG9mIHJlc3VsdHMpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmFsdWVzWzBdLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCByZXMua25uRGlzdGFuY2VzW2ldPy5sZW5ndGggPz8gMDsgKytqKVxuICAgICAgICAgICAgICAgICAgICBpbnNlcnRTbWFsbGVyKGtublJlcy5rbm5EaXN0YW5jZXNbaV0sIGtublJlcy5rbm5JbmRleGVzW2ldLCByZXMua25uRGlzdGFuY2VzW2ldW2pdLCByZXMua25uSW5kZXhlc1tpXVtqXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGtublJlcztcbiAgICB9XG4gICAgYXN5bmMgZ2V0U2FtcGxlRGlzdGFuY2VzKHZhbHVlcywgZm5OYW1lLCBvcHRzID0ge30pIHtcbiAgICAgICAgY29uc3QgdGhyZXNob2xkV29ya2VycyA9IG5ldyBBcnJheSh0aGlzLl93b3JrZXJDb3VudCkuZmlsbChudWxsKVxuICAgICAgICAgICAgLm1hcCgoKSA9PiBuZXcgV29ya2VyKG5ldyBVUkwoJy4vc3BhcnNlLW1hdHJpeC10aHJlc2hvbGQtd29ya2VyJywgaW1wb3J0Lm1ldGEudXJsKSkpO1xuICAgICAgICAvLyBkYXRhIG1heSBiZSBzb3J0ZWQgYnkgY2x1c3RlcnMsIHdoaWNoIHdpbGwgaGluZGVyIHRoZSByYW5kb20gc2FtcGxpbmdcbiAgICAgICAgLy8gc28gd2Ugc2h1ZmZsZSBpdCBmaXJzdFxuICAgICAgICBjb25zdCBzaHVmZmxlZFZhbHVlcyA9IHZhbHVlcy5zbGljZSgpO1xuICAgICAgICBmb3IgKGxldCBpID0gc2h1ZmZsZWRWYWx1ZXMubGVuZ3RoIC0gMTsgaSA+IDA7IGktLSkge1xuICAgICAgICAgICAgY29uc3QgaiA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChpICsgMSkpO1xuICAgICAgICAgICAgW3NodWZmbGVkVmFsdWVzW2ldLCBzaHVmZmxlZFZhbHVlc1tqXV0gPSBbc2h1ZmZsZWRWYWx1ZXNbal0sIHNodWZmbGVkVmFsdWVzW2ldXTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgbWF0U2l6ZSA9IHZhbHVlcy5sZW5ndGggKiAodmFsdWVzLmxlbmd0aCAtIDEpIC8gMjtcbiAgICAgICAgICAgIGNvbnN0IGNodW5rU2l6ZSA9IE1hdGguZmxvb3IobWF0U2l6ZSAvIHRoaXMuX3dvcmtlckNvdW50KTtcbiAgICAgICAgICAgIGNvbnN0IG1heFNhbXBsZVNpemUgPSAxMDAwMDAwO1xuICAgICAgICAgICAgY29uc3Qgc2FtcGxlU2lzZSA9IE1hdGgubWF4KE1hdGgubWluKG1hdFNpemUgLyAxMDAwLCBtYXhTYW1wbGVTaXplKSwgTWF0aC5taW4obWF0U2l6ZSwgbWF4U2FtcGxlU2l6ZSkpO1xuICAgICAgICAgICAgY29uc3QgdGVzdFNldFNpemVQZXJXb3JrZXIgPSBNYXRoLmZsb29yKHNhbXBsZVNpc2UgLyB0aGlzLl93b3JrZXJDb3VudCk7XG4gICAgICAgICAgICBjb25zdCB0UHJvbWlzZXMgPSBuZXcgQXJyYXkodGhpcy5fd29ya2VyQ291bnQpO1xuICAgICAgICAgICAgZm9yIChsZXQgaWR4ID0gMDsgaWR4IDwgdGhpcy5fd29ya2VyQ291bnQ7IGlkeCsrKSB7XG4gICAgICAgICAgICAgICAgdFByb21pc2VzW2lkeF0gPSBuZXcgUHJvbWlzZSgocmVzb2x2ZVdvcmtlciwgcmVqZWN0V29ya2VyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0SWR4ID0gaWR4ICogY2h1bmtTaXplO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbmRJZHggPSBpZHggPT09IHRoaXMuX3dvcmtlckNvdW50IC0gMSA/IG1hdFNpemUgOiAoaWR4ICsgMSkgKiBjaHVua1NpemU7XG4gICAgICAgICAgICAgICAgICAgIHRocmVzaG9sZFdvcmtlcnNbaWR4XS5wb3N0TWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IHNodWZmbGVkVmFsdWVzLCBzdGFydElkeCwgZW5kSWR4LCBzYW1wbGVMZW5ndGg6IHRlc3RTZXRTaXplUGVyV29ya2VyLCBmbk5hbWUsIG9wdHNcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRocmVzaG9sZFdvcmtlcnNbaWR4XS5vbm1lc3NhZ2UgPSAoeyBkYXRhOiB7IGVycm9yLCBkaXN0YW5jZSB9IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocmVzaG9sZFdvcmtlcnNbaWR4XS50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvcilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWplY3RXb3JrZXIoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVXb3JrZXIoeyBkaXN0YW5jZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbCh0UHJvbWlzZXMpO1xuICAgICAgICAgICAgY29uc3QgZnVsbFNpemUgPSByZXN1bHRzLnJlZHVjZSgoYWNjLCB2YWwpID0+IGFjYyArIHZhbC5kaXN0YW5jZS5sZW5ndGgsIDApO1xuICAgICAgICAgICAgY29uc3QgZGlzdGFuY2UgPSBuZXcgRmxvYXQzMkFycmF5KGZ1bGxTaXplKTtcbiAgICAgICAgICAgIGxldCBvZmZzZXQgPSAwO1xuICAgICAgICAgICAgZm9yIChjb25zdCByZXMgb2YgcmVzdWx0cykge1xuICAgICAgICAgICAgICAgIGRpc3RhbmNlLnNldChyZXMuZGlzdGFuY2UsIG9mZnNldCk7XG4gICAgICAgICAgICAgICAgb2Zmc2V0ICs9IHJlcy5kaXN0YW5jZS5sZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkaXN0YW5jZS5zb3J0KCk7XG4gICAgICAgICAgICByZXR1cm4gZGlzdGFuY2U7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRocmVzaG9sZFdvcmtlcnM/LmZvckVhY2goKHcpID0+IHc/LnRlcm1pbmF0ZSgpKTtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZsb2F0MzJBcnJheSgxKS5maWxsKDAuNSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgZ2V0TWluaW1hbFRocmVzaG9sZCh2YWx1ZXMsIGZuTmFtZSwgb3B0cyA9IHt9KSB7XG4gICAgICAgIC8vV2UgbmVlZCB0byBjYWxjdWxhdGUgdGhlIG1pbmltYWwgdGhyZXNob2xkIGZpcnN0LFxuICAgICAgICAvL2luIG9yZGVyIHRvIGdldCBtYXRyaXggc3VjaCB0aGF0IGl0IGRvZXMgbm90IGV4Y2VlZCB0aGUgbWF4aW11bSBzaXplIG9mIDFHQlxuICAgICAgICAvL3dlIGhhdmUgMyByZXR1cm4gYXJyYXlzLCBlYWNoIDQgYml0ZXMgcGVyIGVsZW1lbnQsIHNvIGlmIHRoZSBtYXhpbXVtIHNpemUgb2YgdGhlIG1hdHJpeCBpcyAxR0IsXG4gICAgICAgIGNvbnN0IG1heFNwYXJzZU1hdHJpeFNpemUgPSA3MDAwMDAwMDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IG1hdFNpemUgPSB2YWx1ZXMubGVuZ3RoICogKHZhbHVlcy5sZW5ndGggLSAxKSAvIDI7XG4gICAgICAgICAgICBjb25zdCBkaXN0YW5jZSA9IGF3YWl0IHRoaXMuZ2V0U2FtcGxlRGlzdGFuY2VzKHZhbHVlcywgZm5OYW1lLCBvcHRzKTtcbiAgICAgICAgICAgIGNvbnN0IGZyYWN0aW9uSW5kZXggPSBNYXRoLmZsb29yKG1heFNwYXJzZU1hdHJpeFNpemUgLyBtYXRTaXplICogZGlzdGFuY2UubGVuZ3RoKTtcbiAgICAgICAgICAgIGNvbnN0IHRocmVzaG9sZCA9IDEgLSBkaXN0YW5jZVtmcmFjdGlvbkluZGV4XTtcbiAgICAgICAgICAgIC8vIHRocmVzaG9sZCA9IE1hdGgubWF4KHRocmVzaG9sZCwgMC4zKTtcbiAgICAgICAgICAgIHJldHVybiB0aHJlc2hvbGQ7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgICByZXR1cm4gMC41O1xuICAgICAgICB9XG4gICAgfVxuICAgIHN0YXRpYyBjYWxjU3luYyh2YWx1ZXMsIGZuTmFtZSwgZGlzdGFuY2VGbiwgdGhyZXNob2xkKSB7XG4gICAgICAgIGNvbnN0IGkgPSBbXTtcbiAgICAgICAgY29uc3QgaiA9IFtdO1xuICAgICAgICBjb25zdCBkaXN0YW5jZXMgPSBbXTtcbiAgICAgICAgbGV0IGNudCA9IDA7XG4gICAgICAgIGxldCBtaSA9IDA7XG4gICAgICAgIGxldCBtaiA9IDA7XG4gICAgICAgIGNvbnN0IGZ1bGxTaXplID0gdmFsdWVzLmxlbmd0aCAqICh2YWx1ZXMubGVuZ3RoIC0gMSkgLyAyO1xuICAgICAgICB3aGlsZSAoY250IDwgZnVsbFNpemUpIHtcbiAgICAgICAgICAgIC8vY29uc3QgdmFsdWUgPSBzZXExTGlzdFttaV0gJiYgc2VxMUxpc3RbbWpdID8gaGFtbWluZyhzZXExTGlzdFttaV0sIHNlcTFMaXN0W21qXSkgOiAwO1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSAhaXNOaWwodmFsdWVzW21pXSkgJiYgIWlzTmlsKHZhbHVlc1ttal0pID9cbiAgICAgICAgICAgICAgICBkaXN0YW5jZUZuKHZhbHVlc1ttaV0sIHZhbHVlc1ttal0pIDogMTtcbiAgICAgICAgICAgIGNvbnN0IHNpbWlsYXJpdHkgPSBPYmplY3QudmFsdWVzKEJpdEFycmF5TWV0cmljc05hbWVzKS5zb21lKChhKSA9PiBhID09PSBmbk5hbWUpID8gZ2V0U2ltaWxhcml0eUZyb21EaXN0YW5jZSh2YWx1ZSkgOiAxIC0gdmFsdWU7XG4gICAgICAgICAgICBpZiAoc2ltaWxhcml0eSA+PSB0aHJlc2hvbGQpIHtcbiAgICAgICAgICAgICAgICBpLnB1c2gobWkpO1xuICAgICAgICAgICAgICAgIGoucHVzaChtaik7XG4gICAgICAgICAgICAgICAgZGlzdGFuY2VzLnB1c2godmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY250Kys7XG4gICAgICAgICAgICBtaisrO1xuICAgICAgICAgICAgaWYgKG1qID09PSB2YWx1ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgbWkrKztcbiAgICAgICAgICAgICAgICBtaiA9IG1pICsgMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpQXJyYXkgPSBuZXcgSW50MzJBcnJheShpKTtcbiAgICAgICAgY29uc3QgakFycmF5ID0gbmV3IEludDMyQXJyYXkoaik7XG4gICAgICAgIGNvbnN0IGRpc3RhbmNlQXJyYXkgPSBuZXcgRmxvYXQzMkFycmF5KGRpc3RhbmNlcyk7XG4gICAgICAgIHJldHVybiB7IGk6IGlBcnJheSwgajogakFycmF5LCBkaXN0YW5jZTogZGlzdGFuY2VBcnJheSB9O1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWMzQmhjbk5sTFcxaGRISnBlQzF6WlhKMmFXTmxMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaWMzQmhjbk5sTFcxaGRISnBlQzF6WlhKMmFXTmxMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxFOUJRVThzUlVGQlF5eDVRa0ZCZVVJc1JVRkJReXhOUVVGTkxEWkNRVUUyUWl4RFFVRkRPMEZCUTNSRkxFOUJRVThzUlVGQlF5eHZRa0ZCYjBJc1JVRkJaU3hOUVVGTkxHdENRVUZyUWl4RFFVRkRPMEZCUTNCRkxFOUJRVThzUlVGQk5FSXNNRUpCUVRCQ0xFVkJRVU1zVFVGQlRTeFRRVUZUTEVOQlFVTTdRVUZET1VVc1QwRkJUeXhGUVVGRExHRkJRV0VzUlVGQlJTeExRVUZMTEVWQlFVTXNUVUZCVFN4VFFVRlRMRU5CUVVNN1FVRmhOME1zVFVGQlRTeFBRVUZQTEcxQ1FVRnRRanRKUVVOd1FpeFpRVUZaTEVOQlFWTTdTVUZETjBJN1VVRkRSU3hKUVVGSkxFTkJRVU1zV1VGQldTeEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1UwRkJVeXhEUVVGRExHMUNRVUZ0UWl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU55UlN4RFFVRkRPMGxCUlUwc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlNTeE5RVUZuUWl4RlFVRkZMRTFCUVc5Q0xFVkJRVVVzVTBGQmFVSXNSVUZCUlN4UFFVRXlRaXhGUVVGRk8xRkJRek5ITEhGQ1FVRnhRanRSUVVOeVFpeE5RVUZOTEU5QlFVOHNSMEZCUnl4TlFVRk5MRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zVFVGQlRTeERRVUZETEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRGVFUXNUVUZCVFN4VFFVRlRMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFBRVUZQTEVkQlFVY3NTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRE8xRkJSVEZFTEUxQlFVMHNXVUZCV1N4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFZEJRVWNzUzBGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRWxCUVVrc1EwRkJReXh0UWtGQmJVSXNRMEZCUXl4TlFVRk5MRVZCUVVVc1RVRkJUU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRka2NzU1VGQlNTeFRRVUZUTEVkQlFVY3NXVUZCV1N4RlFVRkZPMWxCUXpWQ0xFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNiVUpCUVcxQ0xGbEJRVmtzUlVGQlJTeERRVUZETEVOQlFVTTdXVUZETDBNc1UwRkJVeXhIUVVGSExGbEJRVmtzUTBGQlF6dFRRVU14UWp0UlFVTkVMRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zUjBGQlJ5eFRRVUZUTEVOQlFVTTdVVUZET1VJc1RVRkJUU3hSUVVGUkxFZEJRMW9zU1VGQlNTeExRVUZMTEVOQlFUaENMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF6dFJRVVUxUkN4TlFVRk5MRTlCUVU4c1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRPMkZCUTNwRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zU1VGQlNTeE5RVUZOTEVOQlFVTXNTVUZCU1N4SFFVRkhMRU5CUVVNc2QwSkJRWGRDTEVWQlFVVXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEZUVZc1MwRkJTeXhKUVVGSkxFZEJRVWNzUjBGQlJ5eERRVUZETEVWQlFVVXNSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhaUVVGWkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEVWQlFVVTdXVUZEYUVRc1VVRkJVU3hEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVsQlFVa3NUMEZCVHl4RFFVRkRMRU5CUVVNc1lVRkJZU3hGUVVGRkxGbEJRVmtzUlVGQlJTeEZRVUZGTzJkQ1FVTXhSQ3hOUVVGTkxGRkJRVkVzUjBGQlJ5eEhRVUZITEVkQlFVY3NVMEZCVXl4RFFVRkRPMmRDUVVOcVF5eE5RVUZOTEUxQlFVMHNSMEZCUnl4SFFVRkhMRXRCUVVzc1NVRkJTU3hEUVVGRExGbEJRVmtzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1UwRkJVeXhEUVVGRE8yZENRVU12UlN4SlFVRkpMRTFCUVUwc1NVRkJTU3hSUVVGUk8yOUNRVU53UWl4aFFVRmhMRU5CUVVNc1JVRkJReXhEUVVGRExFVkJRVVVzU1VGQlNTeFZRVUZWTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFbEJRVWtzVlVGQlZTeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRkZCUVZFc1JVRkJSU3hKUVVGSkxGbEJRVmtzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4SFFVRkhMRVZCUVVNc1EwRkJReXhEUVVGRE8yZENRVU5zUnl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zVjBGQlZ5eERRVUZETEVWQlFVTXNUVUZCVFN4RlFVRkZMRkZCUVZFc1JVRkJSU3hOUVVGTkxFVkJRVVVzVTBGQlV5eEZRVUZGTEUxQlFVMHNSVUZCUlN4SlFVRkpMRVZCUVVNc1EwRkJReXhEUVVGRE8yZENRVU01UlN4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zVTBGQlV5eEhRVUZITEVOQlFVTXNSVUZCUXl4SlFVRkpMRVZCUVVVc1JVRkJReXhMUVVGTExFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4UlFVRlJMRVZCUVVNc1JVRkJReXhGUVVGUkxFVkJRVVU3YjBKQlEycEZMRWxCUVVrc1MwRkJTeXhGUVVGRk8zZENRVU5VTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhUUVVGVExFVkJRVVVzUTBGQlF6dDNRa0ZEZWtJc1dVRkJXU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzNGQ1FVTnlRanQ1UWtGQlRUdDNRa0ZEVEN4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zVTBGQlV5eEZRVUZGTEVOQlFVTTdkMEpCUTNwQ0xHRkJRV0VzUTBGQlF5eEZRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1VVRkJVU3hGUVVGRkxFZEJRVWNzUlVGQlF5eERRVUZETEVOQlFVTTdjVUpCUTNSRE8yZENRVU5JTEVOQlFVTXNRMEZCUXp0WlFVTktMRU5CUVVNc1EwRkJReXhEUVVGRE8xTkJRMG83VVVGRlJDeE5RVUZOTEU5QlFVOHNSMEZCUnl4TlFVRk5MRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTTdVVUZETlVNc1RVRkJUU3hSUVVGUkxFZEJRVWNzVDBGQlR5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFVkJRVVVzUlVGQlJTeERRVUZETEVkQlFVY3NSMEZCUnl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTnlSU3hOUVVGTkxFTkJRVU1zUjBGQlJ5eEpRVUZKTEZWQlFWVXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRSUVVOdVF5eE5RVUZOTEVOQlFVTXNSMEZCUnl4SlFVRkpMRlZCUVZVc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF6dFJRVU51UXl4TlFVRk5MRkZCUVZFc1IwRkJSeXhKUVVGSkxGbEJRVmtzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0UlFVTTFReXhKUVVGSkxFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZEWml4elFrRkJjMEk3VVVGRGRFSXNTMEZCU3l4TlFVRk5MRWRCUVVjc1NVRkJTU3hQUVVGUExFVkJRVVU3V1VGRGVrSXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEZRVUZGTEUxQlFVMHNRMEZCUXl4RFFVRkRPMWxCUTNKQ0xFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1JVRkJSU3hOUVVGTkxFTkJRVU1zUTBGQlF6dFpRVU55UWl4UlFVRlJMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eFJRVUZSTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1dVRkRia01zVFVGQlRTeEpRVUZKTEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRE8xTkJRM2hDTzFGQlEwUXNUMEZCVHl4RlFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzVVVGQlVTeEZRVUZETEVOQlFVTTdTVUZETVVJc1EwRkJRenRKUVVWTkxFdEJRVXNzUTBGQlF5eE5RVUZOTEVOQlEycENMRTFCUVd0Q0xFVkJRVVVzVFVGQmIwSXNSVUZCUlN4alFVRnpRaXhGUVVGRkxFVkJRVVVzVDBGQk1rSXNSVUZCUlR0UlFVVnFSeXhQUVVGUExFMUJRVTBzU1VGQlNTeERRVUZETEdOQlFXTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVXNWMEZCVnl4RlFVRkZMRU5CUVVNc1NVRkJTU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTJwR0xFTkJRVU03U1VGRlRTeExRVUZMTEVOQlFVTXNZMEZCWXl4RFFVRkRMRTFCUVhsQ0xFVkJRVVVzVDBGQmRVSXNSVUZCUlN4alFVRnpRaXhGUVVGRkxFVkJRM1JITEVsQlFUQkNMRVZCUVVVc1QwRkJhVUlzUlVGRE4wTXNiMEpCUVN0RExEQkNRVUV3UWl4RFFVRkRMRk5CUVZNN1VVRkZia1lzU1VGQlNTeE5RVUZOTEVOQlFVTXNUVUZCVFN4TFFVRkxMRTlCUVU4c1EwRkJReXhOUVVGTkxFbEJRVWtzVFVGQlRTeERRVUZETEUxQlFVMHNTMEZCU3l4SlFVRkpMRU5CUVVNc1RVRkJUU3hKUVVGSkxFMUJRVTBzUTBGQlF5eE5RVUZOTEV0QlFVc3NUMEZCVHl4RFFVRkRMRTFCUVUwN1dVRkRka2NzVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZCUXl4dlJrRkJiMFlzUTBGQlF5eERRVUZETzFGQlJYaEhMRWxCUVVrc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUzBGQlN5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRE8xbEJRMjVFTEUxQlFVMHNTVUZCU1N4TFFVRkxMRU5CUVVNc0swTkJRU3RETEVOQlFVTXNRMEZCUXp0UlFVVnVSU3hOUVVGTkxFOUJRVThzUjBGQlJ5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZET1VRc1RVRkJUU3hUUVVGVExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4UFFVRlBMRWRCUVVjc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETzFGQlF6RkVMRTFCUVUwc1VVRkJVU3hIUVVOYUxFbEJRVWtzUzBGQlN5eERRVUZ4UWl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU03VVVGRGJrUXNUVUZCVFN4UFFVRlBMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXp0aFFVTjZReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRExFbEJRVWtzVFVGQlRTeERRVUZETEVsQlFVa3NSMEZCUnl4RFFVRkRMR05CUVdNc1JVRkJSU3hOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVNNVJTeExRVUZMTEVsQlFVa3NSMEZCUnl4SFFVRkhMRU5CUVVNc1JVRkJSU3hIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEZsQlFWa3NSVUZCUlN4SFFVRkhMRVZCUVVVc1JVRkJSVHRaUVVOb1JDeFJRVUZSTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1NVRkJTU3hQUVVGUExFTkJRVU1zUTBGQlF5eGhRVUZoTEVWQlFVVXNXVUZCV1N4RlFVRkZMRVZCUVVVN1owSkJRekZFTEUxQlFVMHNVVUZCVVN4SFFVRkhMRWRCUVVjc1IwRkJSeXhUUVVGVExFTkJRVU03WjBKQlEycERMRTFCUVUwc1RVRkJUU3hIUVVGSExFZEJRVWNzUzBGQlN5eEpRVUZKTEVOQlFVTXNXVUZCV1N4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eFRRVUZUTEVOQlFVTTdaMEpCUXk5RkxFbEJRVWtzVFVGQlRTeEpRVUZKTEZGQlFWRTdiMEpCUTNCQ0xHRkJRV0VzUTBGQlF5eEZRVUZETEZsQlFWa3NSVUZCUlN4SlFVRkpMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeFZRVUZWTEVWQlFVVXNTVUZCU1N4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVU1zUTBGQlF5eERRVUZETzJkQ1FVTjRSU3hQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNWMEZCVnl4RFFVRkRMRVZCUVVNc1RVRkJUU3hGUVVGRkxGRkJRVkVzUlVGQlJTeE5RVUZOTEVWQlFVVXNUMEZCVHl4RlFVRkZMRWxCUVVrc1JVRkJSU3hYUVVGWExFVkJRVVVzVDBGQlR5eEZRVUZGTEdsQ1FVRnBRaXhGUVVGRExFTkJRVU1zUTBGQlF6dG5Ra0ZETjBjc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEZOQlFWTXNSMEZCUnl4RFFVRkRMRVZCUVVNc1NVRkJTU3hGUVVGRkxFVkJRVU1zUzBGQlN5eEZRVUZGTEZsQlFWa3NSVUZCUlN4VlFVRlZMRVZCUVVNc1JVRkJReXhGUVVGUkxFVkJRVVU3YjBKQlF6TkZMRWxCUVVrc1MwRkJTeXhGUVVGRk8zZENRVU5VTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhUUVVGVExFVkJRVVVzUTBGQlF6dDNRa0ZEZWtJc1dVRkJXU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzNGQ1FVTnlRanQ1UWtGQlRUdDNRa0ZEVEN4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zVTBGQlV5eEZRVUZGTEVOQlFVTTdkMEpCUTNwQ0xHRkJRV0VzUTBGQlF5eEZRVUZETEZsQlFWa3NSVUZCUlN4VlFVRlZMRVZCUVVNc1EwRkJReXhEUVVGRE8zRkNRVU16UXp0blFrRkRTQ3hEUVVGRExFTkJRVU03V1VGRFNpeERRVUZETEVOQlFVTXNRMEZCUXp0VFFVTktPMUZCUlVRc1RVRkJUU3hQUVVGUExFZEJRVWNzVFVGQlRTeFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8xRkJRelZETEUxQlFVMHNUVUZCVFN4SFFVRmpPMWxCUTNoQ0xGbEJRVmtzUlVGQlJTeEpRVUZKTEV0QlFVc3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXl4SlFVRkpMRXRCUVVzc1EwRkJVeXhYUVVGWExFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1dVRkRNVWNzVlVGQlZTeEZRVUZGTEVsQlFVa3NTMEZCU3l4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRWxCUVVrc1MwRkJTeXhEUVVGVExGZEJRVmNzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xTkJRVU1zUTBGQlF6dFJRVU42Unl4TFFVRkxMRTFCUVUwc1IwRkJSeXhKUVVGSkxFOUJRVThzUlVGQlJUdFpRVU42UWl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlR0blFrRkRla01zUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFZEJRVWNzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1RVRkJUU3hKUVVGSkxFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTTdiMEpCUTNaRUxHRkJRV0VzUTBGQlF5eE5RVUZOTEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFMUJRVTBzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1IwRkJSeXhEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hIUVVGSExFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03WVVGRE4wYzdVMEZEUmp0UlFVTkVMRTlCUVU4c1RVRkJUU3hEUVVGRE8wbEJRMmhDTEVOQlFVTTdTVUZGVFN4TFFVRkxMRU5CUVVNc2EwSkJRV3RDTEVOQlFVa3NUVUZCWjBJc1JVRkJSU3hOUVVGdlFpeEZRVU4yUlN4UFFVRXlRaXhGUVVGRk8xRkJRemRDTEUxQlFVMHNaMEpCUVdkQ0xFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTTdZVUZETjBRc1IwRkJSeXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEVsQlFVa3NUVUZCVFN4RFFVRkRMRWxCUVVrc1IwRkJSeXhEUVVGRExHdERRVUZyUXl4RlFVRkZMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTNaR0xIZEZRVUYzUlR0UlFVTjRSU3g1UWtGQmVVSTdVVUZEZWtJc1RVRkJUU3hqUVVGakxFZEJRVWNzVFVGQlRTeERRVUZETEV0QlFVc3NSVUZCUlN4RFFVRkRPMUZCUTNSRExFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NZMEZCWXl4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVOc1JDeE5RVUZOTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlF6bERMRU5CUVVNc1kwRkJZeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEdOQlFXTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zWTBGQll5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMR05CUVdNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFOQlEycEdPMUZCUlVRc1NVRkJTVHRaUVVOR0xFMUJRVTBzVDBGQlR5eEhRVUZITEUxQlFVMHNRMEZCUXl4TlFVRk5MRWRCUVVjc1EwRkJReXhOUVVGTkxFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRaUVVONFJDeE5RVUZOTEZOQlFWTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFOUJRVThzUjBGQlJ5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNN1dVRkRNVVFzVFVGQlRTeGhRVUZoTEVkQlFVY3NUMEZCVXl4RFFVRkRPMWxCUTJoRExFMUJRVTBzVlVGQlZTeEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eFBRVUZQTEVkQlFVY3NTVUZCU1N4RlFVRkZMR0ZCUVdFc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNUMEZCVHl4RlFVRkZMR0ZCUVdFc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRGRrY3NUVUZCVFN4dlFrRkJiMElzUjBGQlJ5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEVOQlFVTTdXVUZEZUVVc1RVRkJUU3hUUVVGVExFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFXOURMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF6dFpRVVZzUml4TFFVRkxMRWxCUVVrc1IwRkJSeXhIUVVGSExFTkJRVU1zUlVGQlJTeEhRVUZITEVkQlFVY3NTVUZCU1N4RFFVRkRMRmxCUVZrc1JVRkJSU3hIUVVGSExFVkJRVVVzUlVGQlJUdG5Ra0ZEYUVRc1UwRkJVeXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVsQlFVa3NUMEZCVHl4RFFVRkRMRU5CUVVNc1lVRkJZU3hGUVVGRkxGbEJRVmtzUlVGQlJTeEZRVUZGTzI5Q1FVTXpSQ3hOUVVGTkxGRkJRVkVzUjBGQlJ5eEhRVUZITEVkQlFVY3NVMEZCVXl4RFFVRkRPMjlDUVVOcVF5eE5RVUZOTEUxQlFVMHNSMEZCUnl4SFFVRkhMRXRCUVVzc1NVRkJTU3hEUVVGRExGbEJRVmtzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1UwRkJVeXhEUVVGRE8yOUNRVU12UlN4blFrRkJaMElzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4WFFVRlhMRU5CUVVNN2QwSkJRMmhETEUxQlFVMHNSVUZCUlN4alFVRmpMRVZCUVVVc1VVRkJVU3hGUVVGRkxFMUJRVTBzUlVGQlJTeFpRVUZaTEVWQlFVVXNiMEpCUVc5Q0xFVkJRVVVzVFVGQlRTeEZRVUZGTEVsQlFVazdjVUpCUXpOR0xFTkJRVU1zUTBGQlF6dHZRa0ZEU0N4blFrRkJaMElzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4VFFVRlRMRWRCUVVjc1EwRkJReXhGUVVGRExFbEJRVWtzUlVGQlJTeEZRVUZETEV0QlFVc3NSVUZCUlN4UlFVRlJMRVZCUVVNc1JVRkJReXhGUVVGUkxFVkJRVVU3ZDBKQlEzQkZMR2RDUVVGblFpeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRE8zZENRVU5zUXl4SlFVRkpMRXRCUVVzN05FSkJRVVVzV1VGQldTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPenMwUWtGRE4wSXNZVUZCWVN4RFFVRkRMRVZCUVVNc1VVRkJVU3hGUVVGRExFTkJRVU1zUTBGQlF6dHZRa0ZET1VJc1EwRkJReXhEUVVGRE8yZENRVU5LTEVOQlFVTXNRMEZCUXl4RFFVRkRPMkZCUTBvN1dVRkZSQ3hOUVVGTkxFOUJRVThzUjBGQlJ5eE5RVUZOTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU03V1VGRE4wTXNUVUZCVFN4UlFVRlJMRWRCUVVjc1QwRkJUeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVkQlFVY3NSVUZCUlN4SFFVRkhMRVZCUVVVc1JVRkJSU3hEUVVGRExFZEJRVWNzUjBGQlJ5eEhRVUZITEVOQlFVTXNVVUZCVVN4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU0xUlN4TlFVRk5MRkZCUVZFc1IwRkJSeXhKUVVGSkxGbEJRVmtzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0WlFVTTFReXhKUVVGSkxFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTTdXVUZEWml4TFFVRkxMRTFCUVUwc1IwRkJSeXhKUVVGSkxFOUJRVThzUlVGQlJUdG5Ra0ZEZWtJc1VVRkJVU3hEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTXNVVUZCVVN4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRE8yZENRVU51UXl4TlFVRk5MRWxCUVVrc1IwRkJSeXhEUVVGRExGRkJRVkVzUTBGQlF5eE5RVUZOTEVOQlFVTTdZVUZETDBJN1dVRkRSQ3hSUVVGUkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlFVTTdXVUZGYUVJc1QwRkJUeXhSUVVGUkxFTkJRVU03VTBGRGFrSTdVVUZCUXl4UFFVRlBMRU5CUVVNc1JVRkJSVHRaUVVOV0xHZENRVUZuUWl4RlFVRkZMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RlFVRkZMRk5CUVZNc1JVRkJSU3hEUVVGRExFTkJRVU03V1VGRGFrUXNUMEZCVHl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU5xUWl4UFFVRlBMRWxCUVVrc1dVRkJXU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRUUVVOMFF6dEpRVU5JTEVOQlFVTTdTVUZGVHl4TFFVRkxMRU5CUVVNc2JVSkJRVzFDTEVOQlFVa3NUVUZCWjBJc1JVRkJSU3hOUVVGdlFpeEZRVUZGTEU5QlFUSkNMRVZCUVVVN1VVRkRlRWNzYlVSQlFXMUVPMUZCUTI1RUxEWkZRVUUyUlR0UlFVTTNSU3hwUjBGQmFVYzdVVUZEYWtjc1RVRkJUU3h0UWtGQmJVSXNSMEZCUnl4UlFVRlZMRU5CUVVNN1VVRkRka01zU1VGQlNUdFpRVU5HTEUxQlFVMHNUMEZCVHl4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFZEJRVWNzUTBGQlF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFpRVU40UkN4TlFVRk5MRkZCUVZFc1IwRkJSeXhOUVVGTkxFbEJRVWtzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhOUVVGTkxFVkJRVVVzVFVGQlRTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMWxCUTNKRkxFMUJRVTBzWVVGQllTeEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc2JVSkJRVzFDTEVkQlFVY3NUMEZCVHl4SFFVRkhMRkZCUVZFc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dFpRVU5zUml4TlFVRk5MRk5CUVZNc1IwRkJSeXhEUVVGRExFZEJRVWNzVVVGQlVTeERRVUZETEdGQlFXRXNRMEZCUXl4RFFVRkRPMWxCUXpsRExIZERRVUYzUXp0WlFVTjRReXhQUVVGUExGTkJRVk1zUTBGQlF6dFRRVU5zUWp0UlFVRkRMRTlCUVU4c1EwRkJReXhGUVVGRk8xbEJRMVlzVDBGQlR5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVOcVFpeFBRVUZQTEVkQlFVY3NRMEZCUXp0VFFVTmFPMGxCUTBnc1EwRkJRenRKUVVWTkxFMUJRVTBzUTBGQlF5eFJRVUZSTEVOQlEzQkNMRTFCUVN0Q0xFVkJRVVVzVFVGQmIwSXNSVUZCUlN4VlFVRnZRaXhGUVVGRkxGTkJRV2xDTzFGQlJUbEdMRTFCUVUwc1EwRkJReXhIUVVGaExFVkJRVVVzUTBGQlF6dFJRVU4yUWl4TlFVRk5MRU5CUVVNc1IwRkJZU3hGUVVGRkxFTkJRVU03VVVGRGRrSXNUVUZCVFN4VFFVRlRMRWRCUVdFc1JVRkJSU3hEUVVGRE8xRkJReTlDTEVsQlFVa3NSMEZCUnl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOYUxFbEJRVWtzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTllMRWxCUVVrc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU5ZTEUxQlFVMHNVVUZCVVN4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFZEJRVWNzUTBGQlF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU42UkN4UFFVRlBMRWRCUVVjc1IwRkJSeXhSUVVGUkxFVkJRVVU3V1VGRGNrSXNkVVpCUVhWR08xbEJRM1pHTEUxQlFVMHNTMEZCU3l4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1owSkJRM1JFTEZWQlFWVXNRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzVFVGQlRTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU42UXl4TlFVRk5MRlZCUVZVc1IwRkRaQ3hOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFdEJRVXNzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMSGxDUVVGNVFpeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUzBGQlN5eERRVUZETzFsQlF5OUhMRWxCUVVrc1ZVRkJWU3hKUVVGSkxGTkJRVk1zUlVGQlJUdG5Ra0ZETTBJc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXp0blFrRkRXQ3hEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRPMmRDUVVOWUxGTkJRVk1zUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1lVRkRka0k3V1VGRFJDeEhRVUZITEVWQlFVVXNRMEZCUXp0WlFVTk9MRVZCUVVVc1JVRkJSU3hEUVVGRE8xbEJRMHdzU1VGQlNTeEZRVUZGTEV0QlFVc3NUVUZCVFN4RFFVRkRMRTFCUVUwc1JVRkJSVHRuUWtGRGVFSXNSVUZCUlN4RlFVRkZMRU5CUVVNN1owSkJRMHdzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNN1lVRkRZanRUUVVOR08xRkJSVVFzVFVGQlRTeE5RVUZOTEVkQlFVY3NTVUZCU1N4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGFrTXNUVUZCVFN4TlFVRk5MRWRCUVVjc1NVRkJTU3hWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEYWtNc1RVRkJUU3hoUVVGaExFZEJRVWNzU1VGQlNTeFpRVUZaTEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNN1VVRkZiRVFzVDBGQlR5eEZRVUZETEVOQlFVTXNSVUZCUlN4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFMUJRVTBzUlVGQlJTeFJRVUZSTEVWQlFVVXNZVUZCWVN4RlFVRkRMRU5CUVVNN1NVRkRla1FzUTBGQlF6dERRVU5LSWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUh0blpYUlRhVzFwYkdGeWFYUjVSbkp2YlVScGMzUmhibU5sZlNCbWNtOXRJQ2N1TGk5a2FYTjBZVzVqWlMxdFpYUnlhV056TFcxbGRHaHZaSE1uTzF4dWFXMXdiM0owSUh0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5d2dTMjV2ZDI1TlpYUnlhV056ZlNCbWNtOXRJQ2N1TGk5MGVYQmxaQzF0WlhSeWFXTnpKenRjYm1sdGNHOXlkQ0I3UkdsemRHRnVZMlZCWjJkeVpXZGhkR2x2YmsxbGRHaHZaQ3dnUkdsemRHRnVZMlZCWjJkeVpXZGhkR2x2YmsxbGRHaHZaSE45SUdaeWIyMGdKeTR2ZEhsd1pYTW5PMXh1YVcxd2IzSjBJSHRwYm5ObGNuUlRiV0ZzYkdWeUxDQnBjMDVwYkgwZ1puSnZiU0FuTGk5MWRHbHNjeWM3WEc1Y2JtVjRjRzl5ZENCMGVYQmxJRk53WVhKelpVMWhkSEpwZUZKbGMzVnNkQ0E5SUh0Y2JpQWdhVG9nU1c1ME16SkJjbkpoZVN4Y2JpQWdham9nU1c1ME16SkJjbkpoZVN4Y2JpQWdaR2x6ZEdGdVkyVTZJRVpzYjJGME16SkJjbkpoZVN4Y2JpQWdhV1I0UHpvZ2JuVnRZbVZ5WEc1OU8xeHVYRzVsZUhCdmNuUWdkSGx3WlNCTGJtNVNaWE4xYkhRZ1BTQjdYRzRnSUd0dWJrUnBjM1JoYm1ObGN6b2diblZ0WW1WeVcxMWJYU3hjYmlBZ2EyNXVTVzVrWlhobGN6b2diblZ0WW1WeVcxMWJYVnh1ZlZ4dVpYaHdiM0owSUdOc1lYTnpJRk53WVhKelpVMWhkSEpwZUZObGNuWnBZMlVnZTF4dUlDQWdJSEJ5YVhaaGRHVWdYM2R2Y210bGNrTnZkVzUwT2lCdWRXMWlaWEk3WEc0Z0lDQWdZMjl1YzNSeWRXTjBiM0lvS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbDkzYjNKclpYSkRiM1Z1ZENBOUlFMWhkR2d1YldGNEtHNWhkbWxuWVhSdmNpNW9ZWEprZDJGeVpVTnZibU4xY25KbGJtTjVJQzBnTWl3Z01TazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NIVmliR2xqSUdGemVXNWpJR05oYkdNOFZENG9kbUZzZFdWek9pQkJjbkpoZVR4VVBpd2dabTVPWVcxbE9pQkxibTkzYmsxbGRISnBZM01zSUhSb2NtVnphRzlzWkRvZ2JuVnRZbVZ5TENCdmNIUnpPaUI3VzE4NklITjBjbWx1WjEwNklHRnVlWDBnUFNCN2ZTa2dlMXh1SUNBZ0lDQWdMeTl6YVhwbElHOW1JR1oxYkd3Z2JXRjBjbWw0WEc0Z0lDQWdJQ0JqYjI1emRDQnRZWFJUYVhwbElEMGdkbUZzZFdWekxteGxibWQwYUNBcUlDaDJZV3gxWlhNdWJHVnVaM1JvSUMwZ01Ta2dMeUF5TzF4dUlDQWdJQ0FnWTI5dWMzUWdZMmgxYm10VGFYcGxJRDBnVFdGMGFDNW1iRzl2Y2lodFlYUlRhWHBsSUM4Z2RHaHBjeTVmZDI5eWEyVnlRMjkxYm5RcE8xeHVYRzRnSUNBZ0lDQmpiMjV6ZENCdGFXNVVhSEpsYzJodmJHUWdQU0IyWVd4MVpYTXViR1Z1WjNSb0lENGdNakJmTURBd0lEOGdZWGRoYVhRZ2RHaHBjeTVuWlhSTmFXNXBiV0ZzVkdoeVpYTm9iMnhrS0haaGJIVmxjeXdnWm01T1lXMWxMQ0J2Y0hSektTQTZJREE3WEc0Z0lDQWdJQ0JwWmlBb2RHaHlaWE5vYjJ4a0lEd2diV2x1VkdoeVpYTm9iMnhrS1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk52YkdVdWJHOW5LR0IxYzJsdVp5QjBhSEpsYzJodmJHUWdKSHR0YVc1VWFISmxjMmh2YkdSOVlDazdYRzRnSUNBZ0lDQWdJSFJvY21WemFHOXNaQ0E5SUcxcGJsUm9jbVZ6YUc5c1pEdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHOXdkSE5iSjNSb2NtVnphRzlzWkNkZElEMGdkR2h5WlhOb2IyeGtPMXh1SUNBZ0lDQWdZMjl1YzNRZ2NISnZiV2x6WlhNZ1BWeHVJQ0FnSUNBZ0lDQnVaWGNnUVhKeVlYazhVSEp2YldselpUeFRjR0Z5YzJWTllYUnlhWGhTWlhOMWJIUStQaWgwYUdsekxsOTNiM0pyWlhKRGIzVnVkQ2s3WEc1Y2JpQWdJQ0FnSUdOdmJuTjBJSGR2Y210bGNuTWdQU0J1WlhjZ1FYSnlZWGtvZEdocGN5NWZkMjl5YTJWeVEyOTFiblFwWEc0Z0lDQWdJQ0FnSUM1bWFXeHNLRzUxYkd3cExtMWhjQ2dvS1NBOVBpQnVaWGNnVjI5eWEyVnlLRzVsZHlCVlVrd29KeTR2YzNCaGNuTmxMVzFoZEhKcGVDMTNiM0pyWlhJbkxDQnBiWEJ2Y25RdWJXVjBZUzUxY213cEtTazdYRzRnSUNBZ0lDQm1iM0lnS0d4bGRDQnBaSGdnUFNBd095QnBaSGdnUENCMGFHbHpMbDkzYjNKclpYSkRiM1Z1ZERzZ2FXUjRLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2NISnZiV2x6WlhOYmFXUjRYU0E5SUc1bGR5QlFjbTl0YVhObEtDaHlaWE52YkhabFYyOXlhMlZ5TENCeVpXcGxZM1JYYjNKclpYSXBJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCemRHRnlkRWxrZUNBOUlHbGtlQ0FxSUdOb2RXNXJVMmw2WlR0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCbGJtUkpaSGdnUFNCcFpIZ2dQVDA5SUhSb2FYTXVYM2R2Y210bGNrTnZkVzUwSUMwZ01TQS9JRzFoZEZOcGVtVWdPaUFvYVdSNElDc2dNU2tnS2lCamFIVnVhMU5wZW1VN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0dWdVpFbGtlQ0E4UFNCemRHRnlkRWxrZUNsY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsYzI5c2RtVlhiM0pyWlhJb2UyazZJRzVsZHlCSmJuUXpNa0Z5Y21GNUtEQXBMQ0JxT2lCdVpYY2dTVzUwTXpKQmNuSmhlU2d3S1N3Z1pHbHpkR0Z1WTJVNklHNWxkeUJHYkc5aGRETXlRWEp5WVhrb01Da3NJR2xrZUgwcE8xeHVJQ0FnSUNBZ0lDQWdJSGR2Y210bGNuTmJhV1I0WFM1d2IzTjBUV1Z6YzJGblpTaDdkbUZzZFdWekxDQnpkR0Z5ZEVsa2VDd2daVzVrU1dSNExDQjBhSEpsYzJodmJHUXNJR1p1VG1GdFpTd2diM0IwYzMwcE8xeHVJQ0FnSUNBZ0lDQWdJSGR2Y210bGNuTmJhV1I0WFM1dmJtMWxjM05oWjJVZ1BTQW9lMlJoZEdFNklIdGxjbkp2Y2l3Z2FTd2dhaXdnWkdsemRHRnVZMlY5ZlNrNklIWnZhV1FnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHVnljbTl5S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhkdmNtdGxjbk5iYVdSNFhTNTBaWEp0YVc1aGRHVW9LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVZxWldOMFYyOXlhMlZ5S0dWeWNtOXlLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhkdmNtdGxjbk5iYVdSNFhTNTBaWEp0YVc1aGRHVW9LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVZ6YjJ4MlpWZHZjbXRsY2loN2FTd2dhaXdnWkdsemRHRnVZMlVzSUdsa2VIMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJSDA3WEc0Z0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQmpiMjV6ZENCeVpYTjFiSFJ6SUQwZ1lYZGhhWFFnVUhKdmJXbHpaUzVoYkd3b2NISnZiV2x6WlhNcE8xeHVJQ0FnSUNBZ1kyOXVjM1FnWm5Wc2JGTnBlbVVnUFNCeVpYTjFiSFJ6TG5KbFpIVmpaU2dvWVdOakxDQjJZV3dwSUQwK0lHRmpZeUFySUhaaGJDNXBMbXhsYm1kMGFDd2dNQ2s3WEc0Z0lDQWdJQ0JqYjI1emRDQnBJRDBnYm1WM0lFbHVkRE15UVhKeVlYa29ablZzYkZOcGVtVXBPMXh1SUNBZ0lDQWdZMjl1YzNRZ2FpQTlJRzVsZHlCSmJuUXpNa0Z5Y21GNUtHWjFiR3hUYVhwbEtUdGNiaUFnSUNBZ0lHTnZibk4wSUdScGMzUmhibU5sSUQwZ2JtVjNJRVpzYjJGME16SkJjbkpoZVNobWRXeHNVMmw2WlNrN1hHNGdJQ0FnSUNCc1pYUWdiMlptYzJWMElEMGdNRHRjYmlBZ0lDQWdJQzh2SUhObGRIUnBibWNnZEdobElISmxjM1ZzZEhOY2JpQWdJQ0FnSUdadmNpQW9ZMjl1YzNRZ2NtVnpJRzltSUhKbGMzVnNkSE1wSUh0Y2JpQWdJQ0FnSUNBZ2FTNXpaWFFvY21Wekxta3NJRzltWm5ObGRDazdYRzRnSUNBZ0lDQWdJR291YzJWMEtISmxjeTVxTENCdlptWnpaWFFwTzF4dUlDQWdJQ0FnSUNCa2FYTjBZVzVqWlM1elpYUW9jbVZ6TG1ScGMzUmhibU5sTENCdlptWnpaWFFwTzF4dUlDQWdJQ0FnSUNCdlptWnpaWFFnS3owZ2NtVnpMbWt1YkdWdVozUm9PMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdjbVYwZFhKdUlIdHBMQ0JxTENCa2FYTjBZVzVqWlgwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY0hWaWJHbGpJR0Z6ZVc1aklHZGxkRXRPVGloY2JpQWdJQ0FnSUhaaGJIVmxjem9nUVhKeVlYazhZVzU1UGl3Z1ptNU9ZVzFsT2lCTGJtOTNiazFsZEhKcFkzTXNJRzVPWldsbmFHSnZkWEp6T2lCdWRXMWlaWElnUFNBeE5Td2diM0IwY3pvZ2UxdGZPaUJ6ZEhKcGJtZGRPaUJoYm5sOUlEMGdlMzFjYmlBZ0lDQXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQmhkMkZwZENCMGFHbHpMbTExYkhScFEyOXNkVzF1UzA1T0tGdDJZV3gxWlhOZExDQmJabTVPWVcxbFhTd2diazVsYVdkb1ltOTFjbk1zSUZ0dmNIUnpYU3dnV3pGZEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCd2RXSnNhV01nWVhONWJtTWdiWFZzZEdsRGIyeDFiVzVMVGs0b2RtRnNkV1Z6T2lCQmNuSmhlVHhCY25KaGVUeGhibmsrUGl3Z1ptNU9ZVzFsY3pvZ1MyNXZkMjVOWlhSeWFXTnpXMTBzSUc1T1pXbG5hR0p2ZFhKek9pQnVkVzFpWlhJZ1BTQXhOU3hjYmlBZ0lDQWdJRzl3ZEhNNklIdGJYem9nYzNSeWFXNW5YVG9nWVc1NWZWdGRMQ0IzWldsbmFIUnpPaUJ1ZFcxaVpYSmJYU3hjYmlBZ0lDQWdJR0ZuWjNKbFoyRjBhVzl1VFdWMGFHOWtPaUJFYVhOMFlXNWpaVUZuWjNKbFoyRjBhVzl1VFdWMGFHOWtJRDBnUkdsemRHRnVZMlZCWjJkeVpXZGhkR2x2YmsxbGRHaHZaSE11UlZWRFRFbEVSVUZPWEc0Z0lDQWdLU0I3WEc0Z0lDQWdJQ0JwWmlBb2RtRnNkV1Z6TG14bGJtZDBhQ0FoUFQwZ1ptNU9ZVzFsY3k1c1pXNW5kR2dnZkh3Z2RtRnNkV1Z6TG14bGJtZDBhQ0FoUFQwZ2IzQjBjeTVzWlc1bmRHZ2dmSHdnZG1Gc2RXVnpMbXhsYm1kMGFDQWhQVDBnZDJWcFoyaDBjeTVzWlc1bmRHZ3BYRzRnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25kbUZzZFdWekxDQmthWE4wWVc1alpTQm1kVzVqZEdsdmJuTXNJRzl3ZEdsdmJuTWdZVzVrSUhkbGFXZG9kSE1nWVhKeVlYbHpJSE5vYjNWc1pDQm9ZWFpsSUhSb1pTQnpZVzFsSUd4bGJtZDBhQ2NwTzF4dVhHNGdJQ0FnSUNCcFppQW9kbUZzZFdWekxuTnZiV1VvS0hZcElEMCtJSFl1YkdWdVozUm9JQ0U5UFNCMllXeDFaWE5iTUYwdWJHVnVaM1JvS1NsY2JpQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkaGJHd2dkbUZzZFdWeklHRnljbUY1Y3lCemFHOTFiR1FnYUdGMlpTQjBhR1VnYzJGdFpTQnNaVzVuZEdnbktUdGNibHh1SUNBZ0lDQWdZMjl1YzNRZ2JXRjBVMmw2WlNBOUlIWmhiSFZsYzFzd1hTNXNaVzVuZEdnZ0tpQW9kbUZzZFdWeld6QmRMbXhsYm1kMGFDQXRJREVwSUM4Z01qdGNiaUFnSUNBZ0lHTnZibk4wSUdOb2RXNXJVMmw2WlNBOUlFMWhkR2d1Wm14dmIzSW9iV0YwVTJsNlpTQXZJSFJvYVhNdVgzZHZjbXRsY2tOdmRXNTBLVHRjYmlBZ0lDQWdJR052Ym5OMElIQnliMjFwYzJWeklEMWNiaUFnSUNBZ0lDQWdibVYzSUVGeWNtRjVQRkJ5YjIxcGMyVThTMjV1VW1WemRXeDBQajRvZEdocGN5NWZkMjl5YTJWeVEyOTFiblFwTzF4dUlDQWdJQ0FnWTI5dWMzUWdkMjl5YTJWeWN5QTlJRzVsZHlCQmNuSmhlU2gwYUdsekxsOTNiM0pyWlhKRGIzVnVkQ2xjYmlBZ0lDQWdJQ0FnTG1acGJHd29iblZzYkNrdWJXRndLQ2dwSUQwK0lHNWxkeUJYYjNKclpYSW9ibVYzSUZWU1RDZ25MaTlyYm00dGQyOXlhMlZ5Snl3Z2FXMXdiM0owTG0xbGRHRXVkWEpzS1NrcE8xeHVJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2FXUjRJRDBnTURzZ2FXUjRJRHdnZEdocGN5NWZkMjl5YTJWeVEyOTFiblE3SUdsa2VDc3JLU0I3WEc0Z0lDQWdJQ0FnSUhCeWIyMXBjMlZ6VzJsa2VGMGdQU0J1WlhjZ1VISnZiV2x6WlNnb2NtVnpiMngyWlZkdmNtdGxjaXdnY21WcVpXTjBWMjl5YTJWeUtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYzNSaGNuUkpaSGdnUFNCcFpIZ2dLaUJqYUhWdWExTnBlbVU3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWlc1a1NXUjRJRDBnYVdSNElEMDlQU0IwYUdsekxsOTNiM0pyWlhKRGIzVnVkQ0F0SURFZ1B5QnRZWFJUYVhwbElEb2dLR2xrZUNBcklERXBJQ29nWTJoMWJtdFRhWHBsTzF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hsYm1SSlpIZ2dQRDBnYzNSaGNuUkpaSGdwWEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWE52YkhabFYyOXlhMlZ5S0h0cmJtNUVhWE4wWVc1alpYTTZJRzVsZHlCQmNuSmhlU2d3S1N3Z2EyNXVTVzVrWlhobGN6b2dibVYzSUVGeWNtRjVLREFwZlNrN1hHNGdJQ0FnSUNBZ0lDQWdkMjl5YTJWeWMxdHBaSGhkTG5CdmMzUk5aWE56WVdkbEtIdDJZV3gxWlhNc0lITjBZWEowU1dSNExDQmxibVJKWkhnc0lHWnVUbUZ0WlhNc0lHOXdkSE1zSUc1T1pXbG5hR0p2ZFhKekxDQjNaV2xuYUhSekxDQmhaMmR5WldkaGRHbHZiazFsZEdodlpIMHBPMXh1SUNBZ0lDQWdJQ0FnSUhkdmNtdGxjbk5iYVdSNFhTNXZibTFsYzNOaFoyVWdQU0FvZTJSaGRHRTZJSHRsY25KdmNpd2dhMjV1UkdsemRHRnVZMlZ6TENCcmJtNUpibVJsZUdWemZYMHBPaUIyYjJsa0lEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hsY25KdmNpa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjNiM0pyWlhKelcybGtlRjB1ZEdWeWJXbHVZWFJsS0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGFtVmpkRmR2Y210bGNpaGxjbkp2Y2lrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjNiM0pyWlhKelcybGtlRjB1ZEdWeWJXbHVZWFJsS0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGMyOXNkbVZYYjNKclpYSW9lMnR1YmtScGMzUmhibU5sY3l3Z2EyNXVTVzVrWlhobGMzMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJSDA3WEc0Z0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQmpiMjV6ZENCeVpYTjFiSFJ6SUQwZ1lYZGhhWFFnVUhKdmJXbHpaUzVoYkd3b2NISnZiV2x6WlhNcE8xeHVJQ0FnSUNBZ1kyOXVjM1FnYTI1dVVtVnpPaUJMYm01U1pYTjFiSFFnUFNCN1hHNGdJQ0FnSUNBZ0lHdHVia1JwYzNSaGJtTmxjem9nYm1WM0lFRnljbUY1S0haaGJIVmxjMXN3WFM1c1pXNW5kR2dwTG1acGJHd29iblZzYkNrdWJXRndLQ2dwSUQwK0lHNWxkeUJCY25KaGVUeHVkVzFpWlhJK0tHNU9aV2xuYUdKdmRYSnpLUzVtYVd4c0tEazVPVGs1S1Nrc1hHNGdJQ0FnSUNBZ0lHdHVia2x1WkdWNFpYTTZJRzVsZHlCQmNuSmhlU2gyWVd4MVpYTmJNRjB1YkdWdVozUm9LUzVtYVd4c0tHNTFiR3dwTG0xaGNDZ29LU0E5UGlCdVpYY2dRWEp5WVhrOGJuVnRZbVZ5UGlodVRtVnBaMmhpYjNWeWN5a3VabWxzYkNndE1Ta3BmVHRjYmlBZ0lDQWdJR1p2Y2lBb1kyOXVjM1FnY21WeklHOW1JSEpsYzNWc2RITXBJSHRjYmlBZ0lDQWdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCMllXeDFaWE5iTUYwdWJHVnVaM1JvT3lBcksya3BJSHRjYmlBZ0lDQWdJQ0FnSUNCbWIzSWdLR3hsZENCcUlEMGdNRHNnYWlBOElISmxjeTVyYm01RWFYTjBZVzVqWlhOYmFWMC9MbXhsYm1kMGFDQS9QeUF3T3lBcksyb3BYRzRnSUNBZ0lDQWdJQ0FnSUNCcGJuTmxjblJUYldGc2JHVnlLR3R1YmxKbGN5NXJibTVFYVhOMFlXNWpaWE5iYVYwc0lHdHVibEpsY3k1cmJtNUpibVJsZUdWelcybGRMQ0J5WlhNdWEyNXVSR2x6ZEdGdVkyVnpXMmxkVzJwZExDQnlaWE11YTI1dVNXNWtaWGhsYzF0cFhWdHFYU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhKbGRIVnliaUJyYm01U1pYTTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NIVmliR2xqSUdGemVXNWpJR2RsZEZOaGJYQnNaVVJwYzNSaGJtTmxjenhVUGloMllXeDFaWE02SUVGeWNtRjVQRlErTENCbWJrNWhiV1U2SUV0dWIzZHVUV1YwY21samN5eGNiaUFnSUNBZ0lHOXdkSE02SUh0Ylh6b2djM1J5YVc1blhUb2dZVzU1ZlNBOUlIdDlLVG9nVUhKdmJXbHpaVHhHYkc5aGRETXlRWEp5WVhrK0lIdGNiaUFnSUNBZ0lHTnZibk4wSUhSb2NtVnphRzlzWkZkdmNtdGxjbk1nUFNCdVpYY2dRWEp5WVhrb2RHaHBjeTVmZDI5eWEyVnlRMjkxYm5RcExtWnBiR3dvYm5Wc2JDbGNiaUFnSUNBZ0lDQWdMbTFoY0Nnb0tTQTlQaUJ1WlhjZ1YyOXlhMlZ5S0c1bGR5QlZVa3dvSnk0dmMzQmhjbk5sTFcxaGRISnBlQzEwYUhKbGMyaHZiR1F0ZDI5eWEyVnlKeXdnYVcxd2IzSjBMbTFsZEdFdWRYSnNLU2twTzF4dUlDQWdJQ0FnTHk4Z1pHRjBZU0J0WVhrZ1ltVWdjMjl5ZEdWa0lHSjVJR05zZFhOMFpYSnpMQ0IzYUdsamFDQjNhV3hzSUdocGJtUmxjaUIwYUdVZ2NtRnVaRzl0SUhOaGJYQnNhVzVuWEc0Z0lDQWdJQ0F2THlCemJ5QjNaU0J6YUhWbVpteGxJR2wwSUdacGNuTjBYRzRnSUNBZ0lDQmpiMjV6ZENCemFIVm1abXhsWkZaaGJIVmxjeUE5SUhaaGJIVmxjeTV6YkdsalpTZ3BPMXh1SUNBZ0lDQWdabTl5SUNoc1pYUWdhU0E5SUhOb2RXWm1iR1ZrVm1Gc2RXVnpMbXhsYm1kMGFDQXRJREU3SUdrZ1BpQXdPeUJwTFMwcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2FpQTlJRTFoZEdndVpteHZiM0lvVFdGMGFDNXlZVzVrYjIwb0tTQXFJQ2hwSUNzZ01Ta3BPMXh1SUNBZ0lDQWdJQ0JiYzJoMVptWnNaV1JXWVd4MVpYTmJhVjBzSUhOb2RXWm1iR1ZrVm1Gc2RXVnpXMnBkWFNBOUlGdHphSFZtWm14bFpGWmhiSFZsYzF0cVhTd2djMmgxWm1ac1pXUldZV3gxWlhOYmFWMWRPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCdFlYUlRhWHBsSUQwZ2RtRnNkV1Z6TG14bGJtZDBhQ0FxSUNoMllXeDFaWE11YkdWdVozUm9JQzBnTVNrZ0x5QXlPMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQmphSFZ1YTFOcGVtVWdQU0JOWVhSb0xtWnNiMjl5S0cxaGRGTnBlbVVnTHlCMGFHbHpMbDkzYjNKclpYSkRiM1Z1ZENrN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUcxaGVGTmhiWEJzWlZOcGVtVWdQU0F4WHpBd01GOHdNREE3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSE5oYlhCc1pWTnBjMlVnUFNCTllYUm9MbTFoZUNoTllYUm9MbTFwYmlodFlYUlRhWHBsSUM4Z01UQXdNQ3dnYldGNFUyRnRjR3hsVTJsNlpTa3NJRTFoZEdndWJXbHVLRzFoZEZOcGVtVXNJRzFoZUZOaGJYQnNaVk5wZW1VcEtUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2RHVnpkRk5sZEZOcGVtVlFaWEpYYjNKclpYSWdQU0JOWVhSb0xtWnNiMjl5S0hOaGJYQnNaVk5wYzJVZ0x5QjBhR2x6TGw5M2IzSnJaWEpEYjNWdWRDazdYRzRnSUNBZ0lDQWdJR052Ym5OMElIUlFjbTl0YVhObGN5QTlJRzVsZHlCQmNuSmhlVHhRY205dGFYTmxQSHRrYVhOMFlXNWpaVG9nUm14dllYUXpNa0Z5Y21GNWZUNCtLSFJvYVhNdVgzZHZjbXRsY2tOdmRXNTBLVHRjYmx4dUlDQWdJQ0FnSUNCbWIzSWdLR3hsZENCcFpIZ2dQU0F3T3lCcFpIZ2dQQ0IwYUdsekxsOTNiM0pyWlhKRGIzVnVkRHNnYVdSNEt5c3BJSHRjYmlBZ0lDQWdJQ0FnSUNCMFVISnZiV2x6WlhOYmFXUjRYU0E5SUc1bGR5QlFjbTl0YVhObEtDaHlaWE52YkhabFYyOXlhMlZ5TENCeVpXcGxZM1JYYjNKclpYSXBJRDArSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElITjBZWEowU1dSNElEMGdhV1I0SUNvZ1kyaDFibXRUYVhwbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdaVzVrU1dSNElEMGdhV1I0SUQwOVBTQjBhR2x6TGw5M2IzSnJaWEpEYjNWdWRDQXRJREVnUHlCdFlYUlRhWHBsSURvZ0tHbGtlQ0FySURFcElDb2dZMmgxYm10VGFYcGxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHlaWE5vYjJ4a1YyOXlhMlZ5YzF0cFpIaGRMbkJ2YzNSTlpYTnpZV2RsS0h0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1Gc2RXVnpPaUJ6YUhWbVpteGxaRlpoYkhWbGN5d2djM1JoY25SSlpIZ3NJR1Z1WkVsa2VDd2djMkZ0Y0d4bFRHVnVaM1JvT2lCMFpYTjBVMlYwVTJsNlpWQmxjbGR2Y210bGNpd2dabTVPWVcxbExDQnZjSFJ6WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9jbVZ6YUc5c1pGZHZjbXRsY25OYmFXUjRYUzV2Ym0xbGMzTmhaMlVnUFNBb2UyUmhkR0U2SUh0bGNuSnZjaXdnWkdsemRHRnVZMlY5ZlNrNklIWnZhV1FnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFISmxjMmh2YkdSWGIzSnJaWEp6VzJsa2VGMHVkR1Z5YldsdVlYUmxLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNobGNuSnZjaWtnY21WcVpXTjBWMjl5YTJWeUtHVnljbTl5S1RzZ1pXeHpaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsYzI5c2RtVlhiM0pyWlhJb2UyUnBjM1JoYm1ObGZTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCOU8xeHVJQ0FnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2NtVnpkV3gwY3lBOUlHRjNZV2wwSUZCeWIyMXBjMlV1WVd4c0tIUlFjbTl0YVhObGN5azdYRzRnSUNBZ0lDQWdJR052Ym5OMElHWjFiR3hUYVhwbElEMGdjbVZ6ZFd4MGN5NXlaV1IxWTJVb0tHRmpZeXdnZG1Gc0tTQTlQaUJoWTJNZ0t5QjJZV3d1WkdsemRHRnVZMlV1YkdWdVozUm9MQ0F3S1R0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWkdsemRHRnVZMlVnUFNCdVpYY2dSbXh2WVhRek1rRnljbUY1S0daMWJHeFRhWHBsS1R0Y2JpQWdJQ0FnSUNBZ2JHVjBJRzltWm5ObGRDQTlJREE3WEc0Z0lDQWdJQ0FnSUdadmNpQW9ZMjl1YzNRZ2NtVnpJRzltSUhKbGMzVnNkSE1wSUh0Y2JpQWdJQ0FnSUNBZ0lDQmthWE4wWVc1alpTNXpaWFFvY21WekxtUnBjM1JoYm1ObExDQnZabVp6WlhRcE8xeHVJQ0FnSUNBZ0lDQWdJRzltWm5ObGRDQXJQU0J5WlhNdVpHbHpkR0Z1WTJVdWJHVnVaM1JvTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHUnBjM1JoYm1ObExuTnZjblFvS1R0Y2JseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHbHpkR0Z1WTJVN1hHNGdJQ0FnSUNCOUlHTmhkR05vSUNobEtTQjdYRzRnSUNBZ0lDQWdJSFJvY21WemFHOXNaRmR2Y210bGNuTS9MbVp2Y2tWaFkyZ29LSGNwSUQwK0lIYy9MblJsY20xcGJtRjBaU2dwS1R0Y2JpQWdJQ0FnSUNBZ1kyOXVjMjlzWlM1bGNuSnZjaWhsS1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1bGR5QkdiRzloZERNeVFYSnlZWGtvTVNrdVptbHNiQ2d3TGpVcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhCeWFYWmhkR1VnWVhONWJtTWdaMlYwVFdsdWFXMWhiRlJvY21WemFHOXNaRHhVUGloMllXeDFaWE02SUVGeWNtRjVQRlErTENCbWJrNWhiV1U2SUV0dWIzZHVUV1YwY21samN5d2diM0IwY3pvZ2UxdGZPaUJ6ZEhKcGJtZGRPaUJoYm5sOUlEMGdlMzBwSUh0Y2JpQWdJQ0FnSUM4dlYyVWdibVZsWkNCMGJ5QmpZV3hqZFd4aGRHVWdkR2hsSUcxcGJtbHRZV3dnZEdoeVpYTm9iMnhrSUdacGNuTjBMRnh1SUNBZ0lDQWdMeTlwYmlCdmNtUmxjaUIwYnlCblpYUWdiV0YwY21sNElITjFZMmdnZEdoaGRDQnBkQ0JrYjJWeklHNXZkQ0JsZUdObFpXUWdkR2hsSUcxaGVHbHRkVzBnYzJsNlpTQnZaaUF4UjBKY2JpQWdJQ0FnSUM4dmQyVWdhR0YyWlNBeklISmxkSFZ5YmlCaGNuSmhlWE1zSUdWaFkyZ2dOQ0JpYVhSbGN5QndaWElnWld4bGJXVnVkQ3dnYzI4Z2FXWWdkR2hsSUcxaGVHbHRkVzBnYzJsNlpTQnZaaUIwYUdVZ2JXRjBjbWw0SUdseklERkhRaXhjYmlBZ0lDQWdJR052Ym5OMElHMWhlRk53WVhKelpVMWhkSEpwZUZOcGVtVWdQU0EzTUY4d01EQmZNREF3TzF4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2JXRjBVMmw2WlNBOUlIWmhiSFZsY3k1c1pXNW5kR2dnS2lBb2RtRnNkV1Z6TG14bGJtZDBhQ0F0SURFcElDOGdNanRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdaR2x6ZEdGdVkyVWdQU0JoZDJGcGRDQjBhR2x6TG1kbGRGTmhiWEJzWlVScGMzUmhibU5sY3loMllXeDFaWE1zSUdadVRtRnRaU3dnYjNCMGN5azdYRzRnSUNBZ0lDQWdJR052Ym5OMElHWnlZV04wYVc5dVNXNWtaWGdnUFNCTllYUm9MbVpzYjI5eUtHMWhlRk53WVhKelpVMWhkSEpwZUZOcGVtVWdMeUJ0WVhSVGFYcGxJQ29nWkdsemRHRnVZMlV1YkdWdVozUm9LVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdkR2h5WlhOb2IyeGtJRDBnTVNBdElHUnBjM1JoYm1ObFcyWnlZV04wYVc5dVNXNWtaWGhkTzF4dUlDQWdJQ0FnSUNBdkx5QjBhSEpsYzJodmJHUWdQU0JOWVhSb0xtMWhlQ2gwYUhKbGMyaHZiR1FzSURBdU15azdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhSEpsYzJodmJHUTdYRzRnSUNBZ0lDQjlJR05oZEdOb0lDaGxLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTnZiR1V1WlhKeWIzSW9aU2s3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUF3TGpVN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnY0hWaWJHbGpJSE4wWVhScFl5QmpZV3hqVTNsdVl6eFVQaWhjYmlBZ0lDQWdJSFpoYkhWbGN6b2dRWEp5WVhrOFZENGdmQ0JCY25KaGVVeHBhMlU4VkQ0c0lHWnVUbUZ0WlRvZ1MyNXZkMjVOWlhSeWFXTnpMQ0JrYVhOMFlXNWpaVVp1T2lCR2RXNWpkR2x2Yml3Z2RHaHlaWE5vYjJ4a09pQnVkVzFpWlhKY2JpQWdJQ0FwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR2s2SUc1MWJXSmxjbHRkSUQwZ1cxMDdYRzRnSUNBZ0lDQmpiMjV6ZENCcU9pQnVkVzFpWlhKYlhTQTlJRnRkTzF4dUlDQWdJQ0FnWTI5dWMzUWdaR2x6ZEdGdVkyVnpPaUJ1ZFcxaVpYSmJYU0E5SUZ0ZE8xeHVJQ0FnSUNBZ2JHVjBJR051ZENBOUlEQTdYRzRnSUNBZ0lDQnNaWFFnYldrZ1BTQXdPMXh1SUNBZ0lDQWdiR1YwSUcxcUlEMGdNRHRjYmlBZ0lDQWdJR052Ym5OMElHWjFiR3hUYVhwbElEMGdkbUZzZFdWekxteGxibWQwYUNBcUlDaDJZV3gxWlhNdWJHVnVaM1JvSUMwZ01Ta2dMeUF5TzF4dUlDQWdJQ0FnZDJocGJHVWdLR051ZENBOElHWjFiR3hUYVhwbEtTQjdYRzRnSUNBZ0lDQWdJQzh2WTI5dWMzUWdkbUZzZFdVZ1BTQnpaWEV4VEdsemRGdHRhVjBnSmlZZ2MyVnhNVXhwYzNSYmJXcGRJRDhnYUdGdGJXbHVaeWh6WlhFeFRHbHpkRnR0YVYwc0lITmxjVEZNYVhOMFcyMXFYU2tnT2lBd08xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCMllXeDFaU0E5SUNGcGMwNXBiQ2gyWVd4MVpYTmJiV2xkS1NBbUppQWhhWE5PYVd3b2RtRnNkV1Z6VzIxcVhTa2dQMXh1SUNBZ0lDQWdJQ0FnSUdScGMzUmhibU5sUm00b2RtRnNkV1Z6VzIxcFhTd2dkbUZzZFdWelcyMXFYU2tnT2lBeE8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCemFXMXBiR0Z5YVhSNUlEMWNiaUFnSUNBZ0lDQWdJQ0JQWW1wbFkzUXVkbUZzZFdWektFSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpLUzV6YjIxbEtDaGhLU0E5UGlCaElEMDlQU0JtYms1aGJXVXBJRDhnWjJWMFUybHRhV3hoY21sMGVVWnliMjFFYVhOMFlXNWpaU2gyWVd4MVpTa2dPaUF4SUMwZ2RtRnNkV1U3WEc0Z0lDQWdJQ0FnSUdsbUlDaHphVzFwYkdGeWFYUjVJRDQ5SUhSb2NtVnphRzlzWkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2t1Y0hWemFDaHRhU2s3WEc0Z0lDQWdJQ0FnSUNBZ2FpNXdkWE5vS0cxcUtUdGNiaUFnSUNBZ0lDQWdJQ0JrYVhOMFlXNWpaWE11Y0hWemFDaDJZV3gxWlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdZMjUwS3lzN1hHNGdJQ0FnSUNBZ0lHMXFLeXM3WEc0Z0lDQWdJQ0FnSUdsbUlDaHRhaUE5UFQwZ2RtRnNkV1Z6TG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHMXBLeXM3WEc0Z0lDQWdJQ0FnSUNBZ2JXb2dQU0J0YVNBcklERTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWTI5dWMzUWdhVUZ5Y21GNUlEMGdibVYzSUVsdWRETXlRWEp5WVhrb2FTazdYRzRnSUNBZ0lDQmpiMjV6ZENCcVFYSnlZWGtnUFNCdVpYY2dTVzUwTXpKQmNuSmhlU2hxS1R0Y2JpQWdJQ0FnSUdOdmJuTjBJR1JwYzNSaGJtTmxRWEp5WVhrZ1BTQnVaWGNnUm14dllYUXpNa0Z5Y21GNUtHUnBjM1JoYm1ObGN5azdYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQjdhVG9nYVVGeWNtRjVMQ0JxT2lCcVFYSnlZWGtzSUdScGMzUmhibU5sT2lCa2FYTjBZVzVqWlVGeWNtRjVmVHRjYmlBZ0lDQjlYRzU5WEc0aVhYMD0iLCJpbXBvcnQgeyBWZWN0b3IgfSBmcm9tICdAZGF0YWdyb2stbGlicmFyaWVzL3V0aWxzL3NyYy90eXBlLWRlY2xhcmF0aW9ucyc7XG5pbXBvcnQgeyBUU05FIH0gZnJvbSAnQGtlY2tlbHQvdHNuZSc7XG5pbXBvcnQgeyBBdmFpbGFibGVNZXRyaWNzLCBNZWFzdXJlLCBpc0JpdEFycmF5TWV0cmljIH0gZnJvbSAnLi4vdHlwZWQtbWV0cmljcyc7XG5pbXBvcnQgeyBEaXN0YW5jZU1hdHJpeFNlcnZpY2UsIGRpc3RhbmNlTWF0cml4UHJveHkgfSBmcm9tICcuLi9kaXN0YW5jZS1tYXRyaXgnO1xuaW1wb3J0IHsgZ2V0QWdncmVnYXRpb25GdW5jdGlvbiB9IGZyb20gJy4uL2Rpc3RhbmNlLW1hdHJpeC91dGlscyc7XG5pbXBvcnQgeyBVTUFQIH0gZnJvbSAnLi4vdW1hcCc7XG5pbXBvcnQgeyBhc3NlcnQsIHRyYW5zcG9zZU1hdHJpeCB9IGZyb20gJ0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL3ZlY3Rvci1vcGVyYXRpb25zJztcbmltcG9ydCB7IFNwYXJzZU1hdHJpeFNlcnZpY2UgfSBmcm9tICcuLi9kaXN0YW5jZS1tYXRyaXgvc3BhcnNlLW1hdHJpeC1zZXJ2aWNlJztcbmltcG9ydCBCaXRBcnJheSBmcm9tICdAZGF0YWdyb2stbGlicmFyaWVzL3V0aWxzL3NyYy9iaXQtYXJyYXknO1xuY2xhc3MgTXVsdGlDb2x1bW5SZWR1Y2VyIHtcbiAgICBkYXRhO1xuICAgIHdlaWdodHM7XG4gICAgYWdncmVnYXRpb25NZXRob2Q7XG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICB0aGlzLmRhdGEgPSBvcHRpb25zLmRhdGE7XG4gICAgICAgIHRoaXMud2VpZ2h0cyA9IG9wdGlvbnMud2VpZ2h0cztcbiAgICAgICAgdGhpcy5hZ2dyZWdhdGlvbk1ldGhvZCA9IG9wdGlvbnMuYWdncmVnYXRpb25NZXRob2Q7XG4gICAgfVxufVxuY2xhc3MgTXVsdGlUU05FUmVkdWNlciBleHRlbmRzIE11bHRpQ29sdW1uUmVkdWNlciB7XG4gICAgcmVkdWNlcjtcbiAgICBpdGVyYXRpb25zO1xuICAgIGRpc3RhbmNlRm5hbWVzO1xuICAgIGRpc3RhbmNlRm5zO1xuICAgIGRpc3RhbmNlRm5BcmdzO1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgVFNORVJlZHVjZXIuXG4gICAgICogQHBhcmFtIHtPcHRpb25zfSBvcHRpb25zIE9wdGlvbnMgdG8gcGFzcyB0byB0aGUgY29uc3RydWN0b3IuXG4gICAgICogQG1lbWJlcm9mIFRTTkVSZWR1Y2VyXG4gICAgICovXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICAgICAgdGhpcy5yZWR1Y2VyID0gbmV3IFRTTkUob3B0aW9ucyk7XG4gICAgICAgIHRoaXMuaXRlcmF0aW9ucyA9IG9wdGlvbnM/Lml0ZXJhdGlvbnMgPz8gMTAwO1xuICAgICAgICB0aGlzLmRpc3RhbmNlRm5hbWVzID0gb3B0aW9ucy5kaXN0YW5jZUZuYW1lcztcbiAgICAgICAgdGhpcy5kaXN0YW5jZUZucyA9IG9wdGlvbnMuZGlzdGFuY2VGbnM7XG4gICAgICAgIHRoaXMuZGlzdGFuY2VGbkFyZ3MgPSBvcHRpb25zLmRpc3RhbmNlRm5BcmdzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBFbWJlZHMgdGhlIGRhdGEgZ2l2ZW4gaW50byB0aGUgdHdvLWRpbWVuc2lvbmFsIHNwYWNlIHVzaW5nIHQtU05FIG1ldGhvZC5cXFxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW3BhcmFsbGVsRGlzdGFuY2VXb3JrZXJzXSBXaGV0aGVyIHRvIHVzZSBwYXJhbGxlbCBkaXN0YW5jZSB3b3JrZXJzLlxuICAgICAqIEByZXR1cm4ge2FueX0gQ2FydGVzaWFuIGNvb3JkaW5hdGUgb2YgdGhpcyBlbWJlZGRpbmcgYW5kIGRpc3RhbmNlIG1hdHJpeCB3aGVyZSBhcHBsaWNhYmxlLlxuICAgICAqL1xuICAgIGFzeW5jIHRyYW5zZm9ybSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YVswXS5sZW5ndGggPiAxMDAwMClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTWF4aW11bSBudW1iZXIgb2Ygc2FtcGxlcyBmb3IgVC1TTkUgaXMgMTAwMDAnKTtcbiAgICAgICAgY29uc3QgbWF0cml4U2VydmljZSA9IG5ldyBEaXN0YW5jZU1hdHJpeFNlcnZpY2UodHJ1ZSwgZmFsc2UpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgYWdncmVnYXRlID0gZ2V0QWdncmVnYXRpb25GdW5jdGlvbih0aGlzLmFnZ3JlZ2F0aW9uTWV0aG9kLCB0aGlzLndlaWdodHMpO1xuICAgICAgICAgICAgY29uc3QgZGlzdGFuY2VzID0gW107XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZGF0YS5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpc3QgPSBhd2FpdCBtYXRyaXhTZXJ2aWNlLmNhbGModGhpcy5kYXRhW2ldLCB0aGlzLmRpc3RhbmNlRm5hbWVzW2ldLCBmYWxzZSwgdGhpcy5kaXN0YW5jZUZuQXJnc1tpXSk7XG4gICAgICAgICAgICAgICAgZGlzdGFuY2VzLnB1c2goZGlzdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBkaXN0YW5jZSA9IG5ldyBGbG9hdDMyQXJyYXkoZGlzdGFuY2VzWzBdLmxlbmd0aCkuZmlsbCgwKTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGlzdGFuY2VzWzBdLmxlbmd0aDsgKytpKVxuICAgICAgICAgICAgICAgIGRpc3RhbmNlW2ldID0gYWdncmVnYXRlKGRpc3RhbmNlcy5tYXAoKGQpID0+IGRbaV0pKTtcbiAgICAgICAgICAgIGNvbnN0IG1hdHJpeFByb3h5ID0gZGlzdGFuY2VNYXRyaXhQcm94eShkaXN0YW5jZSwgdGhpcy5kYXRhWzBdLmxlbmd0aCk7XG4gICAgICAgICAgICB0aGlzLnJlZHVjZXIuaW5pdERhdGFEaXN0KG1hdHJpeFByb3h5KTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5pdGVyYXRpb25zOyArK2kpXG4gICAgICAgICAgICAgICAgdGhpcy5yZWR1Y2VyLnN0ZXAoKTsgLy8gZXZlcnkgdGltZSB5b3UgY2FsbCB0aGlzLCBzb2x1dGlvbiBnZXRzIGJldHRlclxuICAgICAgICAgICAgbWF0cml4U2VydmljZS50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJlZHVjZXIuZ2V0U29sdXRpb24oKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgbWF0cml4U2VydmljZS50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5jbGFzcyBNdWx0aVVNQVBSZWR1Y2VyIGV4dGVuZHMgTXVsdGlDb2x1bW5SZWR1Y2VyIHtcbiAgICByZWR1Y2VyO1xuICAgIGRpc3RhbmNlRm5hbWVzO1xuICAgIGRpc3RhbmNlRm5zO1xuICAgIHZlY3RvcnM7XG4gICAgcHJvZ3Jlc3NGdW5jO1xuICAgIGRpc3RhbmNlRm5BcmdzO1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgVU1BUFJlZHVjZXIuXG4gICAgICogQHBhcmFtIHtPcHRpb25zfSBvcHRpb25zIE9wdGlvbnMgdG8gcGFzcyB0byB0aGUgY29uc3RydWN0b3IuXG4gICAgICogQG1lbWJlcm9mIFVNQVBSZWR1Y2VyXG4gICAgICovXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICAgICAgYXNzZXJ0KCdkaXN0YW5jZUZuYW1lcycgaW4gb3B0aW9ucyk7XG4gICAgICAgIGFzc2VydCgnZGlzdGFuY2VGbnMnIGluIG9wdGlvbnMpO1xuICAgICAgICB0aGlzLmRpc3RhbmNlRm5BcmdzID0gb3B0aW9ucy5kaXN0YW5jZUZuQXJncztcbiAgICAgICAgdGhpcy5kaXN0YW5jZUZucyA9IG9wdGlvbnMuZGlzdGFuY2VGbnM7XG4gICAgICAgIHRoaXMucHJvZ3Jlc3NGdW5jID0gb3B0aW9ucy5wcm9ncmVzc0Z1bmM7XG4gICAgICAgIHRoaXMuZGlzdGFuY2VGbmFtZXMgPSBvcHRpb25zLmRpc3RhbmNlRm5hbWVzO1xuICAgICAgICAvL1VtYXAgdXNlcyB2ZWN0b3IgaW5kZXhpbmcsIHNvIHdlIG5lZWQgdG8gY3JlYXRlIGFuIGFycmF5IG9mIHZlY3RvcnMgYXMgaW5kZWNlcy5cbiAgICAgICAgdGhpcy52ZWN0b3JzID0gbmV3IEFycmF5KHRoaXMuZGF0YVswXS5sZW5ndGgpLmZpbGwoMCkubWFwKChfLCBpKSA9PiBpKTtcbiAgICAgICAgaWYgKHRoaXMuZGF0YVswXS5sZW5ndGggPCAxNSlcbiAgICAgICAgICAgIG9wdGlvbnMubk5laWdoYm9ycyA9IHRoaXMuZGF0YVswXS5sZW5ndGggLSAxO1xuICAgICAgICB0aGlzLnJlZHVjZXIgPSBuZXcgVU1BUChvcHRpb25zKTtcbiAgICAgICAgLy8gdGhpcy5yZWR1Y2VyLmRpc3RhbmNlRm4gPSB0aGlzLl9lbmNvZGVkRGlzdGFuY2UuYmluZCh0aGlzKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRW1iZWRzIHRoZSBkYXRhIGdpdmVuIGludG8gdGhlIHR3by1kaW1lbnNpb25hbCBzcGFjZSB1c2luZyBVTUFQIG1ldGhvZC5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtfcGFyYWxsZWxEaXN0YW5jZVdvcmtlcnNdIFdoZXRoZXIgdG8gdXNlIHBhcmFsbGVsIGRpc3RhbmNlIG1hdHJpeCB3b3JrZXJzLlxuICAgICAqIEByZXR1cm4ge2FueX0gQ2FydGVzaWFuIGNvb3JkaW5hdGUgb2YgdGhpcyBlbWJlZGRpbmcuXG4gICAgICovXG4gICAgYXN5bmMgdHJhbnNmb3JtKF9wYXJhbGxlbERpc3RhbmNlV29ya2Vycykge1xuICAgICAgICBjb25zb2xlLnRpbWUoJ2tubiBncmFwaCcpO1xuICAgICAgICBjb25zdCBrbm5SZXMgPSBhd2FpdCBuZXcgU3BhcnNlTWF0cml4U2VydmljZSgpXG4gICAgICAgICAgICAubXVsdGlDb2x1bW5LTk4odGhpcy5kYXRhLCB0aGlzLmRpc3RhbmNlRm5hbWVzLCB0aGlzLnJlZHVjZXIubmVpZ2hib3JzLCB0aGlzLmRpc3RhbmNlRm5BcmdzLCB0aGlzLndlaWdodHMsIHRoaXMuYWdncmVnYXRpb25NZXRob2QpO1xuICAgICAgICBjb25zb2xlLnRpbWVFbmQoJ2tubiBncmFwaCcpO1xuICAgICAgICB0aGlzLnJlZHVjZXIuc2V0UHJlY29tcHV0ZWRLTk4oa25uUmVzLmtubkluZGV4ZXMsIGtublJlcy5rbm5EaXN0YW5jZXMpO1xuICAgICAgICAvLyBuZWVkZWQgc28gdGhhdCBnYXJiYWdlIGNvbGxlY3RvciBjYW4gZnJlZSBtZW1vcnkgZnJvbSBkaXN0YW5jZSBtYXRyaXhcbiAgICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIH0sIDMwMCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBlbWJlZGRpbmcgPSBhd2FpdCB0aGlzLnJlZHVjZXIuZml0QXN5bmModGhpcy52ZWN0b3JzLCAoZXBvYykgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvZ3Jlc3NGdW5jKVxuICAgICAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3NGdW5jKGVwb2MsIHRoaXMucmVkdWNlci5nZXRORXBvY2hzKCksIHRoaXMucmVkdWNlci5nZXRFbWJlZGRpbmcoKSk7XG4gICAgICAgIH0pO1xuICAgICAgICBmdW5jdGlvbiBhcnJheUNhc3QyQ29vcmRpbmF0ZXMoZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBBcnJheShkYXRhLmxlbmd0aCkuZmlsbCgwKS5tYXAoKF8sIGkpID0+IChWZWN0b3IuZnJvbShkYXRhW2ldKSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhcnJheUNhc3QyQ29vcmRpbmF0ZXMoZW1iZWRkaW5nKTtcbiAgICB9XG59XG5jb25zdCBBdmFpbGFibGVSZWR1Y2VycyA9IHtcbiAgICAnVU1BUCc6IE11bHRpVU1BUFJlZHVjZXIsXG4gICAgJ3QtU05FJzogTXVsdGlUU05FUmVkdWNlcixcbn07XG5leHBvcnQgY2xhc3MgTXVsdGlDb2xEaW1SZWR1Y2VyIHtcbiAgICByZWR1Y2VyO1xuICAgIC8qKlxuICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIERpbWVuc2lvbmFsaXR5UmVkdWNlci5cbiAgICogQHBhcmFtIHthbnlbXX0gZGF0YSBWZWN0b3JzIHRvIGVtYmVkLlxuICAgKiBAcGFyYW0ge0tub3duTWV0aG9kc30gbWV0aG9kIEVtYmVkZGluZyBtZXRob2QgdG8gYmUgYXBwbGllZFxuICAgKiBAcGFyYW0ge0tub3duTWV0cmljc30gbWV0cmljIERpc3RhbmNlIG1ldHJpYyB0byBiZSBjb21wdXRlZCBiZXR3ZWVuIGVhY2ggb2YgdGhlIHZlY3RvcnMuXG4gICAqIEBwYXJhbSB7T3B0aW9uc30gW29wdGlvbnNdIE9wdGlvbnMgdG8gcGFzcyB0byB0aGUgaW1wbGVtZW50aW5nIGVtYmVkZGVycy5cbiAgICogQG1lbWJlcm9mIERpbWVuc2lvbmFsaXR5UmVkdWNlclxuICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhLCBtZXRob2QsIG1ldHJpY3MsIHdlaWdodHMsIGRpc3RhbmNlQWdncmVnYXRpb24sIG9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgbWVhc3VyZXMgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaWR4ID0gMDsgaWR4IDwgbWV0cmljcy5sZW5ndGg7ICsraWR4KSB7XG4gICAgICAgICAgICBjb25zdCBtZWFzdXJlID0gbmV3IE1lYXN1cmUobWV0cmljc1tpZHhdKS5nZXRNZWFzdXJlKG9wdGlvbnMuZGlzdGFuY2VGbkFyZ3NbaWR4XSk7XG4gICAgICAgICAgICBtZWFzdXJlcy5wdXNoKG1lYXN1cmUpO1xuICAgICAgICAgICAgbGV0IGJpdEFycmF5TGVuZ3RoID0gMjA0ODtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YVtpZHhdLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRhdGFbaWR4XVtpXSAmJiBkYXRhW2lkeF1baV0uX2xlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBiaXRBcnJheUxlbmd0aCA9IGRhdGFbaWR4XVtpXS5fbGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNCaXRBcnJheU1ldHJpYyhtZXRyaWNzW2lkeF0pKSB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhW2lkeF0ubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGFbaWR4XVtpXSAmJiBkYXRhW2lkeF1baV0uX2RhdGEpXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhW2lkeF1baV0gPSBuZXcgQml0QXJyYXkoZGF0YVtpZHhdW2ldLl9kYXRhLCBkYXRhW2lkeF1baV0uX2xlbmd0aCk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFbaWR4XVtpXSA9IG5ldyBCaXRBcnJheShiaXRBcnJheUxlbmd0aCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChtZXRob2QgPT0gJ1VNQVAnKSB7XG4gICAgICAgICAgICB0aGlzLnJlZHVjZXIgPSBuZXcgTXVsdGlVTUFQUmVkdWNlcih7XG4gICAgICAgICAgICAgICAgZGF0YTogZGF0YSxcbiAgICAgICAgICAgICAgICBkaXN0YW5jZUZuYW1lczogbWV0cmljcyxcbiAgICAgICAgICAgICAgICBkaXN0YW5jZUZuczogbWVhc3VyZXMsXG4gICAgICAgICAgICAgICAgZGlzdGFuY2VGbkFyZ3M6IG9wdGlvbnMuZGlzdGFuY2VGbkFyZ3MsXG4gICAgICAgICAgICAgICAgd2VpZ2h0czogd2VpZ2h0cyxcbiAgICAgICAgICAgICAgICBhZ2dyZWdhdGlvbk1ldGhvZDogZGlzdGFuY2VBZ2dyZWdhdGlvbixcbiAgICAgICAgICAgICAgICAuLi5vcHRpb25zXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChtZXRob2QgPT0gJ3QtU05FJykge1xuICAgICAgICAgICAgdGhpcy5yZWR1Y2VyID0gbmV3IE11bHRpVFNORVJlZHVjZXIoe1xuICAgICAgICAgICAgICAgIGRhdGE6IGRhdGEsXG4gICAgICAgICAgICAgICAgZGlzdGFuY2VGbmFtZXM6IG1ldHJpY3MsXG4gICAgICAgICAgICAgICAgZGlzdGFuY2VGbnM6IG1lYXN1cmVzLFxuICAgICAgICAgICAgICAgIGRpc3RhbmNlRm5BcmdzOiBvcHRpb25zLmRpc3RhbmNlRm5BcmdzLFxuICAgICAgICAgICAgICAgIHdlaWdodHM6IHdlaWdodHMsXG4gICAgICAgICAgICAgICAgYWdncmVnYXRpb25NZXRob2Q6IGRpc3RhbmNlQWdncmVnYXRpb24sXG4gICAgICAgICAgICAgICAgLi4ub3B0aW9uc1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAqIEVtYmVkcyB0aGUgZGF0YSBnaXZlbiBpbnRvIHRoZSB0d28tZGltZW5zaW9uYWwgc3BhY2UgdXNpbmcgdGhlIGNob3NlbiBtZXRob2QuXG4gICAqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gdHJhbnNwb3NlIFdoZXRoZXIgdG8gdHJhbnNmb3JtIGNvb3JkaW5hdGVzIHRvIGhhdmUgY29sdW1ucy1maXJzdCBvcmllbnRhdGlvbi5cbiAgICogQHBhcmFtIHtib29sZWFufSBwYXJhbGxlbERpc3RhbmNlV29ya2VycyBXaGV0aGVyIHRvIHVzZSBwYXJhbGxlbCBkaXN0YW5jZSBjb21wdXRhdGlvbi5cbiAgICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBlbWJlZGRpbmcgbWV0aG9kIHdhcyBub3QgZm91bmQuXG4gICAqIEByZXR1cm4ge2FueX0gQ2FydGVzaWFuIGNvb3JkaW5hdGUgb2YgdGhpcyBlbWJlZGRpbmcgYW5kIGRpc3RhbmNlIG1hdHJpeCB3aGVyZSBhcHBsaWNhYmxlLlxuICAgKiBAbWVtYmVyb2YgRGltZW5zaW9uYWxpdHlSZWR1Y2VyXG4gICAqL1xuICAgIGFzeW5jIHRyYW5zZm9ybSh0cmFuc3Bvc2UgPSBmYWxzZSkge1xuICAgICAgICBpZiAodGhpcy5yZWR1Y2VyID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlZHVjZXIgd2FzIG5vdCBkZWZpbmVkLicpO1xuICAgICAgICBsZXQgZW1iZWRkaW5nID0gYXdhaXQgdGhpcy5yZWR1Y2VyLnRyYW5zZm9ybSgpO1xuICAgICAgICBpZiAodHJhbnNwb3NlKVxuICAgICAgICAgICAgZW1iZWRkaW5nID0gdHJhbnNwb3NlTWF0cml4KGVtYmVkZGluZyk7XG4gICAgICAgIHJldHVybiBlbWJlZGRpbmc7XG4gICAgfVxuICAgIC8qKlxuICAgKiBSZXR1cm5zIG1ldHJpY3MgYXZhaWxhYmxlIGJ5IHR5cGUuXG4gICAqXG4gICAqIEBwYXJhbSB7QXZhaWxhYmxlRGF0YVR5cGVzfSB0eXBlTmFtZSB0eXBlIG5hbWVcbiAgICogQHJldHVybiB7c3RyaW5nW119IE1ldHJpYyBuYW1lcyB3aGljaCBleHBlY3RzIHRoZSBnaXZlbiBkYXRhIHR5cGVcbiAgICogQG1lbWJlcm9mIERpbWVuc2lvbmFsaXR5UmVkdWNlclxuICAgKi9cbiAgICBzdGF0aWMgYXZhaWxhYmxlTWV0cmljc0J5VHlwZSh0eXBlTmFtZSkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoQXZhaWxhYmxlTWV0cmljc1t0eXBlTmFtZV0pO1xuICAgIH1cbiAgICAvKipcbiAgICogUmV0dXJucyBkaW1lbnNpb25hbGl0eSByZWR1Y3Rpb24gbWV0aG9kcyBhdmFpbGFibGUuXG4gICAqXG4gICAqIEByZWFkb25seVxuICAgKiBAbWVtYmVyb2YgRGltZW5zaW9uYWxpdHlSZWR1Y2VyXG4gICAqL1xuICAgIHN0YXRpYyBnZXQgYXZhaWxhYmxlTWV0aG9kcygpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKEF2YWlsYWJsZVJlZHVjZXJzKTtcbiAgICB9XG4gICAgLyoqXG4gICAqIFJldHVybnMgbWV0cmljcyBhdmFpbGFibGUuXG4gICAqXG4gICAqIEByZWFkb25seVxuICAgKiBAbWVtYmVyb2YgRGltZW5zaW9uYWxpdHlSZWR1Y2VyXG4gICAqL1xuICAgIHN0YXRpYyBnZXQgYXZhaWxhYmxlTWV0cmljcygpIHtcbiAgICAgICAgbGV0IGFucyA9IFtdO1xuICAgICAgICBPYmplY3QudmFsdWVzKEF2YWlsYWJsZU1ldHJpY3MpLmZvckVhY2goKG9iaikgPT4ge1xuICAgICAgICAgICAgY29uc3QgYXJyYXkgPSBPYmplY3QudmFsdWVzKG9iaik7XG4gICAgICAgICAgICBhbnMgPSBbLi4uYW5zLCAuLi5hcnJheV07XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gYW5zO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWJYVnNkR2t0WTI5c2RXMXVMV1JwYlMxeVpXUjFZMlZ5TG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2liWFZzZEdrdFkyOXNkVzF1TFdScGJTMXlaV1IxWTJWeUxuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEU5QlFVOHNSVUZCSzBNc1RVRkJUU3hGUVVGVkxFMUJReTlFTEdsRVFVRnBSQ3hEUVVGRE8wRkJRM3BFTEU5QlFVOHNSVUZCUXl4SlFVRkpMRVZCUVVNc1RVRkJUU3hsUVVGbExFTkJRVU03UVVGRGJrTXNUMEZCVHl4RlFVRnhRaXhuUWtGQlowSXNSVUZCWjBJc1QwRkJUeXhGUVVGRkxHZENRVUZuUWl4RlFVRkRMRTFCUVUwc2EwSkJRV3RDTEVOQlFVTTdRVUZETDBjc1QwRkJUeXhGUVVGRExIRkNRVUZ4UWl4RlFVRkZMRzFDUVVGdFFpeEZRVUZETEUxQlFVMHNiMEpCUVc5Q0xFTkJRVU03UVVGRE9VVXNUMEZCVHl4RlFVRkRMSE5DUVVGelFpeEZRVUZETEUxQlFVMHNNRUpCUVRCQ0xFTkJRVU03UVVGRmFFVXNUMEZCVHl4RlFVRkRMRWxCUVVrc1JVRkJReXhOUVVGTkxGTkJRVk1zUTBGQlF6dEJRVU0zUWl4UFFVRlBMRVZCUVVNc1RVRkJUU3hGUVVGRkxHVkJRV1VzUlVGQlF5eE5RVUZOTEdsRVFVRnBSQ3hEUVVGRE8wRkJRM2hHTEU5QlFVOHNSVUZCUXl4dFFrRkJiVUlzUlVGQlF5eE5RVUZOTERCRFFVRXdReXhEUVVGRE8wRkJSVGRGTEU5QlFVOHNVVUZCVVN4TlFVRk5MSGxEUVVGNVF5eERRVUZETzBGQk1rSXZSQ3hOUVVGbExHdENRVUZyUWp0SlFVTnVRaXhKUVVGSkxFTkJRVms3U1VGRGFFSXNUMEZCVHl4RFFVRlhPMGxCUTJ4Q0xHbENRVUZwUWl4RFFVRTBRanRKUVVOMlJDeFpRVUZaTEU5QlFXZENPMUZCUXpGQ0xFbEJRVWtzUTBGQlF5eEpRVUZKTEVkQlFVY3NUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJRenRSUVVONlFpeEpRVUZKTEVOQlFVTXNUMEZCVHl4SFFVRkhMRTlCUVU4c1EwRkJReXhQUVVGUExFTkJRVU03VVVGREwwSXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeEhRVUZITEU5QlFVOHNRMEZCUXl4cFFrRkJhVUlzUTBGQlF6dEpRVU55UkN4RFFVRkRPME5CUzBvN1FVRkZSQ3hOUVVGTkxHZENRVUZwUWl4VFFVRlJMR3RDUVVGclFqdEpRVU51UXl4UFFVRlBMRU5CUVU4N1NVRkRaQ3hWUVVGVkxFTkJRVk03U1VGRGJrSXNZMEZCWXl4RFFVRnBRanRKUVVNdlFpeFhRVUZYTEVOQlFXbERPMGxCUXpWRExHTkJRV01zUTBGQmRVSTdTVUZGTDBNN096czdUMEZKUnp0SlFVTklMRmxCUVZrc1QwRkJaMEk3VVVGRE1VSXNTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8xRkJRMllzU1VGQlNTeERRVUZETEU5QlFVOHNSMEZCUnl4SlFVRkpMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dFJRVU5xUXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hIUVVGSExFOUJRVThzUlVGQlJTeFZRVUZWTEVsQlFVa3NSMEZCUnl4RFFVRkRPMUZCUXpkRExFbEJRVWtzUTBGQlF5eGpRVUZqTEVkQlFVY3NUMEZCVHl4RFFVRkRMR05CUVdNc1EwRkJRenRSUVVNM1F5eEpRVUZKTEVOQlFVTXNWMEZCVnl4SFFVRkhMRTlCUVU4c1EwRkJReXhYUVVGWExFTkJRVU03VVVGRGRrTXNTVUZCU1N4RFFVRkRMR05CUVdNc1IwRkJSeXhQUVVGUExFTkJRVU1zWTBGQll5eERRVUZETzBsQlF5OURMRU5CUVVNN1NVRkZSRHM3T3p0UFFVbEhPMGxCUTBrc1MwRkJTeXhEUVVGRExGTkJRVk03VVVGRGNFSXNTVUZCU1N4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNSMEZCUnl4TFFVRkxPMWxCUXpkQ0xFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVTXNPRU5CUVRoRExFTkJRVU1zUTBGQlF6dFJRVU5zUlN4TlFVRk5MR0ZCUVdFc1IwRkJSeXhKUVVGSkxIRkNRVUZ4UWl4RFFVRkRMRWxCUVVrc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU0zUkN4SlFVRkpPMWxCUTBZc1RVRkJUU3hUUVVGVExFZEJRVWNzYzBKQlFYTkNMRU5CUVVNc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RlFVRkZMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dFpRVU12UlN4TlFVRk5MRk5CUVZNc1IwRkJkMElzUlVGQlJTeERRVUZETzFsQlF6RkRMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlR0blFrRkRla01zVFVGQlRTeEpRVUZKTEVkQlFVY3NUVUZCVFN4aFFVRmhMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExHTkJRV01zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4TFFVRkxMRVZCUVVVc1NVRkJTU3hEUVVGRExHTkJRV01zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVNelJ5eFRRVUZUTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8yRkJRM1JDTzFsQlEwUXNUVUZCVFN4UlFVRlJMRWRCUVVjc1NVRkJTU3haUVVGWkxFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTXZSQ3hMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNN1owSkJRekZETEZGQlFWRXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhUUVVGVExFTkJRVU1zVTBGQlV5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVOMFJDeE5RVUZOTEZkQlFWY3NSMEZCUnl4dFFrRkJiVUlzUTBGQlF5eFJRVUZSTEVWQlFVVXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0WlFVTjJSU3hKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEZsQlFWa3NRMEZCUXl4WFFVRlhMRU5CUVVNc1EwRkJRenRaUVVWMlF5eExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEZWQlFWVXNSVUZCUlN4RlFVRkZMRU5CUVVNN1owSkJRM1JETEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1NVRkJTU3hGUVVGRkxFTkJRVU1zUTBGQlF5eHBSRUZCYVVRN1dVRkRlRVVzWVVGQllTeERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMWxCUXpGQ0xFOUJRVThzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4WFFVRlhMRVZCUVVVc1EwRkJRenRUUVVOdVF6dFJRVUZETEU5QlFVOHNRMEZCUXl4RlFVRkZPMWxCUTFZc1lVRkJZU3hEUVVGRExGTkJRVk1zUlVGQlJTeERRVUZETzFsQlF6RkNMRTFCUVUwc1EwRkJReXhEUVVGRE8xTkJRMVE3U1VGRFNDeERRVUZETzBOQlEwbzdRVUZGUkN4TlFVRk5MR2RDUVVGcFFpeFRRVUZSTEd0Q1FVRnJRanRKUVVOdVF5eFBRVUZQTEVOQlFVODdTVUZEWkN4alFVRmpMRU5CUVdsQ08wbEJReTlDTEZkQlFWY3NRMEZCWVR0SlFVTjRRaXhQUVVGUExFTkJRVmM3U1VGRGJFSXNXVUZCV1N4RFFVRjNSVHRKUVVOd1JpeGpRVUZqTEVOQlFYVkNPMGxCUXk5RE96czdPMDlCU1VjN1NVRkRTQ3haUVVGWkxFOUJRV2RDTzFGQlF6RkNMRXRCUVVzc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dFJRVU5tTEUxQlFVMHNRMEZCUXl4blFrRkJaMElzU1VGQlNTeFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVTndReXhOUVVGTkxFTkJRVU1zWVVGQllTeEpRVUZKTEU5QlFVOHNRMEZCUXl4RFFVRkRPMUZCUTJwRExFbEJRVWtzUTBGQlF5eGpRVUZqTEVkQlFVY3NUMEZCVHl4RFFVRkRMR05CUVdNc1EwRkJRenRSUVVNM1F5eEpRVUZKTEVOQlFVTXNWMEZCVnl4SFFVRkhMRTlCUVU4c1EwRkJReXhYUVVGWkxFTkJRVU03VVVGRGVFTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1IwRkJSeXhQUVVGUExFTkJRVU1zV1VGQldTeERRVUZETzFGQlJYcERMRWxCUVVrc1EwRkJReXhqUVVGakxFZEJRVWNzVDBGQlR5eERRVUZETEdOQlFXVXNRMEZCUXp0UlFVTTVReXhwUmtGQmFVWTdVVUZEYWtZc1NVRkJTU3hEUVVGRExFOUJRVThzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVVjJSU3hKUVVGSkxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hIUVVGSExFVkJRVVU3V1VGRE1VSXNUMEZCVHl4RFFVRkRMRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGREwwTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1IwRkJSeXhKUVVGSkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVTnFReXc0UkVGQk9FUTdTVUZEYUVVc1EwRkJRenRKUVVWRU96czdPMDlCU1VjN1NVRkRTU3hMUVVGTExFTkJRVU1zVTBGQlV5eERRVUZETEhkQ1FVRnJRenRSUVVOMlJDeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhEUVVGRE8xRkJRekZDTEUxQlFVMHNUVUZCVFN4SFFVRkhMRTFCUVUwc1NVRkJTU3h0UWtGQmJVSXNSVUZCUlR0aFFVTXpReXhqUVVGakxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NSVUZCUlN4SlFVRkpMRU5CUVVNc1kwRkJZeXhGUVVGRkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNVMEZCVXl4RlFVTndSU3hKUVVGSkxFTkJRVU1zWTBGQll5eEZRVUZGTEVsQlFVa3NRMEZCUXl4UFFVRlBMRVZCUVVVc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkRMRU5CUVVNN1VVRkRMMFFzVDBGQlR5eERRVUZETEU5QlFVOHNRMEZCUXl4WFFVRlhMRU5CUVVNc1EwRkJRenRSUVVNM1FpeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMR2xDUVVGcFFpeERRVUZETEUxQlFVMHNRMEZCUXl4VlFVRlZMRVZCUVVVc1RVRkJUU3hEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETzFGQlJYWkZMSGRGUVVGM1JUdFJRVU40UlN4TlFVRk5MRWxCUVVrc1QwRkJUeXhEUVVGUExFTkJRVU1zVDBGQlR5eEZRVUZGTEVWQlFVVTdXVUZEYkVNc1ZVRkJWU3hEUVVGRExFZEJRVWNzUlVGQlJUdG5Ra0ZEWkN4UFFVRlBMRVZCUVVVc1EwRkJRenRaUVVOYUxFTkJRVU1zUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTldMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJSVWdzVFVGQlRTeFRRVUZUTEVkQlFVY3NUVUZCVFN4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNc1NVRkJTU3hGUVVGRkxFVkJRVVU3V1VGRGJrVXNTVUZCU1N4SlFVRkpMRU5CUVVNc1dVRkJXVHRuUWtGRGJrSXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhKUVVGSkxFVkJRVVVzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4VlFVRlZMRVZCUVVVc1JVRkJSU3hKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEZsQlFWa3NSVUZCUlN4RFFVRkRMRU5CUVVNN1VVRkRjRVlzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZGU0N4VFFVRlRMSEZDUVVGeFFpeERRVUZETEVsQlFXZENPMWxCUXpkRExFOUJRVThzU1VGQlNTeExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRemxGTEVOQlFVTTdVVUZGUkN4UFFVRlBMSEZDUVVGeFFpeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPMGxCUXpGRExFTkJRVU03UTBGRFNqdEJRVVZFTEUxQlFVMHNhVUpCUVdsQ0xFZEJRVWM3U1VGRGVFSXNUVUZCVFN4RlFVRkZMR2RDUVVGblFqdEpRVU40UWl4UFFVRlBMRVZCUVVVc1owSkJRV2RDTzBOQlF6RkNMRU5CUVVNN1FVRkpSaXhOUVVGTkxFOUJRVThzYTBKQlFXdENPMGxCUTI1Q0xFOUJRVThzUTBGQmFVTTdTVUZEYUVRN096czdPenM3UzBGUFF6dEpRVU5FTEZsQlFWa3NTVUZCYTBJc1JVRkJSU3hOUVVFeVFpeEZRVUZGTEU5QlFYVkNMRVZCUTJ4R0xFOUJRV2xDTEVWQlFVVXNiVUpCUVRoRExFVkJRVVVzVDBGQlowSTdVVUZEYmtZc1RVRkJUU3hSUVVGUkxFZEJRWEZDTEVWQlFVVXNRMEZCUXp0UlFVTjBReXhMUVVGTExFbEJRVWtzUjBGQlJ5eEhRVUZITEVOQlFVTXNSVUZCUlN4SFFVRkhMRWRCUVVjc1QwRkJUeXhEUVVGRExFMUJRVTBzUlVGQlJTeEZRVUZGTEVkQlFVY3NSVUZCUlR0WlFVTTNReXhOUVVGTkxFOUJRVThzUjBGQlJ5eEpRVUZKTEU5QlFVOHNRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eFZRVUZWTEVOQlFVTXNUMEZCVHl4RFFVRkRMR05CUVdNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlEyeEdMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdXVUZEZGtJc1NVRkJTU3hqUVVGakxFZEJRVWNzU1VGQlNTeERRVUZETzFsQlF6RkNMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVWQlFVVXNRMEZCUXl4RlFVRkZPMmRDUVVONlF5eEpRVUZKTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVDBGQlR5eEZRVUZGTzI5Q1FVTjRReXhqUVVGakxFZEJRVWNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFOUJRVThzUTBGQlF6dHZRa0ZEZEVNc1RVRkJUVHRwUWtGRFVEdGhRVU5HTzFsQlEwUXNTVUZCU1N4blFrRkJaMElzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1JVRkJSVHRuUWtGRGJFTXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhOUVVGTkxFVkJRVVVzUlVGQlJTeERRVUZETEVWQlFVVTdiMEpCUTNwRExFbEJRVWtzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhMUVVGTE8zZENRVU53UXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NTVUZCU1N4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRXRCUVVzc1JVRkJSU3hKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03TzNkQ1FVVjBSU3hKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1NVRkJTU3hSUVVGUkxFTkJRVU1zWTBGQll5eERRVUZETEVOQlFVTTdhVUpCUXk5RE8yRkJRMFk3VTBGRFJqdFJRVVZFTEVsQlFVa3NUVUZCVFN4SlFVRkpMRTFCUVUwc1JVRkJSVHRaUVVOd1FpeEpRVUZKTEVOQlFVTXNUMEZCVHl4SFFVRkhMRWxCUVVrc1owSkJRV2RDTEVOQlFVTTdaMEpCUTJ4RExFbEJRVWtzUlVGQlJTeEpRVUZKTzJkQ1FVTldMR05CUVdNc1JVRkJSU3hQUVVGUE8yZENRVU4yUWl4WFFVRlhMRVZCUVVVc1VVRkJVVHRuUWtGRGNrSXNZMEZCWXl4RlFVRkZMRTlCUVU4c1EwRkJReXhqUVVGak8yZENRVU4wUXl4UFFVRlBMRVZCUVVVc1QwRkJUenRuUWtGRGFFSXNhVUpCUVdsQ0xFVkJRVVVzYlVKQlFXMUNPMmRDUVVOMFF5eEhRVUZITEU5QlFVODdZVUZEV0N4RFFVRkRMRU5CUVVNN1UwRkRTanRoUVVGTkxFbEJRVWtzVFVGQlRTeEpRVUZKTEU5QlFVOHNSVUZCUlR0WlFVTTFRaXhKUVVGSkxFTkJRVU1zVDBGQlR5eEhRVUZITEVsQlFVa3NaMEpCUVdkQ0xFTkJRVU03WjBKQlEyeERMRWxCUVVrc1JVRkJSU3hKUVVGSk8yZENRVU5XTEdOQlFXTXNSVUZCUlN4UFFVRlBPMmRDUVVOMlFpeFhRVUZYTEVWQlFVVXNVVUZCVVR0blFrRkRja0lzWTBGQll5eEZRVUZGTEU5QlFVOHNRMEZCUXl4alFVRmpPMmRDUVVOMFF5eFBRVUZQTEVWQlFVVXNUMEZCVHp0blFrRkRhRUlzYVVKQlFXbENMRVZCUVVVc2JVSkJRVzFDTzJkQ1FVTjBReXhIUVVGSExFOUJRVTg3WVVGRFdDeERRVUZETEVOQlFVTTdVMEZEU2p0SlFVTklMRU5CUVVNN1NVRkZSRHM3T3pzN096czdTMEZSUXp0SlFVTk5MRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRVU1zV1VGQmNVSXNTMEZCU3p0UlFVTXZReXhKUVVGSkxFbEJRVWtzUTBGQlF5eFBRVUZQTEV0QlFVc3NVMEZCVXp0WlFVTTFRaXhOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETERCQ1FVRXdRaXhEUVVGRExFTkJRVU03VVVGRk9VTXNTVUZCU1N4VFFVRlRMRWRCUVVjc1RVRkJUU3hKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMUZCUlM5RExFbEJRVWtzVTBGQlV6dFpRVU5ZTEZOQlFWTXNSMEZCUnl4bFFVRmxMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU03VVVGRmVrTXNUMEZCVHl4VFFVRlRMRU5CUVVNN1NVRkRia0lzUTBGQlF6dEpRVVZFT3pzN096czdTMEZOUXp0SlFVTkVMRTFCUVUwc1EwRkJReXh6UWtGQmMwSXNRMEZCUXl4UlFVRTBRanRSUVVONFJDeFBRVUZQTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVOcVJDeERRVUZETzBsQlJVUTdPenM3TzB0QlMwTTdTVUZEUkN4TlFVRk5MRXRCUVVzc1owSkJRV2RDTzFGQlEzcENMRTlCUVU4c1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhEUVVGRE8wbEJRM2hETEVOQlFVTTdTVUZGUkRzN096czdTMEZMUXp0SlFVTkVMRTFCUVUwc1MwRkJTeXhuUWtGQlowSTdVVUZEZWtJc1NVRkJTU3hIUVVGSExFZEJRV0VzUlVGQlJTeERRVUZETzFGQlEzWkNMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eEhRVUZITEVWQlFVVXNSVUZCUlR0WlFVTTVReXhOUVVGTkxFdEJRVXNzUjBGQlJ5eE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRMnBETEVkQlFVY3NSMEZCUnl4RFFVRkRMRWRCUVVjc1IwRkJSeXhGUVVGRkxFZEJRVWNzUzBGQlN5eERRVUZETEVOQlFVTTdVVUZETTBJc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRFNDeFBRVUZQTEVkQlFVY3NRMEZCUXp0SlFVTmlMRU5CUVVNN1EwRkRTaUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3UTI5dmNtUnBibUYwWlhNc0lFUnBjM1JoYm1ObFRXVjBjbWxqTENCTllYUnlhWGdzSUU5d2RHbHZibk1zSUZabFkzUnZjaXdnVm1WamRHOXljMzFjYmlBZ1puSnZiU0FuUUdSaGRHRm5jbTlyTFd4cFluSmhjbWxsY3k5MWRHbHNjeTl6Y21NdmRIbHdaUzFrWldOc1lYSmhkR2x2Ym5Nbk8xeHVhVzF3YjNKMElIdFVVMDVGZlNCbWNtOXRJQ2RBYTJWamEyVnNkQzkwYzI1bEp6dGNibWx0Y0c5eWRDQjdRWFpoYVd4aFlteGxSR0YwWVZSNWNHVnpMQ0JCZG1GcGJHRmliR1ZOWlhSeWFXTnpMQ0JMYm05M2JrMWxkSEpwWTNNc0lFMWxZWE4xY21Vc0lHbHpRbWwwUVhKeVlYbE5aWFJ5YVdOOUlHWnliMjBnSnk0dUwzUjVjR1ZrTFcxbGRISnBZM01uTzF4dWFXMXdiM0owSUh0RWFYTjBZVzVqWlUxaGRISnBlRk5sY25acFkyVXNJR1JwYzNSaGJtTmxUV0YwY21sNFVISnZlSGw5SUdaeWIyMGdKeTR1TDJScGMzUmhibU5sTFcxaGRISnBlQ2M3WEc1cGJYQnZjblFnZTJkbGRFRm5aM0psWjJGMGFXOXVSblZ1WTNScGIyNTlJR1p5YjIwZ0p5NHVMMlJwYzNSaGJtTmxMVzFoZEhKcGVDOTFkR2xzY3ljN1hHNXBiWEJ2Y25RZ2UwUnBjM1JoYm1ObFFXZG5jbVZuWVhScGIyNU5aWFJvYjJSOUlHWnliMjBnSnk0dUwyUnBjM1JoYm1ObExXMWhkSEpwZUM5MGVYQmxjeWM3WEc1cGJYQnZjblFnZTFWTlFWQjlJR1p5YjIwZ0p5NHVMM1Z0WVhBbk8xeHVhVzF3YjNKMElIdGhjM05sY25Rc0lIUnlZVzV6Y0c5elpVMWhkSEpwZUgwZ1puSnZiU0FuUUdSaGRHRm5jbTlyTFd4cFluSmhjbWxsY3k5MWRHbHNjeTl6Y21NdmRtVmpkRzl5TFc5d1pYSmhkR2x2Ym5Nbk8xeHVhVzF3YjNKMElIdFRjR0Z5YzJWTllYUnlhWGhUWlhKMmFXTmxmU0JtY205dElDY3VMaTlrYVhOMFlXNWpaUzF0WVhSeWFYZ3ZjM0JoY25ObExXMWhkSEpwZUMxelpYSjJhV05sSnp0Y2JtbHRjRzl5ZENCN1JHbHRVbVZrZFdOMGFXOXVUV1YwYUc5a2MzMGdabkp2YlNBbkxpOTBlWEJsY3ljN1hHNXBiWEJ2Y25RZ1FtbDBRWEp5WVhrZ1puSnZiU0FuUUdSaGRHRm5jbTlyTFd4cFluSmhjbWxsY3k5MWRHbHNjeTl6Y21NdlltbDBMV0Z5Y21GNUp6dGNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdTVlZOUVZCUGNIUnBiMjV6SUh0Y2JpQWdJQ0JzWldGeWJtbHVaMUpoZEdVL09pQnVkVzFpWlhJN1hHNGdJQ0FnYmtOdmJYQnZibVZ1ZEhNL09pQnVkVzFpWlhJN1hHNGdJQ0FnYmtWd2IyTm9jejg2SUc1MWJXSmxjanRjYmlBZ0lDQnVUbVZwWjJoaWIzSnpQem9nYm5WdFltVnlPMXh1SUNBZ0lITndjbVZoWkQ4NklHNTFiV0psY2p0Y2JpQWdJQ0J0YVc1RWFYTjBQem9nYm5WdFltVnlPMXh1SUNBZ0lIQnliMmR5WlhOelJuVnVZejg2SUNobGNHOWpPaUJ1ZFcxaVpYSXNJR1Z3YjJOb2MweGxibWQwYURvZ2JuVnRZbVZ5TENCbGJXSmxaR1JwYm1kek9pQnVkVzFpWlhKYlhWdGRLU0E5UGlCMmIybGtPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFbFVVMDVGVDNCMGFXOXVjeUI3WEc0Z0lDQWdaWEJ6YVd4dmJqODZJRzUxYldKbGNqdGNiaUFnSUNCd1pYSndiR1Y0YVhSNVB6b2diblZ0WW1WeU8xeHVJQ0FnSUdScGJUODZJRzUxYldKbGNqdGNibjFjYmx4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCSlJHbHRVbVZrZFdOMGFXOXVVR0Z5WVcwZ2UxeHVJQ0FnSUhWcFRtRnRaVG9nYzNSeWFXNW5PMXh1SUNBZ0lIWmhiSFZsT2lCdWRXMWlaWElnZkNCdWRXeHNPMXh1SUNBZ0lIUnZiMngwYVhBNklITjBjbWx1Wnp0Y2JpQWdJQ0J3YkdGalpXaHZiR1JsY2o4NklITjBjbWx1Wnp0Y2JpQWdJQ0J0YVc0L09pQnVkVzFpWlhJN1hHNGdJQ0FnYldGNFB6b2diblZ0WW1WeU8xeHVJQ0FnSUhOMFpYQS9PaUJ1ZFcxaVpYSTdYRzU5WEc1Y2JtRmljM1J5WVdOMElHTnNZWE56SUUxMWJIUnBRMjlzZFcxdVVtVmtkV05sY2lCN1hHNGdJQ0FnY0hKdmRHVmpkR1ZrSUdSaGRHRTZJRlpsWTNSdmNuTmJYVHRjYmlBZ0lDQndjbTkwWldOMFpXUWdkMlZwWjJoMGN6b2diblZ0WW1WeVcxMDdYRzRnSUNBZ2NISnZkR1ZqZEdWa0lHRm5aM0psWjJGMGFXOXVUV1YwYUc5a09pQkVhWE4wWVc1alpVRm5aM0psWjJGMGFXOXVUV1YwYUc5a08xeHVJQ0FnSUdOdmJuTjBjblZqZEc5eUtHOXdkR2x2Ym5NNklFOXdkR2x2Ym5NcElIdGNiaUFnSUNBZ0lIUm9hWE11WkdGMFlTQTlJRzl3ZEdsdmJuTXVaR0YwWVR0Y2JpQWdJQ0FnSUhSb2FYTXVkMlZwWjJoMGN5QTlJRzl3ZEdsdmJuTXVkMlZwWjJoMGN6dGNiaUFnSUNBZ0lIUm9hWE11WVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlFnUFNCdmNIUnBiMjV6TG1GblozSmxaMkYwYVc5dVRXVjBhRzlrTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzhxS2lCRmJXSmxaSE1nZEdobElHUmhkR0VnWjJsMlpXNGdhVzUwYnlCMGFHVWdkSGR2TFdScGJXVnVjMmx2Ym1Gc0lITndZV05sTGx4dUlDQWdJQ0FxSUVCeVpYUjFjbTRnZTJGdWVYMGdRMkZ5ZEdWemFXRnVJR052YjNKa2FXNWhkR1VnYjJZZ2RHaHBjeUJsYldKbFpHUnBibWNnWVc1a0lHUnBjM1JoYm1ObElHMWhkSEpwZUNCM2FHVnlaU0JoY0hCc2FXTmhZbXhsTGlBcUwxeHVJQ0FnSUdGaWMzUnlZV04wSUhSeVlXNXpabTl5YlNncE9pQlFjbTl0YVhObFBFMWhkSEpwZUQ0N1hHNTlYRzVjYm1Oc1lYTnpJRTExYkhScFZGTk9SVkpsWkhWalpYSWdaWGgwWlc1a2N5Qk5kV3gwYVVOdmJIVnRibEpsWkhWalpYSWdlMXh1SUNBZ0lIQnliM1JsWTNSbFpDQnlaV1IxWTJWeU9pQlVVMDVGTzF4dUlDQWdJSEJ5YjNSbFkzUmxaQ0JwZEdWeVlYUnBiMjV6T2lCdWRXMWlaWEk3WEc0Z0lDQWdjSEp2ZEdWamRHVmtJR1JwYzNSaGJtTmxSbTVoYldWek9pQkxibTkzYmsxbGRISnBZM05iWFR0Y2JpQWdJQ0J3Y205MFpXTjBaV1FnWkdsemRHRnVZMlZHYm5NNklDZ29ZVG9nWVc1NUxDQmlPaUJoYm5rcElEMCtJRzUxYldKbGNpbGJYVHRjYmlBZ0lDQndjbTkwWldOMFpXUWdaR2x6ZEdGdVkyVkdia0Z5WjNNNklIdGJYem9nYzNSeWFXNW5YVG9nWVc1NWZWdGRPMXh1WEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nUTNKbFlYUmxjeUJoYmlCcGJuTjBZVzVqWlNCdlppQlVVMDVGVW1Wa2RXTmxjaTVjYmlBZ0lDQWdLaUJBY0dGeVlXMGdlMDl3ZEdsdmJuTjlJRzl3ZEdsdmJuTWdUM0IwYVc5dWN5QjBieUJ3WVhOeklIUnZJSFJvWlNCamIyNXpkSEoxWTNSdmNpNWNiaUFnSUNBZ0tpQkFiV1Z0WW1WeWIyWWdWRk5PUlZKbFpIVmpaWEpjYmlBZ0lDQWdLaTljYmlBZ0lDQmpiMjV6ZEhKMVkzUnZjaWh2Y0hScGIyNXpPaUJQY0hScGIyNXpLU0I3WEc0Z0lDQWdJQ0J6ZFhCbGNpaHZjSFJwYjI1ektUdGNiaUFnSUNBZ0lIUm9hWE11Y21Wa2RXTmxjaUE5SUc1bGR5QlVVMDVGS0c5d2RHbHZibk1wTzF4dUlDQWdJQ0FnZEdocGN5NXBkR1Z5WVhScGIyNXpJRDBnYjNCMGFXOXVjejh1YVhSbGNtRjBhVzl1Y3lBL1B5QXhNREE3WEc0Z0lDQWdJQ0IwYUdsekxtUnBjM1JoYm1ObFJtNWhiV1Z6SUQwZ2IzQjBhVzl1Y3k1a2FYTjBZVzVqWlVadVlXMWxjenRjYmlBZ0lDQWdJSFJvYVhNdVpHbHpkR0Z1WTJWR2JuTWdQU0J2Y0hScGIyNXpMbVJwYzNSaGJtTmxSbTV6TzF4dUlDQWdJQ0FnZEdocGN5NWthWE4wWVc1alpVWnVRWEpuY3lBOUlHOXdkR2x2Ym5NdVpHbHpkR0Z1WTJWR2JrRnlaM003WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nUlcxaVpXUnpJSFJvWlNCa1lYUmhJR2RwZG1WdUlHbHVkRzhnZEdobElIUjNieTFrYVcxbGJuTnBiMjVoYkNCemNHRmpaU0IxYzJsdVp5QjBMVk5PUlNCdFpYUm9iMlF1WEZ4Y2JpQWdJQ0FnS2lCQWNHRnlZVzBnZTJKdmIyeGxZVzU5SUZ0d1lYSmhiR3hsYkVScGMzUmhibU5sVjI5eWEyVnljMTBnVjJobGRHaGxjaUIwYnlCMWMyVWdjR0Z5WVd4c1pXd2daR2x6ZEdGdVkyVWdkMjl5YTJWeWN5NWNiaUFnSUNBZ0tpQkFjbVYwZFhKdUlIdGhibmw5SUVOaGNuUmxjMmxoYmlCamIyOXlaR2x1WVhSbElHOW1JSFJvYVhNZ1pXMWlaV1JrYVc1bklHRnVaQ0JrYVhOMFlXNWpaU0J0WVhSeWFYZ2dkMmhsY21VZ1lYQndiR2xqWVdKc1pTNWNiaUFnSUNBZ0tpOWNiaUFnSUNCd2RXSnNhV01nWVhONWJtTWdkSEpoYm5ObWIzSnRLQ2s2SUZCeWIyMXBjMlU4VFdGMGNtbDRQaUI3WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTVrWVhSaFd6QmRMbXhsYm1kMGFDQStJREV3TURBd0tWeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0owMWhlR2x0ZFcwZ2JuVnRZbVZ5SUc5bUlITmhiWEJzWlhNZ1ptOXlJRlF0VTA1RklHbHpJREV3TURBd0p5azdYRzRnSUNBZ0lDQmpiMjV6ZENCdFlYUnlhWGhUWlhKMmFXTmxJRDBnYm1WM0lFUnBjM1JoYm1ObFRXRjBjbWw0VTJWeWRtbGpaU2gwY25WbExDQm1ZV3h6WlNrN1hHNGdJQ0FnSUNCMGNua2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQmhaMmR5WldkaGRHVWdQU0JuWlhSQloyZHlaV2RoZEdsdmJrWjFibU4wYVc5dUtIUm9hWE11WVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlFzSUhSb2FYTXVkMlZwWjJoMGN5azdYRzRnSUNBZ0lDQWdJR052Ym5OMElHUnBjM1JoYm1ObGN6b2dRWEp5WVhrOFJteHZZWFF6TWtGeWNtRjVQaUE5SUZ0ZE8xeHVJQ0FnSUNBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJSFJvYVhNdVpHRjBZUzVzWlc1bmRHZzdJQ3NyYVNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR052Ym5OMElHUnBjM1FnUFNCaGQyRnBkQ0J0WVhSeWFYaFRaWEoyYVdObExtTmhiR01vZEdocGN5NWtZWFJoVzJsZExDQjBhR2x6TG1ScGMzUmhibU5sUm01aGJXVnpXMmxkTENCbVlXeHpaU3dnZEdocGN5NWthWE4wWVc1alpVWnVRWEpuYzF0cFhTazdYRzRnSUNBZ0lDQWdJQ0FnWkdsemRHRnVZMlZ6TG5CMWMyZ29aR2x6ZENrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1pHbHpkR0Z1WTJVZ1BTQnVaWGNnUm14dllYUXpNa0Z5Y21GNUtHUnBjM1JoYm1ObGMxc3dYUzVzWlc1bmRHZ3BMbVpwYkd3b01DazdYRzRnSUNBZ0lDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnWkdsemRHRnVZMlZ6V3pCZExteGxibWQwYURzZ0t5dHBLVnh1SUNBZ0lDQWdJQ0FnSUdScGMzUmhibU5sVzJsZElEMGdZV2RuY21WbllYUmxLR1JwYzNSaGJtTmxjeTV0WVhBb0tHUXBJRDArSUdSYmFWMHBLVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdiV0YwY21sNFVISnZlSGtnUFNCa2FYTjBZVzVqWlUxaGRISnBlRkJ5YjNoNUtHUnBjM1JoYm1ObExDQjBhR2x6TG1SaGRHRmJNRjB1YkdWdVozUm9LVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NXlaV1IxWTJWeUxtbHVhWFJFWVhSaFJHbHpkQ2h0WVhSeWFYaFFjbTk0ZVNrN1hHNWNiaUFnSUNBZ0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0IwYUdsekxtbDBaWEpoZEdsdmJuTTdJQ3NyYVNsY2JpQWdJQ0FnSUNBZ0lDQjBhR2x6TG5KbFpIVmpaWEl1YzNSbGNDZ3BPeUF2THlCbGRtVnllU0IwYVcxbElIbHZkU0JqWVd4c0lIUm9hWE1zSUhOdmJIVjBhVzl1SUdkbGRITWdZbVYwZEdWeVhHNGdJQ0FnSUNBZ0lHMWhkSEpwZUZObGNuWnBZMlV1ZEdWeWJXbHVZWFJsS0NrN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkhWalpYSXVaMlYwVTI5c2RYUnBiMjRvS1R0Y2JpQWdJQ0FnSUgwZ1kyRjBZMmdnS0dVcElIdGNiaUFnSUNBZ0lDQWdiV0YwY21sNFUyVnlkbWxqWlM1MFpYSnRhVzVoZEdVb0tUdGNiaUFnSUNBZ0lDQWdkR2h5YjNjZ1pUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNTlYRzVjYm1Oc1lYTnpJRTExYkhScFZVMUJVRkpsWkhWalpYSWdaWGgwWlc1a2N5Qk5kV3gwYVVOdmJIVnRibEpsWkhWalpYSWdlMXh1SUNBZ0lIQnliM1JsWTNSbFpDQnlaV1IxWTJWeU9pQlZUVUZRTzF4dUlDQWdJSEJ5YjNSbFkzUmxaQ0JrYVhOMFlXNWpaVVp1WVcxbGN6b2dTMjV2ZDI1TlpYUnlhV056VzEwN1hHNGdJQ0FnY0hKdmRHVmpkR1ZrSUdScGMzUmhibU5sUm01ek9pQkdkVzVqZEdsdmJsdGRPMXh1SUNBZ0lIQnliM1JsWTNSbFpDQjJaV04wYjNKek9pQnVkVzFpWlhKYlhUdGNiaUFnSUNCd2NtOTBaV04wWldRZ2NISnZaM0psYzNOR2RXNWpQem9nS0dWd2IyTTZJRzUxYldKbGNpd2daWEJ2WTJoelRHVnVaM1JvT2lCdWRXMWlaWElzSUdWdFltVmtaR2x1WjNNNklHNTFiV0psY2x0ZFcxMHBJRDArSUhadmFXUTdYRzRnSUNBZ2NISnZkR1ZqZEdWa0lHUnBjM1JoYm1ObFJtNUJjbWR6T2lCN1cxODZJSE4wY21sdVoxMDZJR0Z1ZVgxYlhUdGNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkRjbVZoZEdWeklHRnVJR2x1YzNSaGJtTmxJRzltSUZWTlFWQlNaV1IxWTJWeUxseHVJQ0FnSUNBcUlFQndZWEpoYlNCN1QzQjBhVzl1YzMwZ2IzQjBhVzl1Y3lCUGNIUnBiMjV6SUhSdklIQmhjM01nZEc4Z2RHaGxJR052Ym5OMGNuVmpkRzl5TGx4dUlDQWdJQ0FxSUVCdFpXMWlaWEp2WmlCVlRVRlFVbVZrZFdObGNseHVJQ0FnSUNBcUwxeHVJQ0FnSUdOdmJuTjBjblZqZEc5eUtHOXdkR2x2Ym5NNklFOXdkR2x2Ym5NcElIdGNiaUFnSUNBZ0lITjFjR1Z5S0c5d2RHbHZibk1wTzF4dUlDQWdJQ0FnWVhOelpYSjBLQ2RrYVhOMFlXNWpaVVp1WVcxbGN5Y2dhVzRnYjNCMGFXOXVjeWs3WEc0Z0lDQWdJQ0JoYzNObGNuUW9KMlJwYzNSaGJtTmxSbTV6SnlCcGJpQnZjSFJwYjI1ektUdGNiaUFnSUNBZ0lIUm9hWE11WkdsemRHRnVZMlZHYmtGeVozTWdQU0J2Y0hScGIyNXpMbVJwYzNSaGJtTmxSbTVCY21kek8xeHVJQ0FnSUNBZ2RHaHBjeTVrYVhOMFlXNWpaVVp1Y3lBOUlHOXdkR2x2Ym5NdVpHbHpkR0Z1WTJWR2JuTWhPMXh1SUNBZ0lDQWdkR2hwY3k1d2NtOW5jbVZ6YzBaMWJtTWdQU0J2Y0hScGIyNXpMbkJ5YjJkeVpYTnpSblZ1WXp0Y2JseHVJQ0FnSUNBZ2RHaHBjeTVrYVhOMFlXNWpaVVp1WVcxbGN5QTlJRzl3ZEdsdmJuTXVaR2x6ZEdGdVkyVkdibUZ0WlhNaE8xeHVJQ0FnSUNBZ0x5OVZiV0Z3SUhWelpYTWdkbVZqZEc5eUlHbHVaR1Y0YVc1bkxDQnpieUIzWlNCdVpXVmtJSFJ2SUdOeVpXRjBaU0JoYmlCaGNuSmhlU0J2WmlCMlpXTjBiM0p6SUdGeklHbHVaR1ZqWlhNdVhHNGdJQ0FnSUNCMGFHbHpMblpsWTNSdmNuTWdQU0J1WlhjZ1FYSnlZWGtvZEdocGN5NWtZWFJoV3pCZExteGxibWQwYUNrdVptbHNiQ2d3S1M1dFlYQW9LRjhzSUdrcElEMCtJR2twTzF4dVhHNGdJQ0FnSUNCcFppQW9kR2hwY3k1a1lYUmhXekJkTG14bGJtZDBhQ0E4SURFMUtWeHVJQ0FnSUNBZ0lDQnZjSFJwYjI1ekxtNU9aV2xuYUdKdmNuTWdQU0IwYUdsekxtUmhkR0ZiTUYwdWJHVnVaM1JvSUMwZ01UdGNiaUFnSUNBZ0lIUm9hWE11Y21Wa2RXTmxjaUE5SUc1bGR5QlZUVUZRS0c5d2RHbHZibk1wTzF4dUlDQWdJQ0FnTHk4Z2RHaHBjeTV5WldSMVkyVnlMbVJwYzNSaGJtTmxSbTRnUFNCMGFHbHpMbDlsYm1OdlpHVmtSR2x6ZEdGdVkyVXVZbWx1WkNoMGFHbHpLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJGYldKbFpITWdkR2hsSUdSaGRHRWdaMmwyWlc0Z2FXNTBieUIwYUdVZ2RIZHZMV1JwYldWdWMybHZibUZzSUhOd1lXTmxJSFZ6YVc1bklGVk5RVkFnYldWMGFHOWtMbHh1SUNBZ0lDQXFJRUJ3WVhKaGJTQjdZbTl2YkdWaGJuMGdXMTl3WVhKaGJHeGxiRVJwYzNSaGJtTmxWMjl5YTJWeWMxMGdWMmhsZEdobGNpQjBieUIxYzJVZ2NHRnlZV3hzWld3Z1pHbHpkR0Z1WTJVZ2JXRjBjbWw0SUhkdmNtdGxjbk11WEc0Z0lDQWdJQ29nUUhKbGRIVnliaUI3WVc1NWZTQkRZWEowWlhOcFlXNGdZMjl2Y21ScGJtRjBaU0J2WmlCMGFHbHpJR1Z0WW1Wa1pHbHVaeTVjYmlBZ0lDQWdLaTljYmlBZ0lDQndkV0pzYVdNZ1lYTjVibU1nZEhKaGJuTm1iM0p0S0Y5d1lYSmhiR3hsYkVScGMzUmhibU5sVjI5eWEyVnljejg2SUdKdmIyeGxZVzRwT2lCUWNtOXRhWE5sUEUxaGRISnBlRDRnZTF4dUlDQWdJQ0FnWTI5dWMyOXNaUzUwYVcxbEtDZHJibTRnWjNKaGNHZ25LVHRjYmlBZ0lDQWdJR052Ym5OMElHdHVibEpsY3lBOUlHRjNZV2wwSUc1bGR5QlRjR0Z5YzJWTllYUnlhWGhUWlhKMmFXTmxLQ2xjYmlBZ0lDQWdJQ0FnTG0xMWJIUnBRMjlzZFcxdVMwNU9LSFJvYVhNdVpHRjBZU3dnZEdocGN5NWthWE4wWVc1alpVWnVZVzFsY3l3Z2RHaHBjeTV5WldSMVkyVnlMbTVsYVdkb1ltOXljeXhjYmlBZ0lDQWdJQ0FnSUNCMGFHbHpMbVJwYzNSaGJtTmxSbTVCY21kekxDQjBhR2x6TG5kbGFXZG9kSE1zSUhSb2FYTXVZV2RuY21WbllYUnBiMjVOWlhSb2IyUXBPMXh1SUNBZ0lDQWdZMjl1YzI5c1pTNTBhVzFsUlc1a0tDZHJibTRnWjNKaGNHZ25LVHRjYmlBZ0lDQWdJSFJvYVhNdWNtVmtkV05sY2k1elpYUlFjbVZqYjIxd2RYUmxaRXRPVGlocmJtNVNaWE11YTI1dVNXNWtaWGhsY3l3Z2EyNXVVbVZ6TG10dWJrUnBjM1JoYm1ObGN5azdYRzVjYmlBZ0lDQWdJQzh2SUc1bFpXUmxaQ0J6YnlCMGFHRjBJR2RoY21KaFoyVWdZMjlzYkdWamRHOXlJR05oYmlCbWNtVmxJRzFsYlc5eWVTQm1jbTl0SUdScGMzUmhibU5sSUcxaGRISnBlRnh1SUNBZ0lDQWdZWGRoYVhRZ2JtVjNJRkJ5YjIxcGMyVThkbTlwWkQ0b0tISmxjMjlzZG1VcElEMCtJSHRjYmlBZ0lDQWdJQ0FnYzJWMFZHbHRaVzkxZENnb0tTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ2NtVnpiMngyWlNncE8xeHVJQ0FnSUNBZ0lDQjlMQ0F6TURBcE8xeHVJQ0FnSUNBZ2ZTazdYRzVjYmlBZ0lDQWdJR052Ym5OMElHVnRZbVZrWkdsdVp5QTlJR0YzWVdsMElIUm9hWE11Y21Wa2RXTmxjaTVtYVhSQmMzbHVZeWgwYUdsekxuWmxZM1J2Y25Nc0lDaGxjRzlqS1NBOVBpQjdYRzRnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbkJ5YjJkeVpYTnpSblZ1WXlsY2JpQWdJQ0FnSUNBZ0lDQjBhR2x6TG5CeWIyZHlaWE56Um5WdVl5aGxjRzlqTENCMGFHbHpMbkpsWkhWalpYSXVaMlYwVGtWd2IyTm9jeWdwTENCMGFHbHpMbkpsWkhWalpYSXVaMlYwUlcxaVpXUmthVzVuS0NrcE8xeHVJQ0FnSUNBZ2ZTazdYRzVjYmlBZ0lDQWdJR1oxYm1OMGFXOXVJR0Z5Y21GNVEyRnpkREpEYjI5eVpHbHVZWFJsY3loa1lYUmhPaUJ1ZFcxaVpYSmJYVnRkS1RvZ1EyOXZjbVJwYm1GMFpYTWdlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdibVYzSUVGeWNtRjVLR1JoZEdFdWJHVnVaM1JvS1M1bWFXeHNLREFwTG0xaGNDZ29YeXdnYVNrZ1BUNGdLRlpsWTNSdmNpNW1jbTl0S0dSaGRHRmJhVjBwS1NrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCaGNuSmhlVU5oYzNReVEyOXZjbVJwYm1GMFpYTW9aVzFpWldSa2FXNW5LVHRjYmlBZ0lDQjlYRzU5WEc1Y2JtTnZibk4wSUVGMllXbHNZV0pzWlZKbFpIVmpaWEp6SUQwZ2UxeHVJQ0FuVlUxQlVDYzZJRTExYkhScFZVMUJVRkpsWkhWalpYSXNYRzRnSUNkMExWTk9SU2M2SUUxMWJIUnBWRk5PUlZKbFpIVmpaWElzWEc1OU8xeHVYRzVsZUhCdmNuUWdkSGx3WlNCTGJtOTNiazFsZEdodlpITWdQU0JyWlhsdlppQjBlWEJsYjJZZ1FYWmhhV3hoWW14bFVtVmtkV05sY25NN1hHNWNibVY0Y0c5eWRDQmpiR0Z6Y3lCTmRXeDBhVU52YkVScGJWSmxaSFZqWlhJZ2UxeHVJQ0FnSUhCeWFYWmhkR1VnY21Wa2RXTmxjam9nVFhWc2RHbERiMngxYlc1U1pXUjFZMlZ5SUh3Z2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUM4cUtseHVJQ0FnS2lCRGNtVmhkR1Z6SUdGdUlHbHVjM1JoYm1ObElHOW1JRVJwYldWdWMybHZibUZzYVhSNVVtVmtkV05sY2k1Y2JpQWdJQ29nUUhCaGNtRnRJSHRoYm5sYlhYMGdaR0YwWVNCV1pXTjBiM0p6SUhSdklHVnRZbVZrTGx4dUlDQWdLaUJBY0dGeVlXMGdlMHR1YjNkdVRXVjBhRzlrYzMwZ2JXVjBhRzlrSUVWdFltVmtaR2x1WnlCdFpYUm9iMlFnZEc4Z1ltVWdZWEJ3YkdsbFpGeHVJQ0FnS2lCQWNHRnlZVzBnZTB0dWIzZHVUV1YwY21samMzMGdiV1YwY21saklFUnBjM1JoYm1ObElHMWxkSEpwWXlCMGJ5QmlaU0JqYjIxd2RYUmxaQ0JpWlhSM1pXVnVJR1ZoWTJnZ2IyWWdkR2hsSUhabFkzUnZjbk11WEc0Z0lDQXFJRUJ3WVhKaGJTQjdUM0IwYVc5dWMzMGdXMjl3ZEdsdmJuTmRJRTl3ZEdsdmJuTWdkRzhnY0dGemN5QjBieUIwYUdVZ2FXMXdiR1Z0Wlc1MGFXNW5JR1Z0WW1Wa1pHVnljeTVjYmlBZ0lDb2dRRzFsYldKbGNtOW1JRVJwYldWdWMybHZibUZzYVhSNVVtVmtkV05sY2x4dUlDQWdLaTljYmlBZ0lDQmpiMjV6ZEhKMVkzUnZjaWhrWVhSaE9pQkJjbkpoZVR4aGJubGJYVDRzSUcxbGRHaHZaRG9nUkdsdFVtVmtkV04wYVc5dVRXVjBhRzlrY3l3Z2JXVjBjbWxqY3pvZ1MyNXZkMjVOWlhSeWFXTnpXMTBzWEc0Z0lDQWdJQ0IzWldsbmFIUnpPaUJ1ZFcxaVpYSmJYU3dnWkdsemRHRnVZMlZCWjJkeVpXZGhkR2x2YmpvZ1JHbHpkR0Z1WTJWQloyZHlaV2RoZEdsdmJrMWxkR2h2WkN3Z2IzQjBhVzl1Y3pvZ1QzQjBhVzl1Y3lrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnYldWaGMzVnlaWE02SUVScGMzUmhibU5sVFdWMGNtbGpXMTBnUFNCYlhUdGNiaUFnSUNBZ0lHWnZjaUFvYkdWMElHbGtlQ0E5SURBN0lHbGtlQ0E4SUcxbGRISnBZM011YkdWdVozUm9PeUFySzJsa2VDa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnRaV0Z6ZFhKbElEMGdibVYzSUUxbFlYTjFjbVVvYldWMGNtbGpjMXRwWkhoZEtTNW5aWFJOWldGemRYSmxLRzl3ZEdsdmJuTXVaR2x6ZEdGdVkyVkdia0Z5WjNOYmFXUjRYU2s3WEc0Z0lDQWdJQ0FnSUcxbFlYTjFjbVZ6TG5CMWMyZ29iV1ZoYzNWeVpTazdYRzRnSUNBZ0lDQWdJR3hsZENCaWFYUkJjbkpoZVV4bGJtZDBhQ0E5SURJd05EZzdYRzRnSUNBZ0lDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnWkdGMFlWdHBaSGhkTG14bGJtZDBhRHNnS3l0cEtTQjdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHUmhkR0ZiYVdSNFhWdHBYU0FtSmlCa1lYUmhXMmxrZUYxYmFWMHVYMnhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1ltbDBRWEp5WVhsTVpXNW5kR2dnUFNCa1lYUmhXMmxrZUYxYmFWMHVYMnhsYm1kMGFEdGNiaUFnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQnBaaUFvYVhOQ2FYUkJjbkpoZVUxbGRISnBZeWh0WlhSeWFXTnpXMmxrZUYwcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCa1lYUmhXMmxrZUYwdWJHVnVaM1JvT3lBcksya3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hrWVhSaFcybGtlRjFiYVYwZ0ppWWdaR0YwWVZ0cFpIaGRXMmxkTGw5a1lYUmhLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmtZWFJoVzJsa2VGMWJhVjBnUFNCdVpYY2dRbWwwUVhKeVlYa29aR0YwWVZ0cFpIaGRXMmxkTGw5a1lYUmhMQ0JrWVhSaFcybGtlRjFiYVYwdVgyeGxibWQwYUNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdSaGRHRmJhV1I0WFZ0cFhTQTlJRzVsZHlCQ2FYUkJjbkpoZVNoaWFYUkJjbkpoZVV4bGJtZDBhQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR2xtSUNodFpYUm9iMlFnUFQwZ0oxVk5RVkFuS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11Y21Wa2RXTmxjaUE5SUc1bGR5Qk5kV3gwYVZWTlFWQlNaV1IxWTJWeUtIdGNiaUFnSUNBZ0lDQWdJQ0JrWVhSaE9pQmtZWFJoTEZ4dUlDQWdJQ0FnSUNBZ0lHUnBjM1JoYm1ObFJtNWhiV1Z6T2lCdFpYUnlhV056TEZ4dUlDQWdJQ0FnSUNBZ0lHUnBjM1JoYm1ObFJtNXpPaUJ0WldGemRYSmxjeXhjYmlBZ0lDQWdJQ0FnSUNCa2FYTjBZVzVqWlVadVFYSm5jem9nYjNCMGFXOXVjeTVrYVhOMFlXNWpaVVp1UVhKbmN5eGNiaUFnSUNBZ0lDQWdJQ0IzWldsbmFIUnpPaUIzWldsbmFIUnpMRnh1SUNBZ0lDQWdJQ0FnSUdGblozSmxaMkYwYVc5dVRXVjBhRzlrT2lCa2FYTjBZVzVqWlVGblozSmxaMkYwYVc5dUxGeHVJQ0FnSUNBZ0lDQWdJQzR1TG05d2RHbHZibk5jYmlBZ0lDQWdJQ0FnZlNrN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tHMWxkR2h2WkNBOVBTQW5kQzFUVGtVbktTQjdYRzRnSUNBZ0lDQWdJSFJvYVhNdWNtVmtkV05sY2lBOUlHNWxkeUJOZFd4MGFWUlRUa1ZTWldSMVkyVnlLSHRjYmlBZ0lDQWdJQ0FnSUNCa1lYUmhPaUJrWVhSaExGeHVJQ0FnSUNBZ0lDQWdJR1JwYzNSaGJtTmxSbTVoYldWek9pQnRaWFJ5YVdOekxGeHVJQ0FnSUNBZ0lDQWdJR1JwYzNSaGJtTmxSbTV6T2lCdFpXRnpkWEpsY3l4Y2JpQWdJQ0FnSUNBZ0lDQmthWE4wWVc1alpVWnVRWEpuY3pvZ2IzQjBhVzl1Y3k1a2FYTjBZVzVqWlVadVFYSm5jeXhjYmlBZ0lDQWdJQ0FnSUNCM1pXbG5hSFJ6T2lCM1pXbG5hSFJ6TEZ4dUlDQWdJQ0FnSUNBZ0lHRm5aM0psWjJGMGFXOXVUV1YwYUc5a09pQmthWE4wWVc1alpVRm5aM0psWjJGMGFXOXVMRnh1SUNBZ0lDQWdJQ0FnSUM0dUxtOXdkR2x2Ym5OY2JpQWdJQ0FnSUNBZ2ZTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5b3FYRzRnSUNBcUlFVnRZbVZrY3lCMGFHVWdaR0YwWVNCbmFYWmxiaUJwYm5SdklIUm9aU0IwZDI4dFpHbHRaVzV6YVc5dVlXd2djM0JoWTJVZ2RYTnBibWNnZEdobElHTm9iM05sYmlCdFpYUm9iMlF1WEc0Z0lDQXFYRzRnSUNBcUlFQndZWEpoYlNCN1ltOXZiR1ZoYm4wZ2RISmhibk53YjNObElGZG9aWFJvWlhJZ2RHOGdkSEpoYm5ObWIzSnRJR052YjNKa2FXNWhkR1Z6SUhSdklHaGhkbVVnWTI5c2RXMXVjeTFtYVhKemRDQnZjbWxsYm5SaGRHbHZiaTVjYmlBZ0lDb2dRSEJoY21GdElIdGliMjlzWldGdWZTQndZWEpoYkd4bGJFUnBjM1JoYm1ObFYyOXlhMlZ5Y3lCWGFHVjBhR1Z5SUhSdklIVnpaU0J3WVhKaGJHeGxiQ0JrYVhOMFlXNWpaU0JqYjIxd2RYUmhkR2x2Ymk1Y2JpQWdJQ29nUUhSb2NtOTNjeUI3UlhKeWIzSjlJRWxtSUhSb1pTQmxiV0psWkdScGJtY2diV1YwYUc5a0lIZGhjeUJ1YjNRZ1ptOTFibVF1WEc0Z0lDQXFJRUJ5WlhSMWNtNGdlMkZ1ZVgwZ1EyRnlkR1Z6YVdGdUlHTnZiM0prYVc1aGRHVWdiMllnZEdocGN5QmxiV0psWkdScGJtY2dZVzVrSUdScGMzUmhibU5sSUcxaGRISnBlQ0IzYUdWeVpTQmhjSEJzYVdOaFlteGxMbHh1SUNBZ0tpQkFiV1Z0WW1WeWIyWWdSR2x0Wlc1emFXOXVZV3hwZEhsU1pXUjFZMlZ5WEc0Z0lDQXFMMXh1SUNBZ0lIQjFZbXhwWXlCaGMzbHVZeUIwY21GdWMyWnZjbTBvZEhKaGJuTndiM05sT2lCaWIyOXNaV0Z1SUQwZ1ptRnNjMlVwT2lCUWNtOXRhWE5sUEUxaGRISnBlRDRnZTF4dUlDQWdJQ0FnYVdZZ0tIUm9hWE11Y21Wa2RXTmxjaUE5UFQwZ2RXNWtaV1pwYm1Wa0tWeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0oxSmxaSFZqWlhJZ2QyRnpJRzV2ZENCa1pXWnBibVZrTGljcE8xeHVYRzRnSUNBZ0lDQnNaWFFnWlcxaVpXUmthVzVuSUQwZ1lYZGhhWFFnZEdocGN5NXlaV1IxWTJWeUxuUnlZVzV6Wm05eWJTZ3BPMXh1WEc0Z0lDQWdJQ0JwWmlBb2RISmhibk53YjNObEtWeHVJQ0FnSUNBZ0lDQmxiV0psWkdScGJtY2dQU0IwY21GdWMzQnZjMlZOWVhSeWFYZ29aVzFpWldSa2FXNW5LVHRjYmx4dUlDQWdJQ0FnY21WMGRYSnVJR1Z0WW1Wa1pHbHVaenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZLaXBjYmlBZ0lDb2dVbVYwZFhKdWN5QnRaWFJ5YVdOeklHRjJZV2xzWVdKc1pTQmllU0IwZVhCbExseHVJQ0FnS2x4dUlDQWdLaUJBY0dGeVlXMGdlMEYyWVdsc1lXSnNaVVJoZEdGVWVYQmxjMzBnZEhsd1pVNWhiV1VnZEhsd1pTQnVZVzFsWEc0Z0lDQXFJRUJ5WlhSMWNtNGdlM04wY21sdVoxdGRmU0JOWlhSeWFXTWdibUZ0WlhNZ2QyaHBZMmdnWlhod1pXTjBjeUIwYUdVZ1oybDJaVzRnWkdGMFlTQjBlWEJsWEc0Z0lDQXFJRUJ0WlcxaVpYSnZaaUJFYVcxbGJuTnBiMjVoYkdsMGVWSmxaSFZqWlhKY2JpQWdJQ292WEc0Z0lDQWdjM1JoZEdsaklHRjJZV2xzWVdKc1pVMWxkSEpwWTNOQ2VWUjVjR1VvZEhsd1pVNWhiV1U2SUVGMllXbHNZV0pzWlVSaGRHRlVlWEJsY3lrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUU5aWFtVmpkQzVyWlhsektFRjJZV2xzWVdKc1pVMWxkSEpwWTNOYmRIbHdaVTVoYldWZEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1Y3lCa2FXMWxibk5wYjI1aGJHbDBlU0J5WldSMVkzUnBiMjRnYldWMGFHOWtjeUJoZG1GcGJHRmliR1V1WEc0Z0lDQXFYRzRnSUNBcUlFQnlaV0ZrYjI1c2VWeHVJQ0FnS2lCQWJXVnRZbVZ5YjJZZ1JHbHRaVzV6YVc5dVlXeHBkSGxTWldSMVkyVnlYRzRnSUNBcUwxeHVJQ0FnSUhOMFlYUnBZeUJuWlhRZ1lYWmhhV3hoWW14bFRXVjBhRzlrY3lncElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCUFltcGxZM1F1YTJWNWN5aEJkbUZwYkdGaWJHVlNaV1IxWTJWeWN5azdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5b3FYRzRnSUNBcUlGSmxkSFZ5Ym5NZ2JXVjBjbWxqY3lCaGRtRnBiR0ZpYkdVdVhHNGdJQ0FxWEc0Z0lDQXFJRUJ5WldGa2IyNXNlVnh1SUNBZ0tpQkFiV1Z0WW1WeWIyWWdSR2x0Wlc1emFXOXVZV3hwZEhsU1pXUjFZMlZ5WEc0Z0lDQXFMMXh1SUNBZ0lITjBZWFJwWXlCblpYUWdZWFpoYVd4aFlteGxUV1YwY21samN5Z3BJSHRjYmlBZ0lDQWdJR3hsZENCaGJuTTZJSE4wY21sdVoxdGRJRDBnVzEwN1hHNGdJQ0FnSUNCUFltcGxZM1F1ZG1Gc2RXVnpLRUYyWVdsc1lXSnNaVTFsZEhKcFkzTXBMbVp2Y2tWaFkyZ29LRzlpYWlrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQmhjbkpoZVNBOUlFOWlhbVZqZEM1MllXeDFaWE1vYjJKcUtUdGNiaUFnSUNBZ0lDQWdZVzV6SUQwZ1d5NHVMbUZ1Y3l3Z0xpNHVZWEp5WVhsZE8xeHVJQ0FnSUNBZ2ZTazdYRzRnSUNBZ0lDQnlaWFIxY200Z1lXNXpPMXh1SUNBZ0lIMWNibjFjYmlKZGZRPT0iLCIvKiogUHJveHkgZm9yIERpc3RhbmNlTWF0cml4IGNsYXNzLiBBbGxvd3MgdG8gaW5kZXggbWF0cml4IGFzIG1hdHJpeFtpXVtqXVxuICogTm90ZTogbXVjaCBzbG93ZXIgdGhhbiBkaXJlY3QgaW5kZXhpbmcsIGJ1dCBzdGlsbCBtdWNoIGZhc3RlciB0aGFuIHJlY2FsY3VsYXRpbmcgZGlzdGFuY2VzLlxuICogd2lsbCBiZSB1c2VkIGZvciBULVNORSBtYWlubHkuXG4gKiBAcGFyYW0ge0Zsb2F0MzJBcnJheX1jb25kZW5zZWRBcnJheSAtIGFycmF5IG9mIGRpc3RhbmNlcyBiZXR3ZWVuIGFsbCBwYWlycyBvZiBvYmplY3RzXG4gKiBAcGFyYW0ge251bWJlcn1zaXplIC0gbnVtYmVyIG9mIGNvbXBhcmVibGVzIGluIG1hdHJpeFxuICogQHJldHVybiB7RmxvYXQzMkFycmF5fSAtIHByb3h5IGZvciBjb25kZW5zZWRBcnJheVxuKi9cbmV4cG9ydCBmdW5jdGlvbiBkaXN0YW5jZU1hdHJpeFByb3h5KGNvbmRlbnNlZEFycmF5LCBzaXplKSB7XG4gICAgY29uc3QgbGluZWFyRnVuYyA9IGRtTGluZWFySW5kZXgoc2l6ZSk7XG4gICAgZnVuY3Rpb24gbGluZWFySW5kZXgoaSwgaikge1xuICAgICAgICBjb25zdCBpTnVtID0gTnVtYmVyKGkpO1xuICAgICAgICBjb25zdCBqTnVtID0gTnVtYmVyKGopO1xuICAgICAgICByZXR1cm4gbGluZWFyRnVuYyhpTnVtLCBqTnVtKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gaWR4MkhhbmRsZXIoaWR4MSkge1xuICAgICAgICByZXR1cm4gKHtcbiAgICAgICAgICAgIGdldCh0YXJnZXQsIGlkeDIsIF9yZWNlaXZlcikge1xuICAgICAgICAgICAgICAgIGlmIChpZHgxID09PSBpZHgyKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgICAgICBjb25zdCBsaW5lYXJJZHggPSBOdW1iZXIoaWR4MSkgPiBOdW1iZXIoaWR4MikgPyBsaW5lYXJJbmRleChpZHgyLCBpZHgxKSA6IGxpbmVhckluZGV4KGlkeDEsIGlkeDIpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0YXJnZXRbbGluZWFySWR4XTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBpZHgxSGFuZGxlciA9IHtcbiAgICAgICAgZ2V0KHRhcmdldCwgaWR4MSwgX3JlY2VpdmVyKSB7XG4gICAgICAgICAgICBpZiAoaWR4MSA9PT0gJ2xlbmd0aCcpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHNpemU7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb3h5KHRhcmdldCwgaWR4MkhhbmRsZXIoaWR4MSkpO1xuICAgICAgICB9LFxuICAgIH07XG4gICAgcmV0dXJuIG5ldyBQcm94eShjb25kZW5zZWRBcnJheSwgaWR4MUhhbmRsZXIpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGRtTGluZWFySW5kZXgoc2l6ZSkge1xuICAgIHJldHVybiAoaSwgaikgPT4gc2l6ZSAqIGkgKyBqIC0gTWF0aC5mbG9vcigoKGkgKyAyKSAqIChpICsgMSkpIC8gMik7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2ljSEp2ZUhrdWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUp3Y205NGVTNTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZGUVRzN096czdPMFZCVFVVN1FVRkRSaXhOUVVGTkxGVkJRVlVzYlVKQlFXMUNMRU5CUVVNc1kwRkJORUlzUlVGQlJTeEpRVUZaTzBsQlF6VkZMRTFCUVUwc1ZVRkJWU3hIUVVGSExHRkJRV0VzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0SlFVTjJReXhUUVVGVExGZEJRVmNzUTBGQlF5eERRVUZyUWl4RlFVRkZMRU5CUVd0Q08xRkJRM3BFTEUxQlFVMHNTVUZCU1N4SFFVRkhMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU4yUWl4TlFVRk5MRWxCUVVrc1IwRkJSeXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEZGtJc1QwRkJUeXhWUVVGVkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUTJoRExFTkJRVU03U1VGRlJDeFRRVUZUTEZkQlFWY3NRMEZCUXl4SlFVRnhRanRSUVVONFF5eFBRVUZQTEVOQlEwdzdXVUZEUlN4SFFVRkhMRU5CUVVNc1RVRkJUU3hGUVVGRkxFbEJRVWtzUlVGQlJTeFRRVUZUTzJkQ1FVTjZRaXhKUVVGSkxFbEJRVWtzUzBGQlN5eEpRVUZKTzI5Q1FVRkZMRTlCUVU4c1EwRkJReXhEUVVGRE8yZENRVU0xUWl4TlFVRk5MRk5CUVZNc1IwRkJSeXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFhRVUZYTEVOQlFVTXNTVUZCU1N4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFhRVUZYTEVOQlFVTXNTVUZCU1N4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRE8yZENRVU5zUnl4UFFVRlBMRTFCUVUwc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF6dFpRVU16UWl4RFFVRkRPMU5CUTBZc1EwRkRSaXhEUVVGRE8wbEJRMG9zUTBGQlF6dEpRVU5FTEUxQlFVMHNWMEZCVnl4SFFVRXJRanRSUVVNNVF5eEhRVUZITEVOQlFVTXNUVUZCVFN4RlFVRkZMRWxCUVVrc1JVRkJSU3hUUVVGVE8xbEJRM3BDTEVsQlFVa3NTVUZCU1N4TFFVRkxMRkZCUVZFN1owSkJRVVVzVDBGQlR5eEpRVUZKTEVOQlFVTTdXVUZEYmtNc1QwRkJUeXhKUVVGSkxFdEJRVXNzUTBGQlF5eE5RVUZOTEVWQlFVVXNWMEZCVnl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRE9VTXNRMEZCUXp0TFFVTkdMRU5CUVVNN1NVRkZSaXhQUVVGUExFbEJRVWtzUzBGQlN5eERRVUZETEdOQlFXTXNSVUZCUlN4WFFVRlhMRU5CUVVNc1EwRkJRenRCUVVOb1JDeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMR0ZCUVdFc1EwRkJReXhKUVVGWk8wbEJRM2hETEU5QlFVOHNRMEZCUXl4RFFVRlRMRVZCUVVVc1EwRkJVeXhGUVVGRkxFVkJRVVVzUTBGQlF5eEpRVUZKTEVkQlFVY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF6dEJRVU4wUml4RFFVRkRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpWEc1Y2JpOHFLaUJRY205NGVTQm1iM0lnUkdsemRHRnVZMlZOWVhSeWFYZ2dZMnhoYzNNdUlFRnNiRzkzY3lCMGJ5QnBibVJsZUNCdFlYUnlhWGdnWVhNZ2JXRjBjbWw0VzJsZFcycGRYRzRnS2lCT2IzUmxPaUJ0ZFdOb0lITnNiM2RsY2lCMGFHRnVJR1JwY21WamRDQnBibVJsZUdsdVp5d2dZblYwSUhOMGFXeHNJRzExWTJnZ1ptRnpkR1Z5SUhSb1lXNGdjbVZqWVd4amRXeGhkR2x1WnlCa2FYTjBZVzVqWlhNdVhHNGdLaUIzYVd4c0lHSmxJSFZ6WldRZ1ptOXlJRlF0VTA1RklHMWhhVzVzZVM1Y2JpQXFJRUJ3WVhKaGJTQjdSbXh2WVhRek1rRnljbUY1ZldOdmJtUmxibk5sWkVGeWNtRjVJQzBnWVhKeVlYa2diMllnWkdsemRHRnVZMlZ6SUdKbGRIZGxaVzRnWVd4c0lIQmhhWEp6SUc5bUlHOWlhbVZqZEhOY2JpQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZYTnBlbVVnTFNCdWRXMWlaWElnYjJZZ1kyOXRjR0Z5WldKc1pYTWdhVzRnYldGMGNtbDRYRzRnS2lCQWNtVjBkWEp1SUh0R2JHOWhkRE15UVhKeVlYbDlJQzBnY0hKdmVIa2dabTl5SUdOdmJtUmxibk5sWkVGeWNtRjVYRzRxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdScGMzUmhibU5sVFdGMGNtbDRVSEp2ZUhrb1kyOXVaR1Z1YzJWa1FYSnlZWGs2SUVac2IyRjBNekpCY25KaGVTd2djMmw2WlRvZ2JuVnRZbVZ5S1RvZ1JteHZZWFF6TWtGeWNtRjVJSHRjYmlBZ1kyOXVjM1FnYkdsdVpXRnlSblZ1WXlBOUlHUnRUR2x1WldGeVNXNWtaWGdvYzJsNlpTazdYRzRnSUdaMWJtTjBhVzl1SUd4cGJtVmhja2x1WkdWNEtHazZJSE41YldKdmJDQjhJSE4wY21sdVp5d2dham9nYzNsdFltOXNJSHdnYzNSeWFXNW5LU0I3WEc0Z0lDQWdZMjl1YzNRZ2FVNTFiU0E5SUU1MWJXSmxjaWhwS1R0Y2JpQWdJQ0JqYjI1emRDQnFUblZ0SUQwZ1RuVnRZbVZ5S0dvcE8xeHVJQ0FnSUhKbGRIVnliaUJzYVc1bFlYSkdkVzVqS0dsT2RXMHNJR3BPZFcwcE8xeHVJQ0I5WEc1Y2JpQWdablZ1WTNScGIyNGdhV1I0TWtoaGJtUnNaWElvYVdSNE1Ub2djM2x0WW05c0lId2djM1J5YVc1bktUcFFjbTk0ZVVoaGJtUnNaWEk4Um14dllYUXpNa0Z5Y21GNVBpQjdYRzRnSUNBZ2NtVjBkWEp1SUNoY2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ1oyVjBLSFJoY21kbGRDd2dhV1I0TWl3Z1gzSmxZMlZwZG1WeUtTQjdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHbGtlREVnUFQwOUlHbGtlRElwSUhKbGRIVnliaUF3TzF4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUd4cGJtVmhja2xrZUNBOUlFNTFiV0psY2locFpIZ3hLU0ErSUU1MWJXSmxjaWhwWkhneUtTQS9JR3hwYm1WaGNrbHVaR1Y0S0dsa2VESXNJR2xrZURFcElEb2diR2x1WldGeVNXNWtaWGdvYVdSNE1Td2dhV1I0TWlrN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUmhjbWRsZEZ0c2FXNWxZWEpKWkhoZE8xeHVJQ0FnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdmVnh1SUNBZ0lDazdYRzRnSUgxY2JpQWdZMjl1YzNRZ2FXUjRNVWhoYm1Sc1pYSTZJRkJ5YjNoNVNHRnVaR3hsY2p4R2JHOWhkRE15UVhKeVlYaytJRDBnZTF4dUlDQWdJR2RsZENoMFlYSm5aWFFzSUdsa2VERXNJRjl5WldObGFYWmxjaWtnZTF4dUlDQWdJQ0FnYVdZZ0tHbGtlREVnUFQwOUlDZHNaVzVuZEdnbktTQnlaWFIxY200Z2MybDZaVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnVUhKdmVIa29kR0Z5WjJWMExDQnBaSGd5U0dGdVpHeGxjaWhwWkhneEtTazdYRzRnSUNBZ2ZTeGNiaUFnZlR0Y2JseHVJQ0J5WlhSMWNtNGdibVYzSUZCeWIzaDVLR052Ym1SbGJuTmxaRUZ5Y21GNUxDQnBaSGd4U0dGdVpHeGxjaWs3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmtiVXhwYm1WaGNrbHVaR1Y0S0hOcGVtVTZJRzUxYldKbGNpazZJQ2hwT2lCdWRXMWlaWElzSUdvNklHNTFiV0psY2lrZ1BUNGdiblZ0WW1WeUlIdGNiaUFnY21WMGRYSnVJQ2hwT2lCdWRXMWlaWElzSUdvNklHNTFiV0psY2lrZ1BUNGdjMmw2WlNBcUlHa2dLeUJxSUMwZ1RXRjBhQzVtYkc5dmNpZ29LR2tnS3lBeUtTQXFJQ2hwSUNzZ01Ta3BJQzhnTWlrN1hHNTlYRzRpWFgwPSIsImltcG9ydCB7IE11bHRpQ29sRGltUmVkdWNlciB9IGZyb20gJy4vbXVsdGktY29sdW1uLWRpbS1yZWR1Y2VyJztcbi8qKlxuICogV29ya2VyIHRocmVhZCByZWNlaXZpbmcgZGF0YSBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0ge2FueVtdfSBjb2x1bW5EYXRhIFNhbXBsZXMgdG8gcHJvY2Vzcy5cbiAqIEBwYXJhbSB7S25vd25NZXRob2RzfSBtZXRob2QgRW1iZWRkaW5nIG1ldGhvZC5cbiAqIEBwYXJhbSB7S25vd25NZXRyaWNzfSBtZWFzdXJlIERpc3RhbmNlIG1ldHJpYy5cbiAqIEBwYXJhbSB7YW55fSBvcHRpb25zIE9wdGlvbnMgdG8gcGFzcyB0byBhbGdvcml0aG0uXG4gKiBAcGFyYW0ge2Jvb2xlYW59IHBhcmFsbGVsRGlzdGFuY2VXb3JrZXJzIFdoZXRoZXIgdG8gdXNlIHBhcmFsbGVsIGRpc3RhbmNlIHdvcmtlcnMuXG4gKiBAcmV0dXJuIHthbnl9IEVtYmVkZGluZyAoYW5kIGRpc3RhbmNlIG1hdHJpeCB3aGVyZSBhcHBsaWNhYmxlKS5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gb25NZXNzYWdlKGNvbHVtbnNEYXRhLCBtZXRob2QsIG1ldHJpY3MsIHdlaWdodHMsIGFnZ3JlZ2F0aW9uTWV0aG9kLCBvcHRpb25zKSB7XG4gICAgY29uc3QgcmVkdWNlciA9IG5ldyBNdWx0aUNvbERpbVJlZHVjZXIoY29sdW1uc0RhdGEsIG1ldGhvZCwgbWV0cmljcywgd2VpZ2h0cywgYWdncmVnYXRpb25NZXRob2QsIHsgLi4ub3B0aW9ucywgcHJvZ3Jlc3NGdW5jIH0pO1xuICAgIHJldHVybiBhd2FpdCByZWR1Y2VyLnRyYW5zZm9ybSh0cnVlKTtcbn1cbmFzeW5jIGZ1bmN0aW9uIHByb2dyZXNzRnVuYyhlcG9jaE51bSwgZXBvY2hzTGVuZ3RoLCBlbWJlZGRpbmcpIHtcbiAgICBpZiAoZXBvY2hOdW0gJSA1ID09PSAwKVxuICAgICAgICBzZWxmLnBvc3RNZXNzYWdlKHsgZXBvY2hOdW0sIGVwb2Noc0xlbmd0aCwgZW1iZWRkaW5nIH0pO1xufVxuc2VsZi5vbm1lc3NhZ2UgPSBhc3luYyAoeyBkYXRhOiB7IGNvbHVtbnNEYXRhLCBtZXRob2QsIGRpc3RhbmNlTWV0cmljcywgb3B0aW9ucywgd2VpZ2h0cywgYWdncmVnYXRpb25NZXRob2QgfSB9KSA9PiB7XG4gICAgbGV0IGRhdGE7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZW1iZWRkaW5nID0gYXdhaXQgb25NZXNzYWdlKGNvbHVtbnNEYXRhLCBtZXRob2QsIGRpc3RhbmNlTWV0cmljcywgd2VpZ2h0cywgYWdncmVnYXRpb25NZXRob2QsIG9wdGlvbnMpO1xuICAgICAgICBkYXRhID0geyBlbWJlZGRpbmcgfTtcbiAgICB9XG4gICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgZGF0YSA9IHsgZXJyb3I6IGUgfTtcbiAgICB9XG4gICAgc2VsZi5wb3N0TWVzc2FnZSh7XG4gICAgICAgIGVycm9yOiBkYXRhLmVycm9yLFxuICAgICAgICBlbWJlZGRpbmc6IGRhdGEuZW1iZWRkaW5nLFxuICAgIH0pO1xufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWJYVnNhWFF0WTI5c2RXMXVMV1JwYlMxeVpXUjFZMlZ5TFhkdmNtdGxjaTVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYkltMTFiR2wwTFdOdmJIVnRiaTFrYVcwdGNtVmtkV05sY2kxM2IzSnJaWEl1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlNVRXNUMEZCVHl4RlFVRkRMR3RDUVVGclFpeEZRVUZETEUxQlFVMHNORUpCUVRSQ0xFTkJRVU03UVVGRk9VUTdPenM3T3pzN096dEhRVk5ITzBGQlEwZ3NTMEZCU3l4VlFVRlZMRk5CUVZNc1EwRkJReXhYUVVGNVFpeEZRVUZGTEUxQlFUSkNMRVZCUVVVc1QwRkJkVUlzUlVGRGRFY3NUMEZCYVVJc1JVRkJSU3hwUWtGQk5FTXNSVUZETDBRc1QwRkJXVHRKUVVOYUxFMUJRVTBzVDBGQlR5eEhRVUZITEVsQlFVa3NhMEpCUVd0Q0xFTkJRM0JETEZkQlFWY3NSVUZEV0N4TlFVRk5MRVZCUTA0c1QwRkJUeXhGUVVOUUxFOUJRVThzUlVGRFVDeHBRa0ZCYVVJc1JVRkRha0lzUlVGQlF5eEhRVUZITEU5QlFVOHNSVUZCUlN4WlFVRlpMRVZCUVVNc1EwRkRNMElzUTBGQlF6dEpRVU5HTEU5QlFVOHNUVUZCVFN4UFFVRlBMRU5CUVVNc1UwRkJVeXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzBGQlEzWkRMRU5CUVVNN1FVRkZSQ3hMUVVGTExGVkJRVlVzV1VGQldTeERRVUZETEZGQlFXZENMRVZCUVVVc1dVRkJiMElzUlVGQlJTeFRRVUZ4UWp0SlFVTjJSaXhKUVVGSkxGRkJRVkVzUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXp0UlFVTndRaXhKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEVWQlFVTXNVVUZCVVN4RlFVRkZMRmxCUVZrc1JVRkJSU3hUUVVGVExFVkJRVU1zUTBGQlF5eERRVUZETzBGQlF6RkVMRU5CUVVNN1FVRkZSQ3hKUVVGSkxFTkJRVU1zVTBGQlV5eEhRVUZITEV0QlFVc3NSVUZCUlN4RlFVRkRMRWxCUVVrc1JVRkJSU3hGUVVGRExGZEJRVmNzUlVGQlJTeE5RVUZOTEVWQlFVVXNaVUZCWlN4RlFVRkZMRTlCUVU4c1JVRkJSU3hQUVVGUExFVkJRVVVzYVVKQlFXbENMRVZCUVVNc1JVRkJReXhGUVVGRkxFVkJRVVU3U1VGRE4wY3NTVUZCU1N4SlFVRnZReXhEUVVGRE8wbEJRM3BETEVsQlFVazdVVUZEUml4TlFVRk5MRk5CUVZNc1IwRkJSeXhOUVVGTkxGTkJRVk1zUTBGQlF5eFhRVUZYTEVWQlFVVXNUVUZCVFN4RlFVRkZMR1ZCUVdVc1JVRkJSU3hQUVVGUExFVkJRVVVzYVVKQlFXbENMRVZCUVVVc1QwRkJUeXhEUVVGRExFTkJRVU03VVVGRE4wY3NTVUZCU1N4SFFVRkhMRVZCUVVNc1UwRkJVeXhGUVVGRExFTkJRVU03UzBGRGNFSTdTVUZCUXl4UFFVRlBMRU5CUVUwc1JVRkJSVHRSUVVObUxFbEJRVWtzUjBGQlJ5eEZRVUZETEV0QlFVc3NSVUZCUlN4RFFVRkRMRVZCUVVNc1EwRkJRenRMUVVOdVFqdEpRVU5FTEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNN1VVRkRaaXhMUVVGTExFVkJRVVVzU1VGQlNTeERRVUZETEV0QlFVczdVVUZEYWtJc1UwRkJVeXhGUVVGRkxFbEJRVWtzUTBGQlF5eFRRVUZUTzB0QlF6RkNMRU5CUVVNc1EwRkJRenRCUVVOTUxFTkJRVU1zUTBGQlF5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdUV0YwY21sNGZTQm1jbTl0SUNkQVpHRjBZV2R5YjJzdGJHbGljbUZ5YVdWekwzVjBhV3h6TDNOeVl5OTBlWEJsTFdSbFkyeGhjbUYwYVc5dWN5YzdYRzVwYlhCdmNuUWdlMHR1YjNkdVRXVjBjbWxqYzMwZ1puSnZiU0FuTGk0dmRIbHdaV1F0YldWMGNtbGpjeTkwZVhCbFpDMXRaWFJ5YVdOekp6dGNibWx0Y0c5eWRDQjdSR2x0VW1Wa2RXTjBhVzl1VFdWMGFHOWtjMzBnWm5KdmJTQW5MaTkwZVhCbGN5YzdYRzVwYlhCdmNuUWdlMFJwYzNSaGJtTmxRV2RuY21WbllYUnBiMjVOWlhSb2IyUjlJR1p5YjIwZ0p5NHVMMlJwYzNSaGJtTmxMVzFoZEhKcGVDOTBlWEJsY3ljN1hHNXBiWEJ2Y25RZ2UwMTFiSFJwUTI5c1JHbHRVbVZrZFdObGNuMGdabkp2YlNBbkxpOXRkV3gwYVMxamIyeDFiVzR0WkdsdExYSmxaSFZqWlhJbk8xeHVYRzR2S2lwY2JpQXFJRmR2Y210bGNpQjBhSEpsWVdRZ2NtVmpaV2wyYVc1bklHUmhkR0VnWm5WdVkzUnBiMjR1WEc0Z0tseHVJQ29nUUhCaGNtRnRJSHRoYm5sYlhYMGdZMjlzZFcxdVJHRjBZU0JUWVcxd2JHVnpJSFJ2SUhCeWIyTmxjM011WEc0Z0tpQkFjR0Z5WVcwZ2UwdHViM2R1VFdWMGFHOWtjMzBnYldWMGFHOWtJRVZ0WW1Wa1pHbHVaeUJ0WlhSb2IyUXVYRzRnS2lCQWNHRnlZVzBnZTB0dWIzZHVUV1YwY21samMzMGdiV1ZoYzNWeVpTQkVhWE4wWVc1alpTQnRaWFJ5YVdNdVhHNGdLaUJBY0dGeVlXMGdlMkZ1ZVgwZ2IzQjBhVzl1Y3lCUGNIUnBiMjV6SUhSdklIQmhjM01nZEc4Z1lXeG5iM0pwZEdodExseHVJQ29nUUhCaGNtRnRJSHRpYjI5c1pXRnVmU0J3WVhKaGJHeGxiRVJwYzNSaGJtTmxWMjl5YTJWeWN5QlhhR1YwYUdWeUlIUnZJSFZ6WlNCd1lYSmhiR3hsYkNCa2FYTjBZVzVqWlNCM2IzSnJaWEp6TGx4dUlDb2dRSEpsZEhWeWJpQjdZVzU1ZlNCRmJXSmxaR1JwYm1jZ0tHRnVaQ0JrYVhOMFlXNWpaU0J0WVhSeWFYZ2dkMmhsY21VZ1lYQndiR2xqWVdKc1pTa3VYRzRnS2k5Y2JtRnplVzVqSUdaMWJtTjBhVzl1SUc5dVRXVnpjMkZuWlNoamIyeDFiVzV6UkdGMFlUb2dRWEp5WVhrOFlXNTVXMTArTENCdFpYUm9iMlE2SUVScGJWSmxaSFZqZEdsdmJrMWxkR2h2WkhNc0lHMWxkSEpwWTNNNklFdHViM2R1VFdWMGNtbGpjMXRkTEZ4dUlDQjNaV2xuYUhSek9pQnVkVzFpWlhKYlhTd2dZV2RuY21WbllYUnBiMjVOWlhSb2IyUTZJRVJwYzNSaGJtTmxRV2RuY21WbllYUnBiMjVOWlhSb2IyUXNYRzRnSUc5d2RHbHZibk02SUdGdWVTazZJRkJ5YjIxcGMyVThUV0YwY21sNFBpQjdYRzRnSUdOdmJuTjBJSEpsWkhWalpYSWdQU0J1WlhjZ1RYVnNkR2xEYjJ4RWFXMVNaV1IxWTJWeUtGeHVJQ0FnSUdOdmJIVnRibk5FWVhSaExGeHVJQ0FnSUcxbGRHaHZaQ3hjYmlBZ0lDQnRaWFJ5YVdOekxGeHVJQ0FnSUhkbGFXZG9kSE1zWEc0Z0lDQWdZV2RuY21WbllYUnBiMjVOWlhSb2IyUXNYRzRnSUNBZ2V5NHVMbTl3ZEdsdmJuTXNJSEJ5YjJkeVpYTnpSblZ1WTMxY2JpQWdLVHRjYmlBZ2NtVjBkWEp1SUdGM1lXbDBJSEpsWkhWalpYSXVkSEpoYm5ObWIzSnRLSFJ5ZFdVcE8xeHVmVnh1WEc1aGMzbHVZeUJtZFc1amRHbHZiaUJ3Y205bmNtVnpjMFoxYm1Nb1pYQnZZMmhPZFcwNklHNTFiV0psY2l3Z1pYQnZZMmh6VEdWdVozUm9PaUJ1ZFcxaVpYSXNJR1Z0WW1Wa1pHbHVaem9nYm5WdFltVnlXMTFiWFNrZ2UxeHVJQ0JwWmlBb1pYQnZZMmhPZFcwZ0pTQTFJRDA5UFNBd0tWeHVJQ0FnSUhObGJHWXVjRzl6ZEUxbGMzTmhaMlVvZTJWd2IyTm9UblZ0TENCbGNHOWphSE5NWlc1bmRHZ3NJR1Z0WW1Wa1pHbHVaMzBwTzF4dWZWeHVYRzV6Wld4bUxtOXViV1Z6YzJGblpTQTlJR0Z6ZVc1aklDaDdaR0YwWVRvZ2UyTnZiSFZ0Ym5ORVlYUmhMQ0J0WlhSb2IyUXNJR1JwYzNSaGJtTmxUV1YwY21samN5d2diM0IwYVc5dWN5d2dkMlZwWjJoMGN5d2dZV2RuY21WbllYUnBiMjVOWlhSb2IyUjlmU2tnUFQ0Z2UxeHVJQ0JzWlhRZ1pHRjBZVG9nZTJWeWNtOXlQem9nWVc1NUxDQmxiV0psWkdScGJtYy9PaUJoYm5sOU8xeHVJQ0IwY25rZ2UxeHVJQ0FnSUdOdmJuTjBJR1Z0WW1Wa1pHbHVaeUE5SUdGM1lXbDBJRzl1VFdWemMyRm5aU2hqYjJ4MWJXNXpSR0YwWVN3Z2JXVjBhRzlrTENCa2FYTjBZVzVqWlUxbGRISnBZM01zSUhkbGFXZG9kSE1zSUdGblozSmxaMkYwYVc5dVRXVjBhRzlrTENCdmNIUnBiMjV6S1R0Y2JpQWdJQ0JrWVhSaElEMGdlMlZ0WW1Wa1pHbHVaMzA3WEc0Z0lIMGdZMkYwWTJnZ0tHVTZJR0Z1ZVNrZ2UxeHVJQ0FnSUdSaGRHRWdQU0I3WlhKeWIzSTZJR1Y5TzF4dUlDQjlYRzRnSUhObGJHWXVjRzl6ZEUxbGMzTmhaMlVvZTF4dUlDQWdJR1Z5Y205eU9pQmtZWFJoTG1WeWNtOXlMRnh1SUNBZ0lHVnRZbVZrWkdsdVp6b2daR0YwWVM1bGJXSmxaR1JwYm1jc1hHNGdJSDBwTzF4dWZUdGNiaUpkZlE9PSIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5UU05FID0gdm9pZCAwO1xudmFyIHRzbmVfMSA9IHJlcXVpcmUoXCIuL3RzbmVcIik7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJUU05FXCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiB0c25lXzEuVFNORTsgfSB9KTtcbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5UU05FID0gdm9pZCAwO1xuY2xhc3MgVFNORSB7XG4gICAgY29uc3RydWN0b3Iob3B0KSB7XG4gICAgICAgIC8vIHJldHVybiAwIG1lYW4gdW5pdCBzdGFuZGFyZCBkZXZpYXRpb24gcmFuZG9tIG51bWJlclxuICAgICAgICB0aGlzLnJldHVyblYgPSBmYWxzZTtcbiAgICAgICAgdGhpcy52VmFsdWUgPSAwLjA7XG4gICAgICAgIHRoaXMuaXRlciA9IDA7XG4gICAgICAgIG9wdCA9IG9wdCB8fCB7fTtcbiAgICAgICAgdGhpcy5wZXJwbGV4aXR5ID0gdGhpcy5nZXRvcHQob3B0LCAncGVycGxleGl0eScsIDMwKTsgLy8gZWZmZWN0aXZlIG51bWJlciBvZiBuZWFyZXN0IG5laWdoYm9yc1xuICAgICAgICB0aGlzLmRpbSA9IHRoaXMuZ2V0b3B0KG9wdCwgJ2RpbScsIDIpOyAvLyBieSBkZWZhdWx0IDItRCB0U05FXG4gICAgICAgIHRoaXMuZXBzaWxvbiA9IHRoaXMuZ2V0b3B0KG9wdCwgJ2Vwc2lsb24nLCAxMCk7IC8vIGxlYXJuaW5nIHJhdGVcbiAgICB9XG4gICAgYXNzZXJ0KGNvbmRpdGlvbiwgbWVzc2FnZSkge1xuICAgICAgICBpZiAoIWNvbmRpdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbWVzc2FnZSB8fCAnQXNzZXJ0aW9uIGZhaWxlZCc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gc3ludGF4IHN1Z2FyXG4gICAgZ2V0b3B0KG9wdCwgZmllbGQsIGRlZmF1bHR2YWwpIHtcbiAgICAgICAgaWYgKG9wdC5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpIHtcbiAgICAgICAgICAgIHJldHVybiBvcHRbZmllbGRdO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHR2YWw7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2F1c3NSYW5kb20oKSB7XG4gICAgICAgIGlmICh0aGlzLnJldHVyblYpIHtcbiAgICAgICAgICAgIHRoaXMucmV0dXJuViA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudlZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHUgPSAyICogTWF0aC5yYW5kb20oKSAtIDE7XG4gICAgICAgIGNvbnN0IHYgPSAyICogTWF0aC5yYW5kb20oKSAtIDE7XG4gICAgICAgIGNvbnN0IHIgPSB1ICogdSArIHYgKiB2O1xuICAgICAgICBpZiAociA9PT0gMCB8fCByID4gMSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2F1c3NSYW5kb20oKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjID0gTWF0aC5zcXJ0KC0yICogTWF0aC5sb2cocikgLyByKTtcbiAgICAgICAgdGhpcy52VmFsdWUgPSB2ICogYzsgLy8gY2FjaGUgdGhpcyBmb3IgbmV4dCBmdW5jdGlvbiBjYWxsIGZvciBlZmZpY2llbmN5XG4gICAgICAgIHRoaXMucmV0dXJuViA9IHRydWU7XG4gICAgICAgIHJldHVybiB1ICogYztcbiAgICB9XG4gICAgLy8gcmV0dXJuIHJhbmRvbSBub3JtYWwgbnVtYmVyXG4gICAgcmFuZG4obXUsIHN0ZCkgeyByZXR1cm4gbXUgKyB0aGlzLmdhdXNzUmFuZG9tKCkgKiBzdGQ7IH1cbiAgICAvLyB1dGlsaXRpdHkgdGhhdCBjcmVhdGVzIGNvbnRpZ3VvdXMgdmVjdG9yIG9mIHplcm9zIG9mIHNpemUgblxuICAgIHplcm9zKG4pIHtcbiAgICAgICAgaWYgKHR5cGVvZiAobikgPT09ICd1bmRlZmluZWQnIHx8IGlzTmFOKG4pKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBBcnJheUJ1ZmZlciA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIC8vIGxhY2tpbmcgYnJvd3NlciBzdXBwb3J0XG4gICAgICAgICAgICBjb25zdCBhcnIgPSBuZXcgQXJyYXkobik7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG47IGkrKykge1xuICAgICAgICAgICAgICAgIGFycltpXSA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYXJyO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGbG9hdDY0QXJyYXkobik7IC8vIHR5cGVkIGFycmF5cyBhcmUgZmFzdGVyXG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gdXRpbGl0eSB0aGF0IHJldHVybnMgMmQgYXJyYXkgZmlsbGVkIHdpdGggcmFuZG9tIG51bWJlcnNcbiAgICAvLyBvciB3aXRoIHZhbHVlIHMsIGlmIHByb3ZpZGVkXG4gICAgcmFuZG4yZChuLCBkLCBzKSB7XG4gICAgICAgIGNvbnN0IHVzZXMgPSB0eXBlb2YgcyAhPT0gJ3VuZGVmaW5lZCc7XG4gICAgICAgIGNvbnN0IHggPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHhoZXJlID0gW107XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGQ7IGorKykge1xuICAgICAgICAgICAgICAgIGlmICh1c2VzKSB7XG4gICAgICAgICAgICAgICAgICAgIHhoZXJlLnB1c2gocyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB4aGVyZS5wdXNoKHRoaXMucmFuZG4oMC4wLCAxZS00KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgeC5wdXNoKHhoZXJlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geDtcbiAgICB9XG4gICAgLy8gY29tcHV0ZSBMMiBkaXN0YW5jZSBiZXR3ZWVuIHR3byB2ZWN0b3JzXG4gICAgTDIoeDEsIHgyKSB7XG4gICAgICAgIGNvbnN0IEQgPSB4MS5sZW5ndGg7XG4gICAgICAgIGxldCBkID0gMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBEOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHgxaSA9IHgxW2ldO1xuICAgICAgICAgICAgY29uc3QgeDJpID0geDJbaV07XG4gICAgICAgICAgICBkICs9ICh4MWkgLSB4MmkpICogKHgxaSAtIHgyaSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGQ7XG4gICAgfVxuICAgIC8vIGNvbXB1dGUgcGFpcndpc2UgZGlzdGFuY2UgaW4gYWxsIHZlY3RvcnMgaW4gWFxuICAgIHh0b2QoWCkge1xuICAgICAgICBjb25zdCBOID0gWC5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGRpc3QgPSB0aGlzLnplcm9zKE4gKiBOKTsgLy8gYWxsb2NhdGUgY29udGlndW91cyBhcnJheVxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IE47IGkrKykge1xuICAgICAgICAgICAgZm9yIChsZXQgaiA9IGkgKyAxOyBqIDwgTjsgaisrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZCA9IHRoaXMuTDIoWFtpXSwgWFtqXSk7XG4gICAgICAgICAgICAgICAgZGlzdFtpICogTiArIGpdID0gZDtcbiAgICAgICAgICAgICAgICBkaXN0W2ogKiBOICsgaV0gPSBkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkaXN0O1xuICAgIH1cbiAgICAvLyBjb21wdXRlIChwX3tpfGp9ICsgcF97anxpfSkvKDJuKVxuICAgIGQycChELCBwZXJwbGV4aXR5LCB0b2wpIHtcbiAgICAgICAgY29uc3QgbmYgPSBNYXRoLnNxcnQoRC5sZW5ndGgpOyAvLyB0aGlzIGJldHRlciBiZSBhbiBpbnRlZ2VyXG4gICAgICAgIGNvbnN0IG4gPSBNYXRoLmZsb29yKG5mKTtcbiAgICAgICAgdGhpcy5hc3NlcnQobiA9PT0gbmYsICdEIHNob3VsZCBoYXZlIHNxdWFyZSBudW1iZXIgb2YgZWxlbWVudHMuJyk7XG4gICAgICAgIGNvbnN0IGhUYXJnZXQgPSBNYXRoLmxvZyhwZXJwbGV4aXR5KTsgLy8gdGFyZ2V0IGVudHJvcHkgb2YgZGlzdHJpYnV0aW9uXG4gICAgICAgIGNvbnN0IFAgPSB0aGlzLnplcm9zKG4gKiBuKTsgLy8gdGVtcG9yYXJ5IHByb2JhYmlsaXR5IG1hdHJpeFxuICAgICAgICBjb25zdCBwcm93ID0gdGhpcy56ZXJvcyhuKTsgLy8gYSB0ZW1wb3Jhcnkgc3RvcmFnZSBjb21wYXJ0bWVudFxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG47IGkrKykge1xuICAgICAgICAgICAgbGV0IGJldGFtaW4gPSAtSW5maW5pdHk7XG4gICAgICAgICAgICBsZXQgYmV0YW1heCA9IEluZmluaXR5O1xuICAgICAgICAgICAgbGV0IGJldGEgPSAxOyAvLyBpbml0aWFsIHZhbHVlIG9mIHByZWNpc2lvblxuICAgICAgICAgICAgbGV0IGRvbmUgPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IG1heHRyaWVzID0gNTA7XG4gICAgICAgICAgICAvLyBwZXJmb3JtIGJpbmFyeSBzZWFyY2ggdG8gZmluZCBhIHN1aXRhYmxlIHByZWNpc2lvbiBiZXRhXG4gICAgICAgICAgICAvLyBzbyB0aGF0IHRoZSBlbnRyb3B5IG9mIHRoZSBkaXN0cmlidXRpb24gaXMgYXBwcm9wcmlhdGVcbiAgICAgICAgICAgIGxldCBudW0gPSAwO1xuICAgICAgICAgICAgd2hpbGUgKCFkb25lKSB7XG4gICAgICAgICAgICAgICAgLy9kZWJ1Z2dlcjtcbiAgICAgICAgICAgICAgICAvLyBjb21wdXRlIGVudHJvcHkgYW5kIGtlcm5lbCByb3cgd2l0aCBiZXRhIHByZWNpc2lvblxuICAgICAgICAgICAgICAgIGxldCBwc3VtID0gMC4wO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgbjsgaisrKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBwaiA9IE1hdGguZXhwKC1EW2kgKiBuICsgal0gKiBiZXRhKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGkgPT09IGopIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBqID0gMDtcbiAgICAgICAgICAgICAgICAgICAgfSAvLyB3ZSBkb250IGNhcmUgYWJvdXQgZGlhZ29uYWxzXG4gICAgICAgICAgICAgICAgICAgIHByb3dbal0gPSBwajtcbiAgICAgICAgICAgICAgICAgICAgcHN1bSArPSBwajtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gbm9ybWFsaXplIHAgYW5kIGNvbXB1dGUgZW50cm9weVxuICAgICAgICAgICAgICAgIGxldCBuSGVyZSA9IDAuMDtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IG47IGorKykge1xuICAgICAgICAgICAgICAgICAgICBsZXQgcGo7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwc3VtID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwaiA9IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwaiA9IHByb3dbal0gLyBwc3VtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHByb3dbal0gPSBwajtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBqID4gMWUtNykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbkhlcmUgLT0gcGogKiBNYXRoLmxvZyhwaik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gYWRqdXN0IGJldGEgYmFzZWQgb24gcmVzdWx0XG4gICAgICAgICAgICAgICAgaWYgKG5IZXJlID4gaFRhcmdldCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBlbnRyb3B5IHdhcyB0b28gaGlnaCAoZGlzdHJpYnV0aW9uIHRvbyBkaWZmdXNlKVxuICAgICAgICAgICAgICAgICAgICAvLyBzbyB3ZSBuZWVkIHRvIGluY3JlYXNlIHRoZSBwcmVjaXNpb24gZm9yIG1vcmUgcGVha3kgZGlzdHJpYnV0aW9uXG4gICAgICAgICAgICAgICAgICAgIGJldGFtaW4gPSBiZXRhOyAvLyBtb3ZlIHVwIHRoZSBib3VuZHNcbiAgICAgICAgICAgICAgICAgICAgaWYgKGJldGFtYXggPT09IEluZmluaXR5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiZXRhID0gYmV0YSAqIDI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiZXRhID0gKGJldGEgKyBiZXRhbWF4KSAvIDI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnZlcnNlIGNhc2UuIG1ha2UgZGlzdHJ1YnRpb24gbGVzcyBwZWFreVxuICAgICAgICAgICAgICAgICAgICBiZXRhbWF4ID0gYmV0YTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGJldGFtaW4gPT09IC1JbmZpbml0eSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmV0YSA9IGJldGEgLyAyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmV0YSA9IChiZXRhICsgYmV0YW1pbikgLyAyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIHN0b3BwaW5nIGNvbmRpdGlvbnM6IHRvbyBtYW55IHRyaWVzIG9yIGdvdCBhIGdvb2QgcHJlY2lzaW9uXG4gICAgICAgICAgICAgICAgbnVtKys7XG4gICAgICAgICAgICAgICAgaWYgKE1hdGguYWJzKG5IZXJlIC0gaFRhcmdldCkgPCB0b2wpIHtcbiAgICAgICAgICAgICAgICAgICAgZG9uZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChudW0gPj0gbWF4dHJpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgZG9uZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ2RhdGEgcG9pbnQgJyArIGkgKyAnIGdldHMgcHJlY2lzaW9uICcgKyBiZXRhICsgJyBhZnRlciAnICsgbnVtICsgJyBiaW5hcnkgc2VhcmNoIHN0ZXBzLicpO1xuICAgICAgICAgICAgLy8gY29weSBvdmVyIHRoZSBmaW5hbCBwcm93IHRvIFAgYXQgcm93IGlcbiAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgbjsgaisrKSB7XG4gICAgICAgICAgICAgICAgUFtpICogbiArIGpdID0gcHJvd1tqXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAvLyBlbmQgbG9vcCBvdmVyIGV4YW1wbGVzIGlcbiAgICAgICAgLy8gc3ltbWV0cml6ZSBQIGFuZCBub3JtYWxpemUgaXQgdG8gc3VtIHRvIDEgb3ZlciBhbGwgaWpcbiAgICAgICAgY29uc3QgcE91dCA9IHRoaXMuemVyb3MobiAqIG4pO1xuICAgICAgICBjb25zdCBOMiA9IG4gKiAyO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG47IGkrKykge1xuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBuOyBqKyspIHtcbiAgICAgICAgICAgICAgICBwT3V0W2kgKiBuICsgal0gPSBNYXRoLm1heCgoUFtpICogbiArIGpdICsgUFtqICogbiArIGldKSAvIE4yLCAxZS0xMDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwT3V0O1xuICAgIH1cbiAgICAvLyBoZWxwZXIgZnVuY3Rpb25cbiAgICBzaWduKHgpIHsgcmV0dXJuIHggPiAwID8gMSA6IHggPCAwID8gLTEgOiAwOyB9XG4gICAgLy8gdGhpcyBmdW5jdGlvbiB0YWtlcyBhIHNldCBvZiBoaWdoLWRpbWVuc2lvbmFsIHBvaW50c1xuICAgIC8vIGFuZCBjcmVhdGVzIG1hdHJpeCBQIGZyb20gdGhlbSB1c2luZyBnYXVzc2lhbiBrZXJuZWxcbiAgICBpbml0RGF0YVJhdyhYKSB7XG4gICAgICAgIGNvbnN0IE4gPSBYLmxlbmd0aDtcbiAgICAgICAgY29uc3QgRCA9IFhbMF0ubGVuZ3RoO1xuICAgICAgICB0aGlzLmFzc2VydChOID4gMCwgJyBYIGlzIGVtcHR5PyBZb3UgbXVzdCBoYXZlIHNvbWUgZGF0YSEnKTtcbiAgICAgICAgdGhpcy5hc3NlcnQoRCA+IDAsICcgWFswXSBpcyBlbXB0eT8gV2hlcmUgaXMgdGhlIGRhdGE/Jyk7XG4gICAgICAgIGNvbnN0IGRpc3RzID0gdGhpcy54dG9kKFgpOyAvLyBjb252ZXJ0IFggdG8gZGlzdGFuY2VzIHVzaW5nIGdhdXNzaWFuIGtlcm5lbFxuICAgICAgICB0aGlzLlAgPSB0aGlzLmQycChkaXN0cywgdGhpcy5wZXJwbGV4aXR5LCAxZS00KTsgLy8gYXR0YWNoIHRvIG9iamVjdFxuICAgICAgICB0aGlzLk4gPSBOOyAvLyBiYWNrIHVwIHRoZSBzaXplIG9mIHRoZSBkYXRhc2V0XG4gICAgICAgIHRoaXMuaW5pdFNvbHV0aW9uKCk7IC8vIHJlZnJlc2ggdGhpc1xuICAgIH1cbiAgICAvLyB0aGlzIGZ1bmN0aW9uIHRha2VzIGEgZ2l2ZW4gZGlzdGFuY2UgbWF0cml4IGFuZCBjcmVhdGVzXG4gICAgLy8gbWF0cml4IFAgZnJvbSB0aGVtLlxuICAgIC8vIEQgaXMgYXNzdW1lZCB0byBiZSBwcm92aWRlZCBhcyBhIGxpc3Qgb2YgbGlzdHMsIGFuZCBzaG91bGQgYmUgc3ltbWV0cmljXG4gICAgaW5pdERhdGFEaXN0KEQpIHtcbiAgICAgICAgY29uc3QgTiA9IEQubGVuZ3RoO1xuICAgICAgICB0aGlzLmFzc2VydChOID4gMCwgJyBYIGlzIGVtcHR5PyBZb3UgbXVzdCBoYXZlIHNvbWUgZGF0YSEnKTtcbiAgICAgICAgLy8gY29udmVydCBEIHRvIGEgKGZhc3QpIHR5cGVkIGFycmF5IHZlcnNpb25cbiAgICAgICAgY29uc3QgZGlzdHMgPSB0aGlzLnplcm9zKE4gKiBOKTsgLy8gYWxsb2NhdGUgY29udGlndW91cyBhcnJheVxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IE47IGkrKykge1xuICAgICAgICAgICAgZm9yIChsZXQgaiA9IGkgKyAxOyBqIDwgTjsgaisrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZCA9IERbaV1bal07XG4gICAgICAgICAgICAgICAgZGlzdHNbaSAqIE4gKyBqXSA9IGQ7XG4gICAgICAgICAgICAgICAgZGlzdHNbaiAqIE4gKyBpXSA9IGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5QID0gdGhpcy5kMnAoZGlzdHMsIHRoaXMucGVycGxleGl0eSwgMWUtNCk7XG4gICAgICAgIHRoaXMuTiA9IE47XG4gICAgICAgIHRoaXMuaW5pdFNvbHV0aW9uKCk7IC8vIHJlZnJlc2ggdGhpc1xuICAgIH1cbiAgICAvLyAocmUpaW5pdGlhbGl6ZXMgdGhlIHNvbHV0aW9uIHRvIHJhbmRvbVxuICAgIGluaXRTb2x1dGlvbigpIHtcbiAgICAgICAgLy8gZ2VuZXJhdGUgcmFuZG9tIHNvbHV0aW9uIHRvIHQtU05FXG4gICAgICAgIHRoaXMuWSA9IHRoaXMucmFuZG4yZCh0aGlzLk4sIHRoaXMuZGltKTsgLy8gdGhlIHNvbHV0aW9uXG4gICAgICAgIHRoaXMuZ2FpbnMgPSB0aGlzLnJhbmRuMmQodGhpcy5OLCB0aGlzLmRpbSwgMS4wKTsgLy8gc3RlcCBnYWlucyB0byBhY2NlbGVyYXRlIHByb2dyZXNzIGluIHVuY2hhbmdpbmcgZGlyZWN0aW9uc1xuICAgICAgICB0aGlzLnlzdGVwID0gdGhpcy5yYW5kbjJkKHRoaXMuTiwgdGhpcy5kaW0sIDAuMCk7IC8vIG1vbWVudHVtIGFjY3VtdWxhdG9yXG4gICAgICAgIHRoaXMuaXRlciA9IDA7XG4gICAgfVxuICAgIC8vIHJldHVybiBwb2ludGVyIHRvIGN1cnJlbnQgc29sdXRpb25cbiAgICBnZXRTb2x1dGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuWTtcbiAgICB9XG4gICAgLy8gcGVyZm9ybSBhIHNpbmdsZSBzdGVwIG9mIG9wdGltaXphdGlvbiB0byBpbXByb3ZlIHRoZSBlbWJlZGRpbmdcbiAgICBzdGVwKCkge1xuICAgICAgICB0aGlzLml0ZXIgKz0gMTtcbiAgICAgICAgY29uc3QgTiA9IHRoaXMuTjtcbiAgICAgICAgY29uc3QgY2cgPSB0aGlzLmNvc3RHcmFkKHRoaXMuWSk7IC8vIGV2YWx1YXRlIGdyYWRpZW50XG4gICAgICAgIGNvbnN0IGNvc3QgPSBjZy5jb3N0O1xuICAgICAgICBjb25zdCBncmFkID0gY2cuZ3JhZDtcbiAgICAgICAgLy8gcGVyZm9ybSBncmFkaWVudCBzdGVwXG4gICAgICAgIGNvbnN0IHltZWFuID0gdGhpcy56ZXJvcyh0aGlzLmRpbSk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgTjsgaSsrKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBkID0gMDsgZCA8IHRoaXMuZGltOyBkKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBnaWQgPSBncmFkW2ldW2RdO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNpZCA9IHRoaXMueXN0ZXBbaV1bZF07XG4gICAgICAgICAgICAgICAgY29uc3QgZ2FpbmlkID0gdGhpcy5nYWluc1tpXVtkXTtcbiAgICAgICAgICAgICAgICAvLyBjb21wdXRlIGdhaW4gdXBkYXRlXG4gICAgICAgICAgICAgICAgbGV0IG5ld2dhaW4gPSB0aGlzLnNpZ24oZ2lkKSA9PT0gdGhpcy5zaWduKHNpZCkgPyBnYWluaWQgKiAwLjggOiBnYWluaWQgKyAwLjI7XG4gICAgICAgICAgICAgICAgaWYgKG5ld2dhaW4gPCAwLjAxKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld2dhaW4gPSAwLjAxO1xuICAgICAgICAgICAgICAgIH0gLy8gY2xhbXBcbiAgICAgICAgICAgICAgICB0aGlzLmdhaW5zW2ldW2RdID0gbmV3Z2FpbjsgLy8gc3RvcmUgZm9yIG5leHQgdHVyblxuICAgICAgICAgICAgICAgIC8vIGNvbXB1dGUgbW9tZW50dW0gc3RlcCBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgICBjb25zdCBtb212YWwgPSB0aGlzLml0ZXIgPCAyNTAgPyAwLjUgOiAwLjg7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3c2lkID0gbW9tdmFsICogc2lkIC0gdGhpcy5lcHNpbG9uICogbmV3Z2FpbiAqIGdyYWRbaV1bZF07XG4gICAgICAgICAgICAgICAgdGhpcy55c3RlcFtpXVtkXSA9IG5ld3NpZDsgLy8gcmVtZW1iZXIgdGhlIHN0ZXAgd2UgdG9va1xuICAgICAgICAgICAgICAgIC8vIHN0ZXAhXG4gICAgICAgICAgICAgICAgdGhpcy5ZW2ldW2RdICs9IG5ld3NpZDtcbiAgICAgICAgICAgICAgICB5bWVhbltkXSArPSB0aGlzLllbaV1bZF07IC8vIGFjY3VtdWxhdGUgbWVhbiBzbyB0aGF0IHdlIGNhbiBjZW50ZXIgbGF0ZXJcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyByZXByb2plY3QgWSB0byBiZSB6ZXJvIG1lYW5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBOOyBpKyspIHtcbiAgICAgICAgICAgIGZvciAobGV0IGQgPSAwOyBkIDwgdGhpcy5kaW07IGQrKykge1xuICAgICAgICAgICAgICAgIHRoaXMuWVtpXVtkXSAtPSB5bWVhbltkXSAvIE47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy9pZih0aGlzLml0ZXIlMTAwPT09MCkgY29uc29sZS5sb2coJ2l0ZXIgJyArIHRoaXMuaXRlciArICcsIGNvc3Q6ICcgKyBjb3N0KTtcbiAgICAgICAgcmV0dXJuIGNvc3Q7IC8vIHJldHVybiBjdXJyZW50IGNvc3RcbiAgICB9XG4gICAgLy8gZm9yIGRlYnVnZ2luZzogZ3JhZGllbnQgY2hlY2tcbiAgICBkZWJ1Z0dyYWQoKSB7XG4gICAgICAgIGNvbnN0IE4gPSB0aGlzLk47XG4gICAgICAgIGNvbnN0IGNnID0gdGhpcy5jb3N0R3JhZCh0aGlzLlkpOyAvLyBldmFsdWF0ZSBncmFkaWVudFxuICAgICAgICBjb25zdCBjb3N0ID0gY2cuY29zdDtcbiAgICAgICAgY29uc3QgZ3JhZCA9IGNnLmdyYWQ7XG4gICAgICAgIGNvbnN0IGUgPSAxZS01O1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IE47IGkrKykge1xuICAgICAgICAgICAgZm9yIChsZXQgZCA9IDA7IGQgPCB0aGlzLmRpbTsgZCsrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeW9sZCA9IHRoaXMuWVtpXVtkXTtcbiAgICAgICAgICAgICAgICB0aGlzLllbaV1bZF0gPSB5b2xkICsgZTtcbiAgICAgICAgICAgICAgICBjb25zdCBjZzAgPSB0aGlzLmNvc3RHcmFkKHRoaXMuWSk7XG4gICAgICAgICAgICAgICAgdGhpcy5ZW2ldW2RdID0geW9sZCAtIGU7XG4gICAgICAgICAgICAgICAgY29uc3QgY2cxID0gdGhpcy5jb3N0R3JhZCh0aGlzLlkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGFuYWx5dGljID0gZ3JhZFtpXVtkXTtcbiAgICAgICAgICAgICAgICBjb25zdCBudW1lcmljYWwgPSAoY2cwLmNvc3QgLSBjZzEuY29zdCkgLyAoMiAqIGUpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGkgKyAnLCcgKyBkICsgJzogZ3JhZGNoZWNrIGFuYWx5dGljOiAnICsgYW5hbHl0aWMgKyAnIHZzLiBudW1lcmljYWw6ICcgKyBudW1lcmljYWwpO1xuICAgICAgICAgICAgICAgIHRoaXMuWVtpXVtkXSA9IHlvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gcmV0dXJuIGNvc3QgYW5kIGdyYWRpZW50LCBnaXZlbiBhbiBhcnJhbmdlbWVudFxuICAgIGNvc3RHcmFkKFkpIHtcbiAgICAgICAgY29uc3QgTiA9IHRoaXMuTjtcbiAgICAgICAgY29uc3QgZGltID0gdGhpcy5kaW07IC8vIGRpbSBvZiBvdXRwdXQgc3BhY2VcbiAgICAgICAgY29uc3QgUCA9IHRoaXMuUDtcbiAgICAgICAgY29uc3QgcG11bCA9IHRoaXMuaXRlciA8IDEwMCA/IDQgOiAxOyAvLyB0cmljayB0aGF0IGhlbHBzIHdpdGggbG9jYWwgb3B0aW1hXG4gICAgICAgIC8vIGNvbXB1dGUgY3VycmVudCBRIGRpc3RyaWJ1dGlvbiwgdW5ub3JtYWxpemVkIGZpcnN0XG4gICAgICAgIGNvbnN0IHF1QXJyID0gdGhpcy56ZXJvcyhOICogTik7XG4gICAgICAgIGxldCBxc3VtID0gMC4wO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IE47IGkrKykge1xuICAgICAgICAgICAgZm9yIChsZXQgaiA9IGkgKyAxOyBqIDwgTjsgaisrKSB7XG4gICAgICAgICAgICAgICAgbGV0IGRzdW0gPSAwLjA7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgZCA9IDA7IGQgPCBkaW07IGQrKykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkaGVyZSA9IFlbaV1bZF0gLSBZW2pdW2RdO1xuICAgICAgICAgICAgICAgICAgICBkc3VtICs9IGRoZXJlICogZGhlcmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHF1ID0gMS4wIC8gKDEuMCArIGRzdW0pOyAvLyBTdHVkZW50IHQtZGlzdHJpYnV0aW9uXG4gICAgICAgICAgICAgICAgcXVBcnJbaSAqIE4gKyBqXSA9IHF1O1xuICAgICAgICAgICAgICAgIHF1QXJyW2ogKiBOICsgaV0gPSBxdTtcbiAgICAgICAgICAgICAgICBxc3VtICs9IDIgKiBxdTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBub3JtYWxpemUgUSBkaXN0cmlidXRpb24gdG8gc3VtIHRvIDFcbiAgICAgICAgY29uc3QgTk4gPSBOICogTjtcbiAgICAgICAgY29uc3QgUSA9IHRoaXMuemVyb3MoTk4pO1xuICAgICAgICBmb3IgKGxldCBxID0gMDsgcSA8IE5OOyBxKyspIHtcbiAgICAgICAgICAgIFFbcV0gPSBNYXRoLm1heChxdUFycltxXSAvIHFzdW0sIDFlLTEwMCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGNvc3QgPSAwLjA7XG4gICAgICAgIGNvbnN0IGdyYWQgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBOOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGdzdW0gPSBuZXcgQXJyYXkoZGltKTsgLy8gaW5pdCBncmFkIGZvciBwb2ludCBpXG4gICAgICAgICAgICBmb3IgKGxldCBkID0gMDsgZCA8IGRpbTsgZCsrKSB7XG4gICAgICAgICAgICAgICAgZ3N1bVtkXSA9IDAuMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgTjsgaisrKSB7XG4gICAgICAgICAgICAgICAgY29zdCArPSAtUFtpICogTiArIGpdICogTWF0aC5sb2coUVtpICogTiArIGpdKTsgLy8gYWNjdW11bGF0ZSBjb3N0ICh0aGUgbm9uLWNvbnN0YW50IHBvcnRpb24gYXQgbGVhc3QuLi4pXG4gICAgICAgICAgICAgICAgY29uc3QgcHJlbXVsdCA9IDQgKiAocG11bCAqIFBbaSAqIE4gKyBqXSAtIFFbaSAqIE4gKyBqXSkgKiBxdUFycltpICogTiArIGpdO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGQgPSAwOyBkIDwgZGltOyBkKyspIHtcbiAgICAgICAgICAgICAgICAgICAgZ3N1bVtkXSArPSBwcmVtdWx0ICogKFlbaV1bZF0gLSBZW2pdW2RdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBncmFkLnB1c2goZ3N1bSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgY29zdCwgZ3JhZCB9O1xuICAgIH1cbn1cbmV4cG9ydHMuVFNORSA9IFRTTkU7XG4iLCIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdKG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuLy8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbl9fd2VicGFja19yZXF1aXJlX18ubSA9IF9fd2VicGFja19tb2R1bGVzX187XG5cbi8vIHRoZSBzdGFydHVwIGZ1bmN0aW9uXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnggPSAoKSA9PiB7XG5cdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuXHQvLyBUaGlzIGVudHJ5IG1vZHVsZSBkZXBlbmRzIG9uIG90aGVyIGxvYWRlZCBjaHVua3MgYW5kIGV4ZWN1dGlvbiBuZWVkIHRvIGJlIGRlbGF5ZWRcblx0dmFyIF9fd2VicGFja19leHBvcnRzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fLk8odW5kZWZpbmVkLCBbNDgzLDM1Ml0sICgpID0+IChfX3dlYnBhY2tfcmVxdWlyZV9fKDQ5NDMpKSlcblx0X193ZWJwYWNrX2V4cG9ydHNfXyA9IF9fd2VicGFja19yZXF1aXJlX18uTyhfX3dlYnBhY2tfZXhwb3J0c19fKTtcblx0cmV0dXJuIF9fd2VicGFja19leHBvcnRzX187XG59O1xuXG4iLCIvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9ucyBmb3IgaGFybW9ueSBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSAoZXhwb3J0cywgZGVmaW5pdGlvbikgPT4ge1xuXHRmb3IodmFyIGtleSBpbiBkZWZpbml0aW9uKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKGRlZmluaXRpb24sIGtleSkgJiYgIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBrZXkpKSB7XG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZGVmaW5pdGlvbltrZXldIH0pO1xuXHRcdH1cblx0fVxufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLmYgPSB7fTtcbi8vIFRoaXMgZmlsZSBjb250YWlucyBvbmx5IHRoZSBlbnRyeSBjaHVuay5cbi8vIFRoZSBjaHVuayBsb2FkaW5nIGZ1bmN0aW9uIGZvciBhZGRpdGlvbmFsIGNodW5rc1xuX193ZWJwYWNrX3JlcXVpcmVfXy5lID0gKGNodW5rSWQpID0+IHtcblx0cmV0dXJuIFByb21pc2UuYWxsKE9iamVjdC5rZXlzKF9fd2VicGFja19yZXF1aXJlX18uZikucmVkdWNlKChwcm9taXNlcywga2V5KSA9PiB7XG5cdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5mW2tleV0oY2h1bmtJZCwgcHJvbWlzZXMpO1xuXHRcdHJldHVybiBwcm9taXNlcztcblx0fSwgW10pKTtcbn07IiwiLy8gVGhpcyBmdW5jdGlvbiBhbGxvdyB0byByZWZlcmVuY2UgYXN5bmMgY2h1bmtzIGFuZCBzaWJsaW5nIGNodW5rcyBmb3IgdGhlIGVudHJ5cG9pbnRcbl9fd2VicGFja19yZXF1aXJlX18udSA9IChjaHVua0lkKSA9PiB7XG5cdC8vIHJldHVybiB1cmwgZm9yIGZpbGVuYW1lcyBiYXNlZCBvbiB0ZW1wbGF0ZVxuXHRyZXR1cm4gXCJcIiArIGNodW5rSWQgKyBcIi5qc1wiO1xufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLmcgPSAoZnVuY3Rpb24oKSB7XG5cdGlmICh0eXBlb2YgZ2xvYmFsVGhpcyA9PT0gJ29iamVjdCcpIHJldHVybiBnbG9iYWxUaGlzO1xuXHR0cnkge1xuXHRcdHJldHVybiB0aGlzIHx8IG5ldyBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0aWYgKHR5cGVvZiB3aW5kb3cgPT09ICdvYmplY3QnKSByZXR1cm4gd2luZG93O1xuXHR9XG59KSgpOyIsIl9fd2VicGFja19yZXF1aXJlX18ubyA9IChvYmosIHByb3ApID0+IChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSkiLCJ2YXIgc2NyaXB0VXJsO1xuaWYgKF9fd2VicGFja19yZXF1aXJlX18uZy5pbXBvcnRTY3JpcHRzKSBzY3JpcHRVcmwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLmcubG9jYXRpb24gKyBcIlwiO1xudmFyIGRvY3VtZW50ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5nLmRvY3VtZW50O1xuaWYgKCFzY3JpcHRVcmwgJiYgZG9jdW1lbnQpIHtcblx0aWYgKGRvY3VtZW50LmN1cnJlbnRTY3JpcHQpXG5cdFx0c2NyaXB0VXJsID0gZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmM7XG5cdGlmICghc2NyaXB0VXJsKSB7XG5cdFx0dmFyIHNjcmlwdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcInNjcmlwdFwiKTtcblx0XHRpZihzY3JpcHRzLmxlbmd0aCkge1xuXHRcdFx0dmFyIGkgPSBzY3JpcHRzLmxlbmd0aCAtIDE7XG5cdFx0XHR3aGlsZSAoaSA+IC0xICYmICFzY3JpcHRVcmwpIHNjcmlwdFVybCA9IHNjcmlwdHNbaS0tXS5zcmM7XG5cdFx0fVxuXHR9XG59XG4vLyBXaGVuIHN1cHBvcnRpbmcgYnJvd3NlcnMgd2hlcmUgYW4gYXV0b21hdGljIHB1YmxpY1BhdGggaXMgbm90IHN1cHBvcnRlZCB5b3UgbXVzdCBzcGVjaWZ5IGFuIG91dHB1dC5wdWJsaWNQYXRoIG1hbnVhbGx5IHZpYSBjb25maWd1cmF0aW9uXG4vLyBvciBwYXNzIGFuIGVtcHR5IHN0cmluZyAoXCJcIikgYW5kIHNldCB0aGUgX193ZWJwYWNrX3B1YmxpY19wYXRoX18gdmFyaWFibGUgZnJvbSB5b3VyIGNvZGUgdG8gdXNlIHlvdXIgb3duIGxvZ2ljLlxuaWYgKCFzY3JpcHRVcmwpIHRocm93IG5ldyBFcnJvcihcIkF1dG9tYXRpYyBwdWJsaWNQYXRoIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBicm93c2VyXCIpO1xuc2NyaXB0VXJsID0gc2NyaXB0VXJsLnJlcGxhY2UoLyMuKiQvLCBcIlwiKS5yZXBsYWNlKC9cXD8uKiQvLCBcIlwiKS5yZXBsYWNlKC9cXC9bXlxcL10rJC8sIFwiL1wiKTtcbl9fd2VicGFja19yZXF1aXJlX18ucCA9IHNjcmlwdFVybDsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLmIgPSBzZWxmLmxvY2F0aW9uICsgXCJcIjtcblxuLy8gb2JqZWN0IHRvIHN0b3JlIGxvYWRlZCBjaHVua3Ncbi8vIFwiMVwiIG1lYW5zIFwiYWxyZWFkeSBsb2FkZWRcIlxudmFyIGluc3RhbGxlZENodW5rcyA9IHtcblx0OTQzOiAxXG59O1xuXG4vLyBpbXBvcnRTY3JpcHRzIGNodW5rIGxvYWRpbmdcbnZhciBpbnN0YWxsQ2h1bmsgPSAoZGF0YSkgPT4ge1xuXHR2YXIgW2NodW5rSWRzLCBtb3JlTW9kdWxlcywgcnVudGltZV0gPSBkYXRhO1xuXHRmb3IodmFyIG1vZHVsZUlkIGluIG1vcmVNb2R1bGVzKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKG1vcmVNb2R1bGVzLCBtb2R1bGVJZCkpIHtcblx0XHRcdF9fd2VicGFja19yZXF1aXJlX18ubVttb2R1bGVJZF0gPSBtb3JlTW9kdWxlc1ttb2R1bGVJZF07XG5cdFx0fVxuXHR9XG5cdGlmKHJ1bnRpbWUpIHJ1bnRpbWUoX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cdHdoaWxlKGNodW5rSWRzLmxlbmd0aClcblx0XHRpbnN0YWxsZWRDaHVua3NbY2h1bmtJZHMucG9wKCldID0gMTtcblx0cGFyZW50Q2h1bmtMb2FkaW5nRnVuY3Rpb24oZGF0YSk7XG59O1xuX193ZWJwYWNrX3JlcXVpcmVfXy5mLmkgPSAoY2h1bmtJZCwgcHJvbWlzZXMpID0+IHtcblx0Ly8gXCIxXCIgaXMgdGhlIHNpZ25hbCBmb3IgXCJhbHJlYWR5IGxvYWRlZFwiXG5cdGlmKCFpbnN0YWxsZWRDaHVua3NbY2h1bmtJZF0pIHtcblx0XHRpZih0cnVlKSB7IC8vIGFsbCBjaHVua3MgaGF2ZSBKU1xuXHRcdFx0aW1wb3J0U2NyaXB0cyhfX3dlYnBhY2tfcmVxdWlyZV9fLnAgKyBfX3dlYnBhY2tfcmVxdWlyZV9fLnUoY2h1bmtJZCkpO1xuXHRcdH1cblx0fVxufTtcblxudmFyIGNodW5rTG9hZGluZ0dsb2JhbCA9IHNlbGZbXCJ3ZWJwYWNrQ2h1bmtlZGFcIl0gPSBzZWxmW1wid2VicGFja0NodW5rZWRhXCJdIHx8IFtdO1xudmFyIHBhcmVudENodW5rTG9hZGluZ0Z1bmN0aW9uID0gY2h1bmtMb2FkaW5nR2xvYmFsLnB1c2guYmluZChjaHVua0xvYWRpbmdHbG9iYWwpO1xuY2h1bmtMb2FkaW5nR2xvYmFsLnB1c2ggPSBpbnN0YWxsQ2h1bms7XG5cbi8vIG5vIEhNUlxuXG4vLyBubyBITVIgbWFuaWZlc3QiLCIvLyBydW4gc3RhcnR1cFxudmFyIF9fd2VicGFja19leHBvcnRzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fLngoKTtcbiJdLCJuYW1lcyI6WyJkZWZlcnJlZCIsIm5leHQiLCJGbG9hdDMyQXJyYXkiLCJ0YW5pbW90b1NpbWlsYXJpdHkiLCJ4IiwieSIsInRvdGFsIiwidHJ1ZUNvdW50IiwiY29tbW9uIiwiYW5kV2l0aENvdW50Qml0cyIsImdldERpc3RhbmNlRnJvbVNpbWlsYXJpdHkiLCJzaW1pbGFyaXR5IiwiYXNzZXJ0IiwiY29uZGl0aW9uIiwibWVzc2FnZSIsIkVycm9yIiwidmVjdG9yRGlzdGFuY2VNZXRyaWNzTWV0aG9kcyIsInAiLCJxIiwicmVzdWx0IiwibGVuIiwibGVuZ3RoIiwiaSIsIk1hdGgiLCJwb3ciLCJzcXJ0Iiwic3RyaW5nRGlzdGFuY2VNZXRyaWNzTWV0aG9kcyIsInMxIiwiczIiLCJkaXN0IiwiYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzIiwiZGljZVNpbWlsYXJpdHkiLCJtaW4iLCJhc3ltbWV0cmljU2ltaWxhcml0eSIsIm1heCIsImJyYXVuQmxhbnF1ZXRTaW1pbGFyaXR5IiwiY29zaW5lU2ltaWxhcml0eSIsInRvdGFsUHJvZCIsImt1bGN6eW5za2lTaW1pbGFyaXR5IiwibWNDb25uYXVnaGV5U2ltaWxhcml0eSIsImNvdW50Qml0cyIsImRpZmYiLCJyb2dvdEdvbGRiZXJnU2ltaWxhcml0eSIsInJ1c3NlbFNpbWlsYXJpdHkiLCJzb2thbFNpbWlsYXJpdHkiLCJpbnRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHMiLCJudW1iZXJEaXN0YW5jZU1ldHJpY3NNZXRob2RzIiwiYWJzIiwiQXZhaWxhYmxlTWV0cmljcyIsIk1ldHJpY1RvRGF0YVR5cGUiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwicmV0Iiwia2V5IiwidmFsIiwiTWVhc3VyZSIsIm1ldGhvZCIsImRhdGFUeXBlIiwiY29uc3RydWN0b3IiLCJ0aGlzIiwiZ2V0TWVhc3VyZSIsIm9wdHMiLCJkaWN0IiwiaGFzT3duUHJvcGVydHkiLCJuYW1lIiwic3RhdGljIiwiYXZhaWxhYmxlTWVhc3VyZXMiLCJEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kcyIsImluc2VydFNtYWxsZXIiLCJkaXN0YW5jZXNBciIsImluZGV4ZXMiLCJudW0iLCJpbmRleCIsIm5ld1Bvc2l0aW9uIiwiZmluZEluZGV4IiwidiIsInBvcCIsInNwbGljZSIsIkRpc3RhbmNlTWF0cml4U2VydmljZSIsIl93b3JrZXJzIiwiX3dvcmtlckNvdW50IiwiX3Rlcm1pbmF0ZU9uQ29tcGxldGUiLCJ1c2VDb25jdXJyZW50V29ya2VycyIsInRlcm1pbmF0ZU9uQ29tcGxldGUiLCJ0aHJlYWRDb3VudCIsIm5hdmlnYXRvciIsImhhcmR3YXJlQ29uY3VycmVuY3kiLCJBcnJheSIsImZpbGwiLCJtYXAiLCJXb3JrZXIiLCJVUkwiLCJhc3luYyIsInZhbHVlcyIsImZuTmFtZSIsIm5vcm1hbGl6ZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwicHJvbWlzZXMiLCJ0b3RhbExlbmd0aCIsImNodW5rU2l6ZSIsImRpc3RhbmNlTWF0cml4IiwiZW5kUm93IiwiZW5kQ29sIiwibG1pbiIsImxtYXgiLCJOdW1iZXIiLCJNSU5fVkFMVUUiLCJzdGFydCIsImZsb29yIiwiZW5kIiwic3RhcnRSb3ciLCJzdGFydENvbCIsInBvc3RNZXNzYWdlIiwiY2h1bmNrU2l6ZSIsInJlc29sdmVXb3JrZXIiLCJyZWplY3RXb3JrZXIiLCJvbm1lc3NhZ2UiLCJkYXRhIiwiZXJyb3IiLCJkaXN0YW5jZU1hdHJpeERhdGEiLCJ0ZXJtaW5hdGUiLCJzZXQiLCJhbGwiLCJmb3JFYWNoIiwidmFsdWUiLCJlIiwid29ya2VyIiwidGF1UmFuZEludCIsIm4iLCJyYW5kb20iLCJ0YXVSYW5kIiwiZW1wdHkiLCJvdXRwdXQiLCJwdXNoIiwidW5kZWZpbmVkIiwicmFuZ2UiLCJfIiwiZmlsbGVkIiwiemVyb3MiLCJtZWFuIiwiaW5wdXQiLCJzdW0iLCJyZWplY3Rpb25TYW1wbGUiLCJuU2FtcGxlcyIsInBvb2xTaXplIiwicmVqZWN0U2FtcGxlIiwiaiIsImJyb2tlbiIsImsiLCJyZXNoYXBlMmQiLCJhIiwiYiIsInJvd3MiLCJjb3VudCIsImNvbCIsIm1ha2VIZWFwIiwiblBvaW50cyIsInNpemUiLCJtYWtlQXJyYXlzIiwiZmlsbFZhbHVlIiwiaGVhcCIsIkluZmluaXR5IiwiaGVhcFB1c2giLCJyb3ciLCJ3ZWlnaHQiLCJmbGFnIiwiaW5kaWNlcyIsIndlaWdodHMiLCJ1bmNoZWNrZWRIZWFwUHVzaCIsImlzTmV3IiwiaVN3YXAiLCJpYzEiLCJpYzIiLCJoZWFwU2hhcGUyIiwiYnVpbGRDYW5kaWRhdGVzIiwiY3VycmVudEdyYXBoIiwiblZlcnRpY2VzIiwibk5laWdoYm9ycyIsIm1heENhbmRpZGF0ZXMiLCJjYW5kaWRhdGVOZWlnaGJvcnMiLCJpZHgiLCJpc24iLCJkIiwiZGVoZWFwU29ydCIsImluZEhlYXAiLCJkaXN0SGVhcCIsImluZEhlYXBJbmRleCIsImRpc3RIZWFwSW5kZXgiLCJ0ZW1wMSIsInRlbXAyIiwic2lmdERvd24iLCJoZWFwMSIsImhlYXAyIiwiY2VpbGluZyIsImVsdCIsImxlZnRDaGlsZCIsInJpZ2h0Q2hpbGQiLCJzd2FwIiwic21hbGxlc3RGbGFnZ2VkIiwiaW5kIiwibWluRGlzdCIsInJlc3VsdEluZGV4IiwiU3BhcnNlTWF0cml4IiwiZW50cmllcyIsIk1hcCIsIm5Sb3dzIiwibkNvbHMiLCJjb2xzIiwiZGltcyIsImNoZWNrRGltcyIsIm1ha2VLZXkiLCJoYXMiLCJnZXQiLCJkZWZhdWx0VmFsdWUiLCJnZXRBbGwiLCJvcmRlcmVkIiwicm93Q29sVmFsdWVzIiwic29ydCIsImdldERpbXMiLCJnZXRSb3dzIiwiZnJvbSIsImdldENvbHMiLCJnZXRWYWx1ZXMiLCJmbiIsInZhbHMiLCJ0b0FycmF5IiwibWF0cml4Iiwib2xkUm93cyIsIm9sZENvbHMiLCJvbGRWYWxzIiwibWF0bGVuIiwiSW50MzJBcnJheSIsInBhaXJ3aXNlTXVsdGlwbHkiLCJlbGVtZW50V2lzZSIsImFkZCIsInN1YnRyYWN0IiwibXVsdGlwbHlTY2FsYXIiLCJzY2FsYXIiLCJlbGltaW5hdGVaZXJvcyIsIm0iLCJ6ZXJvSW5kaWNlcyIsIlNldCIsInJlbW92ZUJ5WmVyb0luZGV4IiwibmV4dFZhbHVlcyIsImZpbHRlciIsIm5leHRSb3dzIiwibmV4dENvbHMiLCJub3JtVHlwZSIsIm5vcm1GbiIsIm5vcm1GbnMiLCJjb2xzQnlSb3ciLCJuZXh0TWF0cml4Iiwibm9ybSIsInhzIiwib3AiLCJ2aXNpdGVkIiwib3BlcmF0ZSIsIm5leHRWYWx1ZSIsInZhbHVlc0EiLCJyb3dzQSIsImNvbHNBIiwidmFsdWVzQiIsInJvd3NCIiwiY29sc0IiLCJnZXRDU1IiLCJpbmRwdHIiLCJjdXJyZW50Um93IiwiRmxhdFRyZWUiLCJoeXBlcnBsYW5lcyIsIm9mZnNldHMiLCJjaGlsZHJlbiIsIm1ha2VGb3Jlc3QiLCJuVHJlZXMiLCJsZWFmU2l6ZSIsInRyZWVzIiwibWFrZUV1Y2xpZGVhblRyZWUiLCJtYWtlVHJlZSIsImZvcmVzdCIsInRyZWUiLCJuTm9kZXMiLCJudW1Ob2RlcyIsIm5MZWF2ZXMiLCJudW1MZWF2ZXMiLCJoeXBlcnBsYW5lIiwicmVjdXJzaXZlRmxhdHRlbiIsImZsYXR0ZW5UcmVlIiwic3BsaXRSZXN1bHRzIiwibGVmdEluZGV4IiwicmlnaHRJbmRleCIsImxlZnQiLCJyaWdodCIsImh5cGVycGxhbmVPZmZzZXQiLCJoeXBlcnBsYW5lVmVjdG9yIiwibkxlZnQiLCJuUmlnaHQiLCJzaWRlIiwibWFyZ2luIiwiaW5kaWNlc0xlZnQiLCJpbmRpY2VzUmlnaHQiLCJvZmZzZXQiLCJldWNsaWRlYW5SYW5kb21Qcm9qZWN0aW9uU3BsaXQiLCJpc0xlYWYiLCJub2RlTnVtIiwibGVhZk51bSIsIm9sZE5vZGVOdW0iLCJyZXMiLCJzZWxlY3RTaWRlIiwicG9pbnQiLCJzZWFyY2hGbGF0VHJlZSIsIm5vZGUiLCJTTU9PVEhfS19UT0xFUkFOQ0UiLCJNSU5fS19ESVNUX1NDQUxFIiwiVU1BUCIsImxlYXJuaW5nUmF0ZSIsImxvY2FsQ29ubmVjdGl2aXR5IiwibkNvbXBvbmVudHMiLCJuRXBvY2hzIiwibmVnYXRpdmVTYW1wbGVSYXRlIiwicmVwdWxzaW9uU3RyZW5ndGgiLCJzZXRPcE1peFJhdGlvIiwic3ByZWFkIiwidHJhbnNmb3JtUXVldWVTaXplIiwidGFyZ2V0TWV0cmljIiwidGFyZ2V0V2VpZ2h0IiwidGFyZ2V0Tk5laWdoYm9ycyIsImRpc3RhbmNlRm4iLCJudW1lcmljIiwia25uSW5kaWNlcyIsImtubkRpc3RhbmNlcyIsImdyYXBoIiwiWCIsImlzSW5pdGlhbGl6ZWQiLCJycEZvcmVzdCIsImluaXRGcm9tUmFuZG9tIiwiaW5pdEZyb21UcmVlIiwic2VhcmNoIiwic2VhcmNoR3JhcGgiLCJZIiwiZW1iZWRkaW5nIiwib3B0aW1pemF0aW9uU3RhdGUiLCJPcHRpbWl6YXRpb25TdGF0ZSIsIm5laWdoYm9ycyIsInBhcmFtcyIsInNldFBhcmFtIiwiZml0IiwiaW5pdGlhbGl6ZUZpdCIsIm9wdGltaXplTGF5b3V0IiwiY2FsbGJhY2siLCJvcHRpbWl6ZUxheW91dEFzeW5jIiwic2V0U3VwZXJ2aXNlZFByb2plY3Rpb24iLCJzZXRQcmVjb21wdXRlZEtOTiIsImdldE5FcG9jaHMiLCJrbm5SZXN1bHRzIiwibmVhcmVzdE5laWdoYm9ycyIsImZ1enp5U2ltcGxpY2lhbFNldCIsIm1ha2VTZWFyY2hGbnMiLCJtYWtlU2VhcmNoR3JhcGgiLCJwcm9jZXNzR3JhcGhGb3JTdXBlcnZpc2VkUHJvamVjdGlvbiIsImhlYWQiLCJ0YWlsIiwiZXBvY2hzUGVyU2FtcGxlIiwiaW5pdGlhbGl6ZVNpbXBsaWNpYWxTZXRFbWJlZGRpbmciLCJpbml0aWFsaXplT3B0aW1pemF0aW9uIiwicHJlcGFyZUZvck9wdGltaXphdGlvbkxvb3AiLCJxdWVyeVBvaW50cyIsIl9oZWFwIiwiX3RyZWUiLCJpbml0aWFsaXphdGlvbiIsInRyaWVkIiwidmVydGV4IiwiY2FuZGlkYXRlcyIsInNsaWNlIiwiY2FuZGlkYXRlIiwia25uIiwiZGlzdGFuY2VzIiwibmVpZ2hib3IiLCJkaXN0YW5jZSIsInRyYW5zZm9ybSIsInRvVHJhbnNmb3JtIiwicmF3RGF0YSIsImluaXQiLCJyZXN1bHRzIiwiYWRqdXN0ZWRMb2NhbENvbm5lY3Rpdml0eSIsInNpZ21hcyIsInJob3MiLCJzbW9vdGhLTk5EaXN0YW5jZSIsImNvbXB1dGVNZW1iZXJzaGlwU3RyZW5ndGhzIiwiY3NyTWF0cml4IiwieiIsImluaXRUcmFuc2Zvcm0iLCJncmFwaE1heCIsIm1ha2VFcG9jaHNQZXJTYW1wbGUiLCJhc3NpZ25PcHRpbWl6YXRpb25TdGF0ZVBhcmFtZXRlcnMiLCJoZWFkRW1iZWRkaW5nIiwidGFpbEVtYmVkZGluZyIsImN1cnJlbnRFcG9jaCIsImZhckRpc3QiLCJjYXRlZ29yaWNhbFNpbXBsaWNpYWxTZXRJbnRlcnNlY3Rpb24iLCJzdGVwIiwib3B0aW1pemVMYXlvdXRTdGVwIiwiZ2V0RW1iZWRkaW5nIiwibWV0cmljTk5EZXNjZW50IiwibGVhZkFycmF5Iiwibkl0ZXJzIiwiZGVsdGEiLCJyaG8iLCJycFRyZWVJbml0IiwiYyIsImNqIiwiY2siLCJyb3VuZCIsImxvZyIsImxvZzIiLCJzcGFyc2VNYXRyaXgiLCJ0cmFuc3Bvc2UiLCJwcm9kTWF0cml4Iiwic2ltcGxpY2lhbFNldCIsInRhcmdldCIsInVua25vd25EaXN0IiwiaW50ZXJzZWN0aW9uIiwiZXhwIiwiZmFzdEludGVyc2VjdGlvbiIsInJlc2V0TG9jYWxDb25uZWN0aXZpdHkiLCJuSXRlciIsImJhbmR3aWR0aCIsImxvIiwiaGkiLCJtaWQiLCJpdGhEaXN0YW5jZXMiLCJub25aZXJvRGlzdHMiLCJpbnRlcnBvbGF0aW9uIiwicHN1bSIsIm1lYW5JdGhEaXN0YW5jZXMiLCJtZWFuRGlzdGFuY2VzIiwiZ3JhcGhWYWx1ZXMiLCJlbnRyeSIsInciLCJzdGF0ZSIsImFzc2lnbiIsImRpbSIsIm1vdmVPdGhlciIsImVwb2Noc1Blck5lZ2F0aXZlU2FtcGxlIiwiZXBvY2hPZk5leHROZWdhdGl2ZVNhbXBsZSIsImVwb2NoT2ZOZXh0U2FtcGxlIiwiaW5pdGlhbEFscGhhIiwiYWxwaGEiLCJnYW1tYSIsInh2IiwieXYiLCJwYXJhbWV0ZXJWYWx1ZXMiLCJwYXJhbWV0ZXJpemVkRnVuY3Rpb24iLCJvcHRpb25zIiwibWF4SXRlcmF0aW9ucyIsImdyYWRpZW50RGlmZmVyZW5jZSIsImRhbXBpbmciLCJlcnJvclRvbGVyYW5jZSIsIm1pblZhbHVlcyIsIm1heFZhbHVlcyIsImluaXRpYWxWYWx1ZXMiLCJwYXJhbWV0ZXJzIiwicGFyTGVuIiwiTUFYX1NBRkVfSU5URUdFUiIsIk1JTl9TQUZFX0lOVEVHRVIiLCJpdGVyYXRpb24iLCJlcnJvckNhbGN1bGF0aW9uIiwiY29udmVyZ2VkIiwiaXNOYU4iLCJwYXJhbWV0ZXJFcnJvciIsIml0ZXJhdGlvbnMiLCJmaW5kQUJQYXJhbXMiLCJjdXJyZW50Iiwib3RoZXIiLCJkaXN0U3F1YXJlZCIsInJEaXN0IiwiZ3JhZENvZWZmIiwiZ3JhZEQiLCJjbGlwIiwibk5lZ1NhbXBsZXMiLCJlcG9jaENhbGxiYWNrIiwiZXBvY2hDb21wbGV0ZWQiLCJzaG91bGRTdG9wIiwiaXNGaW5pc2hlZCIsInNldFRpbWVvdXQiLCJlcnIiLCJjbGlwVmFsdWUiLCJTcGFyc2VNYXRyaXhTZXJ2aWNlIiwidGhyZXNob2xkIiwibWF0U2l6ZSIsIm1pblRocmVzaG9sZCIsImdldE1pbmltYWxUaHJlc2hvbGQiLCJjb25zb2xlIiwid29ya2VycyIsInN0YXJ0SWR4IiwiZW5kSWR4IiwiZnVsbFNpemUiLCJhY2MiLCJuTmVpZ2hib3VycyIsIm11bHRpQ29sdW1uS05OIiwiZm5OYW1lcyIsImFnZ3JlZ2F0aW9uTWV0aG9kIiwiRVVDTElERUFOIiwic29tZSIsImtubkluZGV4ZXMiLCJrbm5SZXMiLCJ0aHJlc2hvbGRXb3JrZXJzIiwic2h1ZmZsZWRWYWx1ZXMiLCJtYXhTYW1wbGVTaXplIiwic2FtcGxlU2lzZSIsInRlc3RTZXRTaXplUGVyV29ya2VyIiwidFByb21pc2VzIiwic2FtcGxlTGVuZ3RoIiwiZ2V0U2FtcGxlRGlzdGFuY2VzIiwiY250IiwibWkiLCJtaiIsIk11bHRpQ29sdW1uUmVkdWNlciIsIk11bHRpVFNORVJlZHVjZXIiLCJyZWR1Y2VyIiwiZGlzdGFuY2VGbmFtZXMiLCJkaXN0YW5jZUZucyIsImRpc3RhbmNlRm5BcmdzIiwic3VwZXIiLCJtYXRyaXhTZXJ2aWNlIiwiYWdncmVnYXRlIiwiTUFOSEFUVEFOIiwidnMiLCJjYWxjIiwibWF0cml4UHJveHkiLCJjb25kZW5zZWRBcnJheSIsImxpbmVhckZ1bmMiLCJkbUxpbmVhckluZGV4IiwibGluZWFySW5kZXgiLCJpTnVtIiwiak51bSIsImlkeDFIYW5kbGVyIiwiaWR4MSIsIl9yZWNlaXZlciIsIlByb3h5IiwiaWR4MiIsImlkeDJIYW5kbGVyIiwiZGlzdGFuY2VNYXRyaXhQcm94eSIsImluaXREYXRhRGlzdCIsImdldFNvbHV0aW9uIiwiTXVsdGlVTUFQUmVkdWNlciIsInZlY3RvcnMiLCJwcm9ncmVzc0Z1bmMiLCJfcGFyYWxsZWxEaXN0YW5jZVdvcmtlcnMiLCJ0aW1lIiwidGltZUVuZCIsImZpdEFzeW5jIiwiZXBvYyIsIkF2YWlsYWJsZVJlZHVjZXJzIiwiTXVsdGlDb2xEaW1SZWR1Y2VyIiwibWV0cmljcyIsImRpc3RhbmNlQWdncmVnYXRpb24iLCJtZWFzdXJlcyIsIm1lYXN1cmUiLCJiaXRBcnJheUxlbmd0aCIsIl9sZW5ndGgiLCJfZGF0YSIsInR5cGVOYW1lIiwiYXZhaWxhYmxlTWV0aG9kcyIsImF2YWlsYWJsZU1ldHJpY3MiLCJhbnMiLCJvYmoiLCJhcnJheSIsImVwb2NoTnVtIiwiZXBvY2hzTGVuZ3RoIiwic2VsZiIsImNvbHVtbnNEYXRhIiwiZGlzdGFuY2VNZXRyaWNzIiwib25NZXNzYWdlIiwiZXhwb3J0cyIsInRzbmVfMSIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsIlRTTkUiLCJvcHQiLCJyZXR1cm5WIiwidlZhbHVlIiwiaXRlciIsInBlcnBsZXhpdHkiLCJnZXRvcHQiLCJlcHNpbG9uIiwiZmllbGQiLCJkZWZhdWx0dmFsIiwiZ2F1c3NSYW5kb20iLCJ1IiwiciIsInJhbmRuIiwibXUiLCJzdGQiLCJBcnJheUJ1ZmZlciIsImFyciIsIkZsb2F0NjRBcnJheSIsInJhbmRuMmQiLCJzIiwidXNlcyIsInhoZXJlIiwiTDIiLCJ4MSIsIngyIiwiRCIsIngxaSIsIngyaSIsInh0b2QiLCJOIiwiZDJwIiwidG9sIiwibmYiLCJoVGFyZ2V0IiwiUCIsInByb3ciLCJiZXRhbWluIiwiYmV0YW1heCIsImJldGEiLCJkb25lIiwibWF4dHJpZXMiLCJwaiIsIm5IZXJlIiwicE91dCIsIk4yIiwic2lnbiIsImluaXREYXRhUmF3IiwiZGlzdHMiLCJpbml0U29sdXRpb24iLCJnYWlucyIsInlzdGVwIiwiY2ciLCJjb3N0R3JhZCIsImNvc3QiLCJncmFkIiwieW1lYW4iLCJnaWQiLCJzaWQiLCJnYWluaWQiLCJuZXdnYWluIiwibmV3c2lkIiwiZGVidWdHcmFkIiwieW9sZCIsImNnMCIsImNnMSIsImFuYWx5dGljIiwibnVtZXJpY2FsIiwicG11bCIsInF1QXJyIiwicXN1bSIsImRzdW0iLCJkaGVyZSIsInF1IiwiTk4iLCJRIiwiZ3N1bSIsInByZW11bHQiLCJfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18iLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwibW9kdWxlSWQiLCJjYWNoZWRNb2R1bGUiLCJtb2R1bGUiLCJfX3dlYnBhY2tfbW9kdWxlc19fIiwiX193ZWJwYWNrX2V4cG9ydHNfXyIsIk8iLCJjaHVua0lkcyIsInByaW9yaXR5Iiwibm90RnVsZmlsbGVkIiwiZnVsZmlsbGVkIiwiZXZlcnkiLCJkZWZpbml0aW9uIiwibyIsImYiLCJjaHVua0lkIiwiZyIsImdsb2JhbFRoaXMiLCJGdW5jdGlvbiIsIndpbmRvdyIsInByb3AiLCJwcm90b3R5cGUiLCJjYWxsIiwic2NyaXB0VXJsIiwiaW1wb3J0U2NyaXB0cyIsImxvY2F0aW9uIiwiZG9jdW1lbnQiLCJjdXJyZW50U2NyaXB0Iiwic3JjIiwic2NyaXB0cyIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwicmVwbGFjZSIsImluc3RhbGxlZENodW5rcyIsImNodW5rTG9hZGluZ0dsb2JhbCIsInBhcmVudENodW5rTG9hZGluZ0Z1bmN0aW9uIiwiYmluZCIsIm1vcmVNb2R1bGVzIiwicnVudGltZSIsInRoZW4iXSwic291cmNlUm9vdCI6IiJ9